@tstdl/base 0.78.0-beta48 → 0.78.0-beta50

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 (83) 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 +22 -15
  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/message-proxy.d.ts +66 -0
  71. package/threading/message-proxy.js +34 -0
  72. package/threading/message-proxy.js.map +1 -0
  73. package/threading/thread.d.ts +13 -1
  74. package/threading/thread.js +21 -2
  75. package/threading/thread.js.map +1 -1
  76. package/utils/index.d.ts +1 -0
  77. package/utils/index.js +1 -0
  78. package/utils/index.js.map +1 -1
  79. package/utils/object/forward-ref.js +3 -19
  80. package/utils/object/forward-ref.js.map +1 -1
  81. package/utils/proxy.d.ts +6 -0
  82. package/utils/proxy.js +21 -0
  83. package/utils/proxy.js.map +1 -0
@@ -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 MaximumLengthConstraint extends SchemaValueConstraint {
6
6
  private readonly maximumLength;
7
7
  readonly suitableTypes: (ArrayConstructor | StringConstructor | Uint8ArrayConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor)[];
8
8
  readonly expects: string;
9
9
  constructor(maximumLength: number);
10
- validate(value: string, path: JsonPath): ConstraintResult;
10
+ validate(value: string, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function MaximumLength(maximumLength: number): Decorator<'property' | 'accessor'>;
@@ -13,10 +13,10 @@ class MaximumLengthConstraint extends types_1.SchemaValueConstraint {
13
13
  this.maximumLength = maximumLength;
14
14
  this.expects = `a maximum length of ${this.maximumLength}`;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  const length = (0, type_guards_1.isArrayBuffer)(value) ? value.byteLength : value.length;
18
18
  if (length > this.maximumLength) {
19
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path) };
19
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path, { fast: context.options.fastErrors }) };
20
20
  }
21
21
  return { valid: true };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"maximum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACzG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"maximum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC/I;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
@@ -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 MaximumConstraint extends SchemaValueConstraint {
6
6
  private readonly maximum;
7
7
  readonly suitableTypes: NumberConstructor;
8
8
  readonly expects: string;
9
9
  constructor(maximum: number);
10
- validate(value: number, path: JsonPath): ConstraintResult;
10
+ validate(value: number, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function Maximum(maximum: number): Decorator<'property' | 'accessor'>;
@@ -12,9 +12,9 @@ class MaximumConstraint extends types_1.SchemaValueConstraint {
12
12
  this.maximum = maximum;
13
13
  this.expects = `<= ${this.maximum}`;
14
14
  }
15
- validate(value, path) {
15
+ validate(value, path, context) {
16
16
  if (value > this.maximum) {
17
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path) };
17
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path, { fast: context.options.fastErrors }) };
18
18
  }
19
19
  return { valid: true };
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"maximum.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,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,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,iDAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"maximum.js","sourceRoot":"","sources":["../../../source/schema/constraints/maximum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,8CAAqE;AACrE,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,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,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;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,iDAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
@@ -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 MinimumDateConstraint extends SchemaValueConstraint {
6
6
  private readonly minimum;
7
7
  readonly suitableTypes: NumberConstructor;
8
8
  readonly expects: string;
9
9
  constructor(minimum: 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 MinimumDate(minimum: number): Decorator<'property' | 'accessor'>;
@@ -14,9 +14,9 @@ class MinimumDateConstraint extends types_1.SchemaValueConstraint {
14
14
  this.expects = `>= ${this.minimum.toISOString()}`;
15
15
  (0, type_guards_1.assertValidDate)(this.minimum);
16
16
  }
17
- validate(value, path) {
17
+ validate(value, path, context) {
18
18
  if (value > this.minimum) {
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":"minimum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-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":"minimum-date.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-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"}
@@ -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 MinimumLengthConstraint extends SchemaValueConstraint {
6
6
  private readonly minimumLength;
7
7
  readonly suitableTypes: (ArrayConstructor | StringConstructor | Uint8ArrayConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor)[];
8
8
  readonly expects: string;
9
9
  constructor(minimumLength: number);
10
- validate(value: string | ArrayLike<any> | ArrayBuffer, path: JsonPath): ConstraintResult;
10
+ validate(value: string | ArrayLike<any> | ArrayBuffer, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function MinimumLength(minimumLength: number): Decorator<'property' | 'accessor'>;
@@ -13,10 +13,10 @@ class MinimumLengthConstraint extends types_1.SchemaValueConstraint {
13
13
  this.minimumLength = minimumLength;
14
14
  this.expects = `a minimum length of ${this.minimumLength}`;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  const length = (0, type_guards_1.isArrayBuffer)(value) ? value.byteLength : value.length;
18
18
  if (length < this.minimumLength) {
19
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path) };
19
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `a length of ${length}`, path, { fast: context.options.fastErrors }) };
20
20
  }
21
21
  return { valid: true };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAA4C,EAAE,IAAc;QACnE,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACzG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"minimum-length.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum-length.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,yDAAoD;AACpD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAAiD;AAEjD,MAAa,uBAAwB,SAAQ,6BAAqB;IAMhE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAM3M,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,KAA4C,EAAE,IAAc,EAAE,OAA0B;QAC/F,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtE,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SAC/I;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,0DAsBC;AAED,SAAgB,aAAa,CAAC,aAAqB;IACjD,OAAO,IAAA,4CAAoC,EAAC,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,sCAEC"}
@@ -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 MinimumConstraint extends SchemaValueConstraint {
6
6
  private readonly minimum;
7
7
  readonly suitableTypes: NumberConstructor;
8
8
  readonly expects: string;
9
9
  constructor(minimum: number);
10
- validate(value: number, path: JsonPath): ConstraintResult;
10
+ validate(value: number, path: JsonPath, context: ConstraintContext): ConstraintResult;
11
11
  }
12
12
  export declare function Minimum(minimum: number): Decorator<'property' | 'accessor'>;
@@ -12,9 +12,9 @@ class MinimumConstraint extends types_1.SchemaValueConstraint {
12
12
  this.minimum = minimum;
13
13
  this.expects = `>= ${this.minimum}`;
14
14
  }
15
- validate(value, path) {
15
+ validate(value, path, context) {
16
16
  if (value < this.minimum) {
17
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path) };
17
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, value.toString(), path, { fast: context.options.fastErrors }) };
18
18
  }
19
19
  return { valid: true };
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,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,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"minimum.js","sourceRoot":"","sources":["../../../source/schema/constraints/minimum.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAM1D,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,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,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;AApBD,8CAoBC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAFD,0BAEC"}
@@ -1,6 +1,6 @@
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 PatternConstraint extends SchemaValueConstraint {
6
6
  private readonly pattern;
@@ -8,6 +8,6 @@ export declare class PatternConstraint extends SchemaValueConstraint {
8
8
  readonly suitableTypes: StringConstructor;
9
9
  readonly expects: string;
10
10
  constructor(pattern: RegExp, patternName?: string);
11
- validate(value: string, path: JsonPath): ConstraintResult;
11
+ validate(value: string, path: JsonPath, context: ConstraintContext): ConstraintResult;
12
12
  }
13
13
  export declare function Pattern(pattern: RegExp, patternName?: string): Decorator<'property' | 'accessor'>;
@@ -13,9 +13,9 @@ class PatternConstraint extends types_1.SchemaValueConstraint {
13
13
  this.patternName = patternName;
14
14
  this.expects = `matching ${this.patternName}`;
15
15
  }
16
- validate(value, path) {
16
+ validate(value, path, context) {
17
17
  if (!this.pattern.test(value)) {
18
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path) };
18
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(this.expects, `"${value}"`, path, { fast: context.options.fastErrors }) };
19
19
  }
20
20
  return { valid: true };
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;SAC9F;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../source/schema/constraints/pattern.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,+CAA2E;AAC3E,kDAA8C;AAE9C,oCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,6BAAqB;IAO1D,YAAY,OAAe,EAAE,cAAsB,WAAW;QAC5D,KAAK,EAAE,CAAC;QAJD,kBAAa,GAAG,MAAM,CAAC;QAM9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc,EAAE,OAA0B;QAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;SACpI;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AAtBD,8CAsBC;AAED,SAAgB,OAAO,CAAC,OAAe,EAAE,WAAoB;IAC3D,OAAO,IAAA,4CAAoC,EAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,0BAEC"}
@@ -1,5 +1,5 @@
1
- import type { CustomErrorOptions } from "../error";
2
- import { CustomError } from "../error";
1
+ import type { CustomErrorOptions } from "../error/custom.error";
2
+ import { CustomError } from "../error/custom.error";
3
3
  import type { JsonPath } from "../json-path";
4
4
  import type { OneOrMany, TypedOmit, UndefinableJson } from "../types";
5
5
  import type { ErrorExtraInfo } from "../utils/format-error";
@@ -16,7 +16,7 @@ export declare class SchemaError extends CustomError implements ErrorExtraInfo {
16
16
  readonly inner?: SchemaError[];
17
17
  readonly details?: UndefinableJson;
18
18
  constructor(message: string, options: SchemaErrorOptions, cause?: any);
19
- static expectedButGot(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
20
- static couldNotCoerce(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, customMessage?: string | undefined, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
19
+ static expectedButGot(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, options: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
20
+ static couldNotCoerce(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, customMessage: string | undefined, options: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
21
21
  getExtraInfo(includeMessage?: boolean): UndefinableJson | undefined;
22
22
  }
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchemaError = void 0;
4
- const error_1 = require("../error");
4
+ const custom_error_1 = require("../error/custom.error");
5
5
  const array_1 = require("../utils/array/array");
6
6
  const type_guards_1 = require("../utils/type-guards");
7
7
  const utils_1 = require("./utils");
8
- class SchemaError extends error_1.CustomError {
8
+ class SchemaError extends custom_error_1.CustomError {
9
9
  constructor(message, options, cause) {
10
- super({ message, cause: cause ?? options.cause, fast: options.fast ?? true });
10
+ super({ message, cause: cause ?? options.cause, fast: options.fast });
11
11
  this.path = (0, type_guards_1.isString)(options.path) ? options.path : options.path.path;
12
12
  if ((0, type_guards_1.isDefined)(options.inner)) {
13
13
  const errors = (0, array_1.toArray)(options.inner);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":"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"}
package/schema/schema.js CHANGED
@@ -37,12 +37,16 @@ exports.Schema = {
37
37
  }
38
38
  },
39
39
  test(schemaOrValueType, value, options, path = json_path_1.JsonPath.ROOT) {
40
+ const normalizedOptions = { fastErrors: true, ...options };
40
41
  const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
41
- const result = this.testWithFastError(schema, value, options, path);
42
+ const result = this.testWithFastError(schema, value, normalizedOptions, path);
42
43
  if (result.valid) {
43
44
  return result;
44
45
  }
45
- return { valid: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error, fast: false }) };
46
+ if (options?.fastErrors == false) {
47
+ return result;
48
+ }
49
+ return { valid: false, error: new schema_error_1.SchemaError(result.error.message, { ...result.error }) };
46
50
  },
47
51
  validate(schemaOrValueType, value, options) {
48
52
  const schema = (0, types_1.valueTypeOrSchemaToSchema)(schemaOrValueType);
@@ -92,12 +96,12 @@ function testType(schema, value, options = {}, path = json_path_1.JsonPath.ROOT)
92
96
  else if ((resolvedValueType == 'null' && (0, type_guards_1.isNull)(value)) || (resolvedValueType == 'undefined' && (0, type_guards_1.isUndefined)(value)) || (resolvedValueType == 'any')) {
93
97
  return { valid: true, value: value };
94
98
  }
95
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(resolvedValueType, (0, utils_1.getValueType)(value), path) };
99
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(resolvedValueType, (0, utils_1.getValueType)(value), path, { fast: options.fastErrors }) };
96
100
  }
97
101
  // eslint-disable-next-line complexity
98
102
  function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPath.ROOT) {
99
103
  if (!(value instanceof Object)) {
100
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(objectSchema.sourceType ?? 'object', (0, utils_1.getValueType)(value), path) };
104
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(objectSchema.sourceType ?? 'object', (0, utils_1.getValueType)(value), path, { fast: options.fastErrors }) };
101
105
  }
102
106
  const schema = (0, utils_1.normalizeObjectSchema)(objectSchema);
103
107
  const mask = schema.mask ?? options.mask ?? false;
@@ -106,7 +110,7 @@ function testObject(objectSchema, value, options = {}, path = json_path_1.JsonPa
106
110
  const valuePropertyKeys = (0, object_1.objectKeys)(value);
107
111
  const unknownValuePropertyKeys = (0, set_1.differenceSets)(new Set(valuePropertyKeys), new Set(schemaPropertyKeys));
108
112
  if ((unknownValuePropertyKeys.length > 0) && !(mask || (schema.allowUnknownProperties.size > 0))) {
109
- return { valid: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]) }) };
113
+ return { valid: false, error: new schema_error_1.SchemaError('Unknown property', { path: path.add(unknownValuePropertyKeys[0]), fast: options.fastErrors }) };
110
114
  }
111
115
  for (const key of schemaPropertyKeys) {
112
116
  const propertyResult = exports.Schema.testWithFastError(schema.properties[key], value[key], options, path.add(key));
@@ -143,7 +147,7 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
143
147
  /** handle arrays */
144
148
  if (normalizedValueSchema.array) {
145
149
  if (!(0, type_guards_1.isArray)(value)) {
146
- throw schema_error_1.SchemaError.expectedButGot(Array, (0, utils_1.getValueType)(value), path);
150
+ throw schema_error_1.SchemaError.expectedButGot(Array, (0, utils_1.getValueType)(value), path, { fast: options.fastErrors });
147
151
  }
148
152
  for (const arrayConstraint of normalizedValueSchema.arrayConstraints) {
149
153
  const result = arrayConstraint.validate(value, path, context);
@@ -166,9 +170,9 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
166
170
  let valueTestResult;
167
171
  let resultValue;
168
172
  function updateCurrentState(newValue) {
169
- resultValue = newValue;
170
- valueType = (0, utils_1.getValueType)(newValue);
171
173
  valueTestResult = isValidValue(normalizedValueSchema.schema, newValue, options, path);
174
+ resultValue = valueTestResult.valid ? valueTestResult.value : newValue;
175
+ valueType = (0, utils_1.getValueType)(resultValue);
172
176
  }
173
177
  updateCurrentState(value);
174
178
  /** try to coerce */
@@ -190,12 +194,11 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
190
194
  break;
191
195
  }
192
196
  if (!success && (errors.length > 0)) {
193
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path }) };
197
+ return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value could not be coerced.', { inner: errors, path, fast: options.fastErrors }) };
194
198
  }
195
199
  }
196
200
  if (!valueTestResult.valid) {
197
- const expectsString = getExpectString(schema);
198
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectsString, valueType, path) };
201
+ return valueTestResult;
199
202
  }
200
203
  if (normalizedValueSchema.transformers.length > 0) {
201
204
  let transformedValue = resultValue;
@@ -221,26 +224,30 @@ function testValue(schema, value, options = {}, path = json_path_1.JsonPath.ROOT
221
224
  }
222
225
  }
223
226
  if (errors.length > 0) {
224
- return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match schema.', { path, fast: true, inner: errors }) };
227
+ return { valid: false, error: (errors.length == 1) ? errors[0] : new schema_error_1.SchemaError('Value did not match schema.', { path, inner: errors, fast: options.fastErrors }) };
225
228
  }
226
229
  }
227
230
  return { valid: true, value: resultValue };
228
231
  }
229
232
  function isValidValue(validSchemas, value, options, path) {
230
- const errors = [];
233
+ const errorResults = [];
231
234
  for (const schema of validSchemas) {
232
235
  const result = exports.Schema.testWithFastError(schema, value, options, path);
233
236
  if (result.valid) {
234
237
  return result;
235
238
  }
236
- errors.push(result.error);
239
+ errorResults.push(result);
240
+ }
241
+ if (errorResults.length == 1) {
242
+ return errorResults[0];
237
243
  }
244
+ const errors = errorResults.map((result) => result.error);
238
245
  const expectStrings = [];
239
246
  for (const schema of validSchemas) {
240
247
  getExpectString(schema);
241
248
  }
242
249
  const expectString = expectStrings.join('\n');
243
- return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectString, (0, utils_1.getValueType)(value), path) };
250
+ return { valid: false, error: schema_error_1.SchemaError.expectedButGot(expectString, (0, utils_1.getValueType)(value), path, { inner: errors, fast: options.fastErrors }) };
244
251
  }
245
252
  function getExpectString(schema) {
246
253
  const expectedNames = (0, utils_1.getSchemaTypeNames)(schema);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../source/schema/schema.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEvC,gDAA8C;AAC9C,wCAAoC;AACpC,mDAAmD;AACnD,sCAA6C;AAC7C,sDAAqG;AACrG,gEAA4D;AAC5D,0DAAsD;AACtD,8DAA0D;AAC1D,8DAA0D;AAC1D,8DAA0D;AAC1D,wEAAmE;AACnE,iDAA6C;AAE7C,mCAAgI;AAChI,mCAAuK;AAOvK,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;AAEnE,IAAI,UAAU,GAAG,GAAS,EAAE;IAC1B,cAAM,CAAC,sBAAsB,CAAC,8BAAa,CAAC,CAAC;IAC7C,cAAM,CAAC,sBAAsB,CAAC,8BAAa,CAAC,CAAC;IAC7C,cAAM,CAAC,sBAAsB,CAAC,gCAAc,CAAC,CAAC;IAC9C,cAAM,CAAC,sBAAsB,CAAC,0BAAW,CAAC,CAAC;IAC3C,cAAM,CAAC,sBAAsB,CAAC,8BAAa,CAAC,CAAC;IAC7C,cAAM,CAAC,sBAAsB,CAAC,uCAAiB,CAAC,CAAC;IAEjD,UAAU,GAAG,WAAI,CAAC;AACpB,CAAC,CAAC;AAEF,iGAAiG;AACpF,QAAA,MAAM,GAAG;IACpB,sBAAsB,CAAC,OAA2B;QAChD,KAAK,MAAM,UAAU,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACpC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aACrC;YAED,eAAe,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;IACH,CAAC;IAED,IAAI,CAAO,iBAAuC,EAAE,KAAc,EAAE,OAA2B,EAAE,OAAiB,oBAAQ,CAAC,IAAI;QAC7H,MAAM,MAAM,GAAG,IAAA,iCAAyB,EAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEpE,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,OAAO,MAAM,CAAC;SACf;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,0BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1G,CAAC;IAED,QAAQ,CAAW,iBAAuC,EAAE,KAAc,EAAE,OAA2B;QACrG,MAAM,MAAM,GAAG,IAAA,iCAAyB,EAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAW,iBAAuC,EAAE,KAAc,EAAE,OAA2B;QAClG,MAAM,MAAM,GAAG,IAAA,iCAAyB,EAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAW,MAAoB,EAAE,KAAc,EAAE,OAA2B,EAAE,OAAiB,oBAAQ,CAAC,IAAI;QAC3H,UAAU,EAAE,CAAC;QAEb,IAAI,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE;YACzB,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;QAED,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE;YACxB,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC/C;QAED,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAE;YAC1B,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACjD;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;CACF,CAAC;AAEF,SAAS,QAAQ,CAAI,MAAqB,EAAE,KAAc,EAAE,UAA6B,EAAE,EAAE,OAAiB,oBAAQ,CAAC,IAAI;IACzH,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,iBAAiB,IAAI,KAAK,EAAE;QAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC;KAC3C;SACI,IAAI,IAAA,wBAAU,EAAC,iBAAiB,CAAC,EAAE;QACtC,IAAI,CAAC,KAAK,YAAY,iBAAiB,CAAC,IAAI,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,EAAE;YACtF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC;SAC3C;QAED,MAAM,YAAY,GAAG,IAAA,+BAAuB,EAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,EAAE;YAC3B,OAAO,UAAU,CAAC,YAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvE;KACF;SACI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,WAAW,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,EAAE;QACnJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC;KAC3C;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,sCAAsC;AACtC,SAAS,UAAU,CAAW,YAAgC,EAAE,KAAc,EAAE,UAA6B,EAAE,EAAE,OAAiB,oBAAQ,CAAC,IAAI;IAC7I,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,IAAI,QAAQ,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;KAC5H;IAED,MAAM,MAAM,GAAG,IAAA,6BAAqB,EAAC,YAA4B,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAClD,MAAM,WAAW,GAAM,IAAA,uBAAS,EAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAY,CAAC;IAEnG,MAAM,kBAAkB,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,wBAAwB,GAAG,IAAA,oBAAc,EAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzG,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;QAChG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,0BAAW,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACvH;IAED,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE;QACpC,MAAM,cAAc,GAAG,cAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAa,CAAE,EAAG,KAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACzB,OAAO,cAAc,CAAC;SACvB;QAED,WAAW,CAAC,GAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;KACpD;IAED,IAAI,MAAM,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,EAAE;QAC1C,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;YAC1C,MAAM,cAAc,GAAG,cAAM,CAAC,iBAAiB,CAAC,IAAA,mBAAW,EAAC,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAG,KAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAEjJ,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;gBAClC,OAAO,cAAc,CAAC;aACvB;YAED,WAAW,CAAC,GAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;SACpD;KACF;IAED,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,uBAAS,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAC,WAAW,CAAC,CAAC;IAExJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AACjD,CAAC;AAED,8EAA8E;AAC9E,SAAS,SAAS,CAAW,MAAyB,EAAE,KAAc,EAAE,UAA6B,EAAE,EAAE,OAAiB,oBAAQ,CAAC,IAAI;IACrI,MAAM,qBAAqB,GAAG,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAqB,EAAE,CAAC;KACtD;IAED,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,EAAE;QACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAqB,EAAE,CAAC;KACtD;IAED,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,OAAO;KACR,CAAC;IAEF,oBAAoB;IACpB,IAAI,qBAAqB,CAAC,KAAK,EAAE;QAC/B,IAAI,CAAC,IAAA,qBAAO,EAAC,KAAK,CAAC,EAAE;YACnB,MAAM,0BAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;SACpE;QAED,KAAK,MAAM,eAAe,IAAI,qBAAqB,CAAC,gBAAgB,EAAE;YACpE,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAE9D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aAC9C;SACF;QAED,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,OAAO,MAAM,CAAC;aACf;YAED,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAA8B,EAAE,CAAC;KAC/D;IAED,IAAI,SAAkC,CAAC;IACvC,IAAI,eAA2C,CAAC;IAChD,IAAI,WAAoB,CAAC;IAEzB,SAAS,kBAAkB,CAAC,QAAiB;QAC3C,WAAW,GAAG,QAAQ,CAAC;QACvB,SAAS,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACnC,eAAe,GAAG,YAAY,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1B,oBAAoB;IACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;QAC1B,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxD,GAAG,CAAC,CAAC,qBAAqB,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5G,CAAC;QAEF,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAEhE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAChC,SAAS;aACV;YAED,OAAO,GAAG,IAAI,CAAC;YACf,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM;SACP;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,0BAAW,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;SAC7I;KACF;IAED,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;QAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;KAC5F;IAED,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,IAAI,gBAAgB,GAAG,WAAW,CAAC;QAEnC,KAAK,MAAM,WAAW,IAAI,qBAAqB,CAAC,YAAY,EAAE;YAC5D,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAE/E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;aACvD;YAED,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC;SAC1C;QAED,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,kEAAkE;YAC9F,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,0CAA0C,UAAU,IAAI,CAAC,CAAC;SAC3E;KACF;IAED;QACE,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,KAAK,MAAM,UAAU,IAAI,qBAAqB,CAAC,gBAAgB,EAAE;YAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAE/D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3B;SACF;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,0BAAW,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SACzJ;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAgB,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAI,YAA8B,EAAE,KAAc,EAAE,OAAsC,EAAE,IAAc;IAC7H,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;QACjC,MAAM,MAAM,GAAG,cAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,OAAO,MAAM,CAAC;SACf;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;QACjC,eAAe,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,YAAY,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,aAAa,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;QACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5H,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,OAAO,GAAG,kBAAkB,GAAG,aAAa,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../source/schema/schema.ts"],"names":[],"mappings":"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"}
package/schema/types.d.ts CHANGED
@@ -107,15 +107,19 @@ export declare abstract class SchemaValueCoercer {
107
107
  }
108
108
  export declare type SchemaTestOptions = {
109
109
  /**
110
- * try to convert wrong input into desired output.
110
+ * Try to convert wrong input into desired output.
111
111
  * Can be specified on definition and validation. If specified on both, definition has higher priority
112
112
  */
113
113
  coerce?: boolean;
114
114
  /**
115
- * remove unspecified fields on input data instead of raising an error.
115
+ * Remove unspecified fields on input data instead of raising an error.
116
116
  * Can be specified on definition and validation. If specified on both, definition has higher priority
117
117
  */
118
118
  mask?: boolean;
119
+ /**
120
+ * Use fast errors which can improve performance a lot but misses detailed stack traces.
121
+ */
122
+ fastErrors?: boolean;
119
123
  };
120
124
  export declare type SchemaTestResult<T> = {
121
125
  valid: true;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { Record } from "../types";
2
+ declare const messageProxyValue: unique symbol;
3
+ declare const revokeMessageProxy: unique symbol;
4
+ export declare type ProxyFunction<T extends (...args: any) => any, Args extends any[] = Parameters<T>, R = ReturnType<T>> = (...args: Args) => Promise<Awaited<R>>;
5
+ export declare type ProxyObject<T extends Record> = {
6
+ [P in keyof T]: T extends (...args: any) => any ? ProxyFunction<T[P]> : T[P];
7
+ };
8
+ export declare type ProxyInput = ((...args: any) => any) | Record;
9
+ export declare type ProxyValue<T extends ProxyInput> = T extends (...args: any) => any ? ProxyFunction<T> : ProxyObject<T>;
10
+ export declare type MessageProxy<T extends ProxyInput = ProxyInput> = ProxyValue<T> & {
11
+ [messageProxyValue]: T;
12
+ [revokeMessageProxy]: () => void;
13
+ };
14
+ export declare type MessageProxyMessage = {
15
+ type: 'apply';
16
+ thisArg: any;
17
+ argArray: any[];
18
+ } | {
19
+ type: 'construct';
20
+ argArray: any[];
21
+ newTarget: Function;
22
+ } | {
23
+ type: 'defineProperty';
24
+ property: string | symbol;
25
+ attributes: PropertyDescriptor;
26
+ } | {
27
+ type: 'deleteProperty';
28
+ property: string | symbol;
29
+ } | {
30
+ type: 'get';
31
+ property: string | symbol;
32
+ receiver: any;
33
+ } | {
34
+ type: 'getOwnPropertyDescriptor';
35
+ property: string | symbol;
36
+ } | {
37
+ type: 'getPrototypeOf';
38
+ } | {
39
+ type: 'has';
40
+ property: string | symbol;
41
+ } | {
42
+ type: 'isExtensible';
43
+ } | {
44
+ type: 'ownKeys';
45
+ } | {
46
+ type: 'preventExtensions';
47
+ } | {
48
+ type: 'set';
49
+ property: string | symbol;
50
+ newValue: any;
51
+ receiver: any;
52
+ } | {
53
+ type: 'setPrototypeOf';
54
+ v: object | null;
55
+ };
56
+ export declare class MessageProxyAdapter<T> {
57
+ readonly value: T;
58
+ constructor(value: T);
59
+ handleMessage(message: MessageProxyMessage): void;
60
+ }
61
+ export declare const MessageProxy: {
62
+ create<T extends ProxyInput>(_value: T): MessageProxy<T>;
63
+ isMessageProxy<T_1 extends ProxyInput = ProxyInput>(value: any): value is MessageProxy<T_1>;
64
+ revoke(threadProxy: MessageProxy): void;
65
+ };
66
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageProxy = exports.MessageProxyAdapter = void 0;
4
+ const error_1 = require("../error");
5
+ const type_guards_1 = require("../utils/type-guards");
6
+ const messageProxyValue = Symbol('MessageProxy value.');
7
+ const revokeMessageProxy = Symbol('Revoke MessageProxy.');
8
+ class MessageProxyAdapter {
9
+ constructor(value) {
10
+ this.value = value;
11
+ }
12
+ handleMessage(message) {
13
+ switch (message.type) {
14
+ case 'apply':
15
+ break;
16
+ default:
17
+ throw new error_1.NotImplementedError();
18
+ }
19
+ }
20
+ }
21
+ exports.MessageProxyAdapter = MessageProxyAdapter;
22
+ // eslint-disable-next-line @typescript-eslint/no-redeclare, @typescript-eslint/naming-convention
23
+ exports.MessageProxy = {
24
+ create(_value) {
25
+ throw new error_1.NotImplementedError();
26
+ },
27
+ isMessageProxy(value) {
28
+ return (0, type_guards_1.isDefined)(value?.[revokeMessageProxy]);
29
+ },
30
+ revoke(threadProxy) {
31
+ threadProxy[revokeMessageProxy]();
32
+ }
33
+ };
34
+ //# sourceMappingURL=message-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-proxy.js","sourceRoot":"","sources":["../../source/threading/message-proxy.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,sDAAgD;AAEhD,MAAM,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACxD,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAyB1D,MAAa,mBAAmB;IAG9B,YAAY,KAAQ;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,OAA4B;QACxC,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,OAAO;gBACV,MAAM;YAER;gBACE,MAAM,IAAI,2BAAmB,EAAE,CAAC;SACnC;IACH,CAAC;CACF;AAhBD,kDAgBC;AAED,iGAAiG;AACpF,QAAA,YAAY,GAAG;IAC1B,MAAM,CAAuB,MAAS;QACpC,MAAM,IAAI,2BAAmB,EAAE,CAAC;IAClC,CAAC;IAED,cAAc,CAAoC,KAAU;QAC1D,OAAO,IAAA,uBAAS,EAAE,KAA4B,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,WAAyB;QAC9B,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACpC,CAAC;CACF,CAAC"}
@@ -1,4 +1,16 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { ProxyInput, ProxyValue } from './message-proxy';
1
3
  export declare abstract class Thread {
2
- private readonly worker;
4
+ private readonly url;
5
+ private readonly errorSubject;
6
+ private readonly messageSubject;
7
+ private readonly messageErrorSubject;
8
+ private worker;
9
+ readonly error$: Observable<ErrorEvent>;
10
+ readonly message$: Observable<MessageEvent>;
11
+ readonly messageError$: Observable<MessageEvent>;
3
12
  constructor(url: string);
13
+ static proxy<T extends ProxyInput>(_value: T): ProxyValue<T>;
14
+ initialize(): Promise<void>;
15
+ terminate(): void;
4
16
  }