justus 0.4.2 → 0.5.1

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 (103) hide show
  1. package/README.md +78 -0
  2. package/dist/dts-generator.cjs +36 -22
  3. package/dist/dts-generator.cjs.map +1 -1
  4. package/dist/dts-generator.d.ts +1 -1
  5. package/dist/dts-generator.mjs +15 -22
  6. package/dist/dts-generator.mjs.map +1 -1
  7. package/dist/extra/arn.cjs +101 -0
  8. package/dist/extra/arn.cjs.map +6 -0
  9. package/dist/extra/arn.d.ts +73 -0
  10. package/dist/extra/arn.mjs +71 -0
  11. package/dist/extra/arn.mjs.map +6 -0
  12. package/dist/extra/ean13.cjs +52 -0
  13. package/dist/extra/ean13.cjs.map +6 -0
  14. package/dist/extra/ean13.d.ts +9 -0
  15. package/dist/extra/ean13.mjs +26 -0
  16. package/dist/extra/ean13.mjs.map +6 -0
  17. package/dist/{validators → extra}/url.cjs +4 -6
  18. package/dist/{validators → extra}/url.cjs.map +3 -3
  19. package/dist/{validators → extra}/url.d.ts +2 -2
  20. package/dist/{validators → extra}/url.mjs +4 -6
  21. package/dist/{validators → extra}/url.mjs.map +3 -3
  22. package/dist/extra/uuid.cjs +45 -0
  23. package/dist/extra/uuid.cjs.map +6 -0
  24. package/dist/extra/uuid.d.ts +10 -0
  25. package/dist/extra/uuid.mjs +18 -0
  26. package/dist/extra/uuid.mjs.map +6 -0
  27. package/dist/index.cjs +0 -5
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +0 -2
  30. package/dist/index.mjs +0 -3
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/registry.cjs +44 -0
  33. package/dist/registry.cjs.map +6 -0
  34. package/dist/registry.d.ts +16 -0
  35. package/dist/registry.mjs +19 -0
  36. package/dist/registry.mjs.map +6 -0
  37. package/dist/schema.cjs +3 -5
  38. package/dist/schema.cjs.map +1 -1
  39. package/dist/schema.d.ts +6 -5
  40. package/dist/schema.mjs +3 -4
  41. package/dist/schema.mjs.map +1 -1
  42. package/dist/types.cjs.map +1 -1
  43. package/dist/types.d.ts +38 -12
  44. package/dist/types.mjs.map +1 -1
  45. package/dist/utilities.cjs +5 -7
  46. package/dist/utilities.cjs.map +1 -1
  47. package/dist/utilities.mjs +5 -7
  48. package/dist/utilities.mjs.map +1 -1
  49. package/dist/validators/array.cjs.map +1 -1
  50. package/dist/validators/array.d.ts +1 -1
  51. package/dist/validators/array.mjs.map +1 -1
  52. package/dist/validators/constant.cjs +4 -5
  53. package/dist/validators/constant.cjs.map +1 -1
  54. package/dist/validators/constant.d.ts +0 -2
  55. package/dist/validators/constant.mjs +3 -3
  56. package/dist/validators/constant.mjs.map +1 -1
  57. package/dist/validators/date.cjs +2 -6
  58. package/dist/validators/date.cjs.map +1 -1
  59. package/dist/validators/date.d.ts +1 -1
  60. package/dist/validators/date.mjs +2 -6
  61. package/dist/validators/date.mjs.map +1 -1
  62. package/dist/validators/number.cjs.map +1 -1
  63. package/dist/validators/number.d.ts +1 -1
  64. package/dist/validators/number.mjs.map +1 -1
  65. package/dist/validators/object.cjs +3 -2
  66. package/dist/validators/object.cjs.map +1 -1
  67. package/dist/validators/object.d.ts +4 -4
  68. package/dist/validators/object.mjs +4 -7
  69. package/dist/validators/object.mjs.map +1 -1
  70. package/dist/validators/optional.cjs.map +1 -1
  71. package/dist/validators/optional.d.ts +5 -4
  72. package/dist/validators/optional.mjs.map +1 -1
  73. package/dist/validators/string.cjs.map +1 -1
  74. package/dist/validators/string.d.ts +1 -1
  75. package/dist/validators/string.mjs.map +1 -1
  76. package/dist/validators/tuple.cjs +3 -2
  77. package/dist/validators/tuple.cjs.map +1 -1
  78. package/dist/validators/tuple.d.ts +3 -3
  79. package/dist/validators/tuple.mjs +3 -2
  80. package/dist/validators/tuple.mjs.map +1 -1
  81. package/dist/validators/union.cjs.map +1 -1
  82. package/dist/validators/union.d.ts +9 -7
  83. package/dist/validators/union.mjs.map +1 -1
  84. package/package.json +43 -3
  85. package/src/dts-generator.ts +17 -27
  86. package/src/extra/arn.ts +172 -0
  87. package/src/extra/ean13.ts +31 -0
  88. package/src/{validators → extra}/url.ts +4 -6
  89. package/src/extra/uuid.ts +18 -0
  90. package/src/index.ts +0 -2
  91. package/src/registry.ts +28 -0
  92. package/src/schema.ts +10 -11
  93. package/src/types.ts +80 -11
  94. package/src/utilities.ts +5 -9
  95. package/src/validators/array.ts +1 -1
  96. package/src/validators/constant.ts +3 -2
  97. package/src/validators/date.ts +7 -7
  98. package/src/validators/number.ts +1 -1
  99. package/src/validators/object.ts +13 -12
  100. package/src/validators/optional.ts +9 -7
  101. package/src/validators/string.ts +1 -1
  102. package/src/validators/tuple.ts +20 -6
  103. package/src/validators/union.ts +35 -10
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // extra/ean13.ts
21
+ var ean13_exports = {};
22
+ __export(ean13_exports, {
23
+ EAN13Validator: () => EAN13Validator,
24
+ ean13: () => ean13
25
+ });
26
+ module.exports = __toCommonJS(ean13_exports);
27
+ var import_errors = require("../errors.cjs");
28
+ var import_string = require("../validators/string.cjs");
29
+ var EAN13Validator = class extends import_string.StringValidator {
30
+ constructor() {
31
+ super({ minLength: 13, maxLength: 13, pattern: /^\d{13}$/ });
32
+ }
33
+ validate(value) {
34
+ if (typeof value === "number")
35
+ value = `${value}`;
36
+ const ean132 = super.validate(value).toLowerCase();
37
+ let sum = 0;
38
+ for (let i = 0, w = 1; i < 12; i++, w = i % 2 ? 3 : 1) {
39
+ sum += (ean132.charCodeAt(i) - 48) * w;
40
+ }
41
+ const valid = (10 - sum % 10) % 10 === ean132.charCodeAt(12) - 48;
42
+ (0, import_errors.assertValidation)(valid, `Invalid checksum in EAN-13 "${ean132}"`);
43
+ return ean132;
44
+ }
45
+ };
46
+ var ean13 = new EAN13Validator();
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ EAN13Validator,
50
+ ean13
51
+ });
52
+ //# sourceMappingURL=ean13.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/extra/ean13.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAiC;AACjC,oBAAgC;AAIzB,IAAM,iBAAN,cAA6B,8BAA8C;AAAA,EAChF,cAAc;AACZ,UAAM,EAAE,WAAW,IAAI,WAAW,IAAI,SAAS,WAAW,CAAC;AAAA,EAC7D;AAAA,EAGA,SAAS,OAAwB;AAC/B,QAAI,OAAO,UAAU;AAAU,cAAQ,GAAG,KAAK;AAC/C,UAAMA,SAAQ,MAAM,SAAS,KAAK,EAAE,YAAY;AAGhD,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,KAAM,IAAI,IAAI,IAAI,IAAI,GAAG;AACtD,cAAQA,OAAM,WAAW,CAAC,IAAI,MAAQ;AAAA,IACxC;AAGA,UAAM,SAAS,KAAM,MAAM,MAAO,OAAOA,OAAM,WAAW,EAAE,IAAI;AAGhE,wCAAiB,OAAO,+BAA+BA,MAAK,GAAG;AAC/D,WAAOA;AAAA,EACT;AACF;AAEO,IAAM,QAAQ,IAAI,eAAe;",
5
+ "names": ["ean13"]
6
+ }
@@ -0,0 +1,9 @@
1
+ import { StringValidator } from '../validators/string';
2
+ export type EAN13String = string & {
3
+ __ean_13: never;
4
+ };
5
+ export declare class EAN13Validator extends StringValidator<EAN13String, string | number> {
6
+ constructor();
7
+ validate(value: unknown): EAN13String;
8
+ }
9
+ export declare const ean13: EAN13Validator;
@@ -0,0 +1,26 @@
1
+ // extra/ean13.ts
2
+ import { assertValidation } from "../errors.mjs";
3
+ import { StringValidator } from "../validators/string.mjs";
4
+ var EAN13Validator = class extends StringValidator {
5
+ constructor() {
6
+ super({ minLength: 13, maxLength: 13, pattern: /^\d{13}$/ });
7
+ }
8
+ validate(value) {
9
+ if (typeof value === "number")
10
+ value = `${value}`;
11
+ const ean132 = super.validate(value).toLowerCase();
12
+ let sum = 0;
13
+ for (let i = 0, w = 1; i < 12; i++, w = i % 2 ? 3 : 1) {
14
+ sum += (ean132.charCodeAt(i) - 48) * w;
15
+ }
16
+ const valid = (10 - sum % 10) % 10 === ean132.charCodeAt(12) - 48;
17
+ assertValidation(valid, `Invalid checksum in EAN-13 "${ean132}"`);
18
+ return ean132;
19
+ }
20
+ };
21
+ var ean13 = new EAN13Validator();
22
+ export {
23
+ EAN13Validator,
24
+ ean13
25
+ };
26
+ //# sourceMappingURL=ean13.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/extra/ean13.ts"],
4
+ "mappings": ";AAAA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAIzB,IAAM,iBAAN,cAA6B,gBAA8C;AAAA,EAChF,cAAc;AACZ,UAAM,EAAE,WAAW,IAAI,WAAW,IAAI,SAAS,WAAW,CAAC;AAAA,EAC7D;AAAA,EAGA,SAAS,OAAwB;AAC/B,QAAI,OAAO,UAAU;AAAU,cAAQ,GAAG,KAAK;AAC/C,UAAMA,SAAQ,MAAM,SAAS,KAAK,EAAE,YAAY;AAGhD,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,KAAM,IAAI,IAAI,IAAI,IAAI,GAAG;AACtD,cAAQA,OAAM,WAAW,CAAC,IAAI,MAAQ;AAAA,IACxC;AAGA,UAAM,SAAS,KAAM,MAAM,MAAO,OAAOA,OAAM,WAAW,EAAE,IAAI;AAGhE,qBAAiB,OAAO,+BAA+BA,MAAK,GAAG;AAC/D,WAAOA;AAAA,EACT;AACF;AAEO,IAAM,QAAQ,IAAI,eAAe;",
5
+ "names": ["ean13"]
6
+ }
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // validators/url.ts
20
+ // extra/url.ts
21
21
  var url_exports = {};
22
22
  __export(url_exports, {
23
23
  URLValidator: () => URLValidator,
@@ -27,8 +27,8 @@ __export(url_exports, {
27
27
  module.exports = __toCommonJS(url_exports);
28
28
  var import_errors = require("../errors.cjs");
29
29
  var import_types = require("../types.cjs");
30
- var import_constant = require("./constant.cjs");
31
- var import_object = require("./object.cjs");
30
+ var import_constant = require("../validators/constant.cjs");
31
+ var import_object = require("../validators/object.cjs");
32
32
  var KEYS = [
33
33
  "href",
34
34
  "origin",
@@ -94,9 +94,7 @@ var URLValidator = class extends import_types.AbstractValidator {
94
94
  }
95
95
  if (this.searchParams) {
96
96
  const parameters = {};
97
- for (const param of url2.searchParams.keys()) {
98
- parameters[param] = url2.searchParams.get(param);
99
- }
97
+ url2.searchParams.forEach((value2, key) => parameters[key] = value2);
100
98
  try {
101
99
  this.searchParams.validate(parameters, OPTIONS);
102
100
  } catch (error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/validators/url.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAwD;AACxD,mBAAwD;AACxD,sBAAkC;AAClC,oBAAgC;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,+BAAuB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kCAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,8BAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAO;AACd,YAAM,IAAI,8BAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,qCAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,iBAAW,SAASA,KAAI,aAAa,KAAK,GAAG;AAC3C,mBAAW,KAAK,IAAIA,KAAI,aAAa,IAAI,KAAK;AAAA,MAChD;AAEA,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOA,IAAG;AAAA,EAC3B;AACF;AAEO,SAAS,WAAW,aAA2C;AACpE,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,UAAM,mCAAqB,IAAI,aAAa,GAAG,UAAU;",
5
- "names": ["url"]
3
+ "sources": ["../../src/extra/url.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAwD;AACxD,mBAAwD;AACxD,sBAAkC;AAClC,oBAAgC;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,+BAAqC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kCAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,8BAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAO;AACd,YAAM,IAAI,8BAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,qCAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,MAAAA,KAAI,aAAa,QAAQ,CAACC,QAAO,QAAQ,WAAW,GAAG,IAAIA,MAAK;AAEhE,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOD,IAAG;AAAA,EAC3B;AACF;AAEO,SAAS,WAAW,aAA2C;AACpE,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,UAAM,mCAAqB,IAAI,aAAa,GAAG,UAAU;",
5
+ "names": ["url", "value"]
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { AbstractValidator } from '../types';
2
- import { ObjectValidator } from './object';
2
+ import { ObjectValidator } from '../validators/object';
3
3
  import type { Schema, Validator } from '../types';
4
4
  /** Constraints to validate a `URL` with. */
5
5
  export interface URLConstraints {
@@ -34,7 +34,7 @@ export interface URLConstraints {
34
34
  searchParams?: Schema;
35
35
  }
36
36
  /** A `Validator` validating URLs and converting them to `URL` instances. */
37
- export declare class URLValidator extends AbstractValidator<URL> {
37
+ export declare class URLValidator extends AbstractValidator<URL, URL | string> {
38
38
  readonly href?: Validator<string>;
39
39
  readonly origin?: Validator<string>;
40
40
  readonly protocol?: Validator<string>;
@@ -1,8 +1,8 @@
1
- // validators/url.ts
1
+ // extra/url.ts
2
2
  import { ValidationError, ValidationErrorBuilder } from "../errors.mjs";
3
3
  import { AbstractValidator, makeValidatorFactory } from "../types.mjs";
4
- import { ConstantValidator } from "./constant.mjs";
5
- import { ObjectValidator } from "./object.mjs";
4
+ import { ConstantValidator } from "../validators/constant.mjs";
5
+ import { ObjectValidator } from "../validators/object.mjs";
6
6
  var KEYS = [
7
7
  "href",
8
8
  "origin",
@@ -68,9 +68,7 @@ var URLValidator = class extends AbstractValidator {
68
68
  }
69
69
  if (this.searchParams) {
70
70
  const parameters = {};
71
- for (const param of url2.searchParams.keys()) {
72
- parameters[param] = url2.searchParams.get(param);
73
- }
71
+ url2.searchParams.forEach((value2, key) => parameters[key] = value2);
74
72
  try {
75
73
  this.searchParams.validate(parameters, OPTIONS);
76
74
  } catch (error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/validators/url.ts"],
4
- "mappings": ";AAAA,SAAS,iBAAiB,8BAA8B;AACxD,SAAS,mBAAmB,4BAA4B;AACxD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,kBAAuB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kBAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,gBAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAO;AACd,YAAM,IAAI,gBAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,uBAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,iBAAW,SAASA,KAAI,aAAa,KAAK,GAAG;AAC3C,mBAAW,KAAK,IAAIA,KAAI,aAAa,IAAI,KAAK;AAAA,MAChD;AAEA,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOA,IAAG;AAAA,EAC3B;AACF;AAEO,SAAS,WAAW,aAA2C;AACpE,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,MAAM,qBAAqB,IAAI,aAAa,GAAG,UAAU;",
5
- "names": ["url"]
3
+ "sources": ["../../src/extra/url.ts"],
4
+ "mappings": ";AAAA,SAAS,iBAAiB,8BAA8B;AACxD,SAAS,mBAAmB,4BAA4B;AACxD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,kBAAqC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kBAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,gBAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAO;AACd,YAAM,IAAI,gBAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,uBAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,MAAAA,KAAI,aAAa,QAAQ,CAACC,QAAO,QAAQ,WAAW,GAAG,IAAIA,MAAK;AAEhE,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOD,IAAG;AAAA,EAC3B;AACF;AAEO,SAAS,WAAW,aAA2C;AACpE,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,MAAM,qBAAqB,IAAI,aAAa,GAAG,UAAU;",
5
+ "names": ["url", "value"]
6
6
  }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // extra/uuid.ts
21
+ var uuid_exports = {};
22
+ __export(uuid_exports, {
23
+ UUIDValidator: () => UUIDValidator,
24
+ UUID_EXPR: () => UUID_EXPR,
25
+ uuid: () => uuid
26
+ });
27
+ module.exports = __toCommonJS(uuid_exports);
28
+ var import_string = require("../validators/string.cjs");
29
+ var UUID_EXPR = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
30
+ var UUIDValidator = class extends import_string.StringValidator {
31
+ constructor() {
32
+ super({ minLength: 36, maxLength: 36, pattern: UUID_EXPR });
33
+ }
34
+ validate(value) {
35
+ return super.validate(value).toLowerCase();
36
+ }
37
+ };
38
+ var uuid = new UUIDValidator();
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ UUIDValidator,
42
+ UUID_EXPR,
43
+ uuid
44
+ });
45
+ //# sourceMappingURL=uuid.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/extra/uuid.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAEzB,IAAM,YAAY;AAIlB,IAAM,gBAAN,cAA4B,8BAA4B;AAAA,EAC7D,cAAc;AACZ,UAAM,EAAE,WAAW,IAAI,WAAW,IAAI,SAAS,UAAU,CAAC;AAAA,EAC5D;AAAA,EAGA,SAAS,OAAwB;AAC/B,WAAO,MAAM,SAAS,KAAK,EAAE,YAAY;AAAA,EAC3C;AACF;AAEO,IAAM,OAAO,IAAI,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ import { StringValidator } from '../validators/string';
2
+ export declare const UUID_EXPR: RegExp;
3
+ export type UUIDString = string & {
4
+ __uuid: never;
5
+ };
6
+ export declare class UUIDValidator extends StringValidator<UUIDString> {
7
+ constructor();
8
+ validate(value: unknown): UUIDString;
9
+ }
10
+ export declare const uuid: UUIDValidator;
@@ -0,0 +1,18 @@
1
+ // extra/uuid.ts
2
+ import { StringValidator } from "../validators/string.mjs";
3
+ var UUID_EXPR = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
4
+ var UUIDValidator = class extends StringValidator {
5
+ constructor() {
6
+ super({ minLength: 36, maxLength: 36, pattern: UUID_EXPR });
7
+ }
8
+ validate(value) {
9
+ return super.validate(value).toLowerCase();
10
+ }
11
+ };
12
+ var uuid = new UUIDValidator();
13
+ export {
14
+ UUIDValidator,
15
+ UUID_EXPR,
16
+ uuid
17
+ };
18
+ //# sourceMappingURL=uuid.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/extra/uuid.ts"],
4
+ "mappings": ";AAAA,SAAS,uBAAuB;AAEzB,IAAM,YAAY;AAIlB,IAAM,gBAAN,cAA4B,gBAA4B;AAAA,EAC7D,cAAc;AACZ,UAAM,EAAE,WAAW,IAAI,WAAW,IAAI,SAAS,UAAU,CAAC;AAAA,EAC5D;AAAA,EAGA,SAAS,OAAwB;AAC/B,WAAO,MAAM,SAAS,KAAK,EAAE,YAAY;AAAA,EAC3C;AACF;AAEO,IAAM,OAAO,IAAI,cAAc;",
5
+ "names": []
6
+ }
package/dist/index.cjs CHANGED
@@ -38,7 +38,6 @@ __export(src_exports, {
38
38
  OptionalValidator: () => import_optional.OptionalValidator,
39
39
  StringValidator: () => import_string.StringValidator,
40
40
  TupleValidator: () => import_tuple.TupleValidator,
41
- URLValidator: () => import_url.URLValidator,
42
41
  allOf: () => import_union.allOf,
43
42
  any: () => import_any.any,
44
43
  array: () => import_array.array,
@@ -55,7 +54,6 @@ __export(src_exports, {
55
54
  string: () => import_string.string,
56
55
  strip: () => strip,
57
56
  tuple: () => import_tuple.tuple,
58
- url: () => import_url.url,
59
57
  validate: () => validate
60
58
  });
61
59
  module.exports = __toCommonJS(src_exports);
@@ -75,7 +73,6 @@ var import_optional = require("./validators/optional.cjs");
75
73
  var import_string = require("./validators/string.cjs");
76
74
  var import_tuple = require("./validators/tuple.cjs");
77
75
  var import_union = require("./validators/union.cjs");
78
- var import_url = require("./validators/url.cjs");
79
76
  var import_types = require("./types.cjs");
80
77
  var import_utilities = require("./utilities.cjs");
81
78
  function validate(validation, value, options) {
@@ -110,7 +107,6 @@ function strip(validation, value, options) {
110
107
  OptionalValidator,
111
108
  StringValidator,
112
109
  TupleValidator,
113
- URLValidator,
114
110
  allOf,
115
111
  any,
116
112
  array,
@@ -127,7 +123,6 @@ function strip(validation, value, options) {
127
123
  string,
128
124
  strip,
129
125
  tuple,
130
- url,
131
126
  validate,
132
127
  ...require("./errors.cjs"),
133
128
  ...require("./schema.cjs"),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,wBAAc,yBALd;AAMA,wBAAc,yBANd;AAOA,wBAAc,wBAPd;AAQA,wBAAc,4BARd;AAWA,iBAAkC;AAClC,mBAAkE;AAClE,qBAA0C;AAC1C,sBAA4C;AAC5C,kBAAoC;AACpC,mBAAsC;AACtC,oBAA4D;AAC5D,oBAAsE;AACtE,sBAA4C;AAC5C,oBAA4D;AAC5D,mBAAsC;AACtC,mBAA6D;AAC7D,iBAAkC;AAgBlC,mBAAyC;AACzC,uBAA6B;AAUtB,SAAS,SACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B,EAAE,GAAG,uCAA0B,GAAG,QAAQ;AAC1E,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;AAgBO,SAAS,MACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B;AAAA,IAC9B,2BAA2B;AAAA,IAC3B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL;AAEA,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,wBAAc,yBALd;AAMA,wBAAc,yBANd;AAOA,wBAAc,wBAPd;AAQA,wBAAc,4BARd;AAWA,iBAAkC;AAClC,mBAAkE;AAClE,qBAA0C;AAC1C,sBAA4C;AAC5C,kBAAoC;AACpC,mBAAsC;AACtC,oBAA4D;AAC5D,oBAAsE;AACtE,sBAA4C;AAC5C,oBAA4D;AAC5D,mBAAsC;AACtC,mBAA6D;AAe7D,mBAAyC;AACzC,uBAA6B;AAUtB,SAAS,SACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B,EAAE,GAAG,uCAA0B,GAAG,QAAQ;AAC1E,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;AAgBO,SAAS,MACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B;AAAA,IAC9B,2BAA2B;AAAA,IAC3B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL;AAEA,aAAO,+BAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;",
5
5
  "names": []
6
6
  }
package/dist/index.d.ts CHANGED
@@ -14,7 +14,6 @@ export { OptionalValidator, optional } from './validators/optional';
14
14
  export { AnyStringValidator, StringValidator, string } from './validators/string';
15
15
  export { TupleValidator, tuple } from './validators/tuple';
16
16
  export { AllOfValidator, OneOfValidator, allOf, oneOf } from './validators/union';
17
- export { URLValidator, url } from './validators/url';
18
17
  export type { ArrayConstraints, arrayFactory } from './validators/array';
19
18
  export type { BooleanConstraints, booleanFactory } from './validators/boolean';
20
19
  export type { DateConstraints, dateFactory } from './validators/date';
@@ -22,7 +21,6 @@ export type { BrandedNumberConstraints, numberFactory } from './validators/numbe
22
21
  export type { objectFactory } from './validators/object';
23
22
  export type { BrandedStringConstraints, StringConstraints, stringFactory } from './validators/string';
24
23
  export type { TupleMember } from './validators/tuple';
25
- export type { URLConstraints, urlFactory } from './validators/url';
26
24
  import type { InferValidation, Validation, ValidationOptions } from './types';
27
25
  /**
28
26
  * Validate a _value_ using the specified `Validation`.
package/dist/index.mjs CHANGED
@@ -15,7 +15,6 @@ import { OptionalValidator, optional } from "./validators/optional.mjs";
15
15
  import { AnyStringValidator, StringValidator, string } from "./validators/string.mjs";
16
16
  import { TupleValidator, tuple } from "./validators/tuple.mjs";
17
17
  import { AllOfValidator, OneOfValidator, allOf, oneOf } from "./validators/union.mjs";
18
- import { URLValidator, url } from "./validators/url.mjs";
19
18
  import { defaultValidationOptions } from "./types.mjs";
20
19
  import { getValidator } from "./utilities.mjs";
21
20
  function validate(validation, value, options) {
@@ -49,7 +48,6 @@ export {
49
48
  OptionalValidator,
50
49
  StringValidator,
51
50
  TupleValidator,
52
- URLValidator,
53
51
  allOf,
54
52
  any,
55
53
  array,
@@ -66,7 +64,6 @@ export {
66
64
  string,
67
65
  strip,
68
66
  tuple,
69
- url,
70
67
  validate
71
68
  };
72
69
  //# sourceMappingURL=index.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";AAKA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,SAAS,cAAc,WAAW;AAClC,SAAS,mBAAmB,gBAAgB,OAAO,eAAe;AAClE,SAAS,kBAAkB,eAAe;AAC1C,SAAS,mBAAmB,gBAAgB;AAC5C,SAAS,eAAe,YAAY;AACpC,SAAS,gBAAgB,aAAa;AACtC,SAAS,oBAAoB,iBAAiB,cAAc;AAC5D,SAAS,oBAAoB,iBAAiB,QAAQ,gBAAgB;AACtE,SAAS,mBAAmB,gBAAgB;AAC5C,SAAS,oBAAoB,iBAAiB,cAAc;AAC5D,SAAS,gBAAgB,aAAa;AACtC,SAAS,gBAAgB,gBAAgB,OAAO,aAAa;AAC7D,SAAS,cAAc,WAAW;AAgBlC,SAAS,gCAAgC;AACzC,SAAS,oBAAoB;AAUtB,SAAS,SACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B,EAAE,GAAG,0BAA0B,GAAG,QAAQ;AAC1E,SAAO,aAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;AAgBO,SAAS,MACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B;AAAA,IAC9B,2BAA2B;AAAA,IAC3B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL;AAEA,SAAO,aAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;",
4
+ "mappings": ";AAKA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,SAAS,cAAc,WAAW;AAClC,SAAS,mBAAmB,gBAAgB,OAAO,eAAe;AAClE,SAAS,kBAAkB,eAAe;AAC1C,SAAS,mBAAmB,gBAAgB;AAC5C,SAAS,eAAe,YAAY;AACpC,SAAS,gBAAgB,aAAa;AACtC,SAAS,oBAAoB,iBAAiB,cAAc;AAC5D,SAAS,oBAAoB,iBAAiB,QAAQ,gBAAgB;AACtE,SAAS,mBAAmB,gBAAgB;AAC5C,SAAS,oBAAoB,iBAAiB,cAAc;AAC5D,SAAS,gBAAgB,aAAa;AACtC,SAAS,gBAAgB,gBAAgB,OAAO,aAAa;AAe7D,SAAS,gCAAgC;AACzC,SAAS,oBAAoB;AAUtB,SAAS,SACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B,EAAE,GAAG,0BAA0B,GAAG,QAAQ;AAC1E,SAAO,aAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;AAgBO,SAAS,MACZ,YACA,OACA,SACkB;AACpB,QAAM,OAA0B;AAAA,IAC9B,2BAA2B;AAAA,IAC3B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL;AAEA,SAAO,aAAa,UAAU,EAAE,SAAS,OAAO,IAAI;AACtD;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // registry.ts
21
+ var registry_exports = {};
22
+ __export(registry_exports, {
23
+ registry: () => registry
24
+ });
25
+ module.exports = __toCommonJS(registry_exports);
26
+ var import_errors = require("./errors.cjs");
27
+ var _registry = {};
28
+ var registry = {
29
+ /** Registers the specified validator constructor */
30
+ set(key, constructor) {
31
+ _registry[key] = constructor;
32
+ },
33
+ /** Retrieves the specified validator constructor */
34
+ get(key) {
35
+ const value = _registry[key];
36
+ (0, import_errors.assertSchema)(!!value, `No validator found for "${key}"`);
37
+ return value;
38
+ }
39
+ };
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ registry
43
+ });
44
+ //# sourceMappingURL=registry.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/registry.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6B;AAY7B,IAAM,YAAoC,CAAC;AAGpC,IAAM,WAAW;AAAA;AAAA,EAEtB,IAAmC,KAAQ,aAAqC;AAC9E,cAAU,GAAG,IAAI;AAAA,EACnB;AAAA;AAAA,EAGA,IAAmC,KAA0B;AAC3D,UAAM,QAAQ,UAAU,GAAG;AAC3B,oCAAa,CAAC,CAAE,OAAO,2BAA2B,GAAG,GAAG;AACxD,WAAO;AAAA,EACT;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,16 @@
1
+ import type { ConstantValidator } from './validators/constant';
2
+ import type { ObjectValidator } from './validators/object';
3
+ import type { TupleValidator } from './validators/tuple';
4
+ type RegistryTypes = {
5
+ constant: typeof ConstantValidator;
6
+ object: typeof ObjectValidator;
7
+ tuple: typeof TupleValidator;
8
+ };
9
+ /** Internal registry for validator constructors (avoids circular imports) */
10
+ export declare const registry: {
11
+ /** Registers the specified validator constructor */
12
+ set<K extends keyof RegistryTypes>(key: K, constructor: RegistryTypes[K]): void;
13
+ /** Retrieves the specified validator constructor */
14
+ get<K_1 extends keyof RegistryTypes>(key: K_1): RegistryTypes[K_1];
15
+ };
16
+ export {};
@@ -0,0 +1,19 @@
1
+ // registry.ts
2
+ import { assertSchema } from "./errors.mjs";
3
+ var _registry = {};
4
+ var registry = {
5
+ /** Registers the specified validator constructor */
6
+ set(key, constructor) {
7
+ _registry[key] = constructor;
8
+ },
9
+ /** Retrieves the specified validator constructor */
10
+ get(key) {
11
+ const value = _registry[key];
12
+ assertSchema(!!value, `No validator found for "${key}"`);
13
+ return value;
14
+ }
15
+ };
16
+ export {
17
+ registry
18
+ };
19
+ //# sourceMappingURL=registry.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/registry.ts"],
4
+ "mappings": ";AAAA,SAAS,oBAAoB;AAY7B,IAAM,YAAoC,CAAC;AAGpC,IAAM,WAAW;AAAA;AAAA,EAEtB,IAAmC,KAAQ,aAAqC;AAC9E,cAAU,GAAG,IAAI;AAAA,EACnB;AAAA;AAAA,EAGA,IAAmC,KAA0B;AAC3D,UAAM,QAAQ,UAAU,GAAG;AAC3B,iBAAa,CAAC,CAAE,OAAO,2BAA2B,GAAG,GAAG;AACxD,WAAO;AAAA,EACT;AACF;",
5
+ "names": []
6
+ }
package/dist/schema.cjs CHANGED
@@ -20,24 +20,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // schema.ts
21
21
  var schema_exports = {};
22
22
  __export(schema_exports, {
23
- _allowAdditionalProperties: () => _allowAdditionalProperties,
24
23
  allowAdditionalProperties: () => allowAdditionalProperties
25
24
  });
26
25
  module.exports = __toCommonJS(schema_exports);
27
26
  var import_utilities = require("./utilities.cjs");
28
27
  var import_any = require("./validators/any.cjs");
29
- function _allowAdditionalProperties(options) {
28
+ function additionalProperties(options) {
30
29
  if (options === false)
31
30
  return { [Symbol.justusAdditionalValidator]: false };
32
31
  if (options === true)
33
32
  return { [Symbol.justusAdditionalValidator]: import_any.any };
34
33
  return { [Symbol.justusAdditionalValidator]: options ? (0, import_utilities.getValidator)(options) : import_any.any };
35
34
  }
36
- var allowAdditionalProperties = _allowAdditionalProperties;
37
- allowAdditionalProperties[Symbol.justusAdditionalValidator] = import_any.any;
35
+ var allowAdditionalProperties = additionalProperties;
36
+ additionalProperties[Symbol.justusAdditionalValidator] = import_any.any;
38
37
  // Annotate the CommonJS export names for ESM import in node:
39
38
  0 && (module.exports = {
40
- _allowAdditionalProperties,
41
39
  allowAdditionalProperties
42
40
  });
43
41
  //# sourceMappingURL=schema.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/schema.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAA6B;AAC7B,iBAAoB;AAkBb,SAAS,2BAA2B,SAAyE;AAClH,MAAI,YAAY;AAAO,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,MAAM;AAC1E,MAAI,YAAY;AAAM,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,eAAI;AAEvE,SAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,cAAU,+BAAa,OAAO,IAAI,eAAI;AACrF;AAWO,IAAM,4BAA4B;AAKzC,0BAA0B,OAAO,yBAAyB,IAAI;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,iBAAoB;AAmBpB,SAAS,qBAAqB,SAAyE;AACrG,MAAI,YAAY;AAAO,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,MAAM;AAC1E,MAAI,YAAY;AAAM,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,eAAI;AAEvE,SAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,cAAU,+BAAa,OAAO,IAAI,eAAI;AACrF;AAWO,IAAM,4BAA4B;AAKzC,qBAAqB,OAAO,yBAAyB,IAAI;",
5
5
  "names": []
6
6
  }
package/dist/schema.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { AdditionalProperties, InferValidation, Validation, Validator } from './types';
2
2
  /** Internal definition of `allowAdditionalProperties(...)` */
3
- export declare function _allowAdditionalProperties(): AdditionalProperties<Validator<any>>;
4
- export declare function _allowAdditionalProperties(allow: true): AdditionalProperties<Validator<any>>;
5
- export declare function _allowAdditionalProperties(allow: false): AdditionalProperties<false>;
6
- export declare function _allowAdditionalProperties<V extends Validation>(validation: V): AdditionalProperties<Validator<InferValidation<V>>>;
3
+ declare function additionalProperties(): AdditionalProperties<Validator<any>>;
4
+ declare function additionalProperties(allow: true): AdditionalProperties<Validator<any>>;
5
+ declare function additionalProperties(allow: false): AdditionalProperties<false>;
6
+ declare function additionalProperties<V extends Validation>(validation: V): AdditionalProperties<Validator<InferValidation<V>>>;
7
7
  /**
8
8
  * Allow additional properties in `Schema`s.
9
9
  *
@@ -13,4 +13,5 @@ export declare function _allowAdditionalProperties<V extends Validation>(validat
13
13
  *
14
14
  * @param allow - A `boolean` or a `Validator` instance
15
15
  */
16
- export declare const allowAdditionalProperties: typeof _allowAdditionalProperties & AdditionalProperties<Validator<any>>;
16
+ export declare const allowAdditionalProperties: typeof additionalProperties & AdditionalProperties<Validator<any, any>>;
17
+ export {};
package/dist/schema.mjs CHANGED
@@ -1,17 +1,16 @@
1
1
  // schema.ts
2
2
  import { getValidator } from "./utilities.mjs";
3
3
  import { any } from "./validators/any.mjs";
4
- function _allowAdditionalProperties(options) {
4
+ function additionalProperties(options) {
5
5
  if (options === false)
6
6
  return { [Symbol.justusAdditionalValidator]: false };
7
7
  if (options === true)
8
8
  return { [Symbol.justusAdditionalValidator]: any };
9
9
  return { [Symbol.justusAdditionalValidator]: options ? getValidator(options) : any };
10
10
  }
11
- var allowAdditionalProperties = _allowAdditionalProperties;
12
- allowAdditionalProperties[Symbol.justusAdditionalValidator] = any;
11
+ var allowAdditionalProperties = additionalProperties;
12
+ additionalProperties[Symbol.justusAdditionalValidator] = any;
13
13
  export {
14
- _allowAdditionalProperties,
15
14
  allowAdditionalProperties
16
15
  };
17
16
  //# sourceMappingURL=schema.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/schema.ts"],
4
- "mappings": ";AAEA,SAAS,oBAAoB;AAC7B,SAAS,WAAW;AAkBb,SAAS,2BAA2B,SAAyE;AAClH,MAAI,YAAY;AAAO,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,MAAM;AAC1E,MAAI,YAAY;AAAM,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,IAAI;AAEvE,SAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,UAAU,aAAa,OAAO,IAAI,IAAI;AACrF;AAWO,IAAM,4BAA4B;AAKzC,0BAA0B,OAAO,yBAAyB,IAAI;",
4
+ "mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,WAAW;AAmBpB,SAAS,qBAAqB,SAAyE;AACrG,MAAI,YAAY;AAAO,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,MAAM;AAC1E,MAAI,YAAY;AAAM,WAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,IAAI;AAEvE,SAAO,EAAE,CAAC,OAAO,yBAAyB,GAAG,UAAU,aAAa,OAAO,IAAI,IAAI;AACrF;AAWO,IAAM,4BAA4B;AAKzC,qBAAqB,OAAO,yBAAyB,IAAI;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/types.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,OAAO,iBAAiB,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,OAAO,OAAO,IAAI,kBAAkB,EAAE;AAAA,EACzD,qBAAqB,EAAE,OAAO,OAAO,IAAI,sBAAsB,EAAE;AAAA,EACjE,2BAA2B,EAAE,OAAO,OAAO,IAAI,4BAA4B,EAAE;AAC/E,CAAC;AAqBM,IAAM,2BAAkE;AAAA,EAC7E,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAwBO,SAAS,qBAGd,WAAc,SAAmB;AACjC,SAAO,OAAO,OAAO,SAAS;AAAA,IAC5B,UAAU,UAAU;AAAA,IACpB,UAAU,UAAU,SAAS,KAAK,SAAS;AAAA,IAC3C,CAAC,OAAO,QAAQ,GAAG,UAAU,OAAO,QAAQ,EAAE,KAAK,SAAS;AAAA,IAC5D,CAAC,OAAO,eAAe,GAAG;AAAA,EAC5B,CAAC;AACH;AAMO,IAAe,oBAAf,MACkD;AAAA,EACvD,CAAC,OAAO,eAAe,IAAI;AAAA,EAE3B,WAAqB;AAAA;AAAA,EAMrB,EAAG,OAAO,QAAQ,IAAsC;AACtD,UAAM,EAAE,CAAC,OAAO,mBAAmB,GAAG,KAAK;AAAA,EAC7C;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,OAAO,iBAAiB,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,OAAO,OAAO,IAAI,kBAAkB,EAAE;AAAA,EACzD,qBAAqB,EAAE,OAAO,OAAO,IAAI,sBAAsB,EAAE;AAAA,EACjE,2BAA2B,EAAE,OAAO,OAAO,IAAI,4BAA4B,EAAE;AAC/E,CAAC;AAqBM,IAAM,2BAAkE;AAAA,EAC7E,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAwBO,SAAS,qBAGd,WAAc,SAAmB;AACjC,SAAO,OAAO,OAAO,SAAS;AAAA,IAC5B,UAAU,UAAU;AAAA,IACpB,UAAU,UAAU,SAAS,KAAK,SAAS;AAAA,IAC3C,CAAC,OAAO,QAAQ,GAAG,UAAU,OAAO,QAAQ,EAAE,KAAK,SAAS;AAAA,IAC5D,CAAC,OAAO,eAAe,GAAG;AAAA,EAC5B,CAAC;AACH;AAMO,IAAe,oBAAf,MACwD;AAAA,EAC7D,CAAC,OAAO,eAAe,IAAI;AAAA,EAE3B,WAAqB;AAAA;AAAA,EAMrB,EAAG,OAAO,QAAQ,IAAyC;AACzD,UAAM,EAAE,CAAC,OAAO,mBAAmB,GAAG,KAAK;AAAA,EAC7C;AACF;",
5
5
  "names": []
6
6
  }