@local901/validator 0.2.10 → 0.2.12

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 (46) hide show
  1. package/Validator.d.ts +14 -0
  2. package/Validator.js +11 -0
  3. package/Validator.js.map +1 -1
  4. package/index.d.ts +2 -2
  5. package/index.js +2 -2
  6. package/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/types/bool/BooleanValidator.d.ts +2 -0
  9. package/types/bool/BooleanValidator.js +4 -0
  10. package/types/bool/BooleanValidator.js.map +1 -1
  11. package/types/number/IntValidator.d.ts +2 -0
  12. package/types/number/IntValidator.js +4 -0
  13. package/types/number/IntValidator.js.map +1 -1
  14. package/types/number/NumberValidator.d.ts +2 -0
  15. package/types/number/NumberValidator.js +4 -0
  16. package/types/number/NumberValidator.js.map +1 -1
  17. package/types/object/ArrayValidator.d.ts +2 -0
  18. package/types/object/ArrayValidator.js +7 -0
  19. package/types/object/ArrayValidator.js.map +1 -1
  20. package/types/object/EnumValidator.d.ts +2 -0
  21. package/types/object/EnumValidator.js +6 -0
  22. package/types/object/EnumValidator.js.map +1 -1
  23. package/types/object/ObjectValidator.d.ts +12 -1
  24. package/types/object/ObjectValidator.js +18 -6
  25. package/types/object/ObjectValidator.js.map +1 -1
  26. package/types/object/RecordValidator.d.ts +2 -0
  27. package/types/object/RecordValidator.js +6 -0
  28. package/types/object/RecordValidator.js.map +1 -1
  29. package/types/object/TupleValidator.d.ts +2 -0
  30. package/types/object/TupleValidator.js +6 -0
  31. package/types/object/TupleValidator.js.map +1 -1
  32. package/types/string/StringValidator.d.ts +2 -0
  33. package/types/string/StringValidator.js +4 -0
  34. package/types/string/StringValidator.js.map +1 -1
  35. package/types/util/AnyValidator.d.ts +2 -0
  36. package/types/util/AnyValidator.js +4 -0
  37. package/types/util/AnyValidator.js.map +1 -1
  38. package/types/util/InstanceofValidator.d.ts +2 -0
  39. package/types/util/InstanceofValidator.js +4 -0
  40. package/types/util/InstanceofValidator.js.map +1 -1
  41. package/types/util/OptionalValidator.d.ts +2 -0
  42. package/types/util/OptionalValidator.js +7 -0
  43. package/types/util/OptionalValidator.js.map +1 -1
  44. package/types/util/OrValidator.d.ts +2 -0
  45. package/types/util/OrValidator.js +6 -0
  46. package/types/util/OrValidator.js.map +1 -1
package/Validator.d.ts CHANGED
@@ -32,4 +32,18 @@ export declare abstract class Validator<T = unknown> {
32
32
  * @returns True if the result says the input was valid.
33
33
  */
34
34
  validateResult(_input: unknown, result: ValidationError<T> | null): _input is T;
35
+ /**
36
+ * protected config.
37
+ *
38
+ * @returns Record of extra configuration.
39
+ */
40
+ protected abstract config(): Omit<Record<string, unknown>, "type">;
41
+ /**
42
+ * Get the configuration of the validator.
43
+ *
44
+ * @returns Validator config.
45
+ */
46
+ getConfig(): {
47
+ type: string;
48
+ } & Record<string, unknown>;
35
49
  }
package/Validator.js CHANGED
@@ -38,6 +38,17 @@ class Validator {
38
38
  validateResult(_input, result) {
39
39
  return !result;
40
40
  }
41
+ /**
42
+ * Get the configuration of the validator.
43
+ *
44
+ * @returns Validator config.
45
+ */
46
+ getConfig() {
47
+ return {
48
+ type: this.type,
49
+ ...this.config(),
50
+ };
51
+ }
41
52
  }
42
53
  exports.Validator = Validator;
43
54
  //# sourceMappingURL=Validator.js.map
package/Validator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":";;;AACA,8DAAwE;AAExE,MAAsB,SAAS;IAGjB,WAAW,CAAC,KAAiB,EAAE,OAAe,EAAE,MAAuB;QAC7E,OAAO,IAAI,iCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAUD;;;;;OAKG;IACI,QAAQ,CAAC,KAAc;QAC1B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD;;;;;OAKG;IACI,eAAe,CAAC,KAAc;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,QAAQ,CAAC;QACnB,CAAC;QACD,OAAO;IACX,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,MAAe,EAAE,MAAiC;QACpE,OAAO,CAAC,MAAM,CAAC;IACnB,CAAC;CACJ;AAhDD,8BAgDC"}
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":";;;AACA,8DAAwE;AAExE,MAAsB,SAAS;IAGjB,WAAW,CAAC,KAAiB,EAAE,OAAe,EAAE,MAAuB;QAC7E,OAAO,IAAI,iCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAUD;;;;;OAKG;IACI,QAAQ,CAAC,KAAc;QAC1B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD;;;;;OAKG;IACI,eAAe,CAAC,KAAc;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,QAAQ,CAAC;QACnB,CAAC;QACD,OAAO;IACX,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,MAAe,EAAE,MAAiC;QACpE,OAAO,CAAC,MAAM,CAAC;IACnB,CAAC;IASD;;;;OAIG;IACI,SAAS;QACZ,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,IAAI,CAAC,MAAM,EAAE;SACnB,CAAC;IACN,CAAC;CACJ;AAnED,8BAmEC"}
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type IntValidationOptions } from "./types/number/IntValidator";
2
2
  import { type NumberValidationOptions } from "./types/number/NumberValidator";
3
- import { type FieldValidators } from "./types/object/ObjectValidator";
3
+ import { type FieldValidators, type ObjectValidationOptions } from "./types/object/ObjectValidator";
4
4
  import { type StringValidationOptions } from "./types/string/StringValidator";
5
5
  import { Validator } from "./Validator";
6
6
  import { type OrValidators } from "./types/util/OrValidator";
@@ -18,7 +18,7 @@ export declare class v {
18
18
  static number(options?: NumberValidationOptions): Validator<number>;
19
19
  static array<T>(item: Validator<T>, options?: ArrayValidatorOptions): Validator<T[]>;
20
20
  static enum<T extends EnumLike>(enumInstance: T): Validator<T[keyof T]>;
21
- static object<T extends object>(fields: FieldValidators<T>): Validator<T>;
21
+ static object<T extends object>(fields: FieldValidators<T>, options?: ObjectValidationOptions): Validator<T>;
22
22
  static record<T extends RecordType>(field: RecordTypeValidator<T>): Validator<T>;
23
23
  static tuple<T extends [...unknown[]]>(validators: TupleValidators<T>): Validator<T>;
24
24
  static string<T extends string = string>(options?: StringValidationOptions): Validator<T>;
package/index.js CHANGED
@@ -39,8 +39,8 @@ class v {
39
39
  static enum(enumInstance) {
40
40
  return new EnumValidator_1.EnumValidator(enumInstance);
41
41
  }
42
- static object(fields) {
43
- return new ObjectValidator_1.ObjectValidator(fields);
42
+ static object(fields, options) {
43
+ return new ObjectValidator_1.ObjectValidator(fields, options);
44
44
  }
45
45
  static record(field) {
46
46
  return new RecordValidator_1.RecordValidator(field);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,8DAAsF;AACtF,oEAA+F;AAC/F,oEAAuF;AACvF,sEAAmE;AACnE,oEAA+F;AAE/F,4DAAyD;AACzD,0DAA0E;AAC1E,kEAA2F;AAC3F,gEAA4E;AAC5E,kEAAqF;AACrF,0EAA+H;AAC/H,oEAA4G;AAE5G,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,gDAAgE;AAAvD,sGAAA,SAAS,OAAA;AAClB,4DAA6E;AAApE,kHAAA,eAAe,OAAA;AAExB,MAAa,CAAC;IACV,UAAU;IACH,MAAM,CAAC,OAAO;QACjB,OAAO,IAAI,mCAAgB,EAAE,CAAC;IAClC,CAAC;IAED,UAAU;IACH,MAAM,CAAC,GAAG,CAAC,OAA8B;QAC5C,OAAO,IAAI,2BAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,OAAiC;QAClD,OAAO,IAAI,iCAAe,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;IACH,MAAM,CAAC,KAAK,CAAI,IAAkB,EAAE,OAA+B;QACtE,OAAO,IAAI,+BAAc,CAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACM,MAAM,CAAC,IAAI,CAAqB,YAAe;QAClD,OAAO,IAAI,6BAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IACM,MAAM,CAAC,MAAM,CAAmB,MAA0B;QAC7D,OAAO,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACM,MAAM,CAAC,MAAM,CAAuB,KAA6B;QACpE,OAAO,IAAI,iCAAe,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACM,MAAM,CAAC,KAAK,CAA2B,UAA8B;QACxE,OAAO,IAAI,+BAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU;IACH,MAAM,CAAC,MAAM,CAA4B,OAAiC;QAC7E,OAAO,IAAI,iCAAe,CAAI,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU;IACH,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,2BAAY,EAAK,CAAC;IACjC,CAAC;IACM,MAAM,CAAC,UAAU,CAAI,QAA4B,EAAE,OAAwC;QAC9F,OAAO,IAAI,yCAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAIM,MAAM,CAAC,QAAQ,CAAI,GAA4C,EAAE,IAA2B;QAC/F,OAAO,IAAI,qCAAiB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACM,MAAM,CAAC,EAAE,CAAI,UAA2B;QAC3C,OAAO,IAAI,yBAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACJ;AApDD,cAoDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,8DAAsF;AACtF,oEAA+F;AAC/F,oEAAqH;AACrH,sEAAmE;AACnE,oEAA+F;AAE/F,4DAAyD;AACzD,0DAA0E;AAC1E,kEAA2F;AAC3F,gEAA4E;AAC5E,kEAAqF;AACrF,0EAA+H;AAC/H,oEAA4G;AAE5G,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,gDAAgE;AAAvD,sGAAA,SAAS,OAAA;AAClB,4DAA6E;AAApE,kHAAA,eAAe,OAAA;AAExB,MAAa,CAAC;IACV,UAAU;IACH,MAAM,CAAC,OAAO;QACjB,OAAO,IAAI,mCAAgB,EAAE,CAAC;IAClC,CAAC;IAED,UAAU;IACH,MAAM,CAAC,GAAG,CAAC,OAA8B;QAC5C,OAAO,IAAI,2BAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,OAAiC;QAClD,OAAO,IAAI,iCAAe,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;IACH,MAAM,CAAC,KAAK,CAAI,IAAkB,EAAE,OAA+B;QACtE,OAAO,IAAI,+BAAc,CAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACM,MAAM,CAAC,IAAI,CAAqB,YAAe;QAClD,OAAO,IAAI,6BAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IACM,MAAM,CAAC,MAAM,CAAmB,MAA0B,EAAE,OAAiC;QAChG,OAAO,IAAI,iCAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACM,MAAM,CAAC,MAAM,CAAuB,KAA6B;QACpE,OAAO,IAAI,iCAAe,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACM,MAAM,CAAC,KAAK,CAA2B,UAA8B;QACxE,OAAO,IAAI,+BAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU;IACH,MAAM,CAAC,MAAM,CAA4B,OAAiC;QAC7E,OAAO,IAAI,iCAAe,CAAI,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU;IACH,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,2BAAY,EAAK,CAAC;IACjC,CAAC;IACM,MAAM,CAAC,UAAU,CAAI,QAA4B,EAAE,OAAwC;QAC9F,OAAO,IAAI,yCAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAIM,MAAM,CAAC,QAAQ,CAAI,GAA4C,EAAE,IAA2B;QAC/F,OAAO,IAAI,qCAAiB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACM,MAAM,CAAC,EAAE,CAAI,UAA2B;QAC3C,OAAO,IAAI,yBAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACJ;AApDD,cAoDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@local901/validator",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Type validator for javascript and typescript",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -6,4 +6,6 @@ export declare class BooleanValidator extends Validator<boolean> {
6
6
  type: string;
7
7
  /** @inheritdoc */
8
8
  validateReturn(input: unknown): ValidationError<boolean> | null;
9
+ /** @inheritdoc */
10
+ protected config(): Omit<Record<string, unknown>, "type">;
9
11
  }
@@ -12,6 +12,10 @@ class BooleanValidator extends Validator_1.Validator {
12
12
  }
13
13
  return null;
14
14
  }
15
+ /** @inheritdoc */
16
+ config() {
17
+ return {};
18
+ }
15
19
  }
16
20
  exports.BooleanValidator = BooleanValidator;
17
21
  //# sourceMappingURL=BooleanValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanValidator.js","sourceRoot":"","sources":["../../../src/types/bool/BooleanValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAI5C,MAAa,gBAAiB,SAAQ,qBAAkB;IACpC,IAAI,GAAG,SAAS,CAAC;IAEjC,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAVD,4CAUC"}
1
+ {"version":3,"file":"BooleanValidator.js","sourceRoot":"","sources":["../../../src/types/bool/BooleanValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAI5C,MAAa,gBAAiB,SAAQ,qBAAkB;IACpC,IAAI,GAAG,SAAS,CAAC;IAEjC,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAfD,4CAeC"}
@@ -12,4 +12,6 @@ export declare class IntValidator extends Validator<number> {
12
12
  constructor(options?: IntValidationOptions);
13
13
  /** @inheritdoc */
14
14
  validateReturn(input: unknown): ValidationError<number> | null;
15
+ /** @inheritdoc */
16
+ protected config(): Omit<Record<string, unknown>, "type">;
15
17
  }
@@ -26,6 +26,10 @@ class IntValidator extends Validator_1.Validator {
26
26
  }
27
27
  return null;
28
28
  }
29
+ /** @inheritdoc */
30
+ config() {
31
+ return { ...this.options };
32
+ }
29
33
  }
30
34
  exports.IntValidator = IntValidator;
31
35
  //# sourceMappingURL=IntValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntValidator.js","sourceRoot":"","sources":["../../../src/types/number/IntValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAS5C,MAAa,YAAa,SAAQ,qBAAiB;IAGX;IAFpB,IAAI,GAAG,KAAK,CAAC;IAE7B,YAAoC,UAAgC,EAAE;QAClE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA2B;IAEtE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QACvG,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QACvG,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"IntValidator.js","sourceRoot":"","sources":["../../../src/types/number/IntValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAS5C,MAAa,YAAa,SAAQ,qBAAiB;IAGX;IAFpB,IAAI,GAAG,KAAK,CAAC;IAE7B,YAAoC,UAAgC,EAAE;QAClE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA2B;IAEtE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QACvG,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QACvG,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;CACJ;AA9BD,oCA8BC"}
@@ -16,4 +16,6 @@ export declare class NumberValidator extends Validator<number> {
16
16
  constructor(options?: NumberValidationOptions);
17
17
  /** @inheritdoc */
18
18
  validateReturn(input: unknown): ValidationError<number> | null;
19
+ /** @inheritdoc */
20
+ protected config(): Omit<Record<string, unknown>, "type">;
19
21
  }
@@ -26,6 +26,10 @@ class NumberValidator extends Validator_1.Validator {
26
26
  }
27
27
  return null;
28
28
  }
29
+ /** @inheritdoc */
30
+ config() {
31
+ return { ...this.options };
32
+ }
29
33
  }
30
34
  exports.NumberValidator = NumberValidator;
31
35
  //# sourceMappingURL=NumberValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberValidator.js","sourceRoot":"","sources":["../../../src/types/number/NumberValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAa5C,MAAa,eAAgB,SAAQ,qBAAiB;IAGd;IAFpB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAoC,UAAmC,EAAE;QACrE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA8B;IAEzE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvH,OAAO,IAAI,CAAC,WAAW,CACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAS,CAAC,WAAW,EACnF,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CACxG,CAAC;QACN,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YACvH,OAAO,IAAI,CAAC,WAAW,CACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAS,CAAC,WAAW,EACnF,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CACxG,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA/BD,0CA+BC"}
1
+ {"version":3,"file":"NumberValidator.js","sourceRoot":"","sources":["../../../src/types/number/NumberValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAa5C,MAAa,eAAgB,SAAQ,qBAAiB;IAGd;IAFpB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAoC,UAAmC,EAAE;QACrE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA8B;IAEzE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvH,OAAO,IAAI,CAAC,WAAW,CACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAS,CAAC,WAAW,EACnF,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CACxG,CAAC;QACN,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YACvH,OAAO,IAAI,CAAC,WAAW,CACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAS,CAAC,WAAW,EACnF,gCAAgC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CACxG,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;CACJ;AApCD,0CAoCC"}
@@ -13,4 +13,6 @@ export declare class ArrayValidator<T> extends Validator<T[]> {
13
13
  constructor(item: Validator<T>, options?: ArrayValidatorOptions);
14
14
  /** @inheritdoc */
15
15
  validateReturn(input: unknown): ValidationError<T[]> | null;
16
+ /** @inheritdoc */
17
+ protected config(): Omit<Record<string, unknown>, "type">;
16
18
  }
@@ -40,6 +40,13 @@ class ArrayValidator extends Validator_1.Validator {
40
40
  }
41
41
  return null;
42
42
  }
43
+ /** @inheritdoc */
44
+ config() {
45
+ return {
46
+ ...this.options,
47
+ items: this.item.getConfig(),
48
+ };
49
+ }
43
50
  }
44
51
  exports.ArrayValidator = ArrayValidator;
45
52
  //# sourceMappingURL=ArrayValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayValidator.js","sourceRoot":"","sources":["../../../src/types/object/ArrayValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAS5C,MAAa,cAAkB,SAAQ,qBAAc;IAI7B;IACE;IAJN,IAAI,GAAG,OAAO,CAAC;IAE/B,YACoB,IAAkB,EAChB,UAAiC,EAAE;QAErD,KAAK,EAAE,CAAC;QAHQ,SAAI,GAAJ,IAAI,CAAc;QAChB,YAAO,GAAP,OAAO,CAA4B;IAGzD,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAqB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA1CD,wCA0CC"}
1
+ {"version":3,"file":"ArrayValidator.js","sourceRoot":"","sources":["../../../src/types/object/ArrayValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAS5C,MAAa,cAAkB,SAAQ,qBAAc;IAI7B;IACE;IAJN,IAAI,GAAG,OAAO,CAAC;IAE/B,YACoB,IAAkB,EAChB,UAAiC,EAAE;QAErD,KAAK,EAAE,CAAC;QAHQ,SAAI,GAAJ,IAAI,CAAc;QAChB,YAAO,GAAP,OAAO,CAA4B;IAGzD,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAqB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,GAAG,IAAI,CAAC,OAAO;YACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;SAC/B,CAAC;IACN,CAAC;CACJ;AAlDD,wCAkDC"}
@@ -8,4 +8,6 @@ export declare class EnumValidator<T extends EnumLike | unknown[]> extends Valid
8
8
  constructor(enumInstance: T);
9
9
  /** @inheritdoc */
10
10
  validateReturn(input: unknown): ValidationError<T[keyof T]> | null;
11
+ /** @inheritdoc */
12
+ protected config(): Omit<Record<string, unknown>, "type">;
11
13
  }
@@ -18,6 +18,12 @@ class EnumValidator extends Validator_1.Validator {
18
18
  }
19
19
  return null;
20
20
  }
21
+ /** @inheritdoc */
22
+ config() {
23
+ return {
24
+ enum: this.enumValues,
25
+ };
26
+ }
21
27
  }
22
28
  exports.EnumValidator = EnumValidator;
23
29
  //# sourceMappingURL=EnumValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumValidator.js","sourceRoot":"","sources":["../../../src/types/object/EnumValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAK5C,MAAa,aAA8C,SAAQ,qBAAqB;IACpE,IAAI,GAAG,MAAM,CAAC;IACb,UAAU,CAAY;IAEvC,YAAmB,YAAe;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"EnumValidator.js","sourceRoot":"","sources":["../../../src/types/object/EnumValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAK5C,MAAa,aAA8C,SAAQ,qBAAqB;IACpE,IAAI,GAAG,MAAM,CAAC;IACb,UAAU,CAAY;IAEvC,YAAmB,YAAe;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,UAAU;SACxB,CAAC;IACN,CAAC;CACJ;AAzBD,sCAyBC"}
@@ -3,10 +3,21 @@ import { Validator } from "../../Validator";
3
3
  export type FieldValidators<T extends object> = {
4
4
  [K in keyof T]-?: Validator<T[K]>;
5
5
  };
6
+ export type ObjectValidationOptions = {
7
+ /**
8
+ * Are additional properties allowed
9
+ *
10
+ * @default false
11
+ */
12
+ additionalProperties?: boolean;
13
+ };
6
14
  export declare class ObjectValidator<T extends object> extends Validator<T> {
7
15
  readonly fields: FieldValidators<T>;
16
+ private readonly options;
8
17
  type: string;
9
- constructor(fields: FieldValidators<T>);
18
+ constructor(fields: FieldValidators<T>, options?: ObjectValidationOptions);
10
19
  /** @inheritdoc */
11
20
  validateReturn(input: unknown): ValidationError<T> | null;
21
+ /** @inheritdoc */
22
+ protected config(): Omit<Record<string, unknown>, "type">;
12
23
  }
@@ -5,10 +5,12 @@ const ErrorType_1 = require("../../errors/ErrorType");
5
5
  const Validator_1 = require("../../Validator");
6
6
  class ObjectValidator extends Validator_1.Validator {
7
7
  fields;
8
+ options;
8
9
  type = "object";
9
- constructor(fields) {
10
+ constructor(fields, options = {}) {
10
11
  super();
11
12
  this.fields = fields;
13
+ this.options = options;
12
14
  }
13
15
  /** @inheritdoc */
14
16
  validateReturn(input) {
@@ -16,10 +18,6 @@ class ObjectValidator extends Validator_1.Validator {
16
18
  if (typeof input !== "object" || input === null) {
17
19
  return this.createError(ErrorType_1.ErrorType.INCORRECT_TYPE, "Has to be an object.");
18
20
  }
19
- // Check for excess keys.
20
- const fieldKeys = Object.keys(this.fields);
21
- const inputKeys = Object.keys(input);
22
- const extraKeys = inputKeys.filter((k) => !fieldKeys.includes(k));
23
21
  // Check field types
24
22
  let hasError = false;
25
23
  const fields = Object.fromEntries(Object.entries(this.fields).map(([key, validator]) => {
@@ -29,16 +27,30 @@ class ObjectValidator extends Validator_1.Validator {
29
27
  }
30
28
  return [key, result ?? undefined];
31
29
  }).filter(([, error]) => !!error));
32
- if (hasError || extraKeys.length) {
30
+ // Check for excess keys.
31
+ if (!this.options.additionalProperties) {
32
+ const fieldKeys = Object.keys(this.fields);
33
+ const inputKeys = Object.keys(input);
34
+ const extraKeys = inputKeys.filter((k) => !fieldKeys.includes(k));
33
35
  if (extraKeys.length) {
34
36
  return this.createError(ErrorType_1.ErrorType.UNKNOWN_FIELD, `No extra keys allowed. Found [${extraKeys.join(", ")}].`, hasError
35
37
  ? fields
36
38
  : undefined);
37
39
  }
40
+ }
41
+ if (hasError) {
38
42
  return this.createError(ErrorType_1.ErrorType.INCORRECT_TYPE, "One or more fields are incorrect.", fields);
39
43
  }
40
44
  return null;
41
45
  }
46
+ /** @inheritdoc */
47
+ config() {
48
+ return {
49
+ ...this.options,
50
+ properties: Object.fromEntries(Object.entries(this.fields)
51
+ .map(([key, validator]) => [key, validator?.getConfig()])),
52
+ };
53
+ }
42
54
  }
43
55
  exports.ObjectValidator = ObjectValidator;
44
56
  //# sourceMappingURL=ObjectValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectValidator.js","sourceRoot":"","sources":["../../../src/types/object/ObjectValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAM5C,MAAa,eAAkC,SAAQ,qBAAY;IAG5B;IAFnB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAmC,MAA0B;QACzD,KAAK,EAAE,CAAC;QADuB,WAAM,GAAN,MAAM,CAAoB;IAE7D,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;YACnF,MAAM,MAAM,GAAI,SAAuB,CAAC,cAAc,CAAE,KAAmD,CAAC,GAAG,CAAC,CAAC,CAAC;YAClH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAmB,CAAC;QAErD,IAAI,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,WAAW,CACnB,qBAAS,CAAC,aAAa,EACvB,iCAAiC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACzD,QAAQ;oBACJ,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,CAClB,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA3CD,0CA2CC"}
1
+ {"version":3,"file":"ObjectValidator.js","sourceRoot":"","sources":["../../../src/types/object/ObjectValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAe5C,MAAa,eAAkC,SAAQ,qBAAY;IAG5B;IAA6C;IAFhE,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAmC,MAA0B,EAAmB,UAAmC,EAAE;QACjH,KAAK,EAAE,CAAC;QADuB,WAAM,GAAN,MAAM,CAAoB;QAAmB,YAAO,GAAP,OAAO,CAA8B;IAErH,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;YACnF,MAAM,MAAM,GAAI,SAAuB,CAAC,cAAc,CAAE,KAAmD,CAAC,GAAG,CAAC,CAAC,CAAC;YAClH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAmB,CAAC;QAErD,yBAAyB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAElE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,WAAW,CACnB,qBAAS,CAAC,aAAa,EACvB,iCAAiC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACzD,QAAQ;oBACJ,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,CAClB,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,GAAG,IAAI,CAAC,OAAO;YACf,UAAU,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAY,IAAI,CAAC,MAAM,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAChE;SACJ,CAAC;IACN,CAAC;CACJ;AAzDD,0CAyDC"}
@@ -7,4 +7,6 @@ export declare class RecordValidator<T extends Record<string | number | symbol,
7
7
  type: string;
8
8
  constructor(field: RecordTypeValidator<T>);
9
9
  validateReturn(input: unknown): ValidationError<T> | null;
10
+ /** @inheritdoc */
11
+ protected config(): Omit<Record<string, unknown>, "type">;
10
12
  }
@@ -29,6 +29,12 @@ class RecordValidator extends Validator_1.Validator {
29
29
  }
30
30
  return null;
31
31
  }
32
+ /** @inheritdoc */
33
+ config() {
34
+ return {
35
+ items: this.field.getConfig(),
36
+ };
37
+ }
32
38
  }
33
39
  exports.RecordValidator = RecordValidator;
34
40
  //# sourceMappingURL=RecordValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordValidator.js","sourceRoot":"","sources":["../../../src/types/object/RecordValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAQ5C,MAAa,eAAqE,SAAQ,qBAAY;IAG/D;IAFnB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAmC,KAA6B;QAC5D,KAAK,EAAE,CAAC;QADuB,UAAK,GAAL,KAAK,CAAwB;IAEhE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAmB,CAAC;QAErD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7BD,0CA6BC"}
1
+ {"version":3,"file":"RecordValidator.js","sourceRoot":"","sources":["../../../src/types/object/RecordValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAQ5C,MAAa,eAAqE,SAAQ,qBAAY;IAG/D;IAFnB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAmC,KAA6B;QAC5D,KAAK,EAAE,CAAC;QADuB,UAAK,GAAL,KAAK,CAAwB;IAEhE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAmB,CAAC;QAErD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;SAChC,CAAC;IACN,CAAC;CACJ;AApCD,0CAoCC"}
@@ -6,4 +6,6 @@ export declare class TupleValidator<T extends [...unknown[]]> extends Validator<
6
6
  type: string;
7
7
  constructor(validators: TupleValidators<T>);
8
8
  validateReturn(input: unknown): ValidationError<T> | null;
9
+ /** @inheritdoc */
10
+ protected config(): Omit<Record<string, unknown>, "type">;
9
11
  }
@@ -35,6 +35,12 @@ class TupleValidator extends Validator_1.Validator {
35
35
  }
36
36
  return null;
37
37
  }
38
+ /** @inheritdoc */
39
+ config() {
40
+ return {
41
+ items: this.validators.map((validator) => validator.getConfig()),
42
+ };
43
+ }
38
44
  }
39
45
  exports.TupleValidator = TupleValidator;
40
46
  //# sourceMappingURL=TupleValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TupleValidator.js","sourceRoot":"","sources":["../../../src/types/object/TupleValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAM5C,MAAa,cAAyC,SAAQ,qBAAY;IAGnC;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA8B;QAC7D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAoB;IAEjE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,eAAe;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,CACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;gBACjC,CAAC,CAAC,qBAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,qBAAS,CAAC,UAAU,EAC1B,yBAAyB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CACrD,CAAC;QACN,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAmB,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAtCD,wCAsCC"}
1
+ {"version":3,"file":"TupleValidator.js","sourceRoot":"","sources":["../../../src/types/object/TupleValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAM5C,MAAa,cAAyC,SAAQ,qBAAY;IAGnC;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA8B;QAC7D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAoB;IAEjE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,eAAe;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,CACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;gBACjC,CAAC,CAAC,qBAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,qBAAS,CAAC,UAAU,EAC1B,yBAAyB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CACrD,CAAC;QACN,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAmB,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;SACnE,CAAC;IACN,CAAC;CACJ;AA7CD,wCA6CC"}
@@ -16,4 +16,6 @@ export declare class stringValidator<T extends string = string> extends Validato
16
16
  constructor(options?: StringValidationOptions);
17
17
  /** @inheritdoc */
18
18
  validateReturn(input: unknown): ValidationError<T> | null;
19
+ /** @inheritdoc */
20
+ protected config(): Omit<Record<string, unknown>, "type">;
19
21
  }
@@ -39,6 +39,10 @@ class stringValidator extends Validator_1.Validator {
39
39
  }
40
40
  return null;
41
41
  }
42
+ /** @inheritdoc */
43
+ config() {
44
+ return { ...this.options };
45
+ }
42
46
  }
43
47
  exports.stringValidator = stringValidator;
44
48
  //# sourceMappingURL=StringValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringValidator.js","sourceRoot":"","sources":["../../../src/types/string/StringValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAa5C,MAAa,eAA2C,SAAQ,qBAAY;IAGpC;IAFpB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAoC,UAAmC,EAAE;QACrE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA8B;IAEzE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CACnB,qBAAS,CAAC,QAAQ,EAClB,yCAAyC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5E,CAAC;QACN,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3G,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,UAAU,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1G,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,wBAChD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;gBACpB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MACzB,IAAI,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7CD,0CA6CC"}
1
+ {"version":3,"file":"StringValidator.js","sourceRoot":"","sources":["../../../src/types/string/StringValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAa5C,MAAa,eAA2C,SAAQ,qBAAY;IAGpC;IAFpB,IAAI,GAAG,QAAQ,CAAC;IAEhC,YAAoC,UAAmC,EAAE;QACrE,KAAK,EAAE,CAAC;QADwB,YAAO,GAAP,OAAO,CAA8B;IAEzE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CACnB,qBAAS,CAAC,QAAQ,EAClB,yCAAyC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5E,CAAC;QACN,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3G,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,UAAU,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1G,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,wBAChD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;gBACpB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MACzB,IAAI,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;CACJ;AAlDD,0CAkDC"}
@@ -4,4 +4,6 @@ export declare class AnyValidator<T> extends Validator<T> {
4
4
  type: string;
5
5
  /** @inheritdoc */
6
6
  validateReturn(_input: unknown): ValidationError<T> | null;
7
+ /** @inheritdoc */
8
+ protected config(): Omit<Record<string, unknown>, "type">;
7
9
  }
@@ -8,6 +8,10 @@ class AnyValidator extends Validator_1.Validator {
8
8
  validateReturn(_input) {
9
9
  return null;
10
10
  }
11
+ /** @inheritdoc */
12
+ config() {
13
+ return {};
14
+ }
11
15
  }
12
16
  exports.AnyValidator = AnyValidator;
13
17
  //# sourceMappingURL=AnyValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnyValidator.js","sourceRoot":"","sources":["../../../src/types/util/AnyValidator.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,YAAgB,SAAQ,qBAAY;IAC7B,IAAI,GAAG,KAAK,CAAC;IAE7B,kBAAkB;IACF,cAAc,CAAC,MAAe;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAPD,oCAOC"}
1
+ {"version":3,"file":"AnyValidator.js","sourceRoot":"","sources":["../../../src/types/util/AnyValidator.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,YAAgB,SAAQ,qBAAY;IAC7B,IAAI,GAAG,KAAK,CAAC;IAE7B,kBAAkB;IACF,cAAc,CAAC,MAAe;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAZD,oCAYC"}
@@ -21,4 +21,6 @@ export declare class InstanceofValidator<T> extends Validator<T> {
21
21
  constructor(instance: ConstructorType<T>, options?: InstanceofValidationOptions<T>);
22
22
  /** @inheritdoc */
23
23
  validateReturn(input: unknown): ValidationError<T> | null;
24
+ /** @inheritdoc */
25
+ protected config(): Omit<Record<string, unknown>, "type">;
24
26
  }
@@ -39,6 +39,10 @@ class InstanceofValidator extends Validator_1.Validator {
39
39
  }
40
40
  return null;
41
41
  }
42
+ /** @inheritdoc */
43
+ config() {
44
+ return {};
45
+ }
42
46
  }
43
47
  exports.InstanceofValidator = InstanceofValidator;
44
48
  //# sourceMappingURL=InstanceofValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceofValidator.js","sourceRoot":"","sources":["../../../src/types/util/InstanceofValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,kEAA+D;AAC/D,+CAA4C;AAkB5C,MAAa,mBAAuB,SAAQ,qBAAY;IAIhC;IACC;IAJL,IAAI,GAAG,YAAY,CAAC;IAEpC,YACoB,QAA4B,EAC3B,UAA0C,EAAE;QAE7D,KAAK,EAAE,CAAC;QAHQ,aAAQ,GAAR,QAAQ,CAAoB;QAC3B,YAAO,GAAP,OAAO,CAAqC;IAGjE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACtG,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,iCAAe,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC;gBACb,CAAC;qBAAM,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,IAAI,EAAC,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AApCD,kDAoCC"}
1
+ {"version":3,"file":"InstanceofValidator.js","sourceRoot":"","sources":["../../../src/types/util/InstanceofValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,kEAA+D;AAC/D,+CAA4C;AAkB5C,MAAa,mBAAuB,SAAQ,qBAAY;IAIhC;IACC;IAJL,IAAI,GAAG,YAAY,CAAC;IAEpC,YACoB,QAA4B,EAC3B,UAA0C,EAAE;QAE7D,KAAK,EAAE,CAAC;QAHQ,aAAQ,GAAR,QAAQ,CAAoB;QAC3B,YAAO,GAAP,OAAO,CAAqC;IAGjE,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,cAAc;QACd,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACtG,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,iCAAe,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC;gBACb,CAAC;qBAAM,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,IAAI,EAAC,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAzCD,kDAyCC"}
@@ -10,4 +10,6 @@ export declare class OptionalValidator<T> extends Validator<T> {
10
10
  constructor(child: Validator<Exclude<T, undefined | null>>, options?: OptionalValidatorOptions);
11
11
  /** @inheritdoc */
12
12
  validateReturn(input: unknown): ValidationError<T> | null;
13
+ /** @inheritdoc */
14
+ protected config(): Omit<Record<string, unknown>, "type">;
13
15
  }
@@ -22,6 +22,13 @@ class OptionalValidator extends Validator_1.Validator {
22
22
  }
23
23
  return this.child.validateReturn(input);
24
24
  }
25
+ /** @inheritdoc */
26
+ config() {
27
+ return {
28
+ ...this.child.getConfig(),
29
+ optional: true,
30
+ };
31
+ }
25
32
  }
26
33
  exports.OptionalValidator = OptionalValidator;
27
34
  //# sourceMappingURL=OptionalValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionalValidator.js","sourceRoot":"","sources":["../../../src/types/util/OptionalValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAM5C,MAAa,iBAAqB,SAAQ,qBAAY;IAI9B;IACC;IAJL,IAAI,GAAG,UAAU,CAAC;IAElC,YACoB,KAA8C,EAC7C,UAAoC,EAAE;QAEvD,KAAK,EAAE,CAAA;QAHS,UAAK,GAAL,KAAK,CAAyC;QAC7C,YAAO,GAAP,OAAO,CAA+B;IAG3D,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,4BAA4B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACJ;AApBD,8CAoBC"}
1
+ {"version":3,"file":"OptionalValidator.js","sourceRoot":"","sources":["../../../src/types/util/OptionalValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAM5C,MAAa,iBAAqB,SAAQ,qBAAY;IAI9B;IACC;IAJL,IAAI,GAAG,UAAU,CAAC;IAElC,YACoB,KAA8C,EAC7C,UAAoC,EAAE;QAEvD,KAAK,EAAE,CAAA;QAHS,UAAK,GAAL,KAAK,CAAyC;QAC7C,YAAO,GAAP,OAAO,CAA+B;IAG3D,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,gBAAgB,EAAE,4BAA4B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACzB,QAAQ,EAAE,IAAI;SACjB,CAAC;IACN,CAAC;CACJ;AA5BD,8CA4BC"}
@@ -6,4 +6,6 @@ export declare class OrValidator<T> extends Validator<T> {
6
6
  type: string;
7
7
  constructor(validators: OrValidators<T>);
8
8
  validateReturn(input: unknown): ValidationError<T> | null;
9
+ /** @inheritdoc */
10
+ protected config(): Omit<Record<string, unknown>, "type">;
9
11
  }
@@ -22,6 +22,12 @@ class OrValidator extends Validator_1.Validator {
22
22
  }
23
23
  return this.createError(ErrorType_1.ErrorType.INCORRECT_TYPE, "Has to match at least one of the types.", errors);
24
24
  }
25
+ /** @inheritdoc */
26
+ config() {
27
+ return {
28
+ items: this.validators.map((validator) => validator.getConfig()),
29
+ };
30
+ }
25
31
  }
26
32
  exports.OrValidator = OrValidator;
27
33
  //# sourceMappingURL=OrValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrValidator.js","sourceRoot":"","sources":["../../../src/types/util/OrValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAI5C,MAAa,WAAe,SAAQ,qBAAY;IAGT;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA2B;QAC1D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAiB;IAE9D,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,MAAM,MAAM,GAAuC,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,yCAAyC,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;CAEJ;AApBD,kCAoBC"}
1
+ {"version":3,"file":"OrValidator.js","sourceRoot":"","sources":["../../../src/types/util/OrValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAA4C;AAI5C,MAAa,WAAe,SAAQ,qBAAY;IAGT;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA2B;QAC1D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAiB;IAE9D,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,MAAM,MAAM,GAAuC,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,yCAAyC,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;SACnE,CAAC;IACN,CAAC;CACJ;AA1BD,kCA0BC"}