@naturalcycles/nodejs-lib 15.46.0 → 15.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -252,15 +252,14 @@ declare function object<IN extends AnyObject>(props: {
252
252
  [key in keyof IN]: JsonSchemaAnyBuilder<any, IN[key], any>;
253
253
  }): JsonSchemaObjectBuilder<IN, IN, false>;
254
254
  declare function objectInfer<P extends Record<string, JsonSchemaAnyBuilder<any, any, any>>>(props: P): JsonSchemaObjectInferringBuilder<P, false>;
255
- declare function objectDbEntity(props?: AnyObject): never;
256
- declare function objectDbEntity<IN extends AnyObject>(props?: {
257
- [key in keyof PartiallyOptional<IN, 'id' | 'created' | 'updated'>]: JsonSchemaAnyBuilder<any, IN[key], any>;
255
+ declare function objectDbEntity(props: AnyObject): never;
256
+ declare function objectDbEntity<IN extends AnyObject, EXTRA_KEYS extends Exclude<keyof IN, 'id' | 'created' | 'updated'> = Exclude<keyof IN, 'id' | 'created' | 'updated'>>(props: {
257
+ [K in EXTRA_KEYS]: JsonSchemaAnyBuilder<any, IN[K], any>;
258
258
  }): JsonSchemaObjectBuilder<IN, IN, false>;
259
259
  type Expand<T> = T extends infer O ? {
260
260
  [K in keyof O]: O[K];
261
261
  } : never;
262
262
  type ExactMatch<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
263
- type PartiallyOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
264
263
  type BuilderOutUnion<B extends readonly JsonSchemaAnyBuilder<any, any, any>[]> = {
265
264
  [K in keyof B]: B[K] extends JsonSchemaAnyBuilder<any, infer O, any> ? O : never;
266
265
  }[number];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@naturalcycles/nodejs-lib",
3
3
  "type": "module",
4
- "version": "15.46.0",
4
+ "version": "15.46.1",
5
5
  "dependencies": {
6
6
  "@naturalcycles/js-lib": "^15",
7
7
  "@types/js-yaml": "^4",
@@ -888,21 +888,25 @@ function objectInfer<P extends Record<string, JsonSchemaAnyBuilder<any, any, any
888
888
  return new JsonSchemaObjectInferringBuilder<P, false>(props)
889
889
  }
890
890
 
891
- function objectDbEntity(props?: AnyObject): never
892
- function objectDbEntity<IN extends AnyObject>(props?: {
893
- [key in keyof PartiallyOptional<IN, 'id' | 'created' | 'updated'>]: JsonSchemaAnyBuilder<
894
- any,
895
- IN[key],
896
- any
897
- >
891
+ function objectDbEntity(props: AnyObject): never
892
+ function objectDbEntity<
893
+ IN extends AnyObject,
894
+ EXTRA_KEYS extends Exclude<keyof IN, 'id' | 'created' | 'updated'> = Exclude<
895
+ keyof IN,
896
+ 'id' | 'created' | 'updated'
897
+ >,
898
+ >(props: {
899
+ [K in EXTRA_KEYS]: JsonSchemaAnyBuilder<any, IN[K], any>
898
900
  }): JsonSchemaObjectBuilder<IN, IN, false>
899
901
 
900
- function objectDbEntity<IN extends AnyObject>(props?: {
901
- [key in keyof PartiallyOptional<IN, 'id' | 'created' | 'updated'>]: JsonSchemaAnyBuilder<
902
- any,
903
- IN[key],
904
- any
905
- >
902
+ function objectDbEntity<
903
+ IN extends AnyObject,
904
+ EXTRA_KEYS extends Exclude<keyof IN, 'id' | 'created' | 'updated'> = Exclude<
905
+ keyof IN,
906
+ 'id' | 'created' | 'updated'
907
+ >,
908
+ >(props: {
909
+ [K in EXTRA_KEYS]: JsonSchemaAnyBuilder<any, IN[K], any>
906
910
  }): JsonSchemaObjectBuilder<IN, IN, false> {
907
911
  return j.object({
908
912
  id: j.string(),
@@ -917,8 +921,6 @@ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never
917
921
  type ExactMatch<A, B> =
918
922
  (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false
919
923
 
920
- type PartiallyOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
921
-
922
924
  type BuilderOutUnion<B extends readonly JsonSchemaAnyBuilder<any, any, any>[]> = {
923
925
  [K in keyof B]: B[K] extends JsonSchemaAnyBuilder<any, infer O, any> ? O : never
924
926
  }[number]