justus 0.5.3 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/dts-generator.cjs +21 -3
  2. package/dist/dts-generator.cjs.map +1 -1
  3. package/dist/dts-generator.mjs +21 -3
  4. package/dist/dts-generator.mjs.map +1 -1
  5. package/dist/extra/arn.cjs +1 -1
  6. package/dist/extra/arn.cjs.map +1 -1
  7. package/dist/extra/arn.mjs +1 -1
  8. package/dist/extra/arn.mjs.map +1 -1
  9. package/dist/index.cjs +13 -2
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.ts +18 -6
  12. package/dist/index.mjs +9 -2
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/types.cjs +0 -7
  15. package/dist/types.cjs.map +1 -1
  16. package/dist/types.d.ts +7 -9
  17. package/dist/types.mjs +0 -6
  18. package/dist/types.mjs.map +1 -1
  19. package/dist/utilities.cjs +1 -0
  20. package/dist/utilities.cjs.map +1 -1
  21. package/dist/utilities.d.ts +2 -2
  22. package/dist/utilities.mjs +1 -0
  23. package/dist/utilities.mjs.map +1 -1
  24. package/dist/validators/array.cjs +6 -6
  25. package/dist/validators/array.cjs.map +1 -1
  26. package/dist/validators/array.d.ts +6 -6
  27. package/dist/validators/array.mjs +4 -4
  28. package/dist/validators/array.mjs.map +1 -1
  29. package/dist/validators/bigint.cjs +146 -0
  30. package/dist/validators/bigint.cjs.map +6 -0
  31. package/dist/validators/bigint.d.ts +46 -0
  32. package/dist/validators/bigint.mjs +118 -0
  33. package/dist/validators/bigint.mjs.map +6 -0
  34. package/dist/validators/boolean.cjs +5 -5
  35. package/dist/validators/boolean.cjs.map +1 -1
  36. package/dist/validators/boolean.d.ts +2 -2
  37. package/dist/validators/boolean.mjs +4 -4
  38. package/dist/validators/boolean.mjs.map +1 -1
  39. package/dist/validators/constant.cjs +2 -1
  40. package/dist/validators/constant.cjs.map +1 -1
  41. package/dist/validators/constant.d.ts +2 -2
  42. package/dist/validators/constant.mjs +2 -1
  43. package/dist/validators/constant.mjs.map +1 -1
  44. package/dist/validators/date.cjs +4 -4
  45. package/dist/validators/date.cjs.map +1 -1
  46. package/dist/validators/date.d.ts +2 -2
  47. package/dist/validators/date.mjs +3 -3
  48. package/dist/validators/date.mjs.map +1 -1
  49. package/dist/validators/never.cjs +1 -1
  50. package/dist/validators/never.cjs.map +1 -1
  51. package/dist/validators/never.mjs +2 -2
  52. package/dist/validators/never.mjs.map +1 -1
  53. package/dist/validators/number.cjs +9 -9
  54. package/dist/validators/number.cjs.map +1 -1
  55. package/dist/validators/number.d.ts +4 -4
  56. package/dist/validators/number.mjs +8 -8
  57. package/dist/validators/number.mjs.map +1 -1
  58. package/dist/validators/object.cjs +13 -11
  59. package/dist/validators/object.cjs.map +1 -1
  60. package/dist/validators/object.d.ts +2 -2
  61. package/dist/validators/object.mjs +12 -10
  62. package/dist/validators/object.mjs.map +1 -1
  63. package/dist/validators/optional.cjs +1 -1
  64. package/dist/validators/optional.cjs.map +1 -1
  65. package/dist/validators/optional.mjs +2 -2
  66. package/dist/validators/optional.mjs.map +1 -1
  67. package/dist/validators/string.cjs +6 -6
  68. package/dist/validators/string.cjs.map +1 -1
  69. package/dist/validators/string.d.ts +4 -4
  70. package/dist/validators/string.mjs +5 -5
  71. package/dist/validators/string.mjs.map +1 -1
  72. package/dist/validators/union.d.ts +2 -2
  73. package/package.json +3 -5
  74. package/src/dts-generator.ts +22 -3
  75. package/src/extra/arn.ts +1 -1
  76. package/src/index.ts +26 -8
  77. package/src/types.ts +7 -12
  78. package/src/utilities.ts +3 -1
  79. package/src/validators/array.ts +9 -7
  80. package/src/validators/bigint.ts +147 -0
  81. package/src/validators/boolean.ts +3 -3
  82. package/src/validators/constant.ts +4 -3
  83. package/src/validators/date.ts +2 -2
  84. package/src/validators/never.ts +2 -2
  85. package/src/validators/number.ts +10 -10
  86. package/src/validators/object.ts +11 -10
  87. package/src/validators/optional.ts +2 -2
  88. package/src/validators/string.ts +7 -7
  89. package/src/validators/union.ts +2 -2
@@ -9,7 +9,8 @@ var ConstantValidator = class extends AbstractValidator {
9
9
  this.constant = constant2;
10
10
  }
11
11
  validate(value) {
12
- assertValidation(value === this.constant, `Value does not match constant "${this.constant}"`);
12
+ const extra = this.constant === null ? "" : ` (${typeof this.constant})`;
13
+ assertValidation(value === this.constant, `Value does not match constant "${this.constant}"${extra}`);
13
14
  return value;
14
15
  }
15
16
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/constant.ts"],
4
- "mappings": ";AAAA,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAK3B,IAAM,oBAAN,cAA4E,kBAAqB;AAAA,EAC7F;AAAA,EAET,YAAYA,WAAa;AACvB,UAAM;AACN,SAAK,WAAWA;AAAA,EAClB;AAAA,EAEA,SAAS,OAAmB;AAC1B,qBAAiB,UAAU,KAAK,UAAU,kCAAkC,KAAK,QAAQ,GAAG;AAC5F,WAAO;AAAA,EACT;AACF;AAGO,SAAS,SAAqDA,WAA2B;AAC9F,SAAO,IAAI,kBAAkBA,SAAQ;AACvC;AAGA,SAAS,IAAI,YAAY,iBAAiB;",
4
+ "mappings": ";AAAA,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAK3B,IAAM,oBAAN,cAAqF,kBAAqB;AAAA,EACtG;AAAA,EAET,YAAYA,WAAa;AACvB,UAAM;AACN,SAAK,WAAWA;AAAA,EAClB;AAAA,EAEA,SAAS,OAAmB;AAC1B,UAAM,QAAQ,KAAK,aAAa,OAAO,KAAK,KAAK,OAAO,KAAK,QAAQ;AACrE,qBAAiB,UAAU,KAAK,UAAU,kCAAkC,KAAK,QAAQ,IAAI,KAAK,EAAE;AACpG,WAAO;AAAA,EACT;AACF;AAGO,SAAS,SAA8DA,WAA2B;AACvG,SAAO,IAAI,kBAAkBA,SAAQ;AACvC;AAGA,SAAS,IAAI,YAAY,iBAAiB;",
5
5
  "names": ["constant"]
6
6
  }
@@ -22,7 +22,7 @@ var date_exports = {};
22
22
  __export(date_exports, {
23
23
  DateValidator: () => DateValidator,
24
24
  date: () => date,
25
- dateFactory: () => dateFactory
25
+ dateValidatorFactory: () => dateValidatorFactory
26
26
  });
27
27
  module.exports = __toCommonJS(date_exports);
28
28
  var import_errors = require("../errors.cjs");
@@ -65,14 +65,14 @@ var DateValidator = class extends import_types.AbstractValidator {
65
65
  return date2;
66
66
  }
67
67
  };
68
- function dateFactory(constraints) {
68
+ function dateValidatorFactory(constraints) {
69
69
  return new DateValidator(constraints);
70
70
  }
71
- var date = (0, import_types.makeValidatorFactory)(new DateValidator(), dateFactory);
71
+ var date = (0, import_types.makeValidatorFactory)(new DateValidator(), dateValidatorFactory);
72
72
  // Annotate the CommonJS export names for ESM import in node:
73
73
  0 && (module.exports = {
74
74
  DateValidator,
75
75
  date,
76
- dateFactory
76
+ dateValidatorFactory
77
77
  });
78
78
  //# sourceMappingURL=date.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/date.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AAChE,mBAAwD;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,+BAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,wCAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,8BAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,0CAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,0CAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,0CAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,0CAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,0CAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,YAAY,aAA6C;AACvE,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,WAAO,mCAAqB,IAAI,cAAc,GAAG,WAAW;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AAChE,mBAAwD;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,+BAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,wCAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,8BAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,0CAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,0CAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,0CAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,0CAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,0CAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,qBAAqB,aAA6C;AAChF,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,WAAO,mCAAqB,IAAI,cAAc,GAAG,oBAAoB;",
5
5
  "names": ["date"]
6
6
  }
@@ -16,6 +16,6 @@ export declare class DateValidator extends AbstractValidator<Date, Date | string
16
16
  constructor(constraints?: DateConstraints);
17
17
  validate(value: unknown): Date;
18
18
  }
19
- export declare function dateFactory(constraints: DateConstraints): DateValidator;
19
+ export declare function dateValidatorFactory(constraints: DateConstraints): DateValidator;
20
20
  /** Validate dates and convert them to `Date` instances. */
21
- export declare const date: typeof dateFactory & DateValidator;
21
+ export declare const date: typeof dateValidatorFactory & DateValidator;
@@ -39,13 +39,13 @@ var DateValidator = class extends AbstractValidator {
39
39
  return date2;
40
40
  }
41
41
  };
42
- function dateFactory(constraints) {
42
+ function dateValidatorFactory(constraints) {
43
43
  return new DateValidator(constraints);
44
44
  }
45
- var date = makeValidatorFactory(new DateValidator(), dateFactory);
45
+ var date = makeValidatorFactory(new DateValidator(), dateValidatorFactory);
46
46
  export {
47
47
  DateValidator,
48
48
  date,
49
- dateFactory
49
+ dateValidatorFactory
50
50
  };
51
51
  //# sourceMappingURL=date.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/date.ts"],
4
- "mappings": ";AAAA,SAAS,cAAc,kBAAkB,uBAAuB;AAChE,SAAS,mBAAmB,4BAA4B;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,kBAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,qBAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,gBAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,uBAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,uBAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,uBAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,uBAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,uBAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,YAAY,aAA6C;AACvE,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,OAAO,qBAAqB,IAAI,cAAc,GAAG,WAAW;",
4
+ "mappings": ";AAAA,SAAS,cAAc,kBAAkB,uBAAuB;AAChE,SAAS,mBAAmB,4BAA4B;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,kBAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,qBAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,gBAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,uBAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,uBAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,uBAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,uBAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,uBAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,qBAAqB,aAA6C;AAChF,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,OAAO,qBAAqB,IAAI,cAAc,GAAG,oBAAoB;",
5
5
  "names": ["date"]
6
6
  }
@@ -28,7 +28,7 @@ var import_errors = require("../errors.cjs");
28
28
  var import_types = require("../types.cjs");
29
29
  var NeverValidator = class extends import_types.AbstractValidator {
30
30
  optional = true;
31
- validate(value, options = import_types.defaultValidationOptions) {
31
+ validate(value, options = {}) {
32
32
  const { stripForbiddenProperties } = options;
33
33
  if (stripForbiddenProperties || value === void 0)
34
34
  return;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/never.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAChC,mBAA4D;AAKrD,IAAM,iBAAN,cAA6B,+BAAyB;AAAA,EAC3D,WAAiB;AAAA,EAEjB,SAAS,OAAgB,UAA6B,uCAAiC;AACrF,UAAM,EAAE,yBAAyB,IAAI;AAGrC,QAAI,4BAA6B,UAAU;AAAY;AACvD,UAAM,IAAI,8BAAgB,oBAAoB;AAAA,EAChD;AACF;AAGO,IAAM,QAAQ,IAAI,eAAe;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAChC,mBAAkC;AAK3B,IAAM,iBAAN,cAA6B,+BAAyB;AAAA,EAC3D,WAAiB;AAAA,EAEjB,SAAS,OAAgB,UAA6B,CAAC,GAAU;AAC/D,UAAM,EAAE,yBAAyB,IAAI;AAGrC,QAAI,4BAA6B,UAAU;AAAY;AACvD,UAAM,IAAI,8BAAgB,oBAAoB;AAAA,EAChD;AACF;AAGO,IAAM,QAAQ,IAAI,eAAe;",
5
5
  "names": []
6
6
  }
@@ -1,9 +1,9 @@
1
1
  // validators/never.ts
2
2
  import { ValidationError } from "../errors.mjs";
3
- import { AbstractValidator, defaultValidationOptions } from "../types.mjs";
3
+ import { AbstractValidator } from "../types.mjs";
4
4
  var NeverValidator = class extends AbstractValidator {
5
5
  optional = true;
6
- validate(value, options = defaultValidationOptions) {
6
+ validate(value, options = {}) {
7
7
  const { stripForbiddenProperties } = options;
8
8
  if (stripForbiddenProperties || value === void 0)
9
9
  return;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/never.ts"],
4
- "mappings": ";AAAA,SAAS,uBAAuB;AAChC,SAAS,mBAAmB,gCAAgC;AAKrD,IAAM,iBAAN,cAA6B,kBAAyB;AAAA,EAC3D,WAAiB;AAAA,EAEjB,SAAS,OAAgB,UAA6B,0BAAiC;AACrF,UAAM,EAAE,yBAAyB,IAAI;AAGrC,QAAI,4BAA6B,UAAU;AAAY;AACvD,UAAM,IAAI,gBAAgB,oBAAoB;AAAA,EAChD;AACF;AAGO,IAAM,QAAQ,IAAI,eAAe;",
4
+ "mappings": ";AAAA,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAK3B,IAAM,iBAAN,cAA6B,kBAAyB;AAAA,EAC3D,WAAiB;AAAA,EAEjB,SAAS,OAAgB,UAA6B,CAAC,GAAU;AAC/D,UAAM,EAAE,yBAAyB,IAAI;AAGrC,QAAI,4BAA6B,UAAU;AAAY;AACvD,UAAM,IAAI,gBAAgB,oBAAoB;AAAA,EAChD;AACF;AAGO,IAAM,QAAQ,IAAI,eAAe;",
5
5
  "names": []
6
6
  }
@@ -23,7 +23,7 @@ __export(number_exports, {
23
23
  AnyNumberValidator: () => AnyNumberValidator,
24
24
  NumberValidator: () => NumberValidator,
25
25
  number: () => number,
26
- numberFactory: () => numberFactory
26
+ numberValidatorFactory: () => numberValidatorFactory
27
27
  });
28
28
  module.exports = __toCommonJS(number_exports);
29
29
  var import_errors = require("../errors.cjs");
@@ -39,7 +39,7 @@ function countDecimals(n) {
39
39
  }
40
40
  var AnyNumberValidator = class extends import_types.AbstractValidator {
41
41
  validate(value) {
42
- (0, import_errors.assertValidation)(typeof value == "number", 'Value is not a "number"');
42
+ (0, import_errors.assertValidation)(typeof value === "number", 'Value is not a "number"');
43
43
  (0, import_errors.assertValidation)(!isNaN(value), 'Number is "NaN"');
44
44
  return value;
45
45
  }
@@ -114,12 +114,12 @@ var NumberValidator = class extends import_types.AbstractValidator {
114
114
  this.multipleOf = multipleOf;
115
115
  }
116
116
  validate(value) {
117
- if (typeof value == "string" && this.fromString) {
117
+ if (typeof value === "string" && this.fromString) {
118
118
  const parsed = +`${value}`;
119
119
  (0, import_errors.assertValidation)(!isNaN(parsed), "Number can not be parsed from string");
120
120
  value = parsed;
121
121
  }
122
- (0, import_errors.assertValidation)(typeof value == "number", 'Value is not a "number"');
122
+ (0, import_errors.assertValidation)(typeof value === "number", 'Value is not a "number"');
123
123
  if (isNaN(value)) {
124
124
  (0, import_errors.assertValidation)(this.allowNaN, 'Number is "NaN"');
125
125
  return value;
@@ -127,11 +127,11 @@ var NumberValidator = class extends import_types.AbstractValidator {
127
127
  (0, import_errors.assertValidation)(value >= this.minimum, `Number is less than ${this.minimum}`);
128
128
  (0, import_errors.assertValidation)(value <= this.maximum, `Number is greater than ${this.maximum}`);
129
129
  (0, import_errors.assertValidation)(
130
- this.exclusiveMinimum == void 0 || value > this.exclusiveMinimum,
130
+ this.exclusiveMinimum === void 0 || value > this.exclusiveMinimum,
131
131
  `Number is less than or equal to ${this.exclusiveMinimum}`
132
132
  );
133
133
  (0, import_errors.assertValidation)(
134
- this.exclusiveMaximum == void 0 || value < this.exclusiveMaximum,
134
+ this.exclusiveMaximum === void 0 || value < this.exclusiveMaximum,
135
135
  `Number is greater than or equal to ${this.exclusiveMaximum}`
136
136
  );
137
137
  (0, import_errors.assertValidation)(
@@ -141,15 +141,15 @@ var NumberValidator = class extends import_types.AbstractValidator {
141
141
  return value;
142
142
  }
143
143
  };
144
- function numberFactory(constraints) {
144
+ function numberValidatorFactory(constraints) {
145
145
  return new NumberValidator(constraints);
146
146
  }
147
- var number = (0, import_types.makeValidatorFactory)(new AnyNumberValidator(), numberFactory);
147
+ var number = (0, import_types.makeValidatorFactory)(new AnyNumberValidator(), numberValidatorFactory);
148
148
  // Annotate the CommonJS export names for ESM import in node:
149
149
  0 && (module.exports = {
150
150
  AnyNumberValidator,
151
151
  NumberValidator,
152
152
  number,
153
- numberFactory
153
+ numberValidatorFactory
154
154
  });
155
155
  //# sourceMappingURL=number.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/number.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -40,8 +40,8 @@ export declare class NumberValidator<N extends number = number> extends Abstract
40
40
  constructor(constraints?: NumberConstraints);
41
41
  validate(value: unknown): N;
42
42
  }
43
- export declare function numberFactory(constraints: NumberConstraints): NumberValidator<number>;
44
- export declare function numberFactory<N extends number>(constraints: NumberConstraints): NumberValidator<N>;
45
- export declare function numberFactory<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>;
43
+ export declare function numberValidatorFactory(constraints: NumberConstraints): NumberValidator<number>;
44
+ export declare function numberValidatorFactory<N extends number>(constraints: NumberConstraints): NumberValidator<N>;
45
+ export declare function numberValidatorFactory<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>;
46
46
  /** Validate `number`s. */
47
- export declare const number: typeof numberFactory & AnyNumberValidator;
47
+ export declare const number: typeof numberValidatorFactory & AnyNumberValidator;
@@ -12,7 +12,7 @@ function countDecimals(n) {
12
12
  }
13
13
  var AnyNumberValidator = class extends AbstractValidator {
14
14
  validate(value) {
15
- assertValidation(typeof value == "number", 'Value is not a "number"');
15
+ assertValidation(typeof value === "number", 'Value is not a "number"');
16
16
  assertValidation(!isNaN(value), 'Number is "NaN"');
17
17
  return value;
18
18
  }
@@ -87,12 +87,12 @@ var NumberValidator = class extends AbstractValidator {
87
87
  this.multipleOf = multipleOf;
88
88
  }
89
89
  validate(value) {
90
- if (typeof value == "string" && this.fromString) {
90
+ if (typeof value === "string" && this.fromString) {
91
91
  const parsed = +`${value}`;
92
92
  assertValidation(!isNaN(parsed), "Number can not be parsed from string");
93
93
  value = parsed;
94
94
  }
95
- assertValidation(typeof value == "number", 'Value is not a "number"');
95
+ assertValidation(typeof value === "number", 'Value is not a "number"');
96
96
  if (isNaN(value)) {
97
97
  assertValidation(this.allowNaN, 'Number is "NaN"');
98
98
  return value;
@@ -100,11 +100,11 @@ var NumberValidator = class extends AbstractValidator {
100
100
  assertValidation(value >= this.minimum, `Number is less than ${this.minimum}`);
101
101
  assertValidation(value <= this.maximum, `Number is greater than ${this.maximum}`);
102
102
  assertValidation(
103
- this.exclusiveMinimum == void 0 || value > this.exclusiveMinimum,
103
+ this.exclusiveMinimum === void 0 || value > this.exclusiveMinimum,
104
104
  `Number is less than or equal to ${this.exclusiveMinimum}`
105
105
  );
106
106
  assertValidation(
107
- this.exclusiveMaximum == void 0 || value < this.exclusiveMaximum,
107
+ this.exclusiveMaximum === void 0 || value < this.exclusiveMaximum,
108
108
  `Number is greater than or equal to ${this.exclusiveMaximum}`
109
109
  );
110
110
  assertValidation(
@@ -114,14 +114,14 @@ var NumberValidator = class extends AbstractValidator {
114
114
  return value;
115
115
  }
116
116
  };
117
- function numberFactory(constraints) {
117
+ function numberValidatorFactory(constraints) {
118
118
  return new NumberValidator(constraints);
119
119
  }
120
- var number = makeValidatorFactory(new AnyNumberValidator(), numberFactory);
120
+ var number = makeValidatorFactory(new AnyNumberValidator(), numberValidatorFactory);
121
121
  export {
122
122
  AnyNumberValidator,
123
123
  NumberValidator,
124
124
  number,
125
- numberFactory
125
+ numberValidatorFactory
126
126
  };
127
127
  //# sourceMappingURL=number.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/number.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -23,8 +23,8 @@ __export(object_exports, {
23
23
  AnyObjectValidator: () => AnyObjectValidator,
24
24
  ObjectValidator: () => ObjectValidator,
25
25
  object: () => object,
26
- objectFactory: () => objectFactory,
27
- objectOf: () => objectOf
26
+ objectOf: () => objectOf,
27
+ objectValidatorFactory: () => objectValidatorFactory
28
28
  });
29
29
  module.exports = __toCommonJS(object_exports);
30
30
  var import_errors = require("../errors.cjs");
@@ -33,7 +33,7 @@ var import_types = require("../types.cjs");
33
33
  var import_utilities = require("../utilities.cjs");
34
34
  var AnyObjectValidator = class extends import_types.AbstractValidator {
35
35
  validate(value) {
36
- (0, import_errors.assertValidation)(typeof value == "object", 'Value is not an "object"');
36
+ (0, import_errors.assertValidation)(typeof value === "object", 'Value is not an "object"');
37
37
  (0, import_errors.assertValidation)(value !== null, 'Value is "null"');
38
38
  return value;
39
39
  }
@@ -52,10 +52,10 @@ var ObjectValidator = class extends import_types.AbstractValidator {
52
52
  }
53
53
  this.schema = schema;
54
54
  }
55
- validate(value, options = import_types.defaultValidationOptions) {
55
+ validate(value, options = {}) {
56
56
  (0, import_errors.assertValidation)(typeof value === "object", 'Value is not an "object"');
57
57
  (0, import_errors.assertValidation)(value !== null, 'Value is "null"');
58
- const { stripAdditionalProperties, stripOptionalNulls } = options;
58
+ const { stripAdditionalProperties, stripOptionalNulls, partialValidation } = options;
59
59
  const record = value;
60
60
  const builder = new import_errors.ValidationErrorBuilder();
61
61
  const clone = {};
@@ -66,9 +66,11 @@ var ObjectValidator = class extends import_types.AbstractValidator {
66
66
  continue;
67
67
  }
68
68
  if (original === void 0) {
69
+ if (partialValidation)
70
+ continue;
69
71
  try {
70
72
  const validated = validator.validate(original, options);
71
- if (!(optional && validated == void 0))
73
+ if (!(optional && validated === void 0))
72
74
  clone[key] = validated;
73
75
  } catch (error) {
74
76
  if (optional)
@@ -79,7 +81,7 @@ var ObjectValidator = class extends import_types.AbstractValidator {
79
81
  }
80
82
  try {
81
83
  const validated = validator.validate(original, options);
82
- if (!(optional && validated == void 0))
84
+ if (!(optional && validated === void 0))
83
85
  clone[key] = validated;
84
86
  } catch (error) {
85
87
  builder.record(error, key);
@@ -106,7 +108,7 @@ var ObjectValidator = class extends import_types.AbstractValidator {
106
108
  return builder.assert(clone);
107
109
  }
108
110
  };
109
- function objectFactory(schema) {
111
+ function objectValidatorFactory(schema) {
110
112
  const validator = new ObjectValidator(schema);
111
113
  function* iterator() {
112
114
  yield { [Symbol.justusRestValidator]: validator };
@@ -116,7 +118,7 @@ function objectFactory(schema) {
116
118
  [Symbol.iterator]: { value: iterator, enumerable: false }
117
119
  });
118
120
  }
119
- var object = (0, import_types.makeValidatorFactory)(new AnyObjectValidator(), objectFactory);
121
+ var object = (0, import_types.makeValidatorFactory)(new AnyObjectValidator(), objectValidatorFactory);
120
122
  function objectOf(validation) {
121
123
  return new ObjectValidator({ [Symbol.justusAdditionalValidator]: (0, import_utilities.getValidator)(validation) });
122
124
  }
@@ -126,7 +128,7 @@ import_registry.registry.set("object", ObjectValidator);
126
128
  AnyObjectValidator,
127
129
  ObjectValidator,
128
130
  object,
129
- objectFactory,
130
- objectOf
131
+ objectOf,
132
+ objectValidatorFactory
131
133
  });
132
134
  //# sourceMappingURL=object.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/object.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -12,10 +12,10 @@ export declare class ObjectValidator<S extends Schema> extends AbstractValidator
12
12
  constructor(schema: S);
13
13
  validate(value: unknown, options?: ValidationOptions): InferSchema<S>;
14
14
  }
15
- export declare function objectFactory<S extends Schema>(schema: S): S & {
15
+ export declare function objectValidatorFactory<S extends Schema>(schema: S): S & {
16
16
  [Symbol.iterator](): Generator<TupleRestParameter<InferSchema<S>, InferInputSchema<S>>>;
17
17
  };
18
18
  /** Validate `object`s. */
19
- export declare const object: typeof objectFactory & AnyObjectValidator;
19
+ export declare const object: typeof objectValidatorFactory & AnyObjectValidator;
20
20
  /** Validate `Object`s containing only the specified elements. */
21
21
  export declare function objectOf<V extends Validation>(validation: V): Validator<Record<string, InferValidation<V>>>;
@@ -1,11 +1,11 @@
1
1
  // validators/object.ts
2
2
  import { assertValidation, ValidationErrorBuilder } from "../errors.mjs";
3
3
  import { registry } from "../registry.mjs";
4
- import { AbstractValidator, defaultValidationOptions, makeValidatorFactory } from "../types.mjs";
4
+ import { AbstractValidator, makeValidatorFactory } from "../types.mjs";
5
5
  import { getValidator } from "../utilities.mjs";
6
6
  var AnyObjectValidator = class extends AbstractValidator {
7
7
  validate(value) {
8
- assertValidation(typeof value == "object", 'Value is not an "object"');
8
+ assertValidation(typeof value === "object", 'Value is not an "object"');
9
9
  assertValidation(value !== null, 'Value is "null"');
10
10
  return value;
11
11
  }
@@ -24,10 +24,10 @@ var ObjectValidator = class extends AbstractValidator {
24
24
  }
25
25
  this.schema = schema;
26
26
  }
27
- validate(value, options = defaultValidationOptions) {
27
+ validate(value, options = {}) {
28
28
  assertValidation(typeof value === "object", 'Value is not an "object"');
29
29
  assertValidation(value !== null, 'Value is "null"');
30
- const { stripAdditionalProperties, stripOptionalNulls } = options;
30
+ const { stripAdditionalProperties, stripOptionalNulls, partialValidation } = options;
31
31
  const record = value;
32
32
  const builder = new ValidationErrorBuilder();
33
33
  const clone = {};
@@ -38,9 +38,11 @@ var ObjectValidator = class extends AbstractValidator {
38
38
  continue;
39
39
  }
40
40
  if (original === void 0) {
41
+ if (partialValidation)
42
+ continue;
41
43
  try {
42
44
  const validated = validator.validate(original, options);
43
- if (!(optional && validated == void 0))
45
+ if (!(optional && validated === void 0))
44
46
  clone[key] = validated;
45
47
  } catch (error) {
46
48
  if (optional)
@@ -51,7 +53,7 @@ var ObjectValidator = class extends AbstractValidator {
51
53
  }
52
54
  try {
53
55
  const validated = validator.validate(original, options);
54
- if (!(optional && validated == void 0))
56
+ if (!(optional && validated === void 0))
55
57
  clone[key] = validated;
56
58
  } catch (error) {
57
59
  builder.record(error, key);
@@ -78,7 +80,7 @@ var ObjectValidator = class extends AbstractValidator {
78
80
  return builder.assert(clone);
79
81
  }
80
82
  };
81
- function objectFactory(schema) {
83
+ function objectValidatorFactory(schema) {
82
84
  const validator = new ObjectValidator(schema);
83
85
  function* iterator() {
84
86
  yield { [Symbol.justusRestValidator]: validator };
@@ -88,7 +90,7 @@ function objectFactory(schema) {
88
90
  [Symbol.iterator]: { value: iterator, enumerable: false }
89
91
  });
90
92
  }
91
- var object = makeValidatorFactory(new AnyObjectValidator(), objectFactory);
93
+ var object = makeValidatorFactory(new AnyObjectValidator(), objectValidatorFactory);
92
94
  function objectOf(validation) {
93
95
  return new ObjectValidator({ [Symbol.justusAdditionalValidator]: getValidator(validation) });
94
96
  }
@@ -97,7 +99,7 @@ export {
97
99
  AnyObjectValidator,
98
100
  ObjectValidator,
99
101
  object,
100
- objectFactory,
101
- objectOf
102
+ objectOf,
103
+ objectValidatorFactory
102
104
  };
103
105
  //# sourceMappingURL=object.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/object.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -38,7 +38,7 @@ var OptionalValidator = class extends import_types.AbstractValidator {
38
38
  return;
39
39
  }
40
40
  try {
41
- this.defaultValue = validator.validate(defaultValue, import_types.defaultValidationOptions);
41
+ this.defaultValue = validator.validate(defaultValue, {});
42
42
  } catch (cause) {
43
43
  throw new TypeError("Default value does not match validator", { cause });
44
44
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/optional.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4D;AAC5D,uBAA6B;AAOtB,IAAM,oBAAN,cAIG,+BAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,qCAAwB;AAAA,IAC/E,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,gBAAY,+BAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAClC,uBAA6B;AAOtB,IAAM,oBAAN,cAIG,+BAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,CAAC,CAAC;AAAA,IACzD,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,gBAAY,+BAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  // validators/optional.ts
2
- import { AbstractValidator, defaultValidationOptions } from "../types.mjs";
2
+ import { AbstractValidator } from "../types.mjs";
3
3
  import { getValidator } from "../utilities.mjs";
4
4
  var OptionalValidator = class extends AbstractValidator {
5
5
  validator;
@@ -13,7 +13,7 @@ var OptionalValidator = class extends AbstractValidator {
13
13
  return;
14
14
  }
15
15
  try {
16
- this.defaultValue = validator.validate(defaultValue, defaultValidationOptions);
16
+ this.defaultValue = validator.validate(defaultValue, {});
17
17
  } catch (cause) {
18
18
  throw new TypeError("Default value does not match validator", { cause });
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/optional.ts"],
4
- "mappings": ";AAAA,SAAS,mBAAmB,gCAAgC;AAC5D,SAAS,oBAAoB;AAOtB,IAAM,oBAAN,cAIG,kBAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,wBAAwB;AAAA,IAC/E,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,YAAY,aAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
4
+ "mappings": ";AAAA,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAOtB,IAAM,oBAAN,cAIG,kBAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,CAAC,CAAC;AAAA,IACzD,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,YAAY,aAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
5
5
  "names": []
6
6
  }
@@ -23,14 +23,14 @@ __export(string_exports, {
23
23
  AnyStringValidator: () => AnyStringValidator,
24
24
  StringValidator: () => StringValidator,
25
25
  string: () => string,
26
- stringFactory: () => stringFactory
26
+ stringValidatorFactory: () => stringValidatorFactory
27
27
  });
28
28
  module.exports = __toCommonJS(string_exports);
29
29
  var import_errors = require("../errors.cjs");
30
30
  var import_types = require("../types.cjs");
31
31
  var AnyStringValidator = class extends import_types.AbstractValidator {
32
32
  validate(value) {
33
- (0, import_errors.assertValidation)(typeof value == "string", 'Value is not a "string"');
33
+ (0, import_errors.assertValidation)(typeof value === "string", 'Value is not a "string"');
34
34
  return value;
35
35
  }
36
36
  };
@@ -56,7 +56,7 @@ var StringValidator = class extends import_types.AbstractValidator {
56
56
  this.pattern = pattern;
57
57
  }
58
58
  validate(value) {
59
- (0, import_errors.assertValidation)(typeof value == "string", 'Value is not a "string"');
59
+ (0, import_errors.assertValidation)(typeof value === "string", 'Value is not a "string"');
60
60
  (0, import_errors.assertValidation)(
61
61
  value.length >= this.minLength,
62
62
  `String must have a minimum length of ${this.minLength}`
@@ -72,15 +72,15 @@ var StringValidator = class extends import_types.AbstractValidator {
72
72
  return value;
73
73
  }
74
74
  };
75
- function stringFactory(constraints) {
75
+ function stringValidatorFactory(constraints) {
76
76
  return new StringValidator(constraints);
77
77
  }
78
- var string = (0, import_types.makeValidatorFactory)(new AnyStringValidator(), stringFactory);
78
+ var string = (0, import_types.makeValidatorFactory)(new AnyStringValidator(), stringValidatorFactory);
79
79
  // Annotate the CommonJS export names for ESM import in node:
80
80
  0 && (module.exports = {
81
81
  AnyStringValidator,
82
82
  StringValidator,
83
83
  string,
84
- stringFactory
84
+ stringValidatorFactory
85
85
  });
86
86
  //# sourceMappingURL=string.cjs.map