@naturalcycles/nodejs-lib 15.41.0 → 15.42.0

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.
@@ -4,7 +4,9 @@ export declare const j: {
4
4
  string(): JsonSchemaStringBuilder<string, string, false>;
5
5
  number(): JsonSchemaNumberBuilder<number, number, false>;
6
6
  boolean(): JsonSchemaBooleanBuilder<boolean, boolean, false>;
7
- object: typeof object;
7
+ object: typeof object & {
8
+ dbEntity: typeof objectDbEntity;
9
+ };
8
10
  objectInfer<P extends Record<string, JsonSchemaAnyBuilder<any, any, any>>>(props: P): JsonSchemaObjectInferringBuilder<P, false>;
9
11
  array<IN, OUT, Opt>(itemSchema: JsonSchemaAnyBuilder<IN, OUT, Opt>): JsonSchemaArrayBuilder<IN, OUT, Opt>;
10
12
  set<IN, OUT, Opt>(itemSchema: JsonSchemaAnyBuilder<IN, OUT, Opt>): JsonSchemaSet2Builder<IN, OUT, Opt>;
@@ -236,6 +238,8 @@ declare function object(props: AnyObject): never;
236
238
  declare function object<IN extends AnyObject>(props: {
237
239
  [key in keyof IN]: JsonSchemaAnyBuilder<any, IN[key], any>;
238
240
  }): JsonSchemaObjectBuilder<IN, IN, false>;
241
+ declare function objectDbEntity(props?: AnyObject): never;
242
+ declare function objectDbEntity<IN extends AnyObject>(props?: AnyObject): JsonSchemaObjectBuilder<IN, IN, false>;
239
243
  type Expand<T> = T extends infer O ? {
240
244
  [K in keyof O]: O[K];
241
245
  } : never;
@@ -16,7 +16,9 @@ export const j = {
16
16
  boolean() {
17
17
  return new JsonSchemaBooleanBuilder();
18
18
  },
19
- object,
19
+ object: Object.assign(object, {
20
+ dbEntity: objectDbEntity,
21
+ }),
20
22
  objectInfer(props) {
21
23
  return new JsonSchemaObjectInferringBuilder(props);
22
24
  },
@@ -524,3 +526,11 @@ export class JsonSchemaEnumBuilder extends JsonSchemaAnyBuilder {
524
526
  function object(props) {
525
527
  return new JsonSchemaObjectBuilder(props);
526
528
  }
529
+ function objectDbEntity(props) {
530
+ return j.object({
531
+ id: j.string(),
532
+ created: j.number().unixTimestamp2000(),
533
+ updated: j.number().unixTimestamp2000(),
534
+ ...props,
535
+ });
536
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@naturalcycles/nodejs-lib",
3
3
  "type": "module",
4
- "version": "15.41.0",
4
+ "version": "15.42.0",
5
5
  "dependencies": {
6
6
  "@naturalcycles/js-lib": "^15",
7
7
  "@types/js-yaml": "^4",
@@ -37,7 +37,9 @@ export const j = {
37
37
  return new JsonSchemaBooleanBuilder()
38
38
  },
39
39
 
40
- object,
40
+ object: Object.assign(object, {
41
+ dbEntity: objectDbEntity,
42
+ }),
41
43
 
42
44
  objectInfer<P extends Record<string, JsonSchemaAnyBuilder<any, any, any>>>(
43
45
  props: P,
@@ -833,6 +835,22 @@ function object<IN extends AnyObject>(props: {
833
835
  return new JsonSchemaObjectBuilder<IN, IN, false>(props)
834
836
  }
835
837
 
838
+ function objectDbEntity(props?: AnyObject): never
839
+ function objectDbEntity<IN extends AnyObject>(
840
+ props?: AnyObject,
841
+ ): JsonSchemaObjectBuilder<IN, IN, false>
842
+
843
+ function objectDbEntity<IN extends AnyObject>(
844
+ props?: AnyObject,
845
+ ): JsonSchemaObjectBuilder<IN, IN, false> {
846
+ return j.object({
847
+ id: j.string(),
848
+ created: j.number().unixTimestamp2000(),
849
+ updated: j.number().unixTimestamp2000(),
850
+ ...props,
851
+ })
852
+ }
853
+
836
854
  type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never
837
855
 
838
856
  type ExactMatch<A, B> =