@tstdl/base 0.78.0-beta46 → 0.78.0-beta49

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 (89) hide show
  1. package/error/custom.error.d.ts +1 -1
  2. package/error/custom.error.js +5 -1
  3. package/error/custom.error.js.map +1 -1
  4. package/package.json +2 -2
  5. package/pdf/pdf.service.js +12 -12
  6. package/pdf/pdf.service.js.map +1 -1
  7. package/schema/array-constraints/maximum-length.d.ts +2 -2
  8. package/schema/array-constraints/maximum-length.js +2 -2
  9. package/schema/array-constraints/maximum-length.js.map +1 -1
  10. package/schema/array-constraints/minimum-length.d.ts +2 -2
  11. package/schema/array-constraints/minimum-length.js +2 -2
  12. package/schema/array-constraints/minimum-length.js.map +1 -1
  13. package/schema/coercers/boolean.coercer.d.ts +2 -2
  14. package/schema/coercers/boolean.coercer.js +2 -2
  15. package/schema/coercers/boolean.coercer.js.map +1 -1
  16. package/schema/coercers/date.coercer.d.ts +2 -2
  17. package/schema/coercers/date.coercer.js +2 -2
  18. package/schema/coercers/date.coercer.js.map +1 -1
  19. package/schema/coercers/number.coercer.d.ts +2 -2
  20. package/schema/coercers/number.coercer.js +2 -2
  21. package/schema/coercers/number.coercer.js.map +1 -1
  22. package/schema/coercers/regexp.coercer.d.ts +2 -2
  23. package/schema/coercers/regexp.coercer.js +2 -2
  24. package/schema/coercers/regexp.coercer.js.map +1 -1
  25. package/schema/coercers/string.coercer.d.ts +2 -2
  26. package/schema/coercers/string.coercer.js +2 -2
  27. package/schema/coercers/string.coercer.js.map +1 -1
  28. package/schema/coercers/uint8-array.coercer.js +1 -1
  29. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  30. package/schema/constraints/enumeration.d.ts +2 -2
  31. package/schema/constraints/enumeration.js +2 -2
  32. package/schema/constraints/enumeration.js.map +1 -1
  33. package/schema/constraints/generic.d.ts +2 -2
  34. package/schema/constraints/generic.js +2 -2
  35. package/schema/constraints/generic.js.map +1 -1
  36. package/schema/constraints/integer.d.ts +2 -2
  37. package/schema/constraints/integer.js +2 -2
  38. package/schema/constraints/integer.js.map +1 -1
  39. package/schema/constraints/literal.d.ts +2 -2
  40. package/schema/constraints/literal.js +2 -2
  41. package/schema/constraints/literal.js.map +1 -1
  42. package/schema/constraints/maximum-date.d.ts +2 -2
  43. package/schema/constraints/maximum-date.js +2 -2
  44. package/schema/constraints/maximum-date.js.map +1 -1
  45. package/schema/constraints/maximum-length.d.ts +2 -2
  46. package/schema/constraints/maximum-length.js +2 -2
  47. package/schema/constraints/maximum-length.js.map +1 -1
  48. package/schema/constraints/maximum.d.ts +2 -2
  49. package/schema/constraints/maximum.js +2 -2
  50. package/schema/constraints/maximum.js.map +1 -1
  51. package/schema/constraints/minimum-date.d.ts +2 -2
  52. package/schema/constraints/minimum-date.js +2 -2
  53. package/schema/constraints/minimum-date.js.map +1 -1
  54. package/schema/constraints/minimum-length.d.ts +2 -2
  55. package/schema/constraints/minimum-length.js +2 -2
  56. package/schema/constraints/minimum-length.js.map +1 -1
  57. package/schema/constraints/minimum.d.ts +2 -2
  58. package/schema/constraints/minimum.js +2 -2
  59. package/schema/constraints/minimum.js.map +1 -1
  60. package/schema/constraints/pattern.d.ts +2 -2
  61. package/schema/constraints/pattern.js +2 -2
  62. package/schema/constraints/pattern.js.map +1 -1
  63. package/schema/schema.error.d.ts +4 -4
  64. package/schema/schema.error.js +3 -3
  65. package/schema/schema.error.js.map +1 -1
  66. package/schema/schema.js +20 -13
  67. package/schema/schema.js.map +1 -1
  68. package/schema/types.d.ts +6 -2
  69. package/schema/types.js.map +1 -1
  70. package/threading/index.d.ts +1 -0
  71. package/threading/index.js +18 -0
  72. package/threading/index.js.map +1 -0
  73. package/threading/message-proxy.d.ts +66 -0
  74. package/threading/message-proxy.js +34 -0
  75. package/threading/message-proxy.js.map +1 -0
  76. package/threading/thread-pool.d.ts +4 -0
  77. package/threading/thread-pool.js +10 -0
  78. package/threading/thread-pool.js.map +1 -0
  79. package/threading/thread.d.ts +16 -0
  80. package/threading/thread.js +30 -0
  81. package/threading/thread.js.map +1 -0
  82. package/utils/index.d.ts +1 -0
  83. package/utils/index.js +1 -0
  84. package/utils/index.js.map +1 -1
  85. package/utils/object/forward-ref.js +3 -19
  86. package/utils/object/forward-ref.js.map +1 -1
  87. package/utils/proxy.d.ts +6 -0
  88. package/utils/proxy.js +21 -0
  89. package/utils/proxy.js.map +1 -0
@@ -14,7 +14,7 @@ export declare type CustomErrorOptions = {
14
14
  */
15
15
  cause?: Error;
16
16
  /** skip {@link Error} super call, which improves speed but looses stack trace */
17
- fast?: boolean;
17
+ fast?: boolean | undefined;
18
18
  };
19
19
  export declare abstract class CustomError extends Error {
20
20
  constructor(options: CustomErrorOptions);
@@ -9,7 +9,11 @@ class CustomError extends Error {
9
9
  // eslint-disable-next-line no-constructor-return
10
10
  return errorObject;
11
11
  }
12
- super(options.message, { cause: options.cause });
12
+ const errorOptions = {};
13
+ if (options.cause != undefined) {
14
+ errorOptions.cause = options.cause;
15
+ }
16
+ super(options.message, errorOptions);
13
17
  init(this, new.target, options);
14
18
  }
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom.error.js","sourceRoot":"","sources":["../../source/error/custom.error.ts"],"names":[],"mappings":";;;AAuBA,MAAsB,WAAY,SAAQ,KAAK;IAC7C,YAAY,OAA2B;QACrC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,WAAoB,EAAE,GAAG,CAAC,MAAsC,EAAE,OAAO,CAAC,CAAC;YAEhF,iDAAiD;YACjD,OAAO,WAA0B,CAAC;SACnC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAsC,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACF;AAfD,kCAeC;AAED,SAAS,IAAI,CAAC,QAAe,EAAE,MAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAsB;IAC1G,QAAQ,CAAC,OAAO,GAAI,QAAQ,CAAC,OAA8B,IAAI,OAAO,IAAI,4BAA4B,CAAC;IACvG,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAK,MAAwC,EAAE,SAAS,IAAK,MAAM,CAAC,SAA+B,CAAC,IAAI,CAAC;IAE7H,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;QACzD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;KACxB;IAED,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAG,MAAM,CAAC,SAA+B,CAAC,CAAC;KAC1E;AACH,CAAC"}
1
+ {"version":3,"file":"custom.error.js","sourceRoot":"","sources":["../../source/error/custom.error.ts"],"names":[],"mappings":";;;AAuBA,MAAsB,WAAY,SAAQ,KAAK;IAC7C,YAAY,OAA2B;QACrC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,WAAoB,EAAE,GAAG,CAAC,MAAsC,EAAE,OAAO,CAAC,CAAC;YAEhF,iDAAiD;YACjD,OAAO,WAA0B,CAAC;SACnC;QAED,MAAM,YAAY,GAAiB,EAAE,CAAC;QAEtC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE;YAC9B,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SACpC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAsC,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACF;AArBD,kCAqBC;AAED,SAAS,IAAI,CAAC,QAAe,EAAE,MAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAsB;IAC1G,QAAQ,CAAC,OAAO,GAAI,QAAQ,CAAC,OAA8B,IAAI,OAAO,IAAI,4BAA4B,CAAC;IACvG,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAK,MAAwC,EAAE,SAAS,IAAK,MAAM,CAAC,SAA+B,CAAC,IAAI,CAAC;IAE7H,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;QACzD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;KACxB;IAED,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAG,MAAM,CAAC,SAA+B,CAAC,CAAC;KAC1E;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.78.0-beta46",
3
+ "version": "0.78.0-beta49",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -39,7 +39,7 @@
39
39
  "peerDependencies": {
40
40
  "@elastic/elasticsearch": "^8.4",
41
41
  "@koa/router": "^12.0",
42
- "@tstdl/angular": "^0.11.0-beta46",
42
+ "@tstdl/angular": "^0.11.0-beta49",
43
43
  "chroma-js": "^2.4",
44
44
  "got": "^12.3",
45
45
  "handlebars": "^4.7",
@@ -141,12 +141,12 @@ let PdfService = class PdfService {
141
141
  const { fields: { header, body, footer }, options: optionsFromTemplate } = await this.templateService.render(key, templateContext);
142
142
  return this.renderHtml(body, { ...optionsFromTemplate, headerTemplate: header, footerTemplate: footer, ...options });
143
143
  }
144
- async render(handler, options) {
144
+ async render(handler, options = {}) {
145
145
  return this.pool.use(async (browser) => {
146
146
  const page = await browser.newPage();
147
147
  try {
148
148
  await handler(page);
149
- const margin = (0, type_guards_1.isUndefined)(options?.margin)
149
+ const margin = (0, type_guards_1.isUndefined)(options.margin)
150
150
  ? undefined
151
151
  : (0, type_guards_1.isObject)(options.margin)
152
152
  ? options.margin
@@ -157,17 +157,17 @@ let PdfService = class PdfService {
157
157
  left: options.margin
158
158
  };
159
159
  const result = await page.pdf({
160
- format: options?.format ?? 'a4',
161
- scale: options?.scale,
162
- landscape: options?.landscape,
163
- width: options?.width,
164
- height: options?.height,
165
- omitBackground: options?.omitDefaultBackground,
166
- printBackground: options?.renderBackground,
160
+ format: options.format ?? 'a4',
161
+ scale: options.scale,
162
+ landscape: options.landscape,
163
+ width: options.width,
164
+ height: options.height,
165
+ omitBackground: options.omitDefaultBackground,
166
+ printBackground: options.renderBackground,
167
167
  margin,
168
- displayHeaderFooter: options?.displayHeaderFooter,
169
- headerTemplate: '',
170
- footerTemplate: ''
168
+ displayHeaderFooter: options.displayHeaderFooter ?? ((0, type_guards_1.isDefined)(options.headerTemplate) || (0, type_guards_1.isDefined)(options.footerTemplate)),
169
+ headerTemplate: options.headerTemplate,
170
+ footerTemplate: options.footerTemplate
171
171
  });
172
172
  return result;
173
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaArrayConstraint } from '../types';
5
5
  export declare class ArrayMaximumLengthConstraint extends SchemaArrayConstraint {
6
6
  private readonly maximumLength;
7
7
  readonly expects: string;
8
8
  constructor(maximumLength: number);
9
- validate(value: any[], path: JsonPath): ConstraintResult;
9
+ validate(value: any[], path: JsonPath, context: ConstraintContext): ConstraintResult;
10
10
  }
11
11
  export declare function ArrayMaximumLength(maximumLength: number): Decorator<'property' | 'accessor'>;
@@ -11,9 +11,9 @@ class ArrayMaximumLengthConstraint extends types_1.SchemaArrayConstraint {
11
11
  this.maximumLength = maximumLength;
12
12
  this.expects = `a maximum array length of ${this.maximumLength}`;
13
13
  }
14
- validate(value, path) {
14
+ validate(value, path, context) {
15
15
  if (value.length > this.maximumLength) {
16
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `an array length of ${value.length}`, path) };
16
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `an array length of ${value.length}`, path, { fast: context.options.fastErrors }) };
17
17
  }
18
18
  return { valid: true };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"maximum-length.js","sourceRoot":"","sources":["../../../source/schema/array-constraints/maximum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,4BAA6B,SAAQ,6BAAqB;IAKrE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,6BAA6B,IAAI,CAAC,aAAa,EAAE,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,KAAY,EAAE,IAAc;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACtH;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oEAmBC;AAED,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,OAAO,IAAA,iDAAoC,EAAC,IAAI,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/F,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"maximum-length.js","sourceRoot":"","sources":["../../../source/schema/array-constraints/maximum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,4BAA6B,SAAQ,6BAAqB;IAKrE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,6BAA6B,IAAI,CAAC,aAAa,EAAE,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,KAAY,EAAE,IAAc,EAAE,OAA0B;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC5J;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oEAmBC;AAED,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,OAAO,IAAA,iDAAoC,EAAC,IAAI,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/F,CAAC;AAFD,gDAEC"}
@@ -1,11 +1,11 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaArrayConstraint } from '../types';
5
5
  export declare class MinimumArrayLengthConstraint extends SchemaArrayConstraint {
6
6
  private readonly minimumLength;
7
7
  readonly expects: string;
8
8
  constructor(minimumLength: number);
9
- validate(value: any[], path: JsonPath): ConstraintResult;
9
+ validate(value: any[], path: JsonPath, context: ConstraintContext): ConstraintResult;
10
10
  }
11
11
  export declare function MinimumArrayLength(minimumLength: number): Decorator<'property' | 'accessor'>;
@@ -11,9 +11,9 @@ class MinimumArrayLengthConstraint extends types_1.SchemaArrayConstraint {
11
11
  this.minimumLength = minimumLength;
12
12
  this.expects = `a minimum array length of ${this.minimumLength}`;
13
13
  }
14
- validate(value, path) {
14
+ validate(value, path, context) {
15
15
  if (value.length < this.minimumLength) {
16
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `an array length of ${value.length}`, path) };
16
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `an array length of ${value.length}`, path, { fast: context.options.fastErrors }) };
17
17
  }
18
18
  return { valid: true };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/array-constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,4BAA6B,SAAQ,6BAAqB;IAKrE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,6BAA6B,IAAI,CAAC,aAAa,EAAE,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,KAAY,EAAE,IAAc;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACtH;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oEAmBC;AAED,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,OAAO,IAAA,iDAAoC,EAAC,IAAI,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/F,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/array-constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,4BAA6B,SAAQ,6BAAqB;IAKrE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,6BAA6B,IAAI,CAAC,aAAa,EAAE,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,KAAY,EAAE,IAAc,EAAE,OAA0B;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC5J;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oEAmBC;AAED,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,OAAO,IAAA,iDAAoC,EAAC,IAAI,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;AAC/F,CAAC;AAFD,gDAEC"}
@@ -1,9 +1,9 @@
1
1
  import type { JsonPath } from "../../json-path";
2
- import type { CoerceResult } from '../types';
2
+ import type { CoercerContext, CoerceResult } from '../types';
3
3
  import { SchemaValueCoercer } from '../types';
4
4
  export declare class BooleanCoercer extends SchemaValueCoercer {
5
5
  readonly sourceType: (NumberConstructor | StringConstructor | BigIntConstructor)[];
6
6
  readonly targetType: BooleanConstructor;
7
- coerce(value: number | string | bigint, path: JsonPath): CoerceResult;
7
+ coerce(value: number | string | bigint, path: JsonPath, context: CoercerContext): CoerceResult;
8
8
  }
9
9
  export declare const booleanCoercer: BooleanCoercer;
@@ -10,7 +10,7 @@ class BooleanCoercer extends types_1.SchemaValueCoercer {
10
10
  this.sourceType = [Number, String, BigInt];
11
11
  this.targetType = Boolean;
12
12
  }
13
- coerce(value, path) {
13
+ coerce(value, path, context) {
14
14
  const normalizedValue = (0, type_guards_1.isString)(value) ? value.toLowerCase() : value;
15
15
  switch (normalizedValue) {
16
16
  case 1:
@@ -26,7 +26,7 @@ class BooleanCoercer extends types_1.SchemaValueCoercer {
26
26
  case 'no':
27
27
  return { success: true, value: false };
28
28
  default:
29
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(Boolean, value.toString(), path) };
29
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(Boolean, value.toString(), path, undefined, { fast: context.options.fastErrors }) };
30
30
  }
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/boolean.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAC/C,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,cAAe,SAAQ,0BAAkB;IAAtD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,OAAO,CAAC;IAwBhC,CAAC;IAtBC,MAAM,CAAC,KAA+B,EAAE,IAAc;QACpD,MAAM,eAAe,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtE,QAAQ,eAAe,EAAE;YACvB,KAAK,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,GAAG,CAAC;YACT,KAAK,KAAK;gBACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAExC,KAAK,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,OAAO,CAAC;YACb,KAAK,GAAG,CAAC;YACT,KAAK,IAAI;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAEzC;gBACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACjG;IACH,CAAC;CACF;AA1BD,wCA0BC;AAEY,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"boolean.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/boolean.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAC/C,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,cAAe,SAAQ,0BAAkB;IAAtD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,OAAO,CAAC;IAwBhC,CAAC;IAtBC,MAAM,CAAC,KAA+B,EAAE,IAAc,EAAE,OAAuB;QAC7E,MAAM,eAAe,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtE,QAAQ,eAAe,EAAE;YACvB,KAAK,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,GAAG,CAAC;YACT,KAAK,KAAK;gBACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAExC,KAAK,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,OAAO,CAAC;YACb,KAAK,GAAG,CAAC;YACT,KAAK,IAAI;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAEzC;gBACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAClJ;IACH,CAAC;CACF;AA1BD,wCA0BC;AAEY,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { JsonPath } from "../../json-path";
2
- import type { CoerceResult } from '../types';
2
+ import type { CoercerContext, CoerceResult } from '../types';
3
3
  import { SchemaValueCoercer } from '../types';
4
4
  export declare class DateCoercer extends SchemaValueCoercer {
5
5
  readonly sourceType: (NumberConstructor | StringConstructor | BigIntConstructor)[];
6
6
  readonly targetType: DateConstructor;
7
- coerce(value: number | string | bigint, path: JsonPath): CoerceResult;
7
+ coerce(value: number | string | bigint, path: JsonPath, context: CoercerContext): CoerceResult;
8
8
  }
9
9
  export declare const dateCoercer: DateCoercer;
@@ -10,11 +10,11 @@ class DateCoercer extends types_1.SchemaValueCoercer {
10
10
  this.sourceType = [Number, String, BigInt];
11
11
  this.targetType = Date;
12
12
  }
13
- coerce(value, path) {
13
+ coerce(value, path, context) {
14
14
  const parseValue = (0, type_guards_1.isBigInt)(value) ? Number(value) : value;
15
15
  const date = new Date(parseValue);
16
16
  if (Number.isNaN(date.getTime())) {
17
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, value.toString(), path) };
17
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, value.toString(), path, undefined, { fast: context.options.fastErrors }) };
18
18
  }
19
19
  return { success: true, value: date };
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/date.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAC/C,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,WAAY,SAAQ,0BAAkB;IAAnD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,IAAI,CAAC;IAY7B,CAAC;IAVC,MAAM,CAAC,KAA+B,EAAE,IAAc;QACpD,MAAM,UAAU,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACvG;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;CACF;AAdD,kCAcC;AACY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"date.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/date.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAC/C,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,WAAY,SAAQ,0BAAkB;IAAnD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,IAAI,CAAC;IAY7B,CAAC;IAVC,MAAM,CAAC,KAA+B,EAAE,IAAc,EAAE,OAAuB;QAC7E,MAAM,UAAU,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACxJ;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;CACF;AAdD,kCAcC;AACY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { JsonPath } from "../../json-path";
2
- import type { CoerceResult } from '../types';
2
+ import type { CoercerContext, CoerceResult } from '../types';
3
3
  import { SchemaValueCoercer } from '../types';
4
4
  export declare class NumberCoercer extends SchemaValueCoercer {
5
5
  readonly sourceType: (StringConstructor | BooleanConstructor | BigIntConstructor)[];
6
6
  readonly targetType: NumberConstructor;
7
- coerce(value: string | bigint | boolean, path: JsonPath): CoerceResult;
7
+ coerce(value: string | bigint | boolean, path: JsonPath, context: CoercerContext): CoerceResult;
8
8
  }
9
9
  export declare const numberCoercer: NumberCoercer;
@@ -9,10 +9,10 @@ class NumberCoercer extends types_1.SchemaValueCoercer {
9
9
  this.sourceType = [String, BigInt, Boolean];
10
10
  this.targetType = Number;
11
11
  }
12
- coerce(value, path) {
12
+ coerce(value, path, context) {
13
13
  const result = Number(value);
14
14
  if (Number.isNaN(result)) {
15
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, value.toString(), path, 'Value is not a number.') };
15
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, value.toString(), path, 'Value is not a number.', { fast: context.options.fastErrors }) };
16
16
  }
17
17
  return { success: true, value: result };
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"number.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/number.coercer.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAArD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,eAAU,GAAG,MAAM,CAAC;IAW/B,CAAC;IATC,MAAM,CAAC,KAAgC,EAAE,IAAc;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,CAAC,EAAE,CAAC;SACjI;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF;AAbD,sCAaC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"number.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/number.coercer.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAArD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,eAAU,GAAG,MAAM,CAAC;IAW/B,CAAC;IATC,MAAM,CAAC,KAAgC,EAAE,IAAc,EAAE,OAAuB;QAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACvK;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF;AAbD,sCAaC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
- import type { CoerceResult } from '../types';
2
+ import type { CoercerContext, CoerceResult } from '../types';
3
3
  import { SchemaValueCoercer } from '../types';
4
4
  export declare class RegExpCoercer extends SchemaValueCoercer {
5
5
  readonly sourceType: StringConstructor;
6
6
  readonly targetType: RegExpConstructor;
7
7
  readonly flags: string | undefined;
8
8
  constructor(flags?: string);
9
- coerce(value: string, path: JsonPath): CoerceResult;
9
+ coerce(value: string, path: JsonPath, context: CoercerContext): CoerceResult;
10
10
  }
11
11
  export declare const regExpCoercer: RegExpCoercer;
@@ -10,12 +10,12 @@ class RegExpCoercer extends types_1.SchemaValueCoercer {
10
10
  this.targetType = RegExp;
11
11
  this.flags = flags;
12
12
  }
13
- coerce(value, path) {
13
+ coerce(value, path, context) {
14
14
  try {
15
15
  return { success: true, value: RegExp(value, this.flags) };
16
16
  }
17
17
  catch (error) {
18
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, 'invalid regexp pattern', path, error.message) };
18
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, 'invalid regexp pattern', path, error.message, { fast: context.options.fastErrors }) };
19
19
  }
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"regexp.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/regexp.coercer.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAKnD,YAAY,QAAgB,GAAG;QAC7B,KAAK,EAAE,CAAC;QALD,eAAU,GAAG,MAAM,CAAC;QACpB,eAAU,GAAG,MAAM,CAAC;QAM3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,IAAc;QAClC,IAAI;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5D;QACD,OAAO,KAAK,EAAE;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,EAAE,CAAC;SACzI;IACH,CAAC;CACF;AAnBD,sCAmBC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"regexp.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/regexp.coercer.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAKnD,YAAY,QAAgB,GAAG;QAC7B,KAAK,EAAE,CAAC;QALD,eAAU,GAAG,MAAM,CAAC;QACpB,eAAU,GAAG,MAAM,CAAC;QAM3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,IAAc,EAAE,OAAuB;QAC3D,IAAI;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5D;QACD,OAAO,KAAK,EAAE;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC/K;IACH,CAAC;CACF;AAnBD,sCAmBC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { JsonPath } from "../../json-path";
2
- import type { CoerceResult } from '../types';
2
+ import type { CoercerContext, CoerceResult } from '../types';
3
3
  import { SchemaValueCoercer } from '../types';
4
4
  export declare class StringCoercer extends SchemaValueCoercer {
5
5
  readonly sourceType: (NumberConstructor | DateConstructor | BooleanConstructor | BigIntConstructor)[];
6
6
  readonly targetType: StringConstructor;
7
- coerce(value: number | boolean | bigint | Date, path: JsonPath): CoerceResult;
7
+ coerce(value: number | boolean | bigint | Date, path: JsonPath, context: CoercerContext): CoerceResult;
8
8
  }
9
9
  export declare const stringCoercer: StringCoercer;
@@ -10,9 +10,9 @@ class StringCoercer extends types_1.SchemaValueCoercer {
10
10
  this.sourceType = [Number, Boolean, BigInt, Date];
11
11
  this.targetType = String;
12
12
  }
13
- coerce(value, path) {
13
+ coerce(value, path, context) {
14
14
  if ((0, type_guards_1.isDate)(value) && !(0, type_guards_1.isValidDate)(value)) {
15
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, 'invalid date', path) };
15
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(this.targetType, 'invalid date', path, undefined, { fast: context.options.fastErrors }) };
16
16
  }
17
17
  return { success: true, value: value.toString() };
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/string.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA0D;AAC1D,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAArD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,eAAU,GAAG,MAAM,CAAC;IAS/B,CAAC;IAPC,MAAM,CAAC,KAAuC,EAAE,IAAc;QAC5D,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;SACrG;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IACpD,CAAC;CACF;AAXD,sCAWC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"string.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/string.coercer.ts"],"names":[],"mappings":";;;AACA,yDAA0D;AAC1D,kDAA8C;AAE9C,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,0BAAkB;IAArD;;QACW,eAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,eAAU,GAAG,MAAM,CAAC;IAS/B,CAAC;IAPC,MAAM,CAAC,KAAuC,EAAE,IAAc,EAAE,OAAuB;QACrF,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACtJ;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IACpD,CAAC;CACF;AAXD,sCAWC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -16,7 +16,7 @@ class Uint8ArrayCoercer extends types_1.SchemaValueCoercer {
16
16
  coerce(value, path, { options }) {
17
17
  const testResult = schema_1.Schema.testWithFastError(byteNumberArraySchema, value, options, path);
18
18
  if (!testResult.valid) {
19
- return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(Uint8Array, Array, path, undefined, { inner: testResult.error }) };
19
+ return { success: false, error: schema_error_1.SchemaError.couldNotCoerce(Uint8Array, Array, path, undefined, { inner: testResult.error, fast: options.fastErrors }) };
20
20
  }
21
21
  return { success: true, value: Uint8Array.from(testResult.value) };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uint8-array.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/uint8-array.coercer.ts"],"names":[],"mappings":";;;AACA,sCAAmC;AACnC,kDAA8C;AAC9C,4CAAyC;AACzC,8CAA2C;AAE3C,oCAA8C;AAE9C,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAEzF,MAAa,iBAAkB,SAAQ,0BAAkB;IAAzD;;QACW,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,UAAU,CAAC;IAWnC,CAAC;IATC,MAAM,CAAC,KAAY,EAAE,IAAc,EAAE,EAAE,OAAO,EAAkB;QAC9D,MAAM,UAAU,GAAG,eAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;SAC/H;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC;CACF;AAbD,8CAaC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"uint8-array.coercer.js","sourceRoot":"","sources":["../../../source/schema/coercers/uint8-array.coercer.ts"],"names":[],"mappings":";;;AACA,sCAAmC;AACnC,kDAA8C;AAC9C,4CAAyC;AACzC,8CAA2C;AAE3C,oCAA8C;AAE9C,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAEzF,MAAa,iBAAkB,SAAQ,0BAAkB;IAAzD;;QACW,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,UAAU,CAAC;IAWnC,CAAC;IATC,MAAM,CAAC,KAAY,EAAE,IAAc,EAAE,EAAE,OAAO,EAAkB;QAC9D,MAAM,UAAU,GAAG,eAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACzJ;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC;CACF;AAbD,8CAaC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Enumeration, OneOrMany } from "../../types";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class EnumerationConstraint extends SchemaValueConstraint {
6
6
  private readonly allowedValuesSet;
@@ -9,5 +9,5 @@ export declare class EnumerationConstraint extends SchemaValueConstraint {
9
9
  readonly suitableTypes: SchemaValueConstraint['suitableTypes'];
10
10
  readonly expects: OneOrMany<string>;
11
11
  constructor(enumeration: Enumeration);
12
- validate(value: number, path: JsonPath): ConstraintResult;
12
+ validate(value: number, path: JsonPath, context: ConstraintContext): ConstraintResult;
13
13
  }
@@ -18,9 +18,9 @@ class EnumerationConstraint extends types_1.SchemaValueConstraint {
18
18
  this.suitableTypes = [...(0, iterable_helpers_1.distinct)(allowedValues.map((value) => (0, utils_2.getValueType)(value)))];
19
19
  this.expects = `one of [${this.allowedValuesString}]`;
20
20
  }
21
- validate(value, path) {
21
+ validate(value, path, context) {
22
22
  if (!this.allowedValuesSet.has(value)) {
23
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path) };
23
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path, { fast: context.options.fastErrors }) };
24
24
  }
25
25
  return { valid: true };
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/constraints/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uCAAqC;AACrC,mEAAoD;AACpD,yDAAwD;AACxD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAAwC;AAExC,MAAa,qBAAsB,SAAQ,6BAAqB;IAQ9D,YAAY,WAAwB;QAClC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,aAAa,GAAG,IAAA,qBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAA,2BAAQ,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,mBAAmB,GAAG,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AA5BD,sDA4BC"}
1
+ {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/constraints/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uCAAqC;AACrC,mEAAoD;AACpD,yDAAwD;AACxD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAAwC;AAExC,MAAa,qBAAsB,SAAQ,6BAAqB;IAQ9D,YAAY,WAAwB;QAClC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,aAAa,GAAG,IAAA,qBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAA,2BAAQ,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,mBAAmB,GAAG,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACxI;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AA5BD,sDA4BC"}
@@ -2,7 +2,7 @@ import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
3
  import type { OneOrMany } from "../../types";
4
4
  import { SchemaError } from '../schema.error';
5
- import type { ConstraintResult } from '../types';
5
+ import type { ConstraintContext, ConstraintResult } from '../types';
6
6
  import { SchemaValueConstraint } from '../types';
7
7
  export declare type GenericConstraintResult = {
8
8
  success: true;
@@ -17,6 +17,6 @@ export declare class GenericConstraint<T> extends SchemaValueConstraint {
17
17
  readonly expects: OneOrMany<string>;
18
18
  readonly constraintFunction: GenericConstraintFunction<T>;
19
19
  constructor(constraintFunction: GenericConstraintFunction<T>, expects?: OneOrMany<string>);
20
- validate(value: T, path: JsonPath): ConstraintResult;
20
+ validate(value: T, path: JsonPath, context: ConstraintContext): ConstraintResult;
21
21
  }
22
22
  export declare function Constraint<T>(constraintFunction: GenericConstraintFunction<T>, expects?: OneOrMany<string>): Decorator<'property' | 'accessor'>;
@@ -13,12 +13,12 @@ class GenericConstraint extends types_1.SchemaValueConstraint {
13
13
  this.constraintFunction = constraintFunction;
14
14
  this.expects = expects;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  const result = this.constraintFunction(value, path);
18
18
  if ((0, type_guards_1.isBoolean)(result)) {
19
19
  return result
20
20
  ? { valid: true }
21
- : { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, 'invalid value', path) };
21
+ : { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, 'invalid value', path, { fast: context.options.fastErrors }) };
22
22
  }
23
23
  return result;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../source/schema/constraints/generic.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,yDAAgD;AAChD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAQjD,MAAa,iBAAqB,SAAQ,6BAAqB;IAK7D,YAAY,kBAAgD,EAAE,UAA6B,aAAa;QACtG,KAAK,EAAE,CAAC;QALD,kBAAa,GAAG,MAAM,CAAC;QAO9B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,KAAQ,EAAE,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;YACrB,OAAO,MAAM;gBACX,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;SAC9F;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,8CAuBC;AAED,SAAgB,UAAU,CAAI,kBAAgD,EAAE,OAA2B;IACzG,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,IAAA,iDAAoC,EAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AAHD,gCAGC"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../source/schema/constraints/generic.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,yDAAgD;AAChD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAAiD;AAQjD,MAAa,iBAAqB,SAAQ,6BAAqB;IAK7D,YAAY,kBAAgD,EAAE,UAA6B,aAAa;QACtG,KAAK,EAAE,CAAC;QALD,kBAAa,GAAG,MAAM,CAAC;QAO9B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,KAAQ,EAAE,IAAc,EAAE,OAA0B;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;YACrB,OAAO,MAAM;gBACX,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACpI;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,8CAuBC;AAED,SAAgB,UAAU,CAAI,kBAAgD,EAAE,OAA2B;IACzG,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,IAAA,iDAAoC,EAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AAHD,gCAGC"}
@@ -1,12 +1,12 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class IntegerConstraint extends SchemaValueConstraint {
6
6
  readonly suitableTypes: NumberConstructor;
7
7
  readonly expects: string;
8
8
  constructor();
9
- validate(value: number, path: JsonPath): ConstraintResult;
9
+ validate(value: number, path: JsonPath, context: ConstraintContext): ConstraintResult;
10
10
  }
11
11
  export declare const integerConstraint: IntegerConstraint;
12
12
  export declare function Integer(): Decorator<'property' | 'accessor'>;
@@ -11,9 +11,9 @@ class IntegerConstraint extends types_1.SchemaValueConstraint {
11
11
  this.suitableTypes = Number;
12
12
  this.expects = 'an integer';
13
13
  }
14
- validate(value, path) {
14
+ validate(value, path, context) {
15
15
  if (!Number.isInteger(value)) {
16
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path) };
16
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path, { fast: context.options.fastErrors }) };
17
17
  }
18
18
  return { valid: true };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../source/schema/constraints/integer.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAI1D;QACE,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAjBD,8CAiBC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEzD,SAAgB,OAAO;IACrB,OAAO,IAAA,4CAAoC,EAAC,yBAAiB,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../source/schema/constraints/integer.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAI1D;QACE,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACxI;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAjBD,8CAiBC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEzD,SAAgB,OAAO;IACrB,OAAO,IAAA,4CAAoC,EAAC,yBAAiB,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAFD,0BAEC"}
@@ -1,10 +1,10 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
- import type { ConstraintResult } from '../types';
2
+ import type { ConstraintContext, ConstraintResult } from '../types';
3
3
  import { SchemaValueConstraint } from '../types';
4
4
  export declare class LiteralConstraint extends SchemaValueConstraint {
5
5
  readonly literal: any;
6
6
  readonly suitableTypes: SchemaValueConstraint['suitableTypes'];
7
7
  readonly expects: string;
8
8
  constructor(literal: any);
9
- validate(value: any, path: JsonPath): ConstraintResult;
9
+ validate(value: any, path: JsonPath, context: ConstraintContext): ConstraintResult;
10
10
  }
@@ -14,10 +14,10 @@ class LiteralConstraint extends types_1.SchemaValueConstraint {
14
14
  const literalName = (0, type_guards_1.isPrimitive)(literal) ? String(literal) : (0, utils_1.getValueTypeName)(this.suitableTypes);
15
15
  this.expects = `literal ${literalName}`;
16
16
  }
17
- validate(value, path) {
17
+ validate(value, path, context) {
18
18
  if (value !== this.literal) {
19
19
  const valueType = (0, utils_1.getValueType)(value);
20
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, (0, utils_1.getValueTypeName)(valueType), path) };
20
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, (0, utils_1.getValueTypeName)(valueType), path, { fast: context.options.fastErrors }) };
21
21
  }
22
22
  return { valid: true };
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../source/schema/constraints/literal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAkD;AAClD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAA0D;AAE1D,MAAa,iBAAkB,SAAQ,6BAAqB;IAK1D,YAAY,OAAY;QACtB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,aAAa,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,WAAW,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,KAAU,EAAE,IAAc;QACjC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;YAC1B,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,wBAAgB,EAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;SAC7G;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAvBD,8CAuBC"}
1
+ {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../source/schema/constraints/literal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAkD;AAClD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAA0D;AAE1D,MAAa,iBAAkB,SAAQ,6BAAqB;IAK1D,YAAY,OAAY;QACtB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,aAAa,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,WAAW,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,KAAU,EAAE,IAAc,EAAE,OAA0B;QAC7D,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;YAC1B,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,wBAAgB,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACnJ;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAvBD,8CAuBC"}
@@ -1,12 +1,12 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
2
  import type { Decorator } from "../../reflection";
3
- import type { ConstraintResult } from '../types';
3
+ import type { ConstraintContext, ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class MaximumDateConstraint extends SchemaValueConstraint {
6
6
  private readonly maximum;
7
7
  readonly suitableTypes: NumberConstructor;
8
8
  readonly expects: string;
9
9
  constructor(maximum: Date | number);
10
- validate(value: Date, path: JsonPath): ConstraintResult;
10
+ validate(value: Date, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function MaximumDate(maximum: number): Decorator<'property' | 'accessor'>;
@@ -14,9 +14,9 @@ class MaximumDateConstraint extends types_1.SchemaValueConstraint {
14
14
  this.expects = `<= ${this.maximum.toISOString()}`;
15
15
  (0, type_guards_1.assertValidDate)(this.maximum);
16
16
  }
17
- validate(value, path) {
17
+ validate(value, path, context) {
18
18
  if (value > this.maximum) {
19
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toISOString(), path) };
19
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toISOString(), path, { fast: context.options.fastErrors }) };
20
20
  }
21
21
  return { valid: true };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"maximum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum-date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAgE;AAChE,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,qBAAsB,SAAQ,6BAAqB;IAM9D,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAElD,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,KAAW,EAAE,IAAc;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACrG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,sDAsBC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,IAAA,iDAAoC,EAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClH,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"maximum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum-date.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAgE;AAChE,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,qBAAsB,SAAQ,6BAAqB;IAM9D,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAElD,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,KAAW,EAAE,IAAc,EAAE,OAA0B;QAC9D,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC3I;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,sDAsBC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,IAAA,iDAAoC,EAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClH,CAAC;AAFD,kCAEC"}