@warlock.js/seal 4.0.139 → 4.0.140

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 (150) hide show
  1. package/cjs/factory/validate.d.ts +2 -2
  2. package/cjs/factory/validate.d.ts.map +1 -1
  3. package/cjs/factory/validators.js +1 -1
  4. package/cjs/factory/validators.js.map +1 -1
  5. package/cjs/index.d.ts +1 -0
  6. package/cjs/index.d.ts.map +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/standard-schema/index.d.ts +4 -0
  9. package/cjs/standard-schema/index.d.ts.map +1 -0
  10. package/cjs/standard-schema/json-schema.d.ts +61 -0
  11. package/cjs/standard-schema/json-schema.d.ts.map +1 -0
  12. package/cjs/standard-schema/json-schema.js +85 -0
  13. package/cjs/standard-schema/json-schema.js.map +1 -0
  14. package/cjs/standard-schema/map-result.d.ts +18 -0
  15. package/cjs/standard-schema/map-result.d.ts.map +1 -0
  16. package/cjs/standard-schema/map-result.js +27 -0
  17. package/cjs/standard-schema/map-result.js.map +1 -0
  18. package/cjs/standard-schema/types.d.ts +93 -0
  19. package/cjs/standard-schema/types.d.ts.map +1 -0
  20. package/cjs/validators/any-validator.d.ts +14 -0
  21. package/cjs/validators/any-validator.d.ts.map +1 -1
  22. package/cjs/validators/any-validator.js +19 -1
  23. package/cjs/validators/any-validator.js.map +1 -1
  24. package/cjs/validators/array-validator.d.ts +13 -0
  25. package/cjs/validators/array-validator.d.ts.map +1 -1
  26. package/cjs/validators/array-validator.js +39 -1
  27. package/cjs/validators/array-validator.js.map +1 -1
  28. package/cjs/validators/base-validator.d.ts +74 -1
  29. package/cjs/validators/base-validator.d.ts.map +1 -1
  30. package/cjs/validators/base-validator.js +88 -1
  31. package/cjs/validators/base-validator.js.map +1 -1
  32. package/cjs/validators/boolean-validator.d.ts +17 -0
  33. package/cjs/validators/boolean-validator.d.ts.map +1 -1
  34. package/cjs/validators/boolean-validator.js +22 -1
  35. package/cjs/validators/boolean-validator.js.map +1 -1
  36. package/cjs/validators/computed-validator.d.ts +11 -0
  37. package/cjs/validators/computed-validator.d.ts.map +1 -1
  38. package/cjs/validators/computed-validator.js +15 -0
  39. package/cjs/validators/computed-validator.js.map +1 -1
  40. package/cjs/validators/date-validator.d.ts +18 -0
  41. package/cjs/validators/date-validator.d.ts.map +1 -1
  42. package/cjs/validators/date-validator.js +40 -1
  43. package/cjs/validators/date-validator.js.map +1 -1
  44. package/cjs/validators/int-validator.d.ts +11 -0
  45. package/cjs/validators/int-validator.d.ts.map +1 -1
  46. package/cjs/validators/int-validator.js +12 -0
  47. package/cjs/validators/int-validator.js.map +1 -1
  48. package/cjs/validators/number-validator.d.ts +23 -0
  49. package/cjs/validators/number-validator.d.ts.map +1 -1
  50. package/cjs/validators/number-validator.js +80 -1
  51. package/cjs/validators/number-validator.js.map +1 -1
  52. package/cjs/validators/object-validator.d.ts +37 -0
  53. package/cjs/validators/object-validator.d.ts.map +1 -1
  54. package/cjs/validators/object-validator.js +70 -1
  55. package/cjs/validators/object-validator.js.map +1 -1
  56. package/cjs/validators/record-validator.d.ts +17 -0
  57. package/cjs/validators/record-validator.d.ts.map +1 -1
  58. package/cjs/validators/record-validator.js +25 -1
  59. package/cjs/validators/record-validator.js.map +1 -1
  60. package/cjs/validators/scalar-validator.d.ts +17 -0
  61. package/cjs/validators/scalar-validator.d.ts.map +1 -1
  62. package/cjs/validators/scalar-validator.js +34 -1
  63. package/cjs/validators/scalar-validator.js.map +1 -1
  64. package/cjs/validators/string-validator.d.ts +14 -0
  65. package/cjs/validators/string-validator.d.ts.map +1 -1
  66. package/cjs/validators/string-validator.js +71 -1
  67. package/cjs/validators/string-validator.js.map +1 -1
  68. package/cjs/validators/tuple-validator.d.ts +22 -0
  69. package/cjs/validators/tuple-validator.d.ts.map +1 -1
  70. package/cjs/validators/tuple-validator.js +43 -1
  71. package/cjs/validators/tuple-validator.js.map +1 -1
  72. package/cjs/validators/union-validator.d.ts +13 -0
  73. package/cjs/validators/union-validator.d.ts.map +1 -1
  74. package/cjs/validators/union-validator.js +19 -1
  75. package/cjs/validators/union-validator.js.map +1 -1
  76. package/esm/factory/validate.d.ts +2 -2
  77. package/esm/factory/validate.d.ts.map +1 -1
  78. package/esm/factory/validators.js +1 -1
  79. package/esm/index.d.ts +1 -0
  80. package/esm/index.d.ts.map +1 -1
  81. package/esm/index.js +1 -1
  82. package/esm/standard-schema/index.d.ts +4 -0
  83. package/esm/standard-schema/index.d.ts.map +1 -0
  84. package/esm/standard-schema/json-schema.d.ts +61 -0
  85. package/esm/standard-schema/json-schema.d.ts.map +1 -0
  86. package/esm/standard-schema/json-schema.js +85 -0
  87. package/esm/standard-schema/json-schema.js.map +1 -0
  88. package/esm/standard-schema/map-result.d.ts +18 -0
  89. package/esm/standard-schema/map-result.d.ts.map +1 -0
  90. package/esm/standard-schema/map-result.js +27 -0
  91. package/esm/standard-schema/map-result.js.map +1 -0
  92. package/esm/standard-schema/types.d.ts +93 -0
  93. package/esm/standard-schema/types.d.ts.map +1 -0
  94. package/esm/validators/any-validator.d.ts +14 -0
  95. package/esm/validators/any-validator.d.ts.map +1 -1
  96. package/esm/validators/any-validator.js +19 -1
  97. package/esm/validators/any-validator.js.map +1 -1
  98. package/esm/validators/array-validator.d.ts +13 -0
  99. package/esm/validators/array-validator.d.ts.map +1 -1
  100. package/esm/validators/array-validator.js +39 -1
  101. package/esm/validators/array-validator.js.map +1 -1
  102. package/esm/validators/base-validator.d.ts +74 -1
  103. package/esm/validators/base-validator.d.ts.map +1 -1
  104. package/esm/validators/base-validator.js +88 -1
  105. package/esm/validators/base-validator.js.map +1 -1
  106. package/esm/validators/boolean-validator.d.ts +17 -0
  107. package/esm/validators/boolean-validator.d.ts.map +1 -1
  108. package/esm/validators/boolean-validator.js +22 -1
  109. package/esm/validators/boolean-validator.js.map +1 -1
  110. package/esm/validators/computed-validator.d.ts +11 -0
  111. package/esm/validators/computed-validator.d.ts.map +1 -1
  112. package/esm/validators/computed-validator.js +15 -0
  113. package/esm/validators/computed-validator.js.map +1 -1
  114. package/esm/validators/date-validator.d.ts +18 -0
  115. package/esm/validators/date-validator.d.ts.map +1 -1
  116. package/esm/validators/date-validator.js +40 -1
  117. package/esm/validators/date-validator.js.map +1 -1
  118. package/esm/validators/int-validator.d.ts +11 -0
  119. package/esm/validators/int-validator.d.ts.map +1 -1
  120. package/esm/validators/int-validator.js +12 -0
  121. package/esm/validators/int-validator.js.map +1 -1
  122. package/esm/validators/number-validator.d.ts +23 -0
  123. package/esm/validators/number-validator.d.ts.map +1 -1
  124. package/esm/validators/number-validator.js +80 -1
  125. package/esm/validators/number-validator.js.map +1 -1
  126. package/esm/validators/object-validator.d.ts +37 -0
  127. package/esm/validators/object-validator.d.ts.map +1 -1
  128. package/esm/validators/object-validator.js +70 -1
  129. package/esm/validators/object-validator.js.map +1 -1
  130. package/esm/validators/record-validator.d.ts +17 -0
  131. package/esm/validators/record-validator.d.ts.map +1 -1
  132. package/esm/validators/record-validator.js +25 -1
  133. package/esm/validators/record-validator.js.map +1 -1
  134. package/esm/validators/scalar-validator.d.ts +17 -0
  135. package/esm/validators/scalar-validator.d.ts.map +1 -1
  136. package/esm/validators/scalar-validator.js +34 -1
  137. package/esm/validators/scalar-validator.js.map +1 -1
  138. package/esm/validators/string-validator.d.ts +14 -0
  139. package/esm/validators/string-validator.d.ts.map +1 -1
  140. package/esm/validators/string-validator.js +71 -1
  141. package/esm/validators/string-validator.js.map +1 -1
  142. package/esm/validators/tuple-validator.d.ts +22 -0
  143. package/esm/validators/tuple-validator.d.ts.map +1 -1
  144. package/esm/validators/tuple-validator.js +43 -1
  145. package/esm/validators/tuple-validator.js.map +1 -1
  146. package/esm/validators/union-validator.d.ts +13 -0
  147. package/esm/validators/union-validator.d.ts.map +1 -1
  148. package/esm/validators/union-validator.js +19 -1
  149. package/esm/validators/union-validator.js.map +1 -1
  150. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import type { SchemaContext, ValidationResult } from "../types";
2
2
  import { BaseValidator } from "./base-validator";
3
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
3
4
  /**
4
5
  * Record validator class - validates objects with dynamic keys and consistent value types
5
6
  *
@@ -33,5 +34,21 @@ export declare class RecordValidator extends BaseValidator {
33
34
  * Validate record - iterate all keys and validate each value
34
35
  */
35
36
  validate(data: any, context: SchemaContext): Promise<ValidationResult>;
37
+ /**
38
+ * @inheritdoc
39
+ *
40
+ * Generates `{ type: "object", additionalProperties: <valueSchema> }` —
41
+ * the standard JSON Schema for a dictionary/map with homogeneous values.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * v.record(v.string()).toJsonSchema("draft-2020-12")
46
+ * // → { type: "object", additionalProperties: { type: "string" } }
47
+ *
48
+ * v.record(v.union([v.string(), v.number()])).toJsonSchema("draft-2020-12")
49
+ * // → { type: "object", additionalProperties: { oneOf: [{ type: "string" }, { type: "number" }] } }
50
+ * ```
51
+ */
52
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
36
53
  }
37
54
  //# sourceMappingURL=record-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-validator.d.ts","sourceRoot":"","sources":["../../src/validators/record-validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAEvC,cAAc,EAAE,aAAa;gBAA7B,cAAc,EAAE,aAAa,EACpC,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM;IAIxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAM7B;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsCpF"}
1
+ {"version":3,"file":"record-validator.d.ts","sourceRoot":"","sources":["../../src/validators/record-validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAEvC,cAAc,EAAE,aAAa;gBAA7B,cAAc,EAAE,aAAa,EACpC,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM;IAIxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAM7B;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCnF;;;;;;;;;;;;;;OAcG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAU3F"}
@@ -1,4 +1,4 @@
1
- import {isPlainObject}from'@mongez/supportive-is';import'@mongez/reinforcements';import {setKeyPath}from'../helpers/path-helpers.js';import'net';import {objectRule,plainObjectRule}from'../rules/common/type-rules.js';import {BaseValidator}from'./base-validator.js';/**
1
+ import {isPlainObject}from'@mongez/supportive-is';import'@mongez/reinforcements';import {setKeyPath}from'../helpers/path-helpers.js';import'net';import {objectRule,plainObjectRule}from'../rules/common/type-rules.js';import {BaseValidator}from'./base-validator.js';import {applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * Record validator class - validates objects with dynamic keys and consistent value types
3
3
  *
4
4
  * @example
@@ -73,4 +73,28 @@ class RecordValidator extends BaseValidator {
73
73
  data: await this.startTransformationPipeline(mutatedData, context),
74
74
  };
75
75
  }
76
+ /**
77
+ * @inheritdoc
78
+ *
79
+ * Generates `{ type: "object", additionalProperties: <valueSchema> }` —
80
+ * the standard JSON Schema for a dictionary/map with homogeneous values.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * v.record(v.string()).toJsonSchema("draft-2020-12")
85
+ * // → { type: "object", additionalProperties: { type: "string" } }
86
+ *
87
+ * v.record(v.union([v.string(), v.number()])).toJsonSchema("draft-2020-12")
88
+ * // → { type: "object", additionalProperties: { oneOf: [{ type: "string" }, { type: "number" }] } }
89
+ * ```
90
+ */
91
+ toJsonSchema(target = "draft-2020-12") {
92
+ const schema = {
93
+ type: "object",
94
+ additionalProperties: this.valueValidator.toJsonSchema(target),
95
+ };
96
+ if (this.isNullable)
97
+ applyNullable(schema, target);
98
+ return schema;
99
+ }
76
100
  }export{RecordValidator};//# sourceMappingURL=record-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-validator.js","sources":["../../src/validators/record-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"wQAMA;;;;;;;;;;;;;AAaG;AACG,MAAO,eAAgB,SAAQ,aAAa,CAAA;AAEvC,IAAA,cAAA,CAAA;IADT,WACS,CAAA,cAA6B,EACpC,YAAqB,EAAA;AAErB,QAAA,KAAK,EAAE,CAAC;QAHD,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAIpC,QAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;KAC/C;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,YAAqB,EAAA;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;KACpD;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,KAAU,EAAA;AAC3B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;AAEG;IACa,KAAK,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AACpD,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,CAAC,IAAS,EAAE,OAAsB,EAAA;AACrD,QAAA,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAEnD,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,MAAM,CAAC;QAE5C,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;QAGtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAI;AAChD,YAAA,MAAM,YAAY,GAAkB;AAClC,gBAAA,GAAG,OAAO;AACV,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;gBACvB,GAAG;gBACH,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aACpC,CAAC;AAEF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;;AAGvF,YAAA,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;;AAGpC,YAAA,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtC,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,IAAI,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,OAAO,CAAC;SACnE,CAAC;KACH;AACF"}
1
+ {"version":3,"file":"record-validator.js","sources":["../../src/validators/record-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"sUAQA;;;;;;;;;;;;;AAaG;AACG,MAAO,eAAgB,SAAQ,aAAa,CAAA;AAEvC,IAAA,cAAA,CAAA;IADT,WACS,CAAA,cAA6B,EACpC,YAAqB,EAAA;AAErB,QAAA,KAAK,EAAE,CAAC;QAHD,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAIpC,QAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;KAC/C;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,YAAqB,EAAA;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;KACpD;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,KAAU,EAAA;AAC3B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;AAEG;IACa,KAAK,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AACpD,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,CAAC,IAAS,EAAE,OAAsB,EAAA;AACrD,QAAA,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAEnD,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,MAAM,CAAC;QAE5C,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;QAGtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAI;AAChD,YAAA,MAAM,YAAY,GAAkB;AAClC,gBAAA,GAAG,OAAO;AACV,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;gBACvB,GAAG;gBACH,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aACpC,CAAC;AAEF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;;AAGvF,YAAA,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;;AAGpC,YAAA,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtC,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,IAAI,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,OAAO,CAAC;SACnE,CAAC;KACH;AAED;;;;;;;;;;;;;;AAcG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;AACrE,QAAA,MAAM,MAAM,GAAqB;AAC/B,YAAA,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC;SAC/D,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,QAAA,OAAO,MAAM,CAAC;KACf;AACF"}
@@ -1,4 +1,5 @@
1
1
  import { PrimitiveValidator } from "./primitive-validator";
2
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
2
3
  /**
3
4
  * Scalar validator class
4
5
  *
@@ -72,5 +73,21 @@ export declare class ScalarValidator extends PrimitiveValidator {
72
73
  * Declined value if another field is missing
73
74
  */
74
75
  declinedWithout(field: string, errorMessage?: string): this;
76
+ /**
77
+ * @inheritdoc
78
+ *
79
+ * A scalar accepts string | number | boolean. If `.in()` / `.enum()` is used,
80
+ * output collapses to a simple `enum` list instead.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * v.scalar().toJsonSchema("draft-2020-12")
85
+ * // → { oneOf: [{ type: "string" }, { type: "number" }, { type: "boolean" }] }
86
+ *
87
+ * v.scalar().in(["active", "inactive"]).toJsonSchema("draft-2020-12")
88
+ * // → { enum: ["active", "inactive"] }
89
+ * ```
90
+ */
91
+ toJsonSchema(_target?: JsonSchemaTarget): JsonSchemaResult;
75
92
  }
76
93
  //# sourceMappingURL=scalar-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-validator.d.ts","sourceRoot":"","sources":["../../src/validators/scalar-validator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAClC,YAAY,CAAC,EAAE,MAAM;IAiBxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG;IAI7B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI3D;;;OAGG;IACI,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAI5D"}
1
+ {"version":3,"file":"scalar-validator.d.ts","sourceRoot":"","sources":["../../src/validators/scalar-validator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAClC,YAAY,CAAC,EAAE,MAAM;IAiBxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG;IAI7B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI3D;;;OAGG;IACI,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI3D;;;;;;;;;;;;;;OAcG;IACa,YAAY,CAAC,OAAO,GAAE,gBAAkC,GAAG,gBAAgB;CAoB5F"}
@@ -1,4 +1,4 @@
1
- import'@mongez/reinforcements';import {VALID_RULE,invalidRule}from'../helpers/validation-helpers.js';import'@mongez/supportive-is';import'dayjs';import {numberMutator}from'../mutators/number-mutators.js';import {stringMutator}from'../mutators/scalar-mutators.js';import {acceptedRule,acceptedIfRule,acceptedUnlessRule,acceptedIfRequiredRule,acceptedIfPresentRule,acceptedWithoutRule}from'../rules/scalar/accepted-rule.js';import {declinedRule,declinedIfRule,declinedUnlessRule,declinedIfRequiredRule,declinedIfPresentRule,declinedWithoutRule}from'../rules/scalar/declined-rule.js';import {PrimitiveValidator}from'./primitive-validator.js';/**
1
+ import'@mongez/reinforcements';import {VALID_RULE,invalidRule}from'../helpers/validation-helpers.js';import'@mongez/supportive-is';import'dayjs';import {numberMutator}from'../mutators/number-mutators.js';import {stringMutator}from'../mutators/scalar-mutators.js';import {acceptedRule,acceptedIfRule,acceptedUnlessRule,acceptedIfRequiredRule,acceptedIfPresentRule,acceptedWithoutRule}from'../rules/scalar/accepted-rule.js';import {declinedRule,declinedIfRule,declinedUnlessRule,declinedIfRequiredRule,declinedIfPresentRule,declinedWithoutRule}from'../rules/scalar/declined-rule.js';import {PrimitiveValidator}from'./primitive-validator.js';import {getRuleOptions}from'../standard-schema/json-schema.js';/**
2
2
  * Scalar validator class
3
3
  *
4
4
  * Core validator for scalar values (string, number, boolean).
@@ -113,4 +113,37 @@ class ScalarValidator extends PrimitiveValidator {
113
113
  declinedWithout(field, errorMessage) {
114
114
  return this.addRule(declinedWithoutRule, errorMessage, { field });
115
115
  }
116
+ /**
117
+ * @inheritdoc
118
+ *
119
+ * A scalar accepts string | number | boolean. If `.in()` / `.enum()` is used,
120
+ * output collapses to a simple `enum` list instead.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * v.scalar().toJsonSchema("draft-2020-12")
125
+ * // → { oneOf: [{ type: "string" }, { type: "number" }, { type: "boolean" }] }
126
+ *
127
+ * v.scalar().in(["active", "inactive"]).toJsonSchema("draft-2020-12")
128
+ * // → { enum: ["active", "inactive"] }
129
+ * ```
130
+ */
131
+ toJsonSchema(_target = "draft-2020-12") {
132
+ // If a value set is constrained, collapse to enum
133
+ const inOpts = getRuleOptions(this.rules, "in");
134
+ if (inOpts?.values && Array.isArray(inOpts.values)) {
135
+ return { enum: inOpts.values };
136
+ }
137
+ const enumOpts = getRuleOptions(this.rules, "enum");
138
+ if (enumOpts?.enum && Array.isArray(enumOpts.enum)) {
139
+ return { enum: enumOpts.enum };
140
+ }
141
+ return {
142
+ oneOf: [
143
+ { type: "string" },
144
+ { type: "number" },
145
+ { type: "boolean" },
146
+ ],
147
+ };
148
+ }
116
149
  }export{ScalarValidator};//# sourceMappingURL=scalar-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-validator.js","sources":["../../src/validators/scalar-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar-validator.js","sources":["../../src/validators/scalar-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { PrimitiveValidator } from "./primitive-validator";
2
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
2
3
  /**
3
4
  * String validator class
4
5
  */
@@ -171,5 +172,18 @@ export declare class StringValidator extends PrimitiveValidator {
171
172
  lightColor(errorMessage?: string): this;
172
173
  /** Determine if the value is a valid dark color */
173
174
  darkColor(errorMessage?: string): this;
175
+ /**
176
+ * @inheritdoc
177
+ *
178
+ * Maps String-specific rule options to JSON Schema keywords.
179
+ * Non-representable rules (cross-field, refine, color rules, etc.) are silently omitted.
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * v.string().min(2).max(100).email().toJsonSchema("draft-2020-12")
184
+ * // → { type: "string", minLength: 2, maxLength: 100, format: "email" }
185
+ * ```
186
+ */
187
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
174
188
  }
175
189
  //# sourceMappingURL=string-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-validator.d.ts","sourceRoot":"","sources":["../../src/validators/string-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-validator.d.ts","sourceRoot":"","sources":["../../src/validators/string-validator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import'@mongez/reinforcements';import'@mongez/supportive-is';import'dayjs';import {stringifyMutator,uppercaseMutator,lowercaseMutator,capitalizeMutator,titleCaseMutator,camelCaseMutator,pascalCaseMutator,snakeCaseMutator,kebabCaseMutator,trimMutator,ltrimMutator,rtrimMutator,trimMultipleWhitespaceMutator,padStartMutator,padEndMutator,safeHtmlMutator,htmlEscapeMutator,unescapeHtmlMutator,removeSpecialCharactersMutator,alphaOnlyMutator,alphanumericOnlyMutator,removeNumbersMutator,urlDecodeMutator,urlEncodeMutator,slugMutator,base64EncodeMutator,base64DecodeMutator,replaceMutator,replaceAllMutator,appendMutator,prependMutator,reverseMutator,truncateMutator,repeatMutator,maskMutator}from'../mutators/string-mutators.js';import {alphaRule,alphaNumericRule,isNumericRule}from'../rules/string/alpha.js';import {isCreditCardRule}from'../rules/string/credit-card.js';import {emailRule}from'../rules/string/email.js';import {ipRule,ip4Rule,ip6Rule}from'../rules/string/ip.js';import {patternRule}from'../rules/string/pattern.js';import {startsWithRule,endsWithRule,containsRule,notContainsRule}from'../rules/string/string-comparison.js';import {strongPasswordRule}from'../rules/string/strong-password-rule.js';import {urlRule}from'../rules/string/url.js';import {withoutWhitespaceRule}from'../rules/string/without-whitespace.js';import {wordsRule,minWordsRule,maxWordsRule,minLengthRule,maxLengthRule,lengthRule,betweenLengthRule}from'../rules/length/length-rules.js';import {colorRule,hexColorRule,hslColorRule,rgbColorRule,rgbaColorRule,lightColorRule,darkColorRule}from'../rules/color/color-rules.js';import {stringRule}from'../rules/common/type-rules.js';import {PrimitiveValidator}from'./primitive-validator.js';/**
1
+ import'@mongez/reinforcements';import'@mongez/supportive-is';import'dayjs';import {stringifyMutator,uppercaseMutator,lowercaseMutator,capitalizeMutator,titleCaseMutator,camelCaseMutator,pascalCaseMutator,snakeCaseMutator,kebabCaseMutator,trimMutator,ltrimMutator,rtrimMutator,trimMultipleWhitespaceMutator,padStartMutator,padEndMutator,safeHtmlMutator,htmlEscapeMutator,unescapeHtmlMutator,removeSpecialCharactersMutator,alphaOnlyMutator,alphanumericOnlyMutator,removeNumbersMutator,urlDecodeMutator,urlEncodeMutator,slugMutator,base64EncodeMutator,base64DecodeMutator,replaceMutator,replaceAllMutator,appendMutator,prependMutator,reverseMutator,truncateMutator,repeatMutator,maskMutator}from'../mutators/string-mutators.js';import {alphaRule,alphaNumericRule,isNumericRule}from'../rules/string/alpha.js';import {isCreditCardRule}from'../rules/string/credit-card.js';import {emailRule}from'../rules/string/email.js';import {ipRule,ip4Rule,ip6Rule}from'../rules/string/ip.js';import {patternRule}from'../rules/string/pattern.js';import {startsWithRule,endsWithRule,containsRule,notContainsRule}from'../rules/string/string-comparison.js';import {strongPasswordRule}from'../rules/string/strong-password-rule.js';import {urlRule}from'../rules/string/url.js';import {withoutWhitespaceRule}from'../rules/string/without-whitespace.js';import {wordsRule,minWordsRule,maxWordsRule,minLengthRule,maxLengthRule,lengthRule,betweenLengthRule}from'../rules/length/length-rules.js';import {colorRule,hexColorRule,hslColorRule,rgbColorRule,rgbaColorRule,lightColorRule,darkColorRule}from'../rules/color/color-rules.js';import {stringRule}from'../rules/common/type-rules.js';import {PrimitiveValidator}from'./primitive-validator.js';import {getRuleOptions,applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * String validator class
3
3
  */
4
4
  class StringValidator extends PrimitiveValidator {
@@ -314,4 +314,74 @@ class StringValidator extends PrimitiveValidator {
314
314
  darkColor(errorMessage) {
315
315
  return this.addRule(darkColorRule, errorMessage);
316
316
  }
317
+ /**
318
+ * @inheritdoc
319
+ *
320
+ * Maps String-specific rule options to JSON Schema keywords.
321
+ * Non-representable rules (cross-field, refine, color rules, etc.) are silently omitted.
322
+ *
323
+ * @example
324
+ * ```ts
325
+ * v.string().min(2).max(100).email().toJsonSchema("draft-2020-12")
326
+ * // → { type: "string", minLength: 2, maxLength: 100, format: "email" }
327
+ * ```
328
+ */
329
+ toJsonSchema(target = "draft-2020-12") {
330
+ const schema = { type: "string" };
331
+ // minLength / min
332
+ const minOpts = getRuleOptions(this.rules, "minLength");
333
+ if (minOpts?.minLength !== undefined)
334
+ schema.minLength = minOpts.minLength;
335
+ // maxLength / max
336
+ const maxOpts = getRuleOptions(this.rules, "maxLength");
337
+ if (maxOpts?.maxLength !== undefined)
338
+ schema.maxLength = maxOpts.maxLength;
339
+ // betweenLength covers both min and max in one rule
340
+ const betweenOpts = getRuleOptions(this.rules, "betweenLength");
341
+ if (betweenOpts) {
342
+ if (betweenOpts.minLength !== undefined)
343
+ schema.minLength = betweenOpts.minLength;
344
+ if (betweenOpts.maxLength !== undefined)
345
+ schema.maxLength = betweenOpts.maxLength;
346
+ }
347
+ // exact length
348
+ const lengthOpts = getRuleOptions(this.rules, "length");
349
+ if (lengthOpts?.length !== undefined) {
350
+ schema.minLength = lengthOpts.length;
351
+ schema.maxLength = lengthOpts.length;
352
+ }
353
+ // pattern (regex)
354
+ const patternOpts = getRuleOptions(this.rules, "pattern");
355
+ if (patternOpts?.pattern instanceof RegExp) {
356
+ schema.pattern = patternOpts.pattern.source;
357
+ }
358
+ // format hints
359
+ if (getRuleOptions(this.rules, "email") !== undefined ||
360
+ this.rules.some(r => r.name === "email")) {
361
+ schema.format = "email";
362
+ }
363
+ else if (this.rules.some(r => r.name === "url")) {
364
+ schema.format = "uri";
365
+ }
366
+ else if (this.rules.some(r => r.name === "ip")) {
367
+ schema.format = "ipv4";
368
+ }
369
+ else if (this.rules.some(r => r.name === "ip4")) {
370
+ schema.format = "ipv4";
371
+ }
372
+ else if (this.rules.some(r => r.name === "ip6")) {
373
+ schema.format = "ipv6";
374
+ }
375
+ else if (this.rules.some(r => r.name === "hexColor")) {
376
+ schema.format = "color";
377
+ }
378
+ // enum (from PrimitiveValidator.in / .enum)
379
+ const inOpts = getRuleOptions(this.rules, "in");
380
+ if (inOpts?.values && Array.isArray(inOpts.values)) {
381
+ schema.enum = inOpts.values;
382
+ }
383
+ if (this.isNullable)
384
+ applyNullable(schema, target);
385
+ return schema;
386
+ }
317
387
  }export{StringValidator};//# sourceMappingURL=string-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-validator.js","sources":["../../src/validators/string-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-validator.js","sources":["../../src/validators/string-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SchemaContext, ValidationResult } from "../types";
2
2
  import { BaseValidator } from "./base-validator";
3
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
3
4
  /**
4
5
  * Tuple validator class - validates fixed-length arrays with position-specific types
5
6
  *
@@ -30,5 +31,26 @@ export declare class TupleValidator extends BaseValidator {
30
31
  * Validate tuple - check length then validate each position
31
32
  */
32
33
  validate(data: any, context: SchemaContext): Promise<ValidationResult>;
34
+ /**
35
+ * @inheritdoc
36
+ *
37
+ * Tuple keyword diverges between targets:
38
+ * - `draft-2020-12` → `prefixItems` + `items: false` (exact length enforced)
39
+ * - `draft-07` → `items` as array + `additionalItems: false`
40
+ * - `openapi-3.0` → same as draft-07 (OpenAPI 3.0 is based on draft-07)
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * v.tuple([v.string(), v.int(), v.boolean()]).toJsonSchema("draft-2020-12")
45
+ * // → {
46
+ * // type: "array",
47
+ * // prefixItems: [{ type: "string" }, { type: "integer" }, { type: "boolean" }],
48
+ * // items: false,
49
+ * // minItems: 3,
50
+ * // maxItems: 3
51
+ * // }
52
+ * ```
53
+ */
54
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
33
55
  }
34
56
  //# sourceMappingURL=tuple-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple-validator.d.ts","sourceRoot":"","sources":["../../src/validators/tuple-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,UAAU,EAAE,aAAa,EAAE;gBAA3B,UAAU,EAAE,aAAa,EAAE,EAClC,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAM7B;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+CpF"}
1
+ {"version":3,"file":"tuple-validator.d.ts","sourceRoot":"","sources":["../../src/validators/tuple-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,UAAU,EAAE,aAAa,EAAE;gBAA3B,UAAU,EAAE,aAAa,EAAE,EAClC,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAM7B;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDnF;;;;;;;;;;;;;;;;;;;OAmBG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAwB3F"}
@@ -1,4 +1,4 @@
1
- import'@mongez/reinforcements';import {setKeyPath}from'../helpers/path-helpers.js';import'@mongez/supportive-is';import'net';import {arrayRule}from'../rules/common/type-rules.js';import {BaseValidator}from'./base-validator.js';/**
1
+ import'@mongez/reinforcements';import {setKeyPath}from'../helpers/path-helpers.js';import'@mongez/supportive-is';import'net';import {arrayRule}from'../rules/common/type-rules.js';import {BaseValidator}from'./base-validator.js';import {applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * Tuple validator class - validates fixed-length arrays with position-specific types
3
3
  *
4
4
  * @example
@@ -76,4 +76,46 @@ class TupleValidator extends BaseValidator {
76
76
  data: await this.startTransformationPipeline(mutatedData, context),
77
77
  };
78
78
  }
79
+ /**
80
+ * @inheritdoc
81
+ *
82
+ * Tuple keyword diverges between targets:
83
+ * - `draft-2020-12` → `prefixItems` + `items: false` (exact length enforced)
84
+ * - `draft-07` → `items` as array + `additionalItems: false`
85
+ * - `openapi-3.0` → same as draft-07 (OpenAPI 3.0 is based on draft-07)
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * v.tuple([v.string(), v.int(), v.boolean()]).toJsonSchema("draft-2020-12")
90
+ * // → {
91
+ * // type: "array",
92
+ * // prefixItems: [{ type: "string" }, { type: "integer" }, { type: "boolean" }],
93
+ * // items: false,
94
+ * // minItems: 3,
95
+ * // maxItems: 3
96
+ * // }
97
+ * ```
98
+ */
99
+ toJsonSchema(target = "draft-2020-12") {
100
+ const itemSchemas = this.validators.map(v => v.toJsonSchema(target));
101
+ const length = this.validators.length;
102
+ const schema = {
103
+ type: "array",
104
+ minItems: length,
105
+ maxItems: length,
106
+ };
107
+ if (target === "draft-2020-12") {
108
+ // prefixItems is the draft-2020-12 keyword for positional tuple items
109
+ schema.prefixItems = itemSchemas;
110
+ schema.items = false; // no additional items beyond the tuple
111
+ }
112
+ else {
113
+ // draft-07 and openapi-3.0: items as array + additionalItems: false
114
+ schema.items = itemSchemas;
115
+ schema.additionalItems = false;
116
+ }
117
+ if (this.isNullable)
118
+ applyNullable(schema, target);
119
+ return schema;
120
+ }
79
121
  }export{TupleValidator};//# sourceMappingURL=tuple-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple-validator.js","sources":["../../src/validators/tuple-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tuple-validator.js","sources":["../../src/validators/tuple-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { BaseValidator } from "./base-validator";
2
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
2
3
  /**
3
4
  * Union validator class - validates value against multiple validator types
4
5
  *
@@ -38,5 +39,17 @@ export declare class UnionValidator extends BaseValidator {
38
39
  * ```
39
40
  */
40
41
  union(validators: BaseValidator[], errorMessage?: string): this;
42
+ /**
43
+ * @inheritdoc
44
+ *
45
+ * Generates `{ oneOf: [...] }` by mapping each sub-validator to its JSON Schema.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * v.union([v.string(), v.number()]).toJsonSchema("draft-2020-12")
50
+ * // → { oneOf: [{ type: "string" }, { type: "number" }] }
51
+ * ```
52
+ */
53
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
41
54
  }
42
55
  //# sourceMappingURL=union-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"union-validator.d.ts","sourceRoot":"","sources":["../../src/validators/union-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;CAGhE"}
1
+ {"version":3,"file":"union-validator.d.ts","sourceRoot":"","sources":["../../src/validators/union-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAI/D;;;;;;;;;;OAUG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAQ3F"}
@@ -1,4 +1,4 @@
1
- import'@mongez/reinforcements';import'@mongez/supportive-is';import {unionRule}from'../rules/core/union.js';import'net';import {BaseValidator}from'./base-validator.js';/**
1
+ import'@mongez/reinforcements';import'@mongez/supportive-is';import {unionRule}from'../rules/core/union.js';import'net';import {BaseValidator}from'./base-validator.js';import {getRuleOptions}from'../standard-schema/json-schema.js';/**
2
2
  * Union validator class - validates value against multiple validator types
3
3
  *
4
4
  * Tries each validator in order until one passes. If a validator's matchesType()
@@ -39,4 +39,22 @@ class UnionValidator extends BaseValidator {
39
39
  union(validators, errorMessage) {
40
40
  return this.addRule(unionRule, errorMessage, { validators });
41
41
  }
42
+ /**
43
+ * @inheritdoc
44
+ *
45
+ * Generates `{ oneOf: [...] }` by mapping each sub-validator to its JSON Schema.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * v.union([v.string(), v.number()]).toJsonSchema("draft-2020-12")
50
+ * // → { oneOf: [{ type: "string" }, { type: "number" }] }
51
+ * ```
52
+ */
53
+ toJsonSchema(target = "draft-2020-12") {
54
+ const opts = getRuleOptions(this.rules, "union");
55
+ const validators = (opts?.validators ?? []);
56
+ return {
57
+ oneOf: validators.map(v => v.toJsonSchema(target)),
58
+ };
59
+ }
42
60
  }export{UnionValidator};//# sourceMappingURL=union-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"union-validator.js","sources":["../../src/validators/union-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"wKAGA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,MAAO,cAAe,SAAQ,aAAa,CAAA;AAC/C;;;;;;;;;;;;AAYG;IACI,KAAK,CAAC,UAA2B,EAAE,YAAqB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;KAC9D;AACF"}
1
+ {"version":3,"file":"union-validator.js","sources":["../../src/validators/union-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"uOAKA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,MAAO,cAAe,SAAQ,aAAa,CAAA;AAC/C;;;;;;;;;;;;AAYG;IACI,KAAK,CAAC,UAA2B,EAAE,YAAqB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;KAC9D;AAED;;;;;;;;;;AAUG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;QACrE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,IAAI,IAAI,EAAE,UAAU,IAAI,EAAE,CAAoB,CAAC;QAE/D,OAAO;AACL,YAAA,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACnD,CAAC;KACH;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warlock.js/seal",
3
- "version": "4.0.139",
3
+ "version": "4.0.140",
4
4
  "description": "Comprehensive Validation library",
5
5
  "main": "./cjs/index.js",
6
6
  "dependencies": {