anyvali 0.3.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 (204) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +370 -0
  3. package/VERSION +1 -0
  4. package/dist/errors.d.ts +6 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +12 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/format/validators.d.ts +2 -0
  9. package/dist/format/validators.d.ts.map +1 -0
  10. package/dist/format/validators.js +57 -0
  11. package/dist/format/validators.js.map +1 -0
  12. package/dist/forms/index.d.ts +57 -0
  13. package/dist/forms/index.d.ts.map +1 -0
  14. package/dist/forms/index.js +586 -0
  15. package/dist/forms/index.js.map +1 -0
  16. package/dist/index.d.ts +93 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +156 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/infer.d.ts +8 -0
  21. package/dist/infer.d.ts.map +1 -0
  22. package/dist/infer.js +2 -0
  23. package/dist/infer.js.map +1 -0
  24. package/dist/interchange/document.d.ts +5 -0
  25. package/dist/interchange/document.d.ts.map +1 -0
  26. package/dist/interchange/document.js +12 -0
  27. package/dist/interchange/document.js.map +1 -0
  28. package/dist/interchange/exporter.d.ts +7 -0
  29. package/dist/interchange/exporter.d.ts.map +1 -0
  30. package/dist/interchange/exporter.js +7 -0
  31. package/dist/interchange/exporter.js.map +1 -0
  32. package/dist/interchange/importer.d.ts +4 -0
  33. package/dist/interchange/importer.d.ts.map +1 -0
  34. package/dist/interchange/importer.js +229 -0
  35. package/dist/interchange/importer.js.map +1 -0
  36. package/dist/issue-codes.d.ts +19 -0
  37. package/dist/issue-codes.d.ts.map +1 -0
  38. package/dist/issue-codes.js +18 -0
  39. package/dist/issue-codes.js.map +1 -0
  40. package/dist/parse/coerce.d.ts +16 -0
  41. package/dist/parse/coerce.d.ts.map +1 -0
  42. package/dist/parse/coerce.js +115 -0
  43. package/dist/parse/coerce.js.map +1 -0
  44. package/dist/parse/defaults.d.ts +7 -0
  45. package/dist/parse/defaults.d.ts.map +1 -0
  46. package/dist/parse/defaults.js +12 -0
  47. package/dist/parse/defaults.js.map +1 -0
  48. package/dist/parse/parser.d.ts +11 -0
  49. package/dist/parse/parser.d.ts.map +1 -0
  50. package/dist/parse/parser.js +13 -0
  51. package/dist/parse/parser.js.map +1 -0
  52. package/dist/schemas/any.d.ts +7 -0
  53. package/dist/schemas/any.d.ts.map +1 -0
  54. package/dist/schemas/any.js +12 -0
  55. package/dist/schemas/any.js.map +1 -0
  56. package/dist/schemas/array.d.ts +13 -0
  57. package/dist/schemas/array.d.ts.map +1 -0
  58. package/dist/schemas/array.js +73 -0
  59. package/dist/schemas/array.js.map +1 -0
  60. package/dist/schemas/base.d.ts +37 -0
  61. package/dist/schemas/base.d.ts.map +1 -0
  62. package/dist/schemas/base.js +285 -0
  63. package/dist/schemas/base.js.map +1 -0
  64. package/dist/schemas/bool.d.ts +8 -0
  65. package/dist/schemas/bool.d.ts.map +1 -0
  66. package/dist/schemas/bool.js +27 -0
  67. package/dist/schemas/bool.js.map +1 -0
  68. package/dist/schemas/enum.d.ts +9 -0
  69. package/dist/schemas/enum.d.ts.map +1 -0
  70. package/dist/schemas/enum.js +31 -0
  71. package/dist/schemas/enum.js.map +1 -0
  72. package/dist/schemas/index.d.ts +21 -0
  73. package/dist/schemas/index.d.ts.map +1 -0
  74. package/dist/schemas/index.js +21 -0
  75. package/dist/schemas/index.js.map +1 -0
  76. package/dist/schemas/int.d.ts +32 -0
  77. package/dist/schemas/int.d.ts.map +1 -0
  78. package/dist/schemas/int.js +108 -0
  79. package/dist/schemas/int.js.map +1 -0
  80. package/dist/schemas/intersection.d.ts +16 -0
  81. package/dist/schemas/intersection.d.ts.map +1 -0
  82. package/dist/schemas/intersection.js +58 -0
  83. package/dist/schemas/intersection.js.map +1 -0
  84. package/dist/schemas/literal.d.ts +11 -0
  85. package/dist/schemas/literal.d.ts.map +1 -0
  86. package/dist/schemas/literal.js +28 -0
  87. package/dist/schemas/literal.js.map +1 -0
  88. package/dist/schemas/never.d.ts +7 -0
  89. package/dist/schemas/never.d.ts.map +1 -0
  90. package/dist/schemas/never.js +19 -0
  91. package/dist/schemas/never.js.map +1 -0
  92. package/dist/schemas/null.d.ts +7 -0
  93. package/dist/schemas/null.d.ts.map +1 -0
  94. package/dist/schemas/null.js +24 -0
  95. package/dist/schemas/null.js.map +1 -0
  96. package/dist/schemas/nullable.d.ts +10 -0
  97. package/dist/schemas/nullable.d.ts.map +1 -0
  98. package/dist/schemas/nullable.js +29 -0
  99. package/dist/schemas/nullable.js.map +1 -0
  100. package/dist/schemas/number.d.ts +27 -0
  101. package/dist/schemas/number.d.ts.map +1 -0
  102. package/dist/schemas/number.js +134 -0
  103. package/dist/schemas/number.js.map +1 -0
  104. package/dist/schemas/object.d.ts +28 -0
  105. package/dist/schemas/object.d.ts.map +1 -0
  106. package/dist/schemas/object.js +153 -0
  107. package/dist/schemas/object.js.map +1 -0
  108. package/dist/schemas/optional.d.ts +11 -0
  109. package/dist/schemas/optional.d.ts.map +1 -0
  110. package/dist/schemas/optional.js +39 -0
  111. package/dist/schemas/optional.js.map +1 -0
  112. package/dist/schemas/record.d.ts +9 -0
  113. package/dist/schemas/record.d.ts.map +1 -0
  114. package/dist/schemas/record.js +45 -0
  115. package/dist/schemas/record.js.map +1 -0
  116. package/dist/schemas/ref.d.ts +10 -0
  117. package/dist/schemas/ref.d.ts.map +1 -0
  118. package/dist/schemas/ref.js +30 -0
  119. package/dist/schemas/ref.js.map +1 -0
  120. package/dist/schemas/string.d.ts +29 -0
  121. package/dist/schemas/string.d.ts.map +1 -0
  122. package/dist/schemas/string.js +181 -0
  123. package/dist/schemas/string.js.map +1 -0
  124. package/dist/schemas/tuple.d.ts +14 -0
  125. package/dist/schemas/tuple.d.ts.map +1 -0
  126. package/dist/schemas/tuple.js +59 -0
  127. package/dist/schemas/tuple.js.map +1 -0
  128. package/dist/schemas/union.d.ts +9 -0
  129. package/dist/schemas/union.d.ts.map +1 -0
  130. package/dist/schemas/union.js +45 -0
  131. package/dist/schemas/union.js.map +1 -0
  132. package/dist/schemas/unknown.d.ts +7 -0
  133. package/dist/schemas/unknown.d.ts.map +1 -0
  134. package/dist/schemas/unknown.js +12 -0
  135. package/dist/schemas/unknown.js.map +1 -0
  136. package/dist/types.d.ts +132 -0
  137. package/dist/types.d.ts.map +1 -0
  138. package/dist/types.js +3 -0
  139. package/dist/types.js.map +1 -0
  140. package/dist/util.d.ts +6 -0
  141. package/dist/util.d.ts.map +1 -0
  142. package/dist/util.js +12 -0
  143. package/dist/util.js.map +1 -0
  144. package/package.json +41 -0
  145. package/sdk/js/CHANGELOG.md +13 -0
  146. package/src/errors.ts +17 -0
  147. package/src/format/validators.ts +71 -0
  148. package/src/forms/index.ts +789 -0
  149. package/src/index.ts +285 -0
  150. package/src/infer.ts +12 -0
  151. package/src/interchange/document.ts +18 -0
  152. package/src/interchange/exporter.ts +12 -0
  153. package/src/interchange/importer.ts +285 -0
  154. package/src/issue-codes.ts +19 -0
  155. package/src/parse/coerce.ts +133 -0
  156. package/src/parse/defaults.ts +15 -0
  157. package/src/parse/parser.ts +19 -0
  158. package/src/schemas/any.ts +14 -0
  159. package/src/schemas/array.ts +83 -0
  160. package/src/schemas/base.ts +322 -0
  161. package/src/schemas/bool.ts +30 -0
  162. package/src/schemas/enum.ts +37 -0
  163. package/src/schemas/index.ts +30 -0
  164. package/src/schemas/int.ts +129 -0
  165. package/src/schemas/intersection.ts +81 -0
  166. package/src/schemas/literal.ts +34 -0
  167. package/src/schemas/never.ts +21 -0
  168. package/src/schemas/null.ts +26 -0
  169. package/src/schemas/nullable.ts +36 -0
  170. package/src/schemas/number.ts +151 -0
  171. package/src/schemas/object.ts +203 -0
  172. package/src/schemas/optional.ts +49 -0
  173. package/src/schemas/record.ts +55 -0
  174. package/src/schemas/ref.ts +35 -0
  175. package/src/schemas/string.ts +192 -0
  176. package/src/schemas/tuple.ts +74 -0
  177. package/src/schemas/union.ts +53 -0
  178. package/src/schemas/unknown.ts +14 -0
  179. package/src/types.ts +239 -0
  180. package/src/util.ts +9 -0
  181. package/tests/conformance/runner.test.ts +28 -0
  182. package/tests/conformance/runner.ts +137 -0
  183. package/tests/forms.test.ts +146 -0
  184. package/tests/unit/coerce.test.ts +136 -0
  185. package/tests/unit/collections.test.ts +99 -0
  186. package/tests/unit/composition.test.ts +80 -0
  187. package/tests/unit/date-format.test.ts +18 -0
  188. package/tests/unit/default-mutation.test.ts +32 -0
  189. package/tests/unit/defaults.test.ts +49 -0
  190. package/tests/unit/errors.test.ts +53 -0
  191. package/tests/unit/export.test.ts +270 -0
  192. package/tests/unit/inference.test.ts +306 -0
  193. package/tests/unit/interchange.test.ts +191 -0
  194. package/tests/unit/number.test.ts +195 -0
  195. package/tests/unit/object.test.ts +208 -0
  196. package/tests/unit/parser.test.ts +151 -0
  197. package/tests/unit/primitives.test.ts +111 -0
  198. package/tests/unit/security-recursion.test.ts +105 -0
  199. package/tests/unit/security.test.ts +945 -0
  200. package/tests/unit/shared-ref-falsepos.test.ts +33 -0
  201. package/tests/unit/string-pattern-redos.test.ts +46 -0
  202. package/tests/unit/string.test.ts +147 -0
  203. package/tsconfig.json +21 -0
  204. package/vitest.config.ts +7 -0
@@ -0,0 +1,93 @@
1
+ export type { SchemaNode, SchemaKind, ParseResult, ValidationIssue, AnyValiDocument, ExportMode, UnknownKeyMode, CoercionConfig, StringFormat, ParseContext, MetadataOptions, DescribeOptions, } from "./types.js";
2
+ export { ISSUE_CODES } from "./issue-codes.js";
3
+ export type { IssueCode } from "./issue-codes.js";
4
+ export type { SchemaAny, Infer, InferInput } from "./infer.js";
5
+ export { ValidationError } from "./errors.js";
6
+ export { BaseSchema, ABSENT, StringSchema, NumberSchema, Float32Schema, Float64Schema, IntSchema, Int8Schema, Int16Schema, Int32Schema, Int64Schema, Uint8Schema, Uint16Schema, Uint32Schema, Uint64Schema, BoolSchema, NullSchema, AnySchema, UnknownSchema, NeverSchema, LiteralSchema, EnumSchema, ArraySchema, TupleSchema, ObjectSchema, RecordSchema, UnionSchema, IntersectionSchema, OptionalSchema, NullableSchema, RefSchema, } from "./schemas/index.js";
7
+ import { StringSchema } from "./schemas/string.js";
8
+ import { NumberSchema, Float32Schema, Float64Schema } from "./schemas/number.js";
9
+ import { IntSchema, Int8Schema, Int16Schema, Int32Schema, Int64Schema, Uint8Schema, Uint16Schema, Uint32Schema, Uint64Schema } from "./schemas/int.js";
10
+ import { BoolSchema } from "./schemas/bool.js";
11
+ import { NullSchema } from "./schemas/null.js";
12
+ import { AnySchema } from "./schemas/any.js";
13
+ import { UnknownSchema } from "./schemas/unknown.js";
14
+ import { NeverSchema } from "./schemas/never.js";
15
+ import { LiteralSchema } from "./schemas/literal.js";
16
+ import { EnumSchema } from "./schemas/enum.js";
17
+ import { ArraySchema } from "./schemas/array.js";
18
+ import { TupleSchema } from "./schemas/tuple.js";
19
+ import { ObjectSchema } from "./schemas/object.js";
20
+ import { RecordSchema } from "./schemas/record.js";
21
+ import { UnionSchema } from "./schemas/union.js";
22
+ import { IntersectionSchema } from "./schemas/intersection.js";
23
+ import { OptionalSchema } from "./schemas/optional.js";
24
+ import { NullableSchema } from "./schemas/nullable.js";
25
+ import { BaseSchema } from "./schemas/base.js";
26
+ import type { UnknownKeyMode, ParseResult, AnyValiDocument, ExportMode } from "./types.js";
27
+ /** Create a string schema */
28
+ export declare function string(): StringSchema;
29
+ /** Create a number (float64) schema */
30
+ export declare function number(): NumberSchema;
31
+ /** Create a float32 schema */
32
+ export declare function float32(): Float32Schema;
33
+ /** Create a float64 schema */
34
+ export declare function float64(): Float64Schema;
35
+ /** Create an int (int64) schema */
36
+ export declare function int(): IntSchema;
37
+ /** Create an int8 schema */
38
+ export declare function int8(): Int8Schema;
39
+ /** Create an int16 schema */
40
+ export declare function int16(): Int16Schema;
41
+ /** Create an int32 schema */
42
+ export declare function int32(): Int32Schema;
43
+ /** Create an int64 schema */
44
+ export declare function int64(): Int64Schema;
45
+ /** Create a uint8 schema */
46
+ export declare function uint8(): Uint8Schema;
47
+ /** Create a uint16 schema */
48
+ export declare function uint16(): Uint16Schema;
49
+ /** Create a uint32 schema */
50
+ export declare function uint32(): Uint32Schema;
51
+ /** Create a uint64 schema */
52
+ export declare function uint64(): Uint64Schema;
53
+ /** Create a boolean schema */
54
+ export declare function bool(): BoolSchema;
55
+ /** Create a null schema. Named null_ to avoid conflict with the null keyword. */
56
+ export declare function null_(): NullSchema;
57
+ /** Create an any schema */
58
+ export declare function any(): AnySchema;
59
+ /** Create an unknown schema */
60
+ export declare function unknown(): UnknownSchema;
61
+ /** Create a never schema */
62
+ export declare function never(): NeverSchema;
63
+ /** Create a literal schema */
64
+ export declare function literal<T extends string | number | boolean | null>(value: T): LiteralSchema<T>;
65
+ /** Create an enum schema. Named enum_ to avoid conflict with the enum keyword. */
66
+ export declare function enum_<T extends readonly (string | number)[]>(values: T): EnumSchema<T>;
67
+ /** Create an array schema */
68
+ export declare function array<T extends BaseSchema<any, any>>(items: T): ArraySchema<T>;
69
+ /** Create a tuple schema */
70
+ export declare function tuple<T extends BaseSchema<any, any>[]>(items: [...T]): TupleSchema<T>;
71
+ /** Create an object schema */
72
+ export declare function object<T extends Record<string, BaseSchema<any, any>>>(shape: T, options?: {
73
+ unknownKeys?: UnknownKeyMode;
74
+ }): ObjectSchema<T>;
75
+ /** Create a record schema */
76
+ export declare function record<T extends BaseSchema<any, any>>(valueSchema: T): RecordSchema<T>;
77
+ /** Create a union schema */
78
+ export declare function union<T extends BaseSchema<any, any>[]>(variants: [...T]): UnionSchema<T>;
79
+ /** Create an intersection schema */
80
+ export declare function intersection<T extends BaseSchema<any, any>[]>(schemas: [...T]): IntersectionSchema<T>;
81
+ /** Wrap a schema as optional */
82
+ export declare function optional<T extends BaseSchema<any, any>>(schema: T): OptionalSchema<T>;
83
+ /** Wrap a schema as nullable */
84
+ export declare function nullable<T extends BaseSchema<any, any>>(schema: T): NullableSchema<T>;
85
+ /** Parse input using the given schema. Throws ValidationError on failure. */
86
+ export declare function parse<T>(schema: BaseSchema<unknown, T>, input: unknown): T;
87
+ /** Parse input using the given schema. Returns a result object. */
88
+ export declare function safeParse<T>(schema: BaseSchema<unknown, T>, input: unknown): ParseResult<T>;
89
+ /** Export a schema to an AnyValiDocument */
90
+ export declare function exportSchema(schema: BaseSchema, mode?: ExportMode): AnyValiDocument;
91
+ /** Import an AnyValiDocument to a live schema */
92
+ export declare function importSchema(doc: AnyValiDocument): BaseSchema;
93
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,156 @@
1
+ export { ISSUE_CODES } from "./issue-codes.js";
2
+ export { ValidationError } from "./errors.js";
3
+ // ---- Re-export schema classes ----
4
+ export { BaseSchema, ABSENT, StringSchema, NumberSchema, Float32Schema, Float64Schema, IntSchema, Int8Schema, Int16Schema, Int32Schema, Int64Schema, Uint8Schema, Uint16Schema, Uint32Schema, Uint64Schema, BoolSchema, NullSchema, AnySchema, UnknownSchema, NeverSchema, LiteralSchema, EnumSchema, ArraySchema, TupleSchema, ObjectSchema, RecordSchema, UnionSchema, IntersectionSchema, OptionalSchema, NullableSchema, RefSchema, } from "./schemas/index.js";
5
+ // ---- Builder functions ----
6
+ import { StringSchema } from "./schemas/string.js";
7
+ import { NumberSchema, Float32Schema, Float64Schema } from "./schemas/number.js";
8
+ import { IntSchema, Int8Schema, Int16Schema, Int32Schema, Int64Schema, Uint8Schema, Uint16Schema, Uint32Schema, Uint64Schema, } from "./schemas/int.js";
9
+ import { BoolSchema } from "./schemas/bool.js";
10
+ import { NullSchema } from "./schemas/null.js";
11
+ import { AnySchema } from "./schemas/any.js";
12
+ import { UnknownSchema } from "./schemas/unknown.js";
13
+ import { NeverSchema } from "./schemas/never.js";
14
+ import { LiteralSchema } from "./schemas/literal.js";
15
+ import { EnumSchema } from "./schemas/enum.js";
16
+ import { ArraySchema } from "./schemas/array.js";
17
+ import { TupleSchema } from "./schemas/tuple.js";
18
+ import { ObjectSchema } from "./schemas/object.js";
19
+ import { RecordSchema } from "./schemas/record.js";
20
+ import { UnionSchema } from "./schemas/union.js";
21
+ import { IntersectionSchema } from "./schemas/intersection.js";
22
+ import { OptionalSchema } from "./schemas/optional.js";
23
+ import { NullableSchema } from "./schemas/nullable.js";
24
+ /** Create a string schema */
25
+ export function string() {
26
+ return new StringSchema();
27
+ }
28
+ /** Create a number (float64) schema */
29
+ export function number() {
30
+ return new NumberSchema();
31
+ }
32
+ /** Create a float32 schema */
33
+ export function float32() {
34
+ return new Float32Schema();
35
+ }
36
+ /** Create a float64 schema */
37
+ export function float64() {
38
+ return new Float64Schema();
39
+ }
40
+ /** Create an int (int64) schema */
41
+ export function int() {
42
+ return new IntSchema();
43
+ }
44
+ /** Create an int8 schema */
45
+ export function int8() {
46
+ return new Int8Schema();
47
+ }
48
+ /** Create an int16 schema */
49
+ export function int16() {
50
+ return new Int16Schema();
51
+ }
52
+ /** Create an int32 schema */
53
+ export function int32() {
54
+ return new Int32Schema();
55
+ }
56
+ /** Create an int64 schema */
57
+ export function int64() {
58
+ return new Int64Schema();
59
+ }
60
+ /** Create a uint8 schema */
61
+ export function uint8() {
62
+ return new Uint8Schema();
63
+ }
64
+ /** Create a uint16 schema */
65
+ export function uint16() {
66
+ return new Uint16Schema();
67
+ }
68
+ /** Create a uint32 schema */
69
+ export function uint32() {
70
+ return new Uint32Schema();
71
+ }
72
+ /** Create a uint64 schema */
73
+ export function uint64() {
74
+ return new Uint64Schema();
75
+ }
76
+ /** Create a boolean schema */
77
+ export function bool() {
78
+ return new BoolSchema();
79
+ }
80
+ /** Create a null schema. Named null_ to avoid conflict with the null keyword. */
81
+ export function null_() {
82
+ return new NullSchema();
83
+ }
84
+ /** Create an any schema */
85
+ export function any() {
86
+ return new AnySchema();
87
+ }
88
+ /** Create an unknown schema */
89
+ export function unknown() {
90
+ return new UnknownSchema();
91
+ }
92
+ /** Create a never schema */
93
+ export function never() {
94
+ return new NeverSchema();
95
+ }
96
+ /** Create a literal schema */
97
+ export function literal(value) {
98
+ return new LiteralSchema(value);
99
+ }
100
+ /** Create an enum schema. Named enum_ to avoid conflict with the enum keyword. */
101
+ export function enum_(values) {
102
+ return new EnumSchema(values);
103
+ }
104
+ /** Create an array schema */
105
+ export function array(items) {
106
+ return new ArraySchema(items);
107
+ }
108
+ /** Create a tuple schema */
109
+ export function tuple(items) {
110
+ return new TupleSchema(items);
111
+ }
112
+ /** Create an object schema */
113
+ export function object(shape, options) {
114
+ return new ObjectSchema(shape, options);
115
+ }
116
+ /** Create a record schema */
117
+ export function record(valueSchema) {
118
+ return new RecordSchema(valueSchema);
119
+ }
120
+ /** Create a union schema */
121
+ export function union(variants) {
122
+ return new UnionSchema(variants);
123
+ }
124
+ /** Create an intersection schema */
125
+ export function intersection(schemas) {
126
+ return new IntersectionSchema(schemas);
127
+ }
128
+ /** Wrap a schema as optional */
129
+ export function optional(schema) {
130
+ return new OptionalSchema(schema);
131
+ }
132
+ /** Wrap a schema as nullable */
133
+ export function nullable(schema) {
134
+ return new NullableSchema(schema);
135
+ }
136
+ // ---- Top-level parse functions ----
137
+ /** Parse input using the given schema. Throws ValidationError on failure. */
138
+ export function parse(schema, input) {
139
+ return schema.parse(input);
140
+ }
141
+ /** Parse input using the given schema. Returns a result object. */
142
+ export function safeParse(schema, input) {
143
+ return schema.safeParse(input);
144
+ }
145
+ // ---- Interchange functions ----
146
+ import { exportSchema as _exportSchema } from "./interchange/exporter.js";
147
+ import { importSchema as _importSchema } from "./interchange/importer.js";
148
+ /** Export a schema to an AnyValiDocument */
149
+ export function exportSchema(schema, mode = "portable") {
150
+ return _exportSchema(schema, mode);
151
+ }
152
+ /** Import an AnyValiDocument to a live schema */
153
+ export function importSchema(doc) {
154
+ return _importSchema(doc);
155
+ }
156
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { BaseSchema } from "./schemas/base.js";
2
+ /** Any AnyVali schema. Use as a generic constraint. Equivalent to Zod's ZodTypeAny. */
3
+ export type SchemaAny = BaseSchema<any, any>;
4
+ /** Extract the output type from a schema. Equivalent to Zod's z.infer. */
5
+ export type Infer<T extends SchemaAny> = T["_output"];
6
+ /** Extract the input type from a schema. */
7
+ export type InferInput<T extends SchemaAny> = T extends BaseSchema<infer I, any> ? I : never;
8
+ //# sourceMappingURL=infer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../src/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,uFAAuF;AACvF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAC5E,CAAC,GACD,KAAK,CAAC"}
package/dist/infer.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=infer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer.js","sourceRoot":"","sources":["../src/infer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { AnyValiDocument } from "../types.js";
2
+ export declare const ANYVALI_VERSION = "1.0";
3
+ export declare const SCHEMA_VERSION = "1";
4
+ export declare function createDocument(root: import("../types.js").SchemaNode, definitions?: Record<string, import("../types.js").SchemaNode>, extensions?: Record<string, Record<string, unknown>>): AnyValiDocument;
5
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/interchange/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,aAAa,EAAE,UAAU,EACtC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,UAAU,CAAM,EAClE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GACvD,eAAe,CAQjB"}
@@ -0,0 +1,12 @@
1
+ export const ANYVALI_VERSION = "1.0";
2
+ export const SCHEMA_VERSION = "1";
3
+ export function createDocument(root, definitions = {}, extensions = {}) {
4
+ return {
5
+ anyvaliVersion: ANYVALI_VERSION,
6
+ schemaVersion: SCHEMA_VERSION,
7
+ root,
8
+ definitions,
9
+ extensions,
10
+ };
11
+ }
12
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/interchange/document.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,cAAc,CAC5B,IAAsC,EACtC,cAAgE,EAAE,EAClE,aAAsD,EAAE;IAExD,OAAO;QACL,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,cAAc;QAC7B,IAAI;QACJ,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AnyValiDocument, ExportMode } from "../types.js";
2
+ import { BaseSchema } from "../schemas/base.js";
3
+ /**
4
+ * Export a schema to a portable AnyValiDocument.
5
+ */
6
+ export declare function exportSchema(schema: BaseSchema, mode?: ExportMode): AnyValiDocument;
7
+ //# sourceMappingURL=exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../src/interchange/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,UAAuB,GAC5B,eAAe,CAEjB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Export a schema to a portable AnyValiDocument.
3
+ */
4
+ export function exportSchema(schema, mode = "portable") {
5
+ return schema.export(mode);
6
+ }
7
+ //# sourceMappingURL=exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/interchange/exporter.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkB,EAClB,OAAmB,UAAU;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AnyValiDocument } from "../types.js";
2
+ import { BaseSchema } from "../schemas/base.js";
3
+ export declare function importSchema(doc: AnyValiDocument): BaseSchema;
4
+ //# sourceMappingURL=importer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../src/interchange/importer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgDhD,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,UAAU,CAyN7D"}
@@ -0,0 +1,229 @@
1
+ import { StringSchema } from "../schemas/string.js";
2
+ import { NumberSchema, Float32Schema, Float64Schema, } from "../schemas/number.js";
3
+ import { IntSchema, Int8Schema, Int16Schema, Int32Schema, Int64Schema, Uint8Schema, Uint16Schema, Uint32Schema, Uint64Schema, } from "../schemas/int.js";
4
+ import { BoolSchema } from "../schemas/bool.js";
5
+ import { NullSchema } from "../schemas/null.js";
6
+ import { AnySchema } from "../schemas/any.js";
7
+ import { UnknownSchema } from "../schemas/unknown.js";
8
+ import { NeverSchema } from "../schemas/never.js";
9
+ import { LiteralSchema } from "../schemas/literal.js";
10
+ import { EnumSchema } from "../schemas/enum.js";
11
+ import { ArraySchema } from "../schemas/array.js";
12
+ import { TupleSchema } from "../schemas/tuple.js";
13
+ import { ObjectSchema } from "../schemas/object.js";
14
+ import { RecordSchema } from "../schemas/record.js";
15
+ import { UnionSchema } from "../schemas/union.js";
16
+ import { IntersectionSchema } from "../schemas/intersection.js";
17
+ import { OptionalSchema } from "../schemas/optional.js";
18
+ import { NullableSchema } from "../schemas/nullable.js";
19
+ import { RefSchema } from "../schemas/ref.js";
20
+ import { normalizeCoercionConfig } from "../parse/coerce.js";
21
+ /**
22
+ * Import an AnyValiDocument back into a live Schema.
23
+ */
24
+ /**
25
+ * Maximum schema-document nesting depth accepted by importSchema. Bounds the
26
+ * recursive importNode walk so an untrusted, deeply nested document cannot
27
+ * exhaust the call stack (DoS). Throws a controlled error instead of a
28
+ * RangeError stack overflow.
29
+ */
30
+ const MAX_IMPORT_DEPTH = 512;
31
+ export function importSchema(doc) {
32
+ const definitions = doc.definitions ?? {};
33
+ const resolvedDefs = new Map();
34
+ function importNode(node, depth = 0) {
35
+ if (depth > MAX_IMPORT_DEPTH) {
36
+ throw new Error(`Schema document too deeply nested (max depth ${MAX_IMPORT_DEPTH} exceeded)`);
37
+ }
38
+ const d = depth + 1;
39
+ let schema;
40
+ switch (node.kind) {
41
+ case "string": {
42
+ let s = new StringSchema();
43
+ if (node.minLength !== undefined)
44
+ s = s.minLength(node.minLength);
45
+ if (node.maxLength !== undefined)
46
+ s = s.maxLength(node.maxLength);
47
+ if (node.pattern !== undefined)
48
+ s = s.pattern(node.pattern);
49
+ if (node.startsWith !== undefined)
50
+ s = s.startsWith(node.startsWith);
51
+ if (node.endsWith !== undefined)
52
+ s = s.endsWith(node.endsWith);
53
+ if (node.includes !== undefined)
54
+ s = s.includes(node.includes);
55
+ if (node.format !== undefined)
56
+ s = s.format(node.format);
57
+ schema = s;
58
+ break;
59
+ }
60
+ case "number":
61
+ case "float64": {
62
+ let s = node.kind === "float64" ? new Float64Schema() : new NumberSchema();
63
+ schema = applyNumericConstraints(s, node);
64
+ break;
65
+ }
66
+ case "float32": {
67
+ schema = applyNumericConstraints(new Float32Schema(), node);
68
+ break;
69
+ }
70
+ case "int":
71
+ case "int64": {
72
+ schema = applyNumericConstraints(node.kind === "int64" ? new Int64Schema() : new IntSchema(), node);
73
+ break;
74
+ }
75
+ case "int8":
76
+ schema = applyNumericConstraints(new Int8Schema(), node);
77
+ break;
78
+ case "int16":
79
+ schema = applyNumericConstraints(new Int16Schema(), node);
80
+ break;
81
+ case "int32":
82
+ schema = applyNumericConstraints(new Int32Schema(), node);
83
+ break;
84
+ case "uint8":
85
+ schema = applyNumericConstraints(new Uint8Schema(), node);
86
+ break;
87
+ case "uint16":
88
+ schema = applyNumericConstraints(new Uint16Schema(), node);
89
+ break;
90
+ case "uint32":
91
+ schema = applyNumericConstraints(new Uint32Schema(), node);
92
+ break;
93
+ case "uint64":
94
+ schema = applyNumericConstraints(new Uint64Schema(), node);
95
+ break;
96
+ case "bool":
97
+ schema = new BoolSchema();
98
+ break;
99
+ case "null":
100
+ schema = new NullSchema();
101
+ break;
102
+ case "any":
103
+ schema = new AnySchema();
104
+ break;
105
+ case "unknown":
106
+ schema = new UnknownSchema();
107
+ break;
108
+ case "never":
109
+ schema = new NeverSchema();
110
+ break;
111
+ case "literal": {
112
+ schema = new LiteralSchema(node.value);
113
+ break;
114
+ }
115
+ case "enum": {
116
+ schema = new EnumSchema(node.values);
117
+ break;
118
+ }
119
+ case "array": {
120
+ let s = new ArraySchema(importNode(node.items, d));
121
+ if (node.minItems !== undefined)
122
+ s = s.minItems(node.minItems);
123
+ if (node.maxItems !== undefined)
124
+ s = s.maxItems(node.maxItems);
125
+ schema = s;
126
+ break;
127
+ }
128
+ case "tuple": {
129
+ // Corpus uses "elements", our export uses "items"
130
+ const elements = node.elements ?? node.items;
131
+ schema = new TupleSchema(elements.map((i) => importNode(i, d)));
132
+ break;
133
+ }
134
+ case "object": {
135
+ const shape = Object.create(null);
136
+ const requiredSet = new Set(node.required ?? []);
137
+ for (const [key, propNode] of Object.entries(node.properties ?? {})) {
138
+ let propSchema = importNode(propNode, d);
139
+ if (!requiredSet.has(key)) {
140
+ propSchema = new OptionalSchema(propSchema);
141
+ }
142
+ // Use defineProperty to safely handle __proto__ and other special keys
143
+ Object.defineProperty(shape, key, {
144
+ value: propSchema,
145
+ writable: true,
146
+ enumerable: true,
147
+ configurable: true,
148
+ });
149
+ }
150
+ Object.setPrototypeOf(shape, Object.prototype);
151
+ schema = new ObjectSchema(shape, {
152
+ unknownKeys: node.unknownKeys ?? "strip",
153
+ });
154
+ break;
155
+ }
156
+ case "record": {
157
+ // Corpus uses "values", our export uses "valueSchema"
158
+ const valueNode = node.values ?? node.valueSchema;
159
+ schema = new RecordSchema(importNode(valueNode, d));
160
+ break;
161
+ }
162
+ case "union": {
163
+ schema = new UnionSchema(node.variants.map((v) => importNode(v, d)));
164
+ break;
165
+ }
166
+ case "intersection": {
167
+ schema = new IntersectionSchema(node.allOf.map((s) => importNode(s, d)));
168
+ break;
169
+ }
170
+ case "optional": {
171
+ // Corpus uses "schema", our export uses "inner"
172
+ const innerNode = node.schema ?? node.inner;
173
+ schema = new OptionalSchema(importNode(innerNode, d));
174
+ break;
175
+ }
176
+ case "nullable": {
177
+ // Corpus uses "schema", our export uses "inner"
178
+ const innerNode = node.schema ?? node.inner;
179
+ schema = new NullableSchema(importNode(innerNode, d));
180
+ break;
181
+ }
182
+ case "ref": {
183
+ const refPath = node.ref;
184
+ const defName = refPath.replace("#/definitions/", "");
185
+ schema = new RefSchema(refPath, () => {
186
+ if (resolvedDefs.has(defName)) {
187
+ return resolvedDefs.get(defName);
188
+ }
189
+ const defNode = definitions[defName];
190
+ if (!defNode) {
191
+ throw new Error(`Unresolved definition: ${defName}`);
192
+ }
193
+ const resolved = importNode(defNode);
194
+ resolvedDefs.set(defName, resolved);
195
+ return resolved;
196
+ });
197
+ break;
198
+ }
199
+ default:
200
+ throw new Error(`Unsupported schema kind: ${node.kind}`);
201
+ }
202
+ // Apply default
203
+ if (node.default !== undefined) {
204
+ schema = schema.default(node.default);
205
+ }
206
+ // Apply coercion config - handle both string and object formats
207
+ if (node.coerce !== undefined) {
208
+ const config = normalizeCoercionConfig(node.coerce);
209
+ schema = schema.coerce(config);
210
+ }
211
+ return schema;
212
+ }
213
+ return importNode(doc.root);
214
+ }
215
+ function applyNumericConstraints(schema, node) {
216
+ let s = schema;
217
+ if (node.min !== undefined)
218
+ s = s.min(node.min);
219
+ if (node.max !== undefined)
220
+ s = s.max(node.max);
221
+ if (node.exclusiveMin !== undefined)
222
+ s = s.exclusiveMin(node.exclusiveMin);
223
+ if (node.exclusiveMax !== undefined)
224
+ s = s.exclusiveMax(node.exclusiveMax);
225
+ if (node.multipleOf !== undefined)
226
+ s = s.multipleOf(node.multipleOf);
227
+ return s;
228
+ }
229
+ //# sourceMappingURL=importer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../src/interchange/importer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const ISSUE_CODES: {
2
+ readonly INVALID_TYPE: "invalid_type";
3
+ readonly REQUIRED: "required";
4
+ readonly UNKNOWN_KEY: "unknown_key";
5
+ readonly TOO_SMALL: "too_small";
6
+ readonly TOO_LARGE: "too_large";
7
+ readonly INVALID_STRING: "invalid_string";
8
+ readonly INVALID_NUMBER: "invalid_number";
9
+ readonly INVALID_LITERAL: "invalid_literal";
10
+ readonly INVALID_UNION: "invalid_union";
11
+ readonly CUSTOM_VALIDATION_NOT_PORTABLE: "custom_validation_not_portable";
12
+ readonly UNSUPPORTED_EXTENSION: "unsupported_extension";
13
+ readonly UNSUPPORTED_SCHEMA_KIND: "unsupported_schema_kind";
14
+ readonly COERCION_FAILED: "coercion_failed";
15
+ readonly DEFAULT_INVALID: "default_invalid";
16
+ readonly TOO_DEEP: "too_deep";
17
+ };
18
+ export type IssueCode = (typeof ISSUE_CODES)[keyof typeof ISSUE_CODES];
19
+ //# sourceMappingURL=issue-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-codes.d.ts","sourceRoot":"","sources":["../src/issue-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAgBd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const ISSUE_CODES = {
2
+ INVALID_TYPE: "invalid_type",
3
+ REQUIRED: "required",
4
+ UNKNOWN_KEY: "unknown_key",
5
+ TOO_SMALL: "too_small",
6
+ TOO_LARGE: "too_large",
7
+ INVALID_STRING: "invalid_string",
8
+ INVALID_NUMBER: "invalid_number",
9
+ INVALID_LITERAL: "invalid_literal",
10
+ INVALID_UNION: "invalid_union",
11
+ CUSTOM_VALIDATION_NOT_PORTABLE: "custom_validation_not_portable",
12
+ UNSUPPORTED_EXTENSION: "unsupported_extension",
13
+ UNSUPPORTED_SCHEMA_KIND: "unsupported_schema_kind",
14
+ COERCION_FAILED: "coercion_failed",
15
+ DEFAULT_INVALID: "default_invalid",
16
+ TOO_DEEP: "too_deep",
17
+ };
18
+ //# sourceMappingURL=issue-codes.js.map