@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
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Standard Schema Spec Types
3
+ *
4
+ * Copied from @standard-schema/spec to avoid a runtime dependency.
5
+ * Source: https://standardschema.dev
6
+ *
7
+ * Implements:
8
+ * - StandardSchemaV1 — for validation interop (OpenAI, LangGraph, TanStack Form, Conform, etc.)
9
+ * - StandardJSONSchemaV1 — for JSON Schema generation (OpenAPI, draft-07, draft-2020-12)
10
+ */
11
+ /** The Standard Schema interface. */
12
+ export interface StandardSchemaV1<Input = unknown, Output = Input> {
13
+ readonly "~standard": StandardSchemaV1.Props<Input, Output>;
14
+ }
15
+ export declare namespace StandardSchemaV1 {
16
+ /** The Standard Schema properties interface. */
17
+ interface Props<Input = unknown, Output = Input> {
18
+ /** The version number of the standard. */
19
+ readonly version: 1;
20
+ /** The vendor name of the schema library. */
21
+ readonly vendor: string;
22
+ /** Inferred types associated with the schema. */
23
+ readonly types?: Types<Input, Output> | undefined;
24
+ /** Validates unknown input values. */
25
+ readonly validate: (value: unknown, options?: Options | undefined) => Result<Output> | Promise<Result<Output>>;
26
+ }
27
+ /** Success result. */
28
+ interface SuccessResult<Output> {
29
+ readonly value: Output;
30
+ readonly issues?: undefined;
31
+ }
32
+ /** Options passed to validate. */
33
+ interface Options {
34
+ readonly libraryOptions?: Record<string, unknown> | undefined;
35
+ }
36
+ /** Failure result. */
37
+ interface FailureResult {
38
+ readonly issues: ReadonlyArray<Issue>;
39
+ }
40
+ type Result<Output> = SuccessResult<Output> | FailureResult;
41
+ /** Issue in a failed result. */
42
+ interface Issue {
43
+ readonly message: string;
44
+ readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;
45
+ }
46
+ /** A single segment in an issue path. */
47
+ interface PathSegment {
48
+ readonly key: PropertyKey;
49
+ }
50
+ /** The Standard types interface. */
51
+ interface Types<Input = unknown, Output = Input> {
52
+ readonly input: Input;
53
+ readonly output: Output;
54
+ }
55
+ /** Infer the input type of a Standard Schema. */
56
+ type InferInput<S extends StandardSchemaV1> = NonNullable<S["~standard"]["types"]>["input"];
57
+ /** Infer the output type of a Standard Schema. */
58
+ type InferOutput<S extends StandardSchemaV1> = NonNullable<S["~standard"]["types"]>["output"];
59
+ }
60
+ /** The Standard JSON Schema interface. */
61
+ export interface StandardJSONSchemaV1<Input = unknown, Output = Input> {
62
+ readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>;
63
+ }
64
+ export declare namespace StandardJSONSchemaV1 {
65
+ interface Props<Input = unknown, Output = Input> extends Omit<StandardSchemaV1.Props<Input, Output>, never> {
66
+ readonly jsonSchema: Converter;
67
+ }
68
+ /** Methods for generating JSON Schema. */
69
+ interface Converter {
70
+ /** Converts the input type to JSON Schema. */
71
+ readonly input: (options: Options) => Record<string, unknown>;
72
+ /** Converts the output type to JSON Schema. */
73
+ readonly output: (options: Options) => Record<string, unknown>;
74
+ }
75
+ /**
76
+ * Supported JSON Schema targets.
77
+ * Libraries should throw if a target is not supported.
78
+ *
79
+ * - `draft-2020-12` — JSON Schema 2020-12 (default, recommended)
80
+ * - `draft-07` — JSON Schema draft-07 (Swagger 2.0, older tooling)
81
+ * - `openapi-3.0` — OpenAPI 3.0 extensions (nullable: true)
82
+ * - `openai-strict` — OpenAI Structured Outputs strict mode.
83
+ * All fields listed in required; optional fields
84
+ * expressed as `{ type: ["T", "null"] }` instead
85
+ * of being omitted from required.
86
+ */
87
+ type Target = "draft-2020-12" | "draft-07" | "openapi-3.0" | "openai-strict" | ({} & string);
88
+ interface Options {
89
+ readonly target: Target;
90
+ readonly libraryOptions?: Record<string, unknown> | undefined;
91
+ }
92
+ }
93
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/standard-schema/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  import { BaseValidator } from "./base-validator";
2
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
2
3
  /**
3
4
  * Any validator - accepts any value
4
5
  */
5
6
  export declare class AnyValidator extends BaseValidator {
7
+ /**
8
+ * @inheritdoc
9
+ *
10
+ * Any validator accepts anything. In JSON Schema, an empty object `{}`
11
+ * is the permissive schema that accepts any valid JSON value.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * v.any().toJsonSchema("draft-2020-12")
16
+ * // → {}
17
+ * ```
18
+ */
19
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
6
20
  }
7
21
  //# sourceMappingURL=any-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"any-validator.d.ts","sourceRoot":"","sources":["../../src/validators/any-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"any-validator.d.ts","sourceRoot":"","sources":["../../src/validators/any-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C;;;;;;;;;;;OAWG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAK3F"}
@@ -1,5 +1,23 @@
1
- import {BaseValidator}from'./base-validator.js';/**
1
+ import {BaseValidator}from'./base-validator.js';import {applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * Any validator - accepts any value
3
3
  */
4
4
  class AnyValidator extends BaseValidator {
5
+ /**
6
+ * @inheritdoc
7
+ *
8
+ * Any validator accepts anything. In JSON Schema, an empty object `{}`
9
+ * is the permissive schema that accepts any valid JSON value.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * v.any().toJsonSchema("draft-2020-12")
14
+ * // → {}
15
+ * ```
16
+ */
17
+ toJsonSchema(target = "draft-2020-12") {
18
+ const schema = {};
19
+ if (this.isNullable)
20
+ applyNullable(schema, target);
21
+ return schema;
22
+ }
5
23
  }export{AnyValidator};//# sourceMappingURL=any-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"any-validator.js","sources":["../../src/validators/any-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"gDAEA;;AAEG;AACG,MAAO,YAAa,SAAQ,aAAa,CAAA;AAAG"}
1
+ {"version":3,"file":"any-validator.js","sources":["../../src/validators/any-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"8GAIA;;AAEG;AACG,MAAO,YAAa,SAAQ,aAAa,CAAA;AAC7C;;;;;;;;;;;AAWG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;QACrE,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnD,QAAA,OAAO,MAAM,CAAC;KACf;AACF"}
@@ -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
  * Array validator class
5
6
  */
@@ -55,5 +56,17 @@ export declare class ArrayValidator extends BaseValidator {
55
56
  mutate(data: any, context: SchemaContext): any;
56
57
  /** Validate array */
57
58
  validate(data: any, context: SchemaContext): Promise<ValidationResult>;
59
+ /**
60
+ * @inheritdoc
61
+ *
62
+ * Recursively generates JSON Schema for the array items.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * v.array(v.string().min(1)).minLength(1).toJsonSchema("draft-2020-12")
67
+ * // → { type: "array", items: { type: "string", minLength: 1 }, minItems: 1 }
68
+ * ```
69
+ */
70
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
58
71
  }
59
72
  //# sourceMappingURL=array-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAQ7B,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAI3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM;IAInC,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAqCpF"}
1
+ {"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAWA,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;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAQ7B,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAI3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM;IAInC,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsCnF;;;;;;;;;;OAUG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CA4B3F"}
@@ -1,4 +1,4 @@
1
- import'@mongez/reinforcements';import {setKeyPath}from'../helpers/path-helpers.js';import {flipArrayMutator,uniqueArrayMutator,sortArrayMutator}from'../mutators/array-mutators.js';import'dayjs';import'@mongez/supportive-is';import'net';import {minLengthRule,maxLengthRule,lengthRule,betweenLengthRule}from'../rules/length/length-rules.js';import {uniqueArrayRule,sortedArrayRule}from'../rules/array/array-rules.js';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 {flipArrayMutator,uniqueArrayMutator,sortArrayMutator}from'../mutators/array-mutators.js';import'dayjs';import'@mongez/supportive-is';import'net';import {minLengthRule,maxLengthRule,lengthRule,betweenLengthRule}from'../rules/length/length-rules.js';import {uniqueArrayRule,sortedArrayRule}from'../rules/array/array-rules.js';import {arrayRule}from'../rules/common/type-rules.js';import {BaseValidator}from'./base-validator.js';import {getRuleOptions,applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * Array validator class
3
3
  */
4
4
  class ArrayValidator extends BaseValidator {
@@ -121,4 +121,42 @@ class ArrayValidator extends BaseValidator {
121
121
  data: await this.startTransformationPipeline(mutatedData, context),
122
122
  };
123
123
  }
124
+ /**
125
+ * @inheritdoc
126
+ *
127
+ * Recursively generates JSON Schema for the array items.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * v.array(v.string().min(1)).minLength(1).toJsonSchema("draft-2020-12")
132
+ * // → { type: "array", items: { type: "string", minLength: 1 }, minItems: 1 }
133
+ * ```
134
+ */
135
+ toJsonSchema(target = "draft-2020-12") {
136
+ const schema = {
137
+ type: "array",
138
+ items: this.validator.toJsonSchema(target),
139
+ };
140
+ const minOpts = getRuleOptions(this.rules, "minLength");
141
+ if (minOpts?.minLength !== undefined)
142
+ schema.minItems = minOpts.minLength;
143
+ const maxOpts = getRuleOptions(this.rules, "maxLength");
144
+ if (maxOpts?.maxLength !== undefined)
145
+ schema.maxItems = maxOpts.maxLength;
146
+ const betweenOpts = getRuleOptions(this.rules, "betweenLength");
147
+ if (betweenOpts) {
148
+ if (betweenOpts.minLength !== undefined)
149
+ schema.minItems = betweenOpts.minLength;
150
+ if (betweenOpts.maxLength !== undefined)
151
+ schema.maxItems = betweenOpts.maxLength;
152
+ }
153
+ const lengthOpts = getRuleOptions(this.rules, "length");
154
+ if (lengthOpts?.length !== undefined) {
155
+ schema.minItems = lengthOpts.length;
156
+ schema.maxItems = lengthOpts.length;
157
+ }
158
+ if (this.isNullable)
159
+ applyNullable(schema, target);
160
+ return schema;
161
+ }
124
162
  }export{ArrayValidator};//# sourceMappingURL=array-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"klBAgBA;;AAEG;AACG,MAAO,cAAe,SAAQ,aAAa,CAAA;AAEtC,IAAA,SAAA,CAAA;IADT,WACS,CAAA,SAAwB,EAC/B,YAAqB,EAAA;AAErB,QAAA,KAAK,EAAE,CAAC;QAHD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;AAI/B,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;KAC9C;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,KAAU,EAAA;AAC3B,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;AAEG;IACa,KAAK,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAE7B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAE1C,QAAA,OAAO,MAAM,CAAC;KACf;;IAGM,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;KAC1C;;IAGM,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;KAC1C;;IAGM,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;KAC5C;;AAGM,IAAA,IAAI,CAAC,SAAA,GAA4B,KAAK,EAAE,GAAY,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;KAC9D;;IAGM,SAAS,CAAC,MAAc,EAAE,YAAqB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;KACzE;;IAGM,SAAS,CAAC,MAAc,EAAE,YAAqB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;KACzE;;IAGM,MAAM,CAAC,MAAc,EAAE,YAAqB,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;KAC3D;AAED;;;;;;;;;;;;;AAaG;AACI,IAAA,OAAO,CAAC,GAAW,EAAE,GAAW,EAAE,YAAqB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,EAAE;AACnD,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,SAAS,EAAE,GAAG;AACf,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,YAAqB,EAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;KAC7C;;AAGM,IAAA,MAAM,CAAC,YAAqB,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;KACpD;;AAGM,IAAA,MAAM,CAAC,SAAA,GAA4B,KAAK,EAAE,YAAqB,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KACnE;;IAGM,MAAM,CAAC,IAAS,EAAE,OAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;KACzC;;AAGM,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;;AAG9C,QAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,KAAU,EAAE,KAAa,KAAI;AAC7E,YAAA,MAAM,YAAY,GAAkB;AAClC,gBAAA,GAAG,OAAO;AACV,gBAAA,MAAM,EAAE,WAAW;gBACnB,KAAK;AACL,gBAAA,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACrB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACjD,CAAC;AAEF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;;AAGvE,YAAA,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;;AAGtC,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;;;;;;;;;;AAUG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;AACrE,QAAA,MAAM,MAAM,GAAqB;AAC/B,YAAA,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;SAC3C,CAAC;QAEF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACxD,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;AAAE,YAAA,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;QAE1E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACxD,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;AAAE,YAAA,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;QAE1E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AAChE,QAAA,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS;AAAE,gBAAA,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AACjF,YAAA,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS;AAAE,gBAAA,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AAClF,SAAA;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,QAAA,IAAI,UAAU,EAAE,MAAM,KAAK,SAAS,EAAE;AACpC,YAAA,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;AACpC,YAAA,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;AACrC,SAAA;QAED,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,QAAA,OAAO,MAAM,CAAC;KACf;AACF"}
@@ -1,8 +1,10 @@
1
+ import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
2
+ import type { StandardJSONSchemaV1 } from "../standard-schema/types";
1
3
  import type { ContextualSchemaRule, ContextualizedMutator, ContextualizedTransformer, Mutator, SchemaContext, SchemaRule, SchemaRuleOptions, SimpleTransformerCallback, TransformerCallback, ValidationAttributesList, ValidationResult } from "../types";
2
4
  /**
3
5
  * Base validator class - foundation for all validators
4
6
  */
5
- export declare class BaseValidator {
7
+ export declare class BaseValidator<TInput = unknown, TOutput = TInput> {
6
8
  rules: ContextualSchemaRule[];
7
9
  mutators: ContextualizedMutator[];
8
10
  protected defaultValue: any | (() => any);
@@ -348,5 +350,76 @@ export declare class BaseValidator {
348
350
  * Set rule attributes list
349
351
  */
350
352
  protected setRuleAttributesList(rule: ContextualSchemaRule): void;
353
+ /**
354
+ * Standard Schema V1 compliance.
355
+ *
356
+ * Allows this validator to be used with any Standard Schema-aware library
357
+ * (OpenAI structured outputs, LangGraph, TanStack Form, Conform, Valibot adapters, etc.)
358
+ * without extra adapters.
359
+ *
360
+ * Delegates to the `validate()` factory so all `configureSeal()` options
361
+ * (translations, firstErrorOnly) are picked up automatically at call time.
362
+ *
363
+ * Includes Standard JSON Schema support via `jsonSchema.input()` / `jsonSchema.output()`.
364
+ *
365
+ * ## How Standard Schema libraries consume this
366
+ *
367
+ * You pass the **schema object itself** to the library — they internally read
368
+ * `schema["~standard"]`. Do NOT pass `schema["~standard"]` directly.
369
+ *
370
+ * @example
371
+ * ```ts
372
+ * const schema = v.object({ name: v.string().required() });
373
+ *
374
+ * // TanStack Form — pass schema, library reads ["~standard"] internally
375
+ * const form = useForm({ validators: { onChange: schema } });
376
+ *
377
+ * // Conform (Remix) — same pattern
378
+ * const [form] = useForm({ onValidate({ formData }) {
379
+ * return parseWithStandardSchema(formData, { schema });
380
+ * }});
381
+ *
382
+ * // Direct validation (lower level — most apps don't need this)
383
+ * const result = await schema["~standard"].validate({ name: "Hasan" });
384
+ * // → { value: { name: "Hasan" } } on success
385
+ * // → { issues: [{ message: "...", path: [{ key: "name" }] }] } on failure
386
+ *
387
+ * // JSON Schema for OpenAI / LangChain tool calling
388
+ * const parameters = schema["~standard"].jsonSchema.input({ target: "openai-strict" });
389
+ * // → { type: "object", properties: {...}, required: [...], additionalProperties: false }
390
+ * ```
391
+ *
392
+ * @note Cross-field rules (sameAs, requiredIf, requiredWith) rely on sibling values
393
+ * available in the full validation context. When called on a standalone scalar validator,
394
+ * sibling data is absent and those rules will not evaluate correctly.
395
+ * Always call on the parent ObjectValidator for full-payload validation.
396
+ */
397
+ get ["~standard"](): StandardJSONSchemaV1.Props<TInput, TOutput>;
398
+ /**
399
+ * Generate a JSON Schema representation of this validator.
400
+ *
401
+ * Supports targets: `"draft-2020-12"` (default), `"draft-07"`, `"openapi-3.0"`.
402
+ *
403
+ * Subclasses override this to describe their specific constraints.
404
+ * The base implementation returns `{}` (permissive — accepts anything),
405
+ * which is correct for validators with no representable JSON Schema constraints.
406
+ *
407
+ * @note Rules that cannot be expressed in JSON Schema are silently omitted:
408
+ * - Cross-field rules: sameAs, requiredIf, requiredWith, requiredWithout
409
+ * - Custom callbacks: refine()
410
+ * - Framework-specific runtime rules (core/cascade plugins)
411
+ * These rules still run normally at validation time — only absent from JSON Schema.
412
+ *
413
+ * @example
414
+ * ```ts
415
+ * v.string().min(3).max(50).toJsonSchema("draft-2020-12")
416
+ * // → { type: "string", minLength: 3, maxLength: 50 }
417
+ *
418
+ * v.object({ name: v.string().required(), age: v.int().optional() })
419
+ * .toJsonSchema("draft-07")
420
+ * // → { type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name"] }
421
+ * ```
422
+ */
423
+ toJsonSchema(_target?: JsonSchemaTarget): JsonSchemaResult;
351
424
  }
352
425
  //# sourceMappingURL=base-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,0BAA0B,CAAC;AACvF,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,MAAM;IACpD,KAAK,EAAE,oBAAoB,EAAE,CAAM;IACnC,QAAQ,EAAE,qBAAqB,EAAE,CAAM;IAC9C,SAAS,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,SAAS,UAAS;IAE5B;;;;;;OAMG;IACI,UAAU,UAAS;IAE1B;;;;;;OAMG;IACI,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAwC;IAExF;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,CAAM;IAE7D;;;;OAIG;IACH,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAM;IAExD;;OAEG;IACH,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE5D;;OAEG;IACH,IAAW,OAAO,SAGjB;IAED;;OAEG;IACH,IAAW,SAAS,SAGnB;IAED;;;;OAIG;IACH,SAAS,KAAK,QAAQ,IAAI,IAAI,CAE7B;IAED;;;OAGG;IACI,eAAe,IAAI,GAAG;IAI7B;;OAEG;IACI,QAAQ,IAAI,IAAI;IAMvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAM1B;;;;;;;;;;;;;;;;;OAiBG;IACI,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,GAAE,GAAQ;IAOvE;;;;;;;;;;;;;;;;;OAiBG;IACI,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,GAAE,GAAQ;IAO9E;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,CAAC,QAAQ,EAAE,yBAAyB;IAInD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM;IAM7B;;;OAGG;IACU,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAW1E;;;;;;;;;;;;;;;;OAgBG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAS7E;;OAEG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASzD;;OAEG;IACI,QAAQ,CAAC,WAAW,EAAE,MAAM;IAMnC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAIxC;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,IAAI,IAAI;IAoBpB;;;;;OAKG;IACI,gBAAgB,CAAC,iBAAiB,UAAO;IAKhD;;;;;;;;;;;;;;;;OAgBG;IACI,IAAI;IAMX;;OAEG;IACI,OAAO;IAId;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAC5D,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,CAAW,GACnB,IAAI;IAMP;;;;;;;;;;;;;;;;;OAiBG;IACI,eAAe,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EACpE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,CAAW,GACnB,IAAI;IAOP;;OAEG;IACI,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EACnE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,CAAW,GACnB,oBAAoB,CAAC,CAAC,CAAC;IAQ1B;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAClE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,CAAW,GACnB,oBAAoB,CAAC,CAAC,CAAC;IAwB1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,OAAO,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAC5D,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAMzC;;OAEG;IACI,MAAM,CACX,QAAQ,EAAE,CACR,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS;IAevD;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,GAAQ;IAMrD;;OAEG;IACI,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,GAAQ;IAU5D;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,GAAG;IAMzB;;OAEG;IACU,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAWrD;;OAEG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM;IAM1B;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiDnF;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,oBAAoB;IAO1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAc/D;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,YAAY,CAAC,OAAO,GAAE,gBAAkC,GAAG,gBAAgB;CAGnF"}
@@ -1,4 +1,4 @@
1
- import {clone}from'@mongez/reinforcements';import {invalidRule,VALID_RULE}from'../helpers/validation-helpers.js';import {isEmptyValue}from'../helpers/is-empty-value.js';import {requiredRule}from'../rules/core/required.js';/**
1
+ import {clone}from'@mongez/reinforcements';import {validate}from'../factory/validate.js';import {invalidRule,VALID_RULE}from'../helpers/validation-helpers.js';import {isEmptyValue}from'../helpers/is-empty-value.js';import {requiredRule}from'../rules/core/required.js';import {mapToStandardResult}from'../standard-schema/map-result.js';import'dayjs';import'@mongez/supportive-is';import'net';import'./methods/equality-conditional-methods.js';import'./methods/forbidden-methods.js';import'./methods/present-methods.js';import'./methods/required-methods.js';/**
2
2
  * Base validator class - foundation for all validators
3
3
  */
4
4
  class BaseValidator {
@@ -547,4 +547,91 @@ class BaseValidator {
547
547
  ? this.attributesText[rule.name]
548
548
  : this.attributesText;
549
549
  }
550
+ /**
551
+ * Standard Schema V1 compliance.
552
+ *
553
+ * Allows this validator to be used with any Standard Schema-aware library
554
+ * (OpenAI structured outputs, LangGraph, TanStack Form, Conform, Valibot adapters, etc.)
555
+ * without extra adapters.
556
+ *
557
+ * Delegates to the `validate()` factory so all `configureSeal()` options
558
+ * (translations, firstErrorOnly) are picked up automatically at call time.
559
+ *
560
+ * Includes Standard JSON Schema support via `jsonSchema.input()` / `jsonSchema.output()`.
561
+ *
562
+ * ## How Standard Schema libraries consume this
563
+ *
564
+ * You pass the **schema object itself** to the library — they internally read
565
+ * `schema["~standard"]`. Do NOT pass `schema["~standard"]` directly.
566
+ *
567
+ * @example
568
+ * ```ts
569
+ * const schema = v.object({ name: v.string().required() });
570
+ *
571
+ * // TanStack Form — pass schema, library reads ["~standard"] internally
572
+ * const form = useForm({ validators: { onChange: schema } });
573
+ *
574
+ * // Conform (Remix) — same pattern
575
+ * const [form] = useForm({ onValidate({ formData }) {
576
+ * return parseWithStandardSchema(formData, { schema });
577
+ * }});
578
+ *
579
+ * // Direct validation (lower level — most apps don't need this)
580
+ * const result = await schema["~standard"].validate({ name: "Hasan" });
581
+ * // → { value: { name: "Hasan" } } on success
582
+ * // → { issues: [{ message: "...", path: [{ key: "name" }] }] } on failure
583
+ *
584
+ * // JSON Schema for OpenAI / LangChain tool calling
585
+ * const parameters = schema["~standard"].jsonSchema.input({ target: "openai-strict" });
586
+ * // → { type: "object", properties: {...}, required: [...], additionalProperties: false }
587
+ * ```
588
+ *
589
+ * @note Cross-field rules (sameAs, requiredIf, requiredWith) rely on sibling values
590
+ * available in the full validation context. When called on a standalone scalar validator,
591
+ * sibling data is absent and those rules will not evaluate correctly.
592
+ * Always call on the parent ObjectValidator for full-payload validation.
593
+ */
594
+ get ["~standard"]() {
595
+ return {
596
+ version: 1,
597
+ vendor: "seal",
598
+ types: undefined,
599
+ validate: async (value) => {
600
+ const result = await validate(this, value);
601
+ return mapToStandardResult(result);
602
+ },
603
+ jsonSchema: {
604
+ input: (options) => this.toJsonSchema(options.target),
605
+ output: (options) => this.toJsonSchema(options.target),
606
+ },
607
+ };
608
+ }
609
+ /**
610
+ * Generate a JSON Schema representation of this validator.
611
+ *
612
+ * Supports targets: `"draft-2020-12"` (default), `"draft-07"`, `"openapi-3.0"`.
613
+ *
614
+ * Subclasses override this to describe their specific constraints.
615
+ * The base implementation returns `{}` (permissive — accepts anything),
616
+ * which is correct for validators with no representable JSON Schema constraints.
617
+ *
618
+ * @note Rules that cannot be expressed in JSON Schema are silently omitted:
619
+ * - Cross-field rules: sameAs, requiredIf, requiredWith, requiredWithout
620
+ * - Custom callbacks: refine()
621
+ * - Framework-specific runtime rules (core/cascade plugins)
622
+ * These rules still run normally at validation time — only absent from JSON Schema.
623
+ *
624
+ * @example
625
+ * ```ts
626
+ * v.string().min(3).max(50).toJsonSchema("draft-2020-12")
627
+ * // → { type: "string", minLength: 3, maxLength: 50 }
628
+ *
629
+ * v.object({ name: v.string().required(), age: v.int().optional() })
630
+ * .toJsonSchema("draft-07")
631
+ * // → { type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name"] }
632
+ * ```
633
+ */
634
+ toJsonSchema(_target = "draft-2020-12") {
635
+ return {};
636
+ }
550
637
  }export{BaseValidator};//# sourceMappingURL=base-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-validator.js","sources":["../../src/validators/base-validator.ts"],"sourcesContent":[null],"names":["defaultRequiredRule"],"mappings":"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"}
1
+ {"version":3,"file":"base-validator.js","sources":["../../src/validators/base-validator.ts"],"sourcesContent":[null],"names":["defaultRequiredRule"],"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
  * Boolean validator class
4
5
  *
@@ -46,5 +47,21 @@ export declare class BooleanValidator extends PrimitiveValidator {
46
47
  * @alias declined - strict version
47
48
  */
48
49
  mustBeFalse(errorMessage?: string): this;
50
+ /**
51
+ * @inheritdoc
52
+ *
53
+ * @note accepted/declined rules and all cross-field boolean rules
54
+ * are not representable in JSON Schema and are silently omitted.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * v.boolean().toJsonSchema("draft-2020-12")
59
+ * // → { type: "boolean" }
60
+ *
61
+ * v.boolean().nullable().toJsonSchema("openapi-3.0")
62
+ * // → { type: "boolean", nullable: true }
63
+ * ```
64
+ */
65
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
49
66
  }
50
67
  //# sourceMappingURL=boolean-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-validator.d.ts","sourceRoot":"","sources":["../../src/validators/boolean-validator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;gBACnC,YAAY,CAAC,EAAE,MAAM;IAKxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAMvC,0DAA0D;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC,6DAA6D;IACtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE,iEAAiE;IAC1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,0DAA0D;IACnD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D,yDAAyD;IAClD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D,yDAAyD;IAClD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM3D,2DAA2D;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC,6DAA6D;IACtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE,iEAAiE;IAC1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,0DAA0D;IACnD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D,yDAAyD;IAClD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D,yDAAyD;IAClD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM3D;;;OAGG;IACI,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM;IAIvC;;;OAGG;IACI,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM;CAGzC"}
1
+ {"version":3,"file":"boolean-validator.d.ts","sourceRoot":"","sources":["../../src/validators/boolean-validator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;gBACnC,YAAY,CAAC,EAAE,MAAM;IAKxC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAMvC,0DAA0D;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC,6DAA6D;IACtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE,iEAAiE;IAC1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,0DAA0D;IACnD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D,yDAAyD;IAClD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D,yDAAyD;IAClD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM3D,2DAA2D;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAIrC,6DAA6D;IACtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAIlE,iEAAiE;IAC1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,0DAA0D;IACnD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9D,yDAAyD;IAClD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAI7D,yDAAyD;IAClD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM3D;;;OAGG;IACI,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM;IAIvC;;;OAGG;IACI,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM;IAIxC;;;;;;;;;;;;;;OAcG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAK3F"}
@@ -1,4 +1,4 @@
1
- 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'@mongez/reinforcements';import'@mongez/supportive-is';import'net';import {booleanRule}from'../rules/common/type-rules.js';import {PrimitiveValidator}from'./primitive-validator.js';/**
1
+ 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'@mongez/reinforcements';import'@mongez/supportive-is';import'net';import {booleanRule}from'../rules/common/type-rules.js';import {PrimitiveValidator}from'./primitive-validator.js';import {applyNullable}from'../standard-schema/json-schema.js';/**
2
2
  * Boolean validator class
3
3
  *
4
4
  * Extends PrimitiveValidator — inherits enum/in/oneOf/allowsOnly/forbids/notIn.
@@ -81,4 +81,25 @@ class BooleanValidator extends PrimitiveValidator {
81
81
  mustBeFalse(errorMessage) {
82
82
  return this.equal(false, errorMessage);
83
83
  }
84
+ /**
85
+ * @inheritdoc
86
+ *
87
+ * @note accepted/declined rules and all cross-field boolean rules
88
+ * are not representable in JSON Schema and are silently omitted.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * v.boolean().toJsonSchema("draft-2020-12")
93
+ * // → { type: "boolean" }
94
+ *
95
+ * v.boolean().nullable().toJsonSchema("openapi-3.0")
96
+ * // → { type: "boolean", nullable: true }
97
+ * ```
98
+ */
99
+ toJsonSchema(target = "draft-2020-12") {
100
+ const schema = { type: "boolean" };
101
+ if (this.isNullable)
102
+ applyNullable(schema, target);
103
+ return schema;
104
+ }
84
105
  }export{BooleanValidator};//# sourceMappingURL=boolean-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-validator.js","sources":["../../src/validators/boolean-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boolean-validator.js","sources":["../../src/validators/boolean-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
  * Callback function for computed fields
5
6
  * Receives validated & mutated data and full schema context
@@ -60,5 +61,15 @@ export declare class ComputedValidator<TResult = any> extends BaseValidator {
60
61
  * Computed fields don't have a specific type to match
61
62
  */
62
63
  matchesType(value: any): boolean;
64
+ /**
65
+ * @inheritdoc
66
+ *
67
+ * Computed fields are server-side runtime values — they have no input schema
68
+ * and cannot be represented in JSON Schema. Calling this method is always a
69
+ * programming error.
70
+ *
71
+ * @throws Error Always throws — computed/managed fields have no JSON Schema representation.
72
+ */
73
+ toJsonSchema(_target?: JsonSchemaTarget): JsonSchemaResult;
63
74
  }
64
75
  //# sourceMappingURL=computed-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"computed-validator.d.ts","sourceRoot":"","sources":["../../src/validators/computed-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,GAAG,GAAG,IAAI,CAC5C,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,KACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,iBAAiB,CAAC,OAAO,GAAG,GAAG,CAAE,SAAQ,aAAa;IAQ/D,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC7C,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa;IAR3C;;;;;OAKG;gBAES,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,EACnC,eAAe,CAAC,EAAE,aAAa;IAK3C;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8CnF;;;OAGG;IACa,KAAK,IAAI,IAAI;IAU7B;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAGxC"}
1
+ {"version":3,"file":"computed-validator.d.ts","sourceRoot":"","sources":["../../src/validators/computed-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,GAAG,GAAG,IAAI,CAC5C,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,KACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,iBAAiB,CAAC,OAAO,GAAG,GAAG,CAAE,SAAQ,aAAa;IAQ/D,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC7C,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa;IAR3C;;;;;OAKG;gBAES,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,EACnC,eAAe,CAAC,EAAE,aAAa;IAK3C;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8CnF;;;OAGG;IACa,KAAK,IAAI,IAAI;IAU7B;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;;;;;;;OAQG;IACa,YAAY,CAAC,OAAO,GAAE,gBAAkC,GAAG,gBAAgB;CAQ5F"}