@bedrockio/model 0.16.0 → 0.17.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.17.0
2
+
3
+ - Added `time` validation.
4
+
1
5
  ## 0.16.0
2
6
 
3
7
  - Added `upsert` method.
@@ -28,6 +28,8 @@ const NAMED_SCHEMAS = {
28
28
  // "calendar" validation is a special case to validate
29
29
  // string fields in ISO-8601 format without a time.
30
30
  calendar: _yada.default.string().calendar(),
31
+ // Validates generic ISO-8601 time.
32
+ time: _yada.default.string().time(),
31
33
  ascii: _yada.default.string().ascii(),
32
34
  base64: _yada.default.string().base64(),
33
35
  btc: _yada.default.string().btc(),
@@ -42,15 +44,15 @@ const NAMED_SCHEMAS = {
42
44
  locale: _yada.default.string().locale(),
43
45
  md5: _yada.default.string().md5(),
44
46
  phone: _yada.default.string().phone(),
45
- 'phone:US': _yada.default.string().phone('US'),
46
- 'phone:NANP': _yada.default.string().phone('NANP'),
47
47
  postalCode: _yada.default.string().postalCode(),
48
- zipcode: _yada.default.string().zipcode(),
49
48
  sha1: _yada.default.string().sha1(),
50
49
  slug: _yada.default.string().slug(),
51
50
  swift: _yada.default.string().swift(),
52
51
  url: _yada.default.string().url(),
53
- uuid: _yada.default.string().uuid()
52
+ uuid: _yada.default.string().uuid(),
53
+ zipcode: _yada.default.string().zipcode(),
54
+ 'phone:NANP': _yada.default.string().phone('NANP'),
55
+ 'phone:US': _yada.default.string().phone('US')
54
56
  };
55
57
  function addValidators(schemas) {
56
58
  Object.assign(NAMED_SCHEMAS, schemas);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bedrockio/model",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Bedrock utilities for model creation.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -39,7 +39,7 @@
39
39
  "@babel/preset-env": "^7.26.0",
40
40
  "@bedrockio/eslint-plugin": "^1.2.2",
41
41
  "@bedrockio/prettier-config": "^1.1.1",
42
- "@bedrockio/yada": "^1.8.0",
42
+ "@bedrockio/yada": "^1.9.0",
43
43
  "@shelf/jest-mongodb": "^5.2.2",
44
44
  "eslint": "^9.36.0",
45
45
  "jest": "^30.2.0",
package/src/validation.js CHANGED
@@ -30,6 +30,9 @@ const NAMED_SCHEMAS = {
30
30
  // string fields in ISO-8601 format without a time.
31
31
  calendar: yd.string().calendar(),
32
32
 
33
+ // Validates generic ISO-8601 time.
34
+ time: yd.string().time(),
35
+
33
36
  ascii: yd.string().ascii(),
34
37
  base64: yd.string().base64(),
35
38
  btc: yd.string().btc(),
@@ -44,15 +47,16 @@ const NAMED_SCHEMAS = {
44
47
  locale: yd.string().locale(),
45
48
  md5: yd.string().md5(),
46
49
  phone: yd.string().phone(),
47
- 'phone:US': yd.string().phone('US'),
48
- 'phone:NANP': yd.string().phone('NANP'),
49
50
  postalCode: yd.string().postalCode(),
50
- zipcode: yd.string().zipcode(),
51
51
  sha1: yd.string().sha1(),
52
52
  slug: yd.string().slug(),
53
53
  swift: yd.string().swift(),
54
54
  url: yd.string().url(),
55
55
  uuid: yd.string().uuid(),
56
+ zipcode: yd.string().zipcode(),
57
+
58
+ 'phone:NANP': yd.string().phone('NANP'),
59
+ 'phone:US': yd.string().phone('US'),
56
60
  };
57
61
 
58
62
  export function addValidators(schemas) {
package/types/search.d.ts CHANGED
@@ -33,8 +33,9 @@ export function searchValidation(options?: {}): {
33
33
  description(description: any): /*elided*/ any;
34
34
  validate(value: any, options?: {}): Promise<any>;
35
35
  clone(meta: any): /*elided*/ any;
36
- toJSON(extra?: any): any;
36
+ toJsonSchema(extra?: any): any;
37
37
  toOpenApi(...extra: any[]): any;
38
+ toJSON(): any;
38
39
  getAnyType(): {
39
40
  type: string[];
40
41
  };
@@ -120,6 +121,7 @@ export function exportValidation(options?: {}): {
120
121
  swift(): /*elided*/ any;
121
122
  mongo(): /*elided*/ any;
122
123
  calendar(): /*elided*/ any;
124
+ time(): /*elided*/ any;
123
125
  format(name: any, fn: any): /*elided*/ any;
124
126
  toString(): any;
125
127
  assertions: any[];
@@ -138,8 +140,9 @@ export function exportValidation(options?: {}): {
138
140
  validate(value: any, options?: {}): Promise<any>;
139
141
  clone(meta: any): /*elided*/ any;
140
142
  append(schema: any): import("@bedrockio/yada/types/Schema").default;
141
- toJSON(extra?: any): any;
143
+ toJsonSchema(extra?: any): any;
142
144
  toOpenApi(...extra: any[]): any;
145
+ toJSON(): any;
143
146
  getAnyType(): {
144
147
  type: string[];
145
148
  };
@@ -226,6 +229,7 @@ export function exportValidation(options?: {}): {
226
229
  swift(): /*elided*/ any;
227
230
  mongo(): /*elided*/ any;
228
231
  calendar(): /*elided*/ any;
232
+ time(): /*elided*/ any;
229
233
  format(name: any, fn: any): /*elided*/ any;
230
234
  toString(): any;
231
235
  assertions: any[];
@@ -244,8 +248,9 @@ export function exportValidation(options?: {}): {
244
248
  validate(value: any, options?: {}): Promise<any>;
245
249
  clone(meta: any): /*elided*/ any;
246
250
  append(schema: any): import("@bedrockio/yada/types/Schema").default;
247
- toJSON(extra?: any): any;
251
+ toJsonSchema(extra?: any): any;
248
252
  toOpenApi(...extra: any[]): any;
253
+ toJSON(): any;
249
254
  getAnyType(): {
250
255
  type: string[];
251
256
  };
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.js"],"names":[],"mappings":"AAuBA,gEAaC;AAED;;;;;;;;;;;;kBA8GU,CAAH;oBAEG,CAAR;qBAEU,CAAF;sBAEF,CAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;eArDF,CAAC;;;;;;;;;;;;;;;;;EAtCF;AAED;;;;;;;;;;;;;;;;;mBAtBI,CAAA;;;;;;;;;;;;qBAuBC,CAAC;sBAA4B,CAAC;sBACvB,CAAC;wBAA8B,CAAC;wBAEnC,CAAC;;;4BA4BN,CAAD;kCAAyC,CAAC;wBACtC,CAAC;wBAA+B,CAAC;wCAKlC,CAAA;2BAAkC,CAAC;kCACP,CAAC;2BAIhB,CAAC;qBAA4B,CAAC;;;uBAuB/C,CAAA;6BAEA,CAAA;8BAEK,CAAC;6BAAoC,CAAC;0BAClB,CAAC;6BAIjB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAvCV,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA1DC,CAAA;;;;;;;;;;;;qBAuBC,CAAC;sBAA4B,CAAC;sBACvB,CAAC;wBAA8B,CAAC;wBAEnC,CAAC;;;4BA4BN,CAAD;kCAAyC,CAAC;wBACtC,CAAC;wBAA+B,CAAC;wCAKlC,CAAA;2BAAkC,CAAC;kCACP,CAAC;2BAIhB,CAAC;qBAA4B,CAAC;;;uBAuB/C,CAAA;6BAEA,CAAA;8BAEK,CAAC;6BAAoC,CAAC;0BAClB,CAAC;6BAIjB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAvCV,CAAC;;;;;;;;;;;;;;;;;;;;EAvBF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.js"],"names":[],"mappings":"AAuBA,gEAaC;AAED;;;;;;;;;;;;kBA8GU,CAAH;oBAEG,CAAR;qBAEU,CAAF;sBAEF,CAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAlDwB,CAAC;;;;;;;;;;;;;;;;;EAzC5B;AAED;;;;;;;;;;;;;;;;;mBAtBI,CAAA;;;;;;;;;;;;qBAuBC,CAAC;sBAA4B,CAAC;sBACvB,CAAC;wBAA8B,CAAC;wBAEnC,CAAC;;;4BA4BN,CAAD;kCAAyC,CAAC;wBACtC,CAAC;wBAA+B,CAAC;wCAKlC,CAAA;2BAAkC,CAAC;kCACP,CAAC;2BAIhB,CAAC;qBAA4B,CAAC;;;uBAuB/C,CAAA;6BAEA,CAAA;8BAEK,CAAC;6BAAoC,CAAC;0BAClB,CAAC;6BAIjB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBApCgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA7DzB,CAAA;;;;;;;;;;;;qBAuBC,CAAC;sBAA4B,CAAC;sBACvB,CAAC;wBAA8B,CAAC;wBAEnC,CAAC;;;4BA4BN,CAAD;kCAAyC,CAAC;wBACtC,CAAC;wBAA+B,CAAC;wCAKlC,CAAA;2BAAkC,CAAC;kCACP,CAAC;2BAIhB,CAAC;qBAA4B,CAAC;;;uBAuB/C,CAAA;6BAEA,CAAA;8BAEK,CAAC;6BAAoC,CAAC;0BAClB,CAAC;6BAIjB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBApCgB,CAAC;;;;;;;;;;;;;;;;;;;;EA1B5B"}
@@ -25,8 +25,9 @@ export const DATE_SCHEMA: {
25
25
  validate(value: any, options?: {}): Promise<any>;
26
26
  clone(meta: any): /*elided*/ any;
27
27
  append(schema: any): import("@bedrockio/yada/types/Schema").default;
28
- toJSON(extra?: any): any;
28
+ toJsonSchema(extra?: any): any;
29
29
  toOpenApi(...extra: any[]): any;
30
+ toJSON(): any;
30
31
  getAnyType(): {
31
32
  type: string[];
32
33
  };
@@ -113,6 +114,7 @@ export const OBJECT_ID_SCHEMA: {
113
114
  swift(): /*elided*/ any;
114
115
  mongo(): /*elided*/ any;
115
116
  calendar(): /*elided*/ any;
117
+ time(): /*elided*/ any;
116
118
  format(name: any, fn: any): /*elided*/ any;
117
119
  toString(): any;
118
120
  assertions: any[];
@@ -131,8 +133,9 @@ export const OBJECT_ID_SCHEMA: {
131
133
  validate(value: any, options?: {}): Promise<any>;
132
134
  clone(meta: any): /*elided*/ any;
133
135
  append(schema: any): import("@bedrockio/yada/types/Schema").default;
134
- toJSON(extra?: any): any;
136
+ toJsonSchema(extra?: any): any;
135
137
  toOpenApi(...extra: any[]): any;
138
+ toJSON(): any;
136
139
  getAnyType(): {
137
140
  type: string[];
138
141
  };
@@ -194,8 +197,9 @@ export const NUMBER_RANGE_SCHEMA: {
194
197
  description(description: any): /*elided*/ any;
195
198
  validate(value: any, options?: {}): Promise<any>;
196
199
  clone(meta: any): /*elided*/ any;
197
- toJSON(extra?: any): any;
200
+ toJsonSchema(extra?: any): any;
198
201
  toOpenApi(...extra: any[]): any;
202
+ toJSON(): any;
199
203
  getAnyType(): {
200
204
  type: string[];
201
205
  };
@@ -255,8 +259,9 @@ export const STRING_RANGE_SCHEMA: {
255
259
  description(description: any): /*elided*/ any;
256
260
  validate(value: any, options?: {}): Promise<any>;
257
261
  clone(meta: any): /*elided*/ any;
258
- toJSON(extra?: any): any;
262
+ toJsonSchema(extra?: any): any;
259
263
  toOpenApi(...extra: any[]): any;
264
+ toJSON(): any;
260
265
  getAnyType(): {
261
266
  type: string[];
262
267
  };
@@ -316,8 +321,9 @@ export const DATE_RANGE_SCHEMA: {
316
321
  description(description: any): /*elided*/ any;
317
322
  validate(value: any, options?: {}): Promise<any>;
318
323
  clone(meta: any): /*elided*/ any;
319
- toJSON(extra?: any): any;
324
+ toJsonSchema(extra?: any): any;
320
325
  toOpenApi(...extra: any[]): any;
326
+ toJSON(): any;
321
327
  getAnyType(): {
322
328
  type: string[];
323
329
  };
@@ -378,8 +384,9 @@ export const INCLUDE_FIELD_SCHEMA: {
378
384
  description(description: any): /*elided*/ any;
379
385
  validate(value: any, options?: {}): Promise<any>;
380
386
  clone(meta: any): /*elided*/ any;
381
- toJSON(extra?: any): any;
387
+ toJsonSchema(extra?: any): any;
382
388
  toOpenApi(...extra: any[]): any;
389
+ toJSON(): any;
383
390
  getAnyType(): {
384
391
  type: string[];
385
392
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validation-schemas.d.ts","sourceRoot":"","sources":["../src/validation-schemas.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAwFsB,CAAC;;;;;;;;;;;;;;;;;;;EAxFmC;AAE1D;;;;;;;;;;;;;;;;eAyBwB,CAAC;;;;;;;;;;;;iBAuBjB,CAAA;kBAA4B,CAAC;kBAEjC,CAAF;oBAEI,CAAC;oBAEI,CAAC;;;wBA2BC,CAAC;8BAGI,CAAC;oBAA+B,CAAC;oBAE1C,CAAC;oCAEL,CAAC;uBAAkC,CAAC;8BAAyC,CAAC;uBACzD,CAAC;iBAA4B,CAAC;;;mBAW0D,CAAC;yBAAoC,CAAC;0BAAqC,CAAC;yBAAoC,CAAC;sBAAiC,CAAC;yBAAoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAdpR,CAAC;;;;;;;;;;;;;;;;;;;EA9ElB;AAEL;;;;;;;;;;;;kBA0Fmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAdjgB,CAAC;;;;;;;;;;;;;;;;;EAlElB;AAEL;;;;;;;;;;;;kBA8Emb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAdjgB,CAAC;;;;;;;;;;;;;;;;;EAtDlB;AAEL;;;;;;;;;;;;kBAkEmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAdjgB,CAAC;;;;;;;;;;;;;;;;;EAlBlB;AAEL,8EAqBK;AAEL;;;;;;;;;;;;kBAOmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAdjgB,CAAC;;;;;;;;;;;;;;;;;EAapB"}
1
+ {"version":3,"file":"validation-schemas.d.ts","sourceRoot":"","sources":["../src/validation-schemas.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0F4E,CAAC;;;;;;;;;;;;;;;;;;;EA1FnB;AAE1D;;;;;;;;;;;;;;;;eAyBwB,CAAC;;;;;;;;;;;;iBAuBjB,CAAA;kBAA4B,CAAC;kBAEjC,CAAF;oBAEI,CAAC;oBAEI,CAAC;;;wBA2BC,CAAC;8BAGI,CAAC;oBAA+B,CAAC;oBAE1C,CAAC;oCAEL,CAAC;uBAAkC,CAAC;8BAAyC,CAAC;uBACzD,CAAC;iBAA4B,CAAC;;;mBAW0D,CAAC;yBAAoC,CAAC;0BAAqC,CAAC;yBAAoC,CAAC;sBAAiC,CAAC;yBAAoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAZ9N,CAAC;;;;;;;;;;;;;;;;;;;EAhFxE;AAEL;;;;;;;;;;;;kBA0Fmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAZ3c,CAAC;;;;;;;;;;;;;;;;;EApExE;AAEL;;;;;;;;;;;;kBA8Emb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAZ3c,CAAC;;;;;;;;;;;;;;;;;EAxDxE;AAEL;;;;;;;;;;;;kBAkEmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAZ3c,CAAC;;;;;;;;;;;;;;;;;EApBxE;AAEL,8EAqBK;AAEL;;;;;;;;;;;;kBAOmb,CAAC;oBAA+B,CAAC;qBAAgC,CAAC;sBAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAZ3c,CAAC;;;;;;;;;;;;;;;;;EAW1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.js"],"names":[],"mappings":"AAyDA,kDAEC;AAED,oEA4FC;AAsBD,wEAiBC;AA8SD;;;EAEC;AAED;;;EAOC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.js"],"names":[],"mappings":"AA6DA,kDAEC;AAED,oEA4FC;AAsBD,wEAiBC;AA8SD;;;EAEC;AAED;;;EAOC"}