exisjs 0.4.1 → 0.4.3

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.
Files changed (56) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +13 -17
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/resolve-aliases.d.ts +6 -0
  5. package/dist/cli/resolve-aliases.d.ts.map +1 -0
  6. package/dist/cli/resolve-aliases.js +172 -0
  7. package/dist/cli/resolve-aliases.js.map +1 -0
  8. package/dist/decorators/index.d.ts +1 -0
  9. package/dist/decorators/index.d.ts.map +1 -1
  10. package/dist/decorators/index.js +24 -4
  11. package/dist/decorators/index.js.map +1 -1
  12. package/dist/exports/error.d.ts +1 -1
  13. package/dist/exports/error.d.ts.map +1 -1
  14. package/dist/exports/error.js +11 -1
  15. package/dist/exports/error.js.map +1 -1
  16. package/dist/exports/route.d.ts +1 -1
  17. package/dist/exports/route.d.ts.map +1 -1
  18. package/dist/exports/route.js +2 -1
  19. package/dist/exports/route.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +11 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/middleware/middleware.d.ts +1 -0
  25. package/dist/middleware/middleware.d.ts.map +1 -1
  26. package/dist/middleware/middleware.js +8 -0
  27. package/dist/middleware/middleware.js.map +1 -1
  28. package/dist/router/router.js.map +1 -1
  29. package/dist/server/app.d.ts.map +1 -1
  30. package/dist/server/app.js +65 -0
  31. package/dist/server/app.js.map +1 -1
  32. package/dist/server/request.d.ts +1 -1
  33. package/dist/server/request.d.ts.map +1 -1
  34. package/dist/server/request.js +5 -2
  35. package/dist/server/request.js.map +1 -1
  36. package/dist/server/response.d.ts.map +1 -1
  37. package/dist/server/response.js +14 -11
  38. package/dist/server/response.js.map +1 -1
  39. package/dist/server/route.d.ts +60 -58
  40. package/dist/server/route.d.ts.map +1 -1
  41. package/dist/server/route.js +18 -23
  42. package/dist/server/route.js.map +1 -1
  43. package/dist/types.d.ts +26 -34
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/utils/config.d.ts.map +1 -1
  46. package/dist/utils/config.js +1 -0
  47. package/dist/utils/config.js.map +1 -1
  48. package/dist/utils/errors.d.ts +9 -0
  49. package/dist/utils/errors.d.ts.map +1 -1
  50. package/dist/utils/errors.js +26 -5
  51. package/dist/utils/errors.js.map +1 -1
  52. package/dist/utils/validator.d.ts +57 -3
  53. package/dist/utils/validator.d.ts.map +1 -1
  54. package/dist/utils/validator.js +171 -2
  55. package/dist/utils/validator.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InternalError = exports.RateLimitError = exports.UnprocessableError = exports.ConflictError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.HttpError = void 0;
3
+ exports.InternalException = exports.RateLimitException = exports.UnprocessableException = exports.ConflictException = exports.NotFoundException = exports.ForbiddenException = exports.UnauthorizedException = exports.BadRequestException = exports.HttpException = exports.InternalError = exports.RateLimitError = exports.UnprocessableError = exports.ConflictError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.HttpError = void 0;
4
4
  exports.createErrorHandler = createErrorHandler;
5
5
  exports.asyncHandler = asyncHandler;
6
6
  // ─── HttpError ─────────────────────────────────────────────────────────────────
@@ -111,6 +111,16 @@ class InternalError extends HttpError {
111
111
  }
112
112
  }
113
113
  exports.InternalError = InternalError;
114
+ // ─── Exception Aliases ────────────────────────────────────────────────────────
115
+ exports.HttpException = HttpError;
116
+ exports.BadRequestException = BadRequestError;
117
+ exports.UnauthorizedException = UnauthorizedError;
118
+ exports.ForbiddenException = ForbiddenError;
119
+ exports.NotFoundException = NotFoundError;
120
+ exports.ConflictException = ConflictError;
121
+ exports.UnprocessableException = UnprocessableError;
122
+ exports.RateLimitException = RateLimitError;
123
+ exports.InternalException = InternalError;
114
124
  // ─── Global Error Handler ─────────────────────────────────────────────────────
115
125
  function renderErrorHtml(err, req) {
116
126
  const stack = err.stack
@@ -166,14 +176,25 @@ function createErrorHandler(isDev = false) {
166
176
  err.name === 'ValidatorError') {
167
177
  let message = err.message;
168
178
  // Normalize ZodError
169
- if (err.name === 'ZodError' && 'errors' in err && Array.isArray(err.errors)) {
179
+ if (err.name === 'ZodError' &&
180
+ 'errors' in err &&
181
+ Array.isArray(err.errors)) {
170
182
  const zodErrors = err.errors;
171
- message = 'Validation Error: ' + zodErrors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
183
+ message =
184
+ 'Validation Error: ' +
185
+ zodErrors
186
+ .map((e) => `${e.path.join('.')}: ${e.message}`)
187
+ .join(', ');
172
188
  }
173
189
  // Normalize Yup ValidationError
174
- else if (err.name === 'ValidationError' && 'inner' in err && Array.isArray(err.inner) && err.inner.length > 0) {
190
+ else if (err.name === 'ValidationError' &&
191
+ 'inner' in err &&
192
+ Array.isArray(err.inner) &&
193
+ err.inner.length > 0) {
175
194
  const yupErrors = err.inner;
176
- message = 'Validation Error: ' + yupErrors.map((e) => `${e.path}: ${e.message}`).join(', ');
195
+ message =
196
+ 'Validation Error: ' +
197
+ yupErrors.map((e) => `${e.path}: ${e.message}`).join(', ');
177
198
  }
178
199
  res.status(400).json({
179
200
  statusCode: 400,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,21 @@ export declare abstract class ValidatorType<T> {
10
10
  protected isOptional: boolean;
11
11
  protected _hasDefault: boolean;
12
12
  protected defaultValue?: T | (() => T);
13
+ protected _isUnique: boolean;
14
+ protected _index: boolean;
13
15
  optional(): ValidatorType<T | undefined>;
14
16
  default(val: T | (() => T)): ValidatorType<T>;
17
+ unique(): this;
18
+ index(): this;
15
19
  refine(check: (val: T) => boolean, message?: string | ((val: T) => string)): ValidatorType<T>;
16
20
  transform<U>(fn: (val: T) => U): ValidatorType<U>;
21
+ or<U>(other: ValidatorType<U>): ValidatorType<T | U>;
17
22
  abstract toOpenApi(): Record<string, unknown>;
23
+ /**
24
+ * Converts this validator into a Mongoose-compatible schema field definition.
25
+ * Override in subclasses for specific type mappings.
26
+ */
27
+ toMongoField(): Record<string, unknown>;
18
28
  abstract _validate(value: unknown, path: string): {
19
29
  success: true;
20
30
  data: T;
@@ -109,6 +119,7 @@ export declare class StringValidator extends ValidatorType<string> {
109
119
  email(message?: string): this;
110
120
  regex(pattern: RegExp, message?: string): this;
111
121
  toOpenApi(): Record<string, unknown>;
122
+ toMongoField(): Record<string, unknown>;
112
123
  _validate(value: unknown, path: string): {
113
124
  success: true;
114
125
  data: string;
@@ -125,6 +136,16 @@ export declare class NumberValidator extends ValidatorType<number> {
125
136
  min(val: number, message?: string): this;
126
137
  max(val: number, message?: string): this;
127
138
  toOpenApi(): Record<string, unknown>;
139
+ toMongoField(): Record<string, unknown>;
140
+ _validate(value: unknown, path: string): {
141
+ success: true;
142
+ data: number;
143
+ } | {
144
+ success: false;
145
+ errors: ValidationError[];
146
+ };
147
+ }
148
+ export declare class CoerceNumberValidator extends NumberValidator {
128
149
  _validate(value: unknown, path: string): {
129
150
  success: true;
130
151
  data: number;
@@ -135,6 +156,16 @@ export declare class NumberValidator extends ValidatorType<number> {
135
156
  }
136
157
  export declare class BooleanValidator extends ValidatorType<boolean> {
137
158
  toOpenApi(): Record<string, unknown>;
159
+ toMongoField(): Record<string, unknown>;
160
+ _validate(value: unknown, path: string): {
161
+ success: true;
162
+ data: boolean;
163
+ } | {
164
+ success: false;
165
+ errors: ValidationError[];
166
+ };
167
+ }
168
+ export declare class CoerceBooleanValidator extends BooleanValidator {
138
169
  _validate(value: unknown, path: string): {
139
170
  success: true;
140
171
  data: boolean;
@@ -144,7 +175,7 @@ export declare class BooleanValidator extends ValidatorType<boolean> {
144
175
  };
145
176
  }
146
177
  export declare class ObjectValidator<T extends Record<string, ValidatorType<unknown>>> extends ValidatorType<{
147
- [K in keyof T]: ReturnType<T[K]['parse']>;
178
+ [K in keyof T]: T[K] extends ValidatorType<infer U> ? U : never;
148
179
  }> {
149
180
  private shape;
150
181
  private _keys;
@@ -157,10 +188,26 @@ export declare class ObjectValidator<T extends Record<string, ValidatorType<unkn
157
188
  }>;
158
189
  omit<K extends keyof T>(keys: K[]): ObjectValidator<Omit<T, K>>;
159
190
  toOpenApi(): Record<string, unknown>;
191
+ /**
192
+ * Converts this v.object() schema into a Mongoose-compatible schema definition.
193
+ * Pass the result directly to `new mongoose.Schema()`.
194
+ *
195
+ * @example
196
+ * const UserSchema = v.object({ name: v.string(), email: v.string().email().unique() })
197
+ * const User = mongoose.model('User', new mongoose.Schema(UserSchema.toMongoSchema()))
198
+ */
199
+ toMongoSchema(): {
200
+ [K in keyof T]: {
201
+ __typehint: T[K] extends ValidatorType<infer U> ? U : never;
202
+ __rawDocTypeHint: T[K] extends ValidatorType<infer U> ? U : never;
203
+ __hydratedDocTypeHint: T[K] extends ValidatorType<infer U> ? U : never;
204
+ };
205
+ };
206
+ toMongoField(): Record<string, unknown>;
160
207
  _validate(value: unknown, path: string): {
161
208
  success: true;
162
209
  data: {
163
- [K in keyof T]: ReturnType<T[K]['parse']>;
210
+ [K in keyof T]: T[K] extends ValidatorType<infer U> ? U : never;
164
211
  };
165
212
  } | {
166
213
  success: false;
@@ -169,7 +216,7 @@ export declare class ObjectValidator<T extends Record<string, ValidatorType<unkn
169
216
  _validateAsync(value: unknown, path: string): Promise<{
170
217
  success: true;
171
218
  data: {
172
- [K in keyof T]: ReturnType<T[K]['parse']>;
219
+ [K in keyof T]: T[K] extends ValidatorType<infer U> ? U : never;
173
220
  };
174
221
  } | {
175
222
  success: false;
@@ -186,6 +233,7 @@ export declare class ArrayValidator<T extends ValidatorType<unknown>> extends Va
186
233
  min(len: number, message?: string): this;
187
234
  max(len: number, message?: string): this;
188
235
  toOpenApi(): Record<string, unknown>;
236
+ toMongoField(): Record<string, unknown>;
189
237
  _validate(value: unknown, path: string): {
190
238
  success: true;
191
239
  data: ReturnType<T['parse']>[];
@@ -198,6 +246,7 @@ export declare class EnumValidator<U extends string, T extends [U, ...U[]]> exte
198
246
  private values;
199
247
  constructor(values: T);
200
248
  toOpenApi(): Record<string, unknown>;
249
+ toMongoField(): Record<string, unknown>;
201
250
  _validate(value: unknown, path: string): {
202
251
  success: true;
203
252
  data: T[number];
@@ -232,6 +281,7 @@ export declare class UnionValidator<T extends ValidatorType<unknown>[]> extends
232
281
  }
233
282
  export declare class DateValidator extends ValidatorType<Date> {
234
283
  toOpenApi(): Record<string, unknown>;
284
+ toMongoField(): Record<string, unknown>;
235
285
  _validate(value: unknown, path: string): {
236
286
  success: true;
237
287
  data: Date;
@@ -295,6 +345,10 @@ export declare const v: {
295
345
  any: () => AnyValidator;
296
346
  file: () => FileValidator;
297
347
  env: <T extends Record<string, ValidatorType<unknown>>>(schema: ObjectValidator<T>) => ReturnType<ObjectValidator<T>["parse"]>;
348
+ coerce: {
349
+ number: () => CoerceNumberValidator;
350
+ boolean: () => CoerceBooleanValidator;
351
+ };
298
352
  };
299
353
  export type Infer<T extends ValidatorType<any>> = ReturnType<T['parse']>;
300
354
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.v = exports.FileValidator = exports.AnyValidator = exports.RecordValidator = exports.DateValidator = exports.UnionValidator = exports.LiteralValidator = exports.EnumValidator = exports.ArrayValidator = exports.ObjectValidator = exports.BooleanValidator = exports.NumberValidator = exports.StringValidator = exports.AsyncRefineValidator = exports.TransformValidator = exports.RefineValidator = exports.ValidatorType = exports.ValidatorError = void 0;
3
+ exports.v = exports.FileValidator = exports.AnyValidator = exports.RecordValidator = exports.DateValidator = exports.UnionValidator = exports.LiteralValidator = exports.EnumValidator = exports.ArrayValidator = exports.ObjectValidator = exports.CoerceBooleanValidator = exports.BooleanValidator = exports.CoerceNumberValidator = exports.NumberValidator = exports.StringValidator = exports.AsyncRefineValidator = exports.TransformValidator = exports.RefineValidator = exports.ValidatorType = exports.ValidatorError = void 0;
4
4
  class ValidatorError extends Error {
5
5
  constructor(errors) {
6
6
  super('Validation Error: ' +
@@ -14,6 +14,8 @@ class ValidatorType {
14
14
  constructor() {
15
15
  this.isOptional = false;
16
16
  this._hasDefault = false;
17
+ this._isUnique = false;
18
+ this._index = false;
17
19
  }
18
20
  optional() {
19
21
  this.isOptional = true;
@@ -25,12 +27,43 @@ class ValidatorType {
25
27
  this.defaultValue = val;
26
28
  return this;
27
29
  }
30
+ unique() {
31
+ this._isUnique = true;
32
+ return this;
33
+ }
34
+ index() {
35
+ this._index = true;
36
+ return this;
37
+ }
28
38
  refine(check, message = 'Invalid value') {
29
39
  return new RefineValidator(this, check, message);
30
40
  }
31
41
  transform(fn) {
32
42
  return new TransformValidator(this, fn);
33
43
  }
44
+ or(other) {
45
+ return new UnionValidator([this, other]);
46
+ }
47
+ /**
48
+ * Converts this validator into a Mongoose-compatible schema field definition.
49
+ * Override in subclasses for specific type mappings.
50
+ */
51
+ toMongoField() {
52
+ const field = { type: 'Mixed' };
53
+ if (!this.isOptional)
54
+ field.required = true;
55
+ if (this._hasDefault) {
56
+ field.default =
57
+ typeof this.defaultValue === 'function'
58
+ ? this.defaultValue
59
+ : this.defaultValue;
60
+ }
61
+ if (this._isUnique)
62
+ field.unique = true;
63
+ if (this._index)
64
+ field.index = true;
65
+ return field;
66
+ }
34
67
  async _validateAsync(value, path) {
35
68
  return this._validate(value, path);
36
69
  }
@@ -189,6 +222,24 @@ class StringValidator extends ValidatorType {
189
222
  schema.format = 'email';
190
223
  return schema;
191
224
  }
225
+ toMongoField() {
226
+ const field = { type: String };
227
+ if (!this.isOptional)
228
+ field.required = true;
229
+ if (this._hasDefault)
230
+ field.default = this.defaultValue;
231
+ if (this._isUnique)
232
+ field.unique = true;
233
+ if (this._index)
234
+ field.index = true;
235
+ if (this.minLen !== undefined)
236
+ field.minlength = this.minLen;
237
+ if (this.maxLen !== undefined)
238
+ field.maxlength = this.maxLen;
239
+ if (this.regexPattern)
240
+ field.match = this.regexPattern;
241
+ return field;
242
+ }
192
243
  _validate(value, path) {
193
244
  if (value === undefined || value === null) {
194
245
  if (this.isOptional)
@@ -251,6 +302,22 @@ class NumberValidator extends ValidatorType {
251
302
  schema.maximum = this.maxVal;
252
303
  return schema;
253
304
  }
305
+ toMongoField() {
306
+ const field = { type: Number };
307
+ if (!this.isOptional)
308
+ field.required = true;
309
+ if (this._hasDefault)
310
+ field.default = this.defaultValue;
311
+ if (this._isUnique)
312
+ field.unique = true;
313
+ if (this._index)
314
+ field.index = true;
315
+ if (this.minVal !== undefined)
316
+ field.min = this.minVal;
317
+ if (this.maxVal !== undefined)
318
+ field.max = this.maxVal;
319
+ return field;
320
+ }
254
321
  _validate(value, path) {
255
322
  if (value === undefined || value === null) {
256
323
  if (this.isOptional)
@@ -263,7 +330,10 @@ class NumberValidator extends ValidatorType {
263
330
  }
264
331
  const num = Number(value);
265
332
  if (isNaN(num))
266
- return { success: false, errors: [{ path, message: 'Expected number' }] };
333
+ return {
334
+ success: false,
335
+ errors: [{ path, message: 'Expected valid number' }],
336
+ };
267
337
  if (this.minVal !== undefined && num < this.minVal)
268
338
  return {
269
339
  success: false,
@@ -288,10 +358,34 @@ class NumberValidator extends ValidatorType {
288
358
  }
289
359
  }
290
360
  exports.NumberValidator = NumberValidator;
361
+ class CoerceNumberValidator extends NumberValidator {
362
+ _validate(value, path) {
363
+ if (value === undefined || value === null) {
364
+ if (this.isOptional)
365
+ return { success: true, data: undefined };
366
+ return { success: false, errors: [{ path, message: 'Required' }] };
367
+ }
368
+ if (typeof value === 'boolean' ||
369
+ (typeof value === 'string' && value.trim() === '')) {
370
+ return { success: false, errors: [{ path, message: 'Expected number' }] };
371
+ }
372
+ const num = Number(value);
373
+ return super._validate(num, path);
374
+ }
375
+ }
376
+ exports.CoerceNumberValidator = CoerceNumberValidator;
291
377
  class BooleanValidator extends ValidatorType {
292
378
  toOpenApi() {
293
379
  return { type: 'boolean' };
294
380
  }
381
+ toMongoField() {
382
+ const field = { type: Boolean };
383
+ if (!this.isOptional)
384
+ field.required = true;
385
+ if (this._hasDefault)
386
+ field.default = this.defaultValue;
387
+ return field;
388
+ }
295
389
  _validate(value, path) {
296
390
  if (value === undefined || value === null) {
297
391
  if (this.isOptional)
@@ -308,6 +402,23 @@ class BooleanValidator extends ValidatorType {
308
402
  }
309
403
  }
310
404
  exports.BooleanValidator = BooleanValidator;
405
+ class CoerceBooleanValidator extends BooleanValidator {
406
+ _validate(value, path) {
407
+ if (value === undefined || value === null) {
408
+ if (this.isOptional)
409
+ return { success: true, data: undefined };
410
+ return { success: false, errors: [{ path, message: 'Required' }] };
411
+ }
412
+ if (typeof value === 'boolean')
413
+ return { success: true, data: value };
414
+ if (value === 'true' || value === '1')
415
+ return { success: true, data: true };
416
+ if (value === 'false' || value === '0')
417
+ return { success: true, data: false };
418
+ return { success: false, errors: [{ path, message: 'Expected boolean' }] };
419
+ }
420
+ }
421
+ exports.CoerceBooleanValidator = CoerceBooleanValidator;
311
422
  class ObjectValidator extends ValidatorType {
312
423
  constructor(shape) {
313
424
  super();
@@ -357,6 +468,30 @@ class ObjectValidator extends ValidatorType {
357
468
  schema.required = required;
358
469
  return schema;
359
470
  }
471
+ /**
472
+ * Converts this v.object() schema into a Mongoose-compatible schema definition.
473
+ * Pass the result directly to `new mongoose.Schema()`.
474
+ *
475
+ * @example
476
+ * const UserSchema = v.object({ name: v.string(), email: v.string().email().unique() })
477
+ * const User = mongoose.model('User', new mongoose.Schema(UserSchema.toMongoSchema()))
478
+ */
479
+ toMongoSchema() {
480
+ const schemaDef = {};
481
+ for (const key of this._keys) {
482
+ const validator = this.shape[key];
483
+ schemaDef[key] = validator.toMongoField();
484
+ }
485
+ return schemaDef;
486
+ }
487
+ toMongoField() {
488
+ // Nested object — return the shape as a sub-document definition
489
+ const nested = {};
490
+ for (const key of this._keys) {
491
+ nested[key] = this.shape[key].toMongoField();
492
+ }
493
+ return nested;
494
+ }
360
495
  _validate(value, path) {
361
496
  if (value === undefined || value === null) {
362
497
  if (this.isOptional)
@@ -441,6 +576,11 @@ class ArrayValidator extends ValidatorType {
441
576
  schema.maxItems = this.maxLen;
442
577
  return schema;
443
578
  }
579
+ toMongoField() {
580
+ // Return as Mongoose array syntax: [{ type: String }]
581
+ const innerField = this.schema.toMongoField();
582
+ return [innerField];
583
+ }
444
584
  _validate(value, path) {
445
585
  if (value === undefined || value === null) {
446
586
  if (this.isOptional)
@@ -496,6 +636,21 @@ class EnumValidator extends ValidatorType {
496
636
  toOpenApi() {
497
637
  return { type: 'string', enum: this.values };
498
638
  }
639
+ toMongoField() {
640
+ const field = {
641
+ type: String,
642
+ enum: [...this.values],
643
+ };
644
+ if (!this.isOptional)
645
+ field.required = true;
646
+ if (this._hasDefault)
647
+ field.default = this.defaultValue;
648
+ if (this._isUnique)
649
+ field.unique = true;
650
+ if (this._index)
651
+ field.index = true;
652
+ return field;
653
+ }
499
654
  _validate(value, path) {
500
655
  if (value === undefined || value === null) {
501
656
  if (this.isOptional)
@@ -570,6 +725,16 @@ class DateValidator extends ValidatorType {
570
725
  toOpenApi() {
571
726
  return { type: 'string', format: 'date-time' };
572
727
  }
728
+ toMongoField() {
729
+ const field = { type: Date };
730
+ if (!this.isOptional)
731
+ field.required = true;
732
+ if (this._hasDefault)
733
+ field.default = this.defaultValue;
734
+ if (this._index)
735
+ field.index = true;
736
+ return field;
737
+ }
573
738
  _validate(value, path) {
574
739
  if (value === undefined || value === null) {
575
740
  if (this.isOptional)
@@ -721,5 +886,9 @@ exports.v = {
721
886
  }
722
887
  return result.data;
723
888
  },
889
+ coerce: {
890
+ number: () => new CoerceNumberValidator(),
891
+ boolean: () => new CoerceBooleanValidator(),
892
+ },
724
893
  };
725
894
  //# sourceMappingURL=validator.js.map