exisjs 0.4.1 → 0.4.2

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 +170 -6
  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,19 +302,37 @@ 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)
257
324
  return { success: true, data: undefined };
258
325
  return { success: false, errors: [{ path, message: 'Required' }] };
259
326
  }
260
- if (typeof value === 'boolean' ||
261
- (typeof value === 'string' && value.trim() === '')) {
327
+ if (typeof value !== 'number') {
262
328
  return { success: false, errors: [{ path, message: 'Expected number' }] };
263
329
  }
264
- const num = Number(value);
330
+ const num = value;
265
331
  if (isNaN(num))
266
- return { success: false, errors: [{ path, message: 'Expected number' }] };
332
+ return {
333
+ success: false,
334
+ errors: [{ path, message: 'Expected valid number' }],
335
+ };
267
336
  if (this.minVal !== undefined && num < this.minVal)
268
337
  return {
269
338
  success: false,
@@ -288,10 +357,47 @@ class NumberValidator extends ValidatorType {
288
357
  }
289
358
  }
290
359
  exports.NumberValidator = NumberValidator;
360
+ class CoerceNumberValidator extends NumberValidator {
361
+ _validate(value, path) {
362
+ if (value === undefined || value === null) {
363
+ if (this.isOptional)
364
+ return { success: true, data: undefined };
365
+ return { success: false, errors: [{ path, message: 'Required' }] };
366
+ }
367
+ if (typeof value === 'boolean' ||
368
+ (typeof value === 'string' && value.trim() === '')) {
369
+ return { success: false, errors: [{ path, message: 'Expected number' }] };
370
+ }
371
+ const num = Number(value);
372
+ return super._validate(num, path);
373
+ }
374
+ }
375
+ exports.CoerceNumberValidator = CoerceNumberValidator;
291
376
  class BooleanValidator extends ValidatorType {
292
377
  toOpenApi() {
293
378
  return { type: 'boolean' };
294
379
  }
380
+ toMongoField() {
381
+ const field = { type: Boolean };
382
+ if (!this.isOptional)
383
+ field.required = true;
384
+ if (this._hasDefault)
385
+ field.default = this.defaultValue;
386
+ return field;
387
+ }
388
+ _validate(value, path) {
389
+ if (value === undefined || value === null) {
390
+ if (this.isOptional)
391
+ return { success: true, data: undefined };
392
+ return { success: false, errors: [{ path, message: 'Required' }] };
393
+ }
394
+ if (typeof value === 'boolean')
395
+ return { success: true, data: value };
396
+ return { success: false, errors: [{ path, message: 'Expected boolean' }] };
397
+ }
398
+ }
399
+ exports.BooleanValidator = BooleanValidator;
400
+ class CoerceBooleanValidator extends BooleanValidator {
295
401
  _validate(value, path) {
296
402
  if (value === undefined || value === null) {
297
403
  if (this.isOptional)
@@ -307,7 +413,7 @@ class BooleanValidator extends ValidatorType {
307
413
  return { success: false, errors: [{ path, message: 'Expected boolean' }] };
308
414
  }
309
415
  }
310
- exports.BooleanValidator = BooleanValidator;
416
+ exports.CoerceBooleanValidator = CoerceBooleanValidator;
311
417
  class ObjectValidator extends ValidatorType {
312
418
  constructor(shape) {
313
419
  super();
@@ -357,6 +463,30 @@ class ObjectValidator extends ValidatorType {
357
463
  schema.required = required;
358
464
  return schema;
359
465
  }
466
+ /**
467
+ * Converts this v.object() schema into a Mongoose-compatible schema definition.
468
+ * Pass the result directly to `new mongoose.Schema()`.
469
+ *
470
+ * @example
471
+ * const UserSchema = v.object({ name: v.string(), email: v.string().email().unique() })
472
+ * const User = mongoose.model('User', new mongoose.Schema(UserSchema.toMongoSchema()))
473
+ */
474
+ toMongoSchema() {
475
+ const schemaDef = {};
476
+ for (const key of this._keys) {
477
+ const validator = this.shape[key];
478
+ schemaDef[key] = validator.toMongoField();
479
+ }
480
+ return schemaDef;
481
+ }
482
+ toMongoField() {
483
+ // Nested object — return the shape as a sub-document definition
484
+ const nested = {};
485
+ for (const key of this._keys) {
486
+ nested[key] = this.shape[key].toMongoField();
487
+ }
488
+ return nested;
489
+ }
360
490
  _validate(value, path) {
361
491
  if (value === undefined || value === null) {
362
492
  if (this.isOptional)
@@ -441,6 +571,11 @@ class ArrayValidator extends ValidatorType {
441
571
  schema.maxItems = this.maxLen;
442
572
  return schema;
443
573
  }
574
+ toMongoField() {
575
+ // Return as Mongoose array syntax: [{ type: String }]
576
+ const innerField = this.schema.toMongoField();
577
+ return [innerField];
578
+ }
444
579
  _validate(value, path) {
445
580
  if (value === undefined || value === null) {
446
581
  if (this.isOptional)
@@ -496,6 +631,21 @@ class EnumValidator extends ValidatorType {
496
631
  toOpenApi() {
497
632
  return { type: 'string', enum: this.values };
498
633
  }
634
+ toMongoField() {
635
+ const field = {
636
+ type: String,
637
+ enum: [...this.values],
638
+ };
639
+ if (!this.isOptional)
640
+ field.required = true;
641
+ if (this._hasDefault)
642
+ field.default = this.defaultValue;
643
+ if (this._isUnique)
644
+ field.unique = true;
645
+ if (this._index)
646
+ field.index = true;
647
+ return field;
648
+ }
499
649
  _validate(value, path) {
500
650
  if (value === undefined || value === null) {
501
651
  if (this.isOptional)
@@ -570,6 +720,16 @@ class DateValidator extends ValidatorType {
570
720
  toOpenApi() {
571
721
  return { type: 'string', format: 'date-time' };
572
722
  }
723
+ toMongoField() {
724
+ const field = { type: Date };
725
+ if (!this.isOptional)
726
+ field.required = true;
727
+ if (this._hasDefault)
728
+ field.default = this.defaultValue;
729
+ if (this._index)
730
+ field.index = true;
731
+ return field;
732
+ }
573
733
  _validate(value, path) {
574
734
  if (value === undefined || value === null) {
575
735
  if (this.isOptional)
@@ -721,5 +881,9 @@ exports.v = {
721
881
  }
722
882
  return result.data;
723
883
  },
884
+ coerce: {
885
+ number: () => new CoerceNumberValidator(),
886
+ boolean: () => new CoerceBooleanValidator(),
887
+ },
724
888
  };
725
889
  //# sourceMappingURL=validator.js.map