zod-aot 0.0.13 → 0.0.15

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 (159) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/check.js +2 -2
  3. package/dist/cli/commands/check.js.map +1 -1
  4. package/dist/{core → cli}/fallback.d.ts +1 -1
  5. package/dist/cli/fallback.d.ts.map +1 -0
  6. package/dist/cli/fallback.js.map +1 -0
  7. package/dist/core/codegen/context.d.ts +5 -0
  8. package/dist/core/codegen/context.d.ts.map +1 -1
  9. package/dist/core/codegen/context.js +13 -0
  10. package/dist/core/codegen/context.js.map +1 -1
  11. package/dist/core/codegen/generators/array.d.ts.map +1 -1
  12. package/dist/core/codegen/generators/array.js +25 -9
  13. package/dist/core/codegen/generators/array.js.map +1 -1
  14. package/dist/core/codegen/generators/bigint.d.ts.map +1 -1
  15. package/dist/core/codegen/generators/bigint.js +25 -6
  16. package/dist/core/codegen/generators/bigint.js.map +1 -1
  17. package/dist/core/codegen/generators/boolean.d.ts.map +1 -1
  18. package/dist/core/codegen/generators/boolean.js +6 -1
  19. package/dist/core/codegen/generators/boolean.js.map +1 -1
  20. package/dist/core/codegen/generators/date.d.ts.map +1 -1
  21. package/dist/core/codegen/generators/date.js +23 -5
  22. package/dist/core/codegen/generators/date.js.map +1 -1
  23. package/dist/core/codegen/generators/default.d.ts.map +1 -1
  24. package/dist/core/codegen/generators/default.js +6 -3
  25. package/dist/core/codegen/generators/default.js.map +1 -1
  26. package/dist/core/codegen/generators/discriminated-union.d.ts.map +1 -1
  27. package/dist/core/codegen/generators/discriminated-union.js +16 -11
  28. package/dist/core/codegen/generators/discriminated-union.js.map +1 -1
  29. package/dist/core/codegen/generators/enum.d.ts.map +1 -1
  30. package/dist/core/codegen/generators/enum.js +6 -1
  31. package/dist/core/codegen/generators/enum.js.map +1 -1
  32. package/dist/core/codegen/generators/fallback.d.ts +3 -0
  33. package/dist/core/codegen/generators/fallback.d.ts.map +1 -0
  34. package/dist/core/codegen/generators/fallback.js +23 -0
  35. package/dist/core/codegen/generators/fallback.js.map +1 -0
  36. package/dist/core/codegen/generators/index.d.ts +1 -0
  37. package/dist/core/codegen/generators/index.d.ts.map +1 -1
  38. package/dist/core/codegen/generators/index.js +1 -0
  39. package/dist/core/codegen/generators/index.js.map +1 -1
  40. package/dist/core/codegen/generators/intersection.d.ts.map +1 -1
  41. package/dist/core/codegen/generators/intersection.js +1 -3
  42. package/dist/core/codegen/generators/intersection.js.map +1 -1
  43. package/dist/core/codegen/generators/literal.d.ts.map +1 -1
  44. package/dist/core/codegen/generators/literal.js +11 -3
  45. package/dist/core/codegen/generators/literal.js.map +1 -1
  46. package/dist/core/codegen/generators/map.d.ts.map +1 -1
  47. package/dist/core/codegen/generators/map.js +13 -12
  48. package/dist/core/codegen/generators/map.js.map +1 -1
  49. package/dist/core/codegen/generators/null.d.ts.map +1 -1
  50. package/dist/core/codegen/generators/null.js +6 -1
  51. package/dist/core/codegen/generators/null.js.map +1 -1
  52. package/dist/core/codegen/generators/nullable.d.ts.map +1 -1
  53. package/dist/core/codegen/generators/nullable.js +6 -4
  54. package/dist/core/codegen/generators/nullable.js.map +1 -1
  55. package/dist/core/codegen/generators/number.d.ts.map +1 -1
  56. package/dist/core/codegen/generators/number.js +33 -9
  57. package/dist/core/codegen/generators/number.js.map +1 -1
  58. package/dist/core/codegen/generators/object.d.ts.map +1 -1
  59. package/dist/core/codegen/generators/object.js +5 -2
  60. package/dist/core/codegen/generators/object.js.map +1 -1
  61. package/dist/core/codegen/generators/optional.d.ts.map +1 -1
  62. package/dist/core/codegen/generators/optional.js +6 -4
  63. package/dist/core/codegen/generators/optional.js.map +1 -1
  64. package/dist/core/codegen/generators/pipe.d.ts.map +1 -1
  65. package/dist/core/codegen/generators/pipe.js +1 -3
  66. package/dist/core/codegen/generators/pipe.js.map +1 -1
  67. package/dist/core/codegen/generators/record.d.ts.map +1 -1
  68. package/dist/core/codegen/generators/record.js +14 -9
  69. package/dist/core/codegen/generators/record.js.map +1 -1
  70. package/dist/core/codegen/generators/set.d.ts.map +1 -1
  71. package/dist/core/codegen/generators/set.js +20 -10
  72. package/dist/core/codegen/generators/set.js.map +1 -1
  73. package/dist/core/codegen/generators/string.d.ts.map +1 -1
  74. package/dist/core/codegen/generators/string.js +27 -7
  75. package/dist/core/codegen/generators/string.js.map +1 -1
  76. package/dist/core/codegen/generators/tuple.d.ts.map +1 -1
  77. package/dist/core/codegen/generators/tuple.js +13 -5
  78. package/dist/core/codegen/generators/tuple.js.map +1 -1
  79. package/dist/core/codegen/generators/undefined.d.ts.map +1 -1
  80. package/dist/core/codegen/generators/undefined.js +6 -1
  81. package/dist/core/codegen/generators/undefined.js.map +1 -1
  82. package/dist/core/codegen/generators/union.d.ts.map +1 -1
  83. package/dist/core/codegen/generators/union.js +22 -7
  84. package/dist/core/codegen/generators/union.js.map +1 -1
  85. package/dist/core/codegen/index.d.ts.map +1 -1
  86. package/dist/core/codegen/index.js +2 -17
  87. package/dist/core/codegen/index.js.map +1 -1
  88. package/dist/core/extract/checks.d.ts +7 -0
  89. package/dist/core/extract/checks.d.ts.map +1 -0
  90. package/dist/core/extract/checks.js +49 -0
  91. package/dist/core/extract/checks.js.map +1 -0
  92. package/dist/core/extract/extractors/bigint.d.ts +4 -0
  93. package/dist/core/extract/extractors/bigint.d.ts.map +1 -0
  94. package/dist/core/extract/extractors/bigint.js +34 -0
  95. package/dist/core/extract/extractors/bigint.js.map +1 -0
  96. package/dist/core/extract/extractors/date.d.ts +4 -0
  97. package/dist/core/extract/extractors/date.d.ts.map +1 -0
  98. package/dist/core/extract/extractors/date.js +36 -0
  99. package/dist/core/extract/extractors/date.js.map +1 -0
  100. package/dist/core/extract/extractors/default.d.ts +4 -0
  101. package/dist/core/extract/extractors/default.d.ts.map +1 -0
  102. package/dist/core/extract/extractors/default.js +18 -0
  103. package/dist/core/extract/extractors/default.js.map +1 -0
  104. package/dist/core/extract/extractors/index.d.ts +10 -0
  105. package/dist/core/extract/extractors/index.d.ts.map +1 -0
  106. package/dist/core/extract/extractors/index.js +10 -0
  107. package/dist/core/extract/extractors/index.js.map +1 -0
  108. package/dist/core/extract/extractors/lazy.d.ts +4 -0
  109. package/dist/core/extract/extractors/lazy.d.ts.map +1 -0
  110. package/dist/core/extract/extractors/lazy.js +13 -0
  111. package/dist/core/extract/extractors/lazy.js.map +1 -0
  112. package/dist/core/extract/extractors/number.d.ts +4 -0
  113. package/dist/core/extract/extractors/number.d.ts.map +1 -0
  114. package/dist/core/extract/extractors/number.js +12 -0
  115. package/dist/core/extract/extractors/number.js.map +1 -0
  116. package/dist/core/extract/extractors/pipe.d.ts +4 -0
  117. package/dist/core/extract/extractors/pipe.d.ts.map +1 -0
  118. package/dist/core/extract/extractors/pipe.js +11 -0
  119. package/dist/core/extract/extractors/pipe.js.map +1 -0
  120. package/dist/core/extract/extractors/set.d.ts +4 -0
  121. package/dist/core/extract/extractors/set.d.ts.map +1 -0
  122. package/dist/core/extract/extractors/set.js +19 -0
  123. package/dist/core/extract/extractors/set.js.map +1 -0
  124. package/dist/core/extract/extractors/string.d.ts +4 -0
  125. package/dist/core/extract/extractors/string.d.ts.map +1 -0
  126. package/dist/core/extract/extractors/string.js +20 -0
  127. package/dist/core/extract/extractors/string.js.map +1 -0
  128. package/dist/core/extract/extractors/union.d.ts +4 -0
  129. package/dist/core/extract/extractors/union.d.ts.map +1 -0
  130. package/dist/core/extract/extractors/union.js +25 -0
  131. package/dist/core/extract/extractors/union.js.map +1 -0
  132. package/dist/core/extract/fallback.d.ts +4 -0
  133. package/dist/core/extract/fallback.d.ts.map +1 -0
  134. package/dist/core/extract/fallback.js +9 -0
  135. package/dist/core/extract/fallback.js.map +1 -0
  136. package/dist/core/extract/index.d.ts +11 -0
  137. package/dist/core/extract/index.d.ts.map +1 -0
  138. package/dist/core/extract/index.js +113 -0
  139. package/dist/core/extract/index.js.map +1 -0
  140. package/dist/core/extract/types.d.ts +58 -0
  141. package/dist/core/extract/types.d.ts.map +1 -0
  142. package/dist/core/extract/types.js +2 -0
  143. package/dist/core/extract/types.js.map +1 -0
  144. package/dist/core/pipeline.d.ts +1 -1
  145. package/dist/core/pipeline.d.ts.map +1 -1
  146. package/dist/core/pipeline.js +1 -1
  147. package/dist/core/pipeline.js.map +1 -1
  148. package/dist/internals.d.ts +2 -2
  149. package/dist/internals.d.ts.map +1 -1
  150. package/dist/internals.js +1 -1
  151. package/dist/internals.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/core/extractor.d.ts +0 -16
  154. package/dist/core/extractor.d.ts.map +0 -1
  155. package/dist/core/extractor.js +0 -301
  156. package/dist/core/extractor.js.map +0 -1
  157. package/dist/core/fallback.d.ts.map +0 -1
  158. package/dist/core/fallback.js.map +0 -1
  159. /package/dist/{core → cli}/fallback.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+IlD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,aAAa,CAuBf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiIlD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,aAAa,CAuBf"}
@@ -1,4 +1,4 @@
1
- import { generateAnyValidation, generateArrayValidation, generateBigIntValidation, generateBooleanValidation, generateDateValidation, generateDefaultValidation, generateDiscriminatedUnionValidation, generateEnumValidation, generateIntersectionValidation, generateLiteralValidation, generateMapValidation, generateNullableValidation, generateNullValidation, generateNumberValidation, generateObjectValidation, generateOptionalValidation, generatePipeValidation, generateReadonlyValidation, generateRecordValidation, generateSetValidation, generateStringValidation, generateTupleValidation, generateUndefinedValidation, generateUnionValidation, generateUnknownValidation, } from "./generators/index.js";
1
+ import { generateAnyValidation, generateArrayValidation, generateBigIntValidation, generateBooleanValidation, generateDateValidation, generateDefaultValidation, generateDiscriminatedUnionValidation, generateEnumValidation, generateFallbackValidation, generateIntersectionValidation, generateLiteralValidation, generateMapValidation, generateNullableValidation, generateNullValidation, generateNumberValidation, generateObjectValidation, generateOptionalValidation, generatePipeValidation, generateReadonlyValidation, generateRecordValidation, generateSetValidation, generateStringValidation, generateTupleValidation, generateUndefinedValidation, generateUnionValidation, generateUnknownValidation, } from "./generators/index.js";
2
2
  function generateValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
3
3
  switch (ir.type) {
4
4
  case "string":
@@ -26,22 +26,7 @@ function generateValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
26
26
  case "nullable":
27
27
  return generateNullableValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
28
28
  case "fallback":
29
- if (ir.fallbackIndex !== undefined) {
30
- const idx = ir.fallbackIndex;
31
- const rVar = `__fb_r${idx}`;
32
- const iVar = `__fb_i${idx}`;
33
- const jVar = `__fb_j${idx}`;
34
- let fbCode = `var ${rVar}=__fb[${idx}].safeParse(${inputExpr});\n`;
35
- fbCode += `if(!${rVar}.success){`;
36
- fbCode += `var ${iVar}=${rVar}.error.issues;`;
37
- fbCode += `for(var ${jVar}=0;${jVar}<${iVar}.length;${jVar}++){`;
38
- fbCode += `${issuesVar}.push(Object.assign({},${iVar}[${jVar}],`;
39
- fbCode += `{path:${pathExpr}.concat(${iVar}[${jVar}].path)}));`;
40
- fbCode += `}}`;
41
- fbCode += `else{${inputExpr}=${rVar}.data;}\n`;
42
- return fbCode;
43
- }
44
- return `${issuesVar}.push({code:"custom",path:${pathExpr},message:"Fallback schema: ${ir.reason}"});\n`;
29
+ return generateFallbackValidation(ir, inputExpr, pathExpr, issuesVar);
45
30
  case "any":
46
31
  return generateAnyValidation();
47
32
  case "unknown":
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CheckIR } from "../types.js";
2
+ import type { ZodCheckSchema } from "./types.js";
3
+ export declare function extractChecks(checks: ZodCheckSchema[]): {
4
+ checkIRs: CheckIR[];
5
+ hasFallback: boolean;
6
+ };
7
+ //# sourceMappingURL=checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/core/extract/checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG;IACvD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB,CAiDA"}
@@ -0,0 +1,49 @@
1
+ export function extractChecks(checks) {
2
+ const checkIRs = [];
3
+ let hasFallback = false;
4
+ for (const check of checks) {
5
+ const def = check._zod?.def;
6
+ if (!def)
7
+ continue;
8
+ switch (def.check) {
9
+ case "min_length":
10
+ checkIRs.push({ kind: "min_length", minimum: def.minimum });
11
+ break;
12
+ case "max_length":
13
+ checkIRs.push({ kind: "max_length", maximum: def.maximum });
14
+ break;
15
+ case "length_equals":
16
+ checkIRs.push({ kind: "length_equals", length: def.length });
17
+ break;
18
+ case "greater_than":
19
+ checkIRs.push({ kind: "greater_than", value: def.value, inclusive: def.inclusive });
20
+ break;
21
+ case "less_than":
22
+ checkIRs.push({ kind: "less_than", value: def.value, inclusive: def.inclusive });
23
+ break;
24
+ case "multiple_of":
25
+ checkIRs.push({ kind: "multiple_of", value: def.value });
26
+ break;
27
+ case "number_format":
28
+ checkIRs.push({
29
+ kind: "number_format",
30
+ format: def.format,
31
+ });
32
+ break;
33
+ case "string_format": {
34
+ const pattern = def.pattern instanceof RegExp ? def.pattern.source : def.pattern;
35
+ checkIRs.push({
36
+ kind: "string_format",
37
+ format: def.format,
38
+ ...(pattern ? { pattern } : {}),
39
+ });
40
+ break;
41
+ }
42
+ case "custom":
43
+ hasFallback = true;
44
+ break;
45
+ }
46
+ }
47
+ return { checkIRs, hasFallback };
48
+ }
49
+ //# sourceMappingURL=checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/core/extract/checks.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,MAAwB;IAIpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,YAAY;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,eAAe;gBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,cAAc;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,WAAW;gBACd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjF,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,eAAe;gBAClB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAgE;iBAC7E,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBACjF,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,QAAQ;gBACX,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ZodDef } from "../types.js";
3
+ export declare function extractBigint(def: ZodDef): SchemaIR;
4
+ //# sourceMappingURL=bigint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/bigint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CA+BnD"}
@@ -0,0 +1,34 @@
1
+ export function extractBigint(def) {
2
+ const bigintChecks = [];
3
+ if (def.checks) {
4
+ for (const check of def.checks) {
5
+ const checkDef = check._zod?.def;
6
+ if (!checkDef)
7
+ continue;
8
+ switch (checkDef.check) {
9
+ case "greater_than":
10
+ bigintChecks.push({
11
+ kind: "bigint_greater_than",
12
+ value: String(checkDef.value),
13
+ inclusive: checkDef.inclusive,
14
+ });
15
+ break;
16
+ case "less_than":
17
+ bigintChecks.push({
18
+ kind: "bigint_less_than",
19
+ value: String(checkDef.value),
20
+ inclusive: checkDef.inclusive,
21
+ });
22
+ break;
23
+ case "multiple_of":
24
+ bigintChecks.push({
25
+ kind: "bigint_multiple_of",
26
+ value: String(checkDef.value),
27
+ });
28
+ break;
29
+ }
30
+ }
31
+ }
32
+ return { type: "bigint", checks: bigintChecks };
33
+ }
34
+ //# sourceMappingURL=bigint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/bigint.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,YAAY,GAAoB,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACvB,KAAK,cAAc;oBACjB,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,qBAAqB;wBAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,WAAW;oBACd,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,kBAAkB;wBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa;oBAChB,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,oBAAoB;wBAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;qBAC9B,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ZodDef } from "../types.js";
3
+ export declare function extractDate(def: ZodDef): SchemaIR;
4
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CA8BjD"}
@@ -0,0 +1,36 @@
1
+ export function extractDate(def) {
2
+ const dateChecks = [];
3
+ if (def.checks) {
4
+ for (const check of def.checks) {
5
+ const checkDef = check._zod?.def;
6
+ if (!checkDef)
7
+ continue;
8
+ if (checkDef.check === "greater_than") {
9
+ const v = checkDef.value;
10
+ const ts = new Date(v).getTime();
11
+ if (Number.isNaN(ts))
12
+ continue;
13
+ dateChecks.push({
14
+ kind: "date_greater_than",
15
+ value: String(v),
16
+ timestamp: ts,
17
+ inclusive: checkDef.inclusive,
18
+ });
19
+ }
20
+ else if (checkDef.check === "less_than") {
21
+ const v = checkDef.value;
22
+ const ts = new Date(v).getTime();
23
+ if (Number.isNaN(ts))
24
+ continue;
25
+ dateChecks.push({
26
+ kind: "date_less_than",
27
+ value: String(v),
28
+ timestamp: ts,
29
+ inclusive: checkDef.inclusive,
30
+ });
31
+ }
32
+ }
33
+ }
34
+ return { type: "date", checks: dateChecks };
35
+ }
36
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/date.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,QAAQ,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAA0B,CAAC;gBAC9C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBAChB,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAA0B,CAAC;gBAC9C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBAChB,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ExtractFn, FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractDefault(def: ZodDef, zodSchema: unknown, p: string, fallbacks: FallbackEntry[] | undefined, recurse: ExtractFn, visiting?: Set<unknown>): SchemaIR;
4
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpE,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CAcV"}
@@ -0,0 +1,18 @@
1
+ import { makeFallback } from "../fallback.js";
2
+ export function extractDefault(def, zodSchema, p, fallbacks, recurse, visiting) {
3
+ const inner = recurse(def.innerType, fallbacks, `${p}._zod.def.innerType`, visiting);
4
+ const defaultValue = def.defaultValue;
5
+ // Date objects serialize to strings via JSON.stringify, losing their type.
6
+ // Fall back to Zod for Date defaults to preserve correct runtime behavior.
7
+ if (defaultValue instanceof Date) {
8
+ return makeFallback("unsupported", zodSchema, fallbacks, p);
9
+ }
10
+ try {
11
+ JSON.stringify(defaultValue);
12
+ }
13
+ catch {
14
+ return makeFallback("unsupported", zodSchema, fallbacks, p);
15
+ }
16
+ return { type: "default", inner, defaultValue };
17
+ }
18
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/default.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,SAAkB,EAClB,CAAS,EACT,SAAsC,EACtC,OAAkB,EAClB,QAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtC,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,YAAY,YAAY,IAAI,EAAE,CAAC;QACjC,OAAO,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { extractBigint } from "./bigint.js";
2
+ export { extractDate } from "./date.js";
3
+ export { extractDefault } from "./default.js";
4
+ export { extractLazy } from "./lazy.js";
5
+ export { extractNumber } from "./number.js";
6
+ export { extractPipe } from "./pipe.js";
7
+ export { extractSet } from "./set.js";
8
+ export { extractString } from "./string.js";
9
+ export { extractUnion } from "./union.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { extractBigint } from "./bigint.js";
2
+ export { extractDate } from "./date.js";
3
+ export { extractDefault } from "./default.js";
4
+ export { extractLazy } from "./lazy.js";
5
+ export { extractNumber } from "./number.js";
6
+ export { extractPipe } from "./pipe.js";
7
+ export { extractSet } from "./set.js";
8
+ export { extractString } from "./string.js";
9
+ export { extractUnion } from "./union.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ExtractFn, FallbackEntry, ZodSchema } from "../types.js";
3
+ export declare function extractLazy(schema: ZodSchema, zodSchema: unknown, p: string, fallbacks: FallbackEntry[] | undefined, recurse: ExtractFn, visiting?: Set<unknown>): SchemaIR;
4
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvE,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,OAAO,EAClB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CAUV"}
@@ -0,0 +1,13 @@
1
+ import { makeFallback } from "../fallback.js";
2
+ export function extractLazy(schema, zodSchema, p, fallbacks, recurse, visiting) {
3
+ const innerSchema = schema._zod.innerType;
4
+ if (!innerSchema) {
5
+ return makeFallback("lazy", zodSchema, fallbacks, p);
6
+ }
7
+ // Cycle detection: if we've already visited this resolved schema, fall back
8
+ if (visiting?.has(innerSchema)) {
9
+ return makeFallback("lazy", zodSchema, fallbacks, p);
10
+ }
11
+ return recurse(innerSchema, fallbacks, `${p}._zod.innerType`, visiting);
12
+ }
13
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/lazy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,WAAW,CACzB,MAAiB,EACjB,SAAkB,EAClB,CAAS,EACT,SAAsC,EACtC,OAAkB,EAClB,QAAuB;IAEvB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,4EAA4E;IAC5E,IAAI,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractNumber(def: ZodDef, zodSchema: unknown, p: string, fallbacks: FallbackEntry[] | undefined): SchemaIR;
4
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,GACrC,QAAQ,CAOV"}
@@ -0,0 +1,12 @@
1
+ import { extractChecks } from "../checks.js";
2
+ import { makeFallback } from "../fallback.js";
3
+ export function extractNumber(def, zodSchema, p, fallbacks) {
4
+ if (!def.checks || def.checks.length === 0) {
5
+ return { type: "number", checks: [] };
6
+ }
7
+ const { checkIRs, hasFallback } = extractChecks(def.checks);
8
+ if (hasFallback)
9
+ return makeFallback("refine", zodSchema, fallbacks, p);
10
+ return { type: "number", checks: checkIRs };
11
+ }
12
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/number.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,SAAkB,EAClB,CAAS,EACT,SAAsC;IAEtC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,WAAW;QAAE,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ExtractFn, FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractPipe(def: ZodDef, zodSchema: unknown, p: string, fallbacks: FallbackEntry[] | undefined, recurse: ExtractFn, visiting?: Set<unknown>): SchemaIR;
4
+ //# sourceMappingURL=pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/pipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpE,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CAQV"}
@@ -0,0 +1,11 @@
1
+ import { makeFallback } from "../fallback.js";
2
+ export function extractPipe(def, zodSchema, p, fallbacks, recurse, visiting) {
3
+ const outDef = def.out?._zod?.def;
4
+ if (outDef && outDef.type === "transform") {
5
+ return makeFallback("transform", zodSchema, fallbacks, p);
6
+ }
7
+ const inIR = recurse(def.in, fallbacks, `${p}._zod.def.in`, visiting);
8
+ const outIR = recurse(def.out, fallbacks, `${p}._zod.def.out`, visiting);
9
+ return { type: "pipe", in: inIR, out: outIR };
10
+ }
11
+ //# sourceMappingURL=pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/pipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,SAAkB,EAClB,CAAS,EACT,SAAsC,EACtC,OAAkB,EAClB,QAAuB;IAEvB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IAClC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ExtractFn, FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractSet(def: ZodDef, p: string, fallbacks: FallbackEntry[] | undefined, recurse: ExtractFn, visiting?: Set<unknown>): SchemaIR;
4
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpE,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CAeV"}
@@ -0,0 +1,19 @@
1
+ export function extractSet(def, p, fallbacks, recurse, visiting) {
2
+ const valueType = recurse(def.valueType, fallbacks, `${p}._zod.def.valueType`, visiting);
3
+ const setChecks = [];
4
+ if (def.checks) {
5
+ for (const check of def.checks) {
6
+ const checkDef = check._zod?.def;
7
+ if (!checkDef)
8
+ continue;
9
+ if (checkDef.check === "min_size") {
10
+ setChecks.push({ kind: "min_size", minimum: checkDef.minimum });
11
+ }
12
+ else if (checkDef.check === "max_size") {
13
+ setChecks.push({ kind: "max_size", maximum: checkDef.maximum });
14
+ }
15
+ }
16
+ }
17
+ return { type: "set", valueType, ...(setChecks.length > 0 ? { checks: setChecks } : {}) };
18
+ }
19
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/set.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,CAAS,EACT,SAAsC,EACtC,OAAkB,EAClB,QAAuB;IAEvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACzF,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAClC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractString(def: ZodDef, zodSchema: unknown, p: string, fallbacks: FallbackEntry[] | undefined): SchemaIR;
4
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,GACrC,QAAQ,CAeV"}
@@ -0,0 +1,20 @@
1
+ import { extractChecks } from "../checks.js";
2
+ import { makeFallback } from "../fallback.js";
3
+ export function extractString(def, zodSchema, p, fallbacks) {
4
+ // String format schemas (z.email(), z.url(), z.uuid())
5
+ if (def.check === "string_format") {
6
+ const pattern = def.pattern instanceof RegExp ? def.pattern.source : def.pattern;
7
+ return {
8
+ type: "string",
9
+ checks: [{ kind: "string_format", format: def.format, ...(pattern ? { pattern } : {}) }],
10
+ };
11
+ }
12
+ if (!def.checks || def.checks.length === 0) {
13
+ return { type: "string", checks: [] };
14
+ }
15
+ const { checkIRs, hasFallback } = extractChecks(def.checks);
16
+ if (hasFallback)
17
+ return makeFallback("refine", zodSchema, fallbacks, p);
18
+ return { type: "string", checks: checkIRs };
19
+ }
20
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/string.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,SAAkB,EAClB,CAAS,EACT,SAAsC;IAEtC,uDAAuD;IACvD,IAAI,GAAG,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACjF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,WAAW;QAAE,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaIR } from "../../types.js";
2
+ import type { ExtractFn, FallbackEntry, ZodDef } from "../types.js";
3
+ export declare function extractUnion(def: ZodDef, p: string, fallbacks: FallbackEntry[] | undefined, recurse: ExtractFn, visiting?: Set<unknown>): SchemaIR;
4
+ //# sourceMappingURL=union.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAa,MAAM,aAAa,CAAC;AAE/E,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CA2BV"}
@@ -0,0 +1,25 @@
1
+ export function extractUnion(def, p, fallbacks, recurse, visiting) {
2
+ if (def.discriminator) {
3
+ const options = def.options.map((opt, i) => recurse(opt, fallbacks, `${p}._zod.def.options[${i}]`, visiting));
4
+ const mapping = {};
5
+ for (let i = 0; i < def.options.length; i++) {
6
+ const opt = def.options[i];
7
+ const optDef = opt._zod.def;
8
+ if (optDef.type === "object" && optDef.shape) {
9
+ const discrimField = optDef.shape[def.discriminator];
10
+ if (discrimField?._zod?.def?.type === "literal") {
11
+ const vals = discrimField._zod.def.values;
12
+ for (const v of vals) {
13
+ mapping[String(v)] = i;
14
+ }
15
+ }
16
+ }
17
+ }
18
+ return { type: "discriminatedUnion", discriminator: def.discriminator, options, mapping };
19
+ }
20
+ return {
21
+ type: "union",
22
+ options: def.options.map((opt, i) => recurse(opt, fallbacks, `${p}._zod.def.options[${i}]`, visiting)),
23
+ };
24
+ }
25
+ //# sourceMappingURL=union.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/union.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,CAAS,EACT,SAAsC,EACtC,OAAkB,EAClB,QAAuB;IAEvB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACzC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjE,CAAC;QACF,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAc,CAAC;YACxC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrD,IAAI,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAuC,CAAC;oBAC3E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAClC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjE;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FallbackIR } from "../types.js";
2
+ import type { FallbackEntry } from "./types.js";
3
+ export declare function makeFallback(reason: FallbackIR["reason"], zodSchema: unknown, fallbacks?: FallbackEntry[], accessPath?: string): FallbackIR;
4
+ //# sourceMappingURL=fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/core/extract/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,aAAa,EAAE,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAOZ"}
@@ -0,0 +1,9 @@
1
+ export function makeFallback(reason, zodSchema, fallbacks, accessPath) {
2
+ if (fallbacks && accessPath !== undefined) {
3
+ const index = fallbacks.length;
4
+ fallbacks.push({ schema: zodSchema, accessPath });
5
+ return { type: "fallback", reason, fallbackIndex: index };
6
+ }
7
+ return { type: "fallback", reason };
8
+ }
9
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/core/extract/fallback.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAC1B,MAA4B,EAC5B,SAAkB,EAClB,SAA2B,EAC3B,UAAmB;IAEnB,IAAI,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { SchemaIR } from "../types.js";
2
+ import type { FallbackEntry } from "./types.js";
3
+ export type { FallbackEntry } from "./types.js";
4
+ /**
5
+ * Extract SchemaIR from a Zod schema by traversing its `_zod.def` and `_zod.bag`.
6
+ *
7
+ * When `fallbacks` is provided, non-compilable sub-schemas are collected with their
8
+ * access paths for partial fallback (Zod delegation at runtime).
9
+ */
10
+ export declare function extractSchema(zodSchema: unknown, fallbacks?: FallbackEntry[], currentPath?: string, visiting?: Set<unknown>): SchemaIR;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extract/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAc5C,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,aAAa,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACtB,QAAQ,CAaV"}