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
@@ -0,0 +1,113 @@
1
+ import { extractChecks } from "./checks.js";
2
+ import { extractBigint, extractDate, extractDefault, extractLazy, extractNumber, extractPipe, extractSet, extractString, extractUnion, } from "./extractors/index.js";
3
+ import { makeFallback } from "./fallback.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 function extractSchema(zodSchema, fallbacks, currentPath, visiting) {
11
+ const schema = zodSchema;
12
+ const def = schema._zod.def;
13
+ const p = currentPath ?? "";
14
+ const v = visiting ?? new Set();
15
+ // Track current schema for cycle detection in lazy resolution
16
+ v.add(zodSchema);
17
+ const ir = extractSchemaInner(schema, def, p, v, fallbacks, zodSchema);
18
+ v.delete(zodSchema);
19
+ return ir;
20
+ }
21
+ function extractSchemaInner(schema, def, p, v, fallbacks, zodSchema) {
22
+ switch (def.type) {
23
+ // ── Simple cases (inline) ──────────────────────────────────────────────
24
+ case "boolean":
25
+ return { type: "boolean" };
26
+ case "null":
27
+ return { type: "null" };
28
+ case "undefined":
29
+ return { type: "undefined" };
30
+ case "any":
31
+ return { type: "any" };
32
+ case "unknown":
33
+ return { type: "unknown" };
34
+ case "literal":
35
+ return { type: "literal", values: def.values };
36
+ case "enum":
37
+ return { type: "enum", values: Object.values(def.entries) };
38
+ case "optional":
39
+ return {
40
+ type: "optional",
41
+ inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`, v),
42
+ };
43
+ case "nullable":
44
+ return {
45
+ type: "nullable",
46
+ inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`, v),
47
+ };
48
+ case "readonly":
49
+ return {
50
+ type: "readonly",
51
+ inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`, v),
52
+ };
53
+ case "object": {
54
+ const properties = {};
55
+ for (const [key, value] of Object.entries(def.shape)) {
56
+ const propPath = `${p}.shape[${JSON.stringify(key)}]`;
57
+ properties[key] = extractSchema(value, fallbacks, propPath, v);
58
+ }
59
+ return { type: "object", properties };
60
+ }
61
+ case "array": {
62
+ const element = extractSchema(def.element, fallbacks, `${p}._zod.def.element`, v);
63
+ const { checkIRs } = def.checks ? extractChecks(def.checks) : { checkIRs: [] };
64
+ return { type: "array", element, checks: checkIRs };
65
+ }
66
+ case "tuple": {
67
+ const items = def.items.map((item, i) => extractSchema(item, fallbacks, `${p}._zod.def.items[${i}]`, v));
68
+ const rest = def.rest ? extractSchema(def.rest, fallbacks, `${p}._zod.def.rest`, v) : null;
69
+ return { type: "tuple", items, rest };
70
+ }
71
+ case "record": {
72
+ if (!def.valueType) {
73
+ return makeFallback("unsupported", zodSchema, fallbacks, p);
74
+ }
75
+ const keyType = extractSchema(def.keyType, fallbacks, `${p}._zod.def.keyType`, v);
76
+ const valueType = extractSchema(def.valueType, fallbacks, `${p}._zod.def.valueType`, v);
77
+ return { type: "record", keyType, valueType };
78
+ }
79
+ case "intersection":
80
+ return {
81
+ type: "intersection",
82
+ left: extractSchema(def.left, fallbacks, `${p}._zod.def.left`, v),
83
+ right: extractSchema(def.right, fallbacks, `${p}._zod.def.right`, v),
84
+ };
85
+ case "map": {
86
+ const keyType = extractSchema(def.keyType, fallbacks, `${p}._zod.def.keyType`, v);
87
+ const valueType = extractSchema(def.valueType, fallbacks, `${p}._zod.def.valueType`, v);
88
+ return { type: "map", keyType, valueType };
89
+ }
90
+ case "lazy":
91
+ return extractLazy(schema, zodSchema, p, fallbacks, extractSchema, v);
92
+ // ── Complex cases (delegated to extractors/) ───────────────────────────
93
+ case "string":
94
+ return extractString(def, zodSchema, p, fallbacks);
95
+ case "number":
96
+ return extractNumber(def, zodSchema, p, fallbacks);
97
+ case "date":
98
+ return extractDate(def);
99
+ case "bigint":
100
+ return extractBigint(def);
101
+ case "set":
102
+ return extractSet(def, p, fallbacks, extractSchema, v);
103
+ case "union":
104
+ return extractUnion(def, p, fallbacks, extractSchema, v);
105
+ case "default":
106
+ return extractDefault(def, zodSchema, p, fallbacks, extractSchema, v);
107
+ case "pipe":
108
+ return extractPipe(def, zodSchema, p, fallbacks, extractSchema, v);
109
+ default:
110
+ return makeFallback("unsupported", zodSchema, fallbacks, p);
111
+ }
112
+ }
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/extract/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export interface ZodCheckDef {
2
+ check: string;
3
+ minimum: number;
4
+ maximum: number;
5
+ length: number;
6
+ value: number;
7
+ inclusive: boolean;
8
+ format: string;
9
+ pattern: RegExp | string;
10
+ type: string;
11
+ fn: unknown;
12
+ }
13
+ export interface ZodCheckSchema {
14
+ _zod?: {
15
+ def: ZodCheckDef;
16
+ };
17
+ }
18
+ export interface ZodDef {
19
+ type: string;
20
+ checks: ZodCheckSchema[];
21
+ check: string;
22
+ format: string;
23
+ pattern: RegExp | string;
24
+ shape: Record<string, ZodSchema>;
25
+ element: ZodSchema;
26
+ options: ZodSchema[];
27
+ innerType: ZodSchema;
28
+ values: (string | number | boolean | null)[];
29
+ entries: Record<string, string>;
30
+ in: ZodSchema;
31
+ out: ZodSchema;
32
+ items: ZodSchema[];
33
+ rest: ZodSchema | null;
34
+ keyType: ZodSchema;
35
+ valueType: ZodSchema;
36
+ left: ZodSchema;
37
+ right: ZodSchema;
38
+ discriminator: string;
39
+ defaultValue: unknown;
40
+ }
41
+ export interface ZodSchema {
42
+ _zod: {
43
+ def: ZodDef;
44
+ bag?: Record<string, unknown>;
45
+ /** Resolved inner type for lazy schemas. */
46
+ innerType?: ZodSchema;
47
+ };
48
+ }
49
+ /** Entry collected during extraction for each fallback sub-schema. */
50
+ export interface FallbackEntry {
51
+ /** Runtime reference to the Zod sub-schema. */
52
+ schema: unknown;
53
+ /** Navigation path from root schema, e.g. '.shape["slug"]' */
54
+ accessPath: string;
55
+ }
56
+ /** Signature for the recursive extractSchema function, passed to extractors. */
57
+ export type ExtractFn = (zodSchema: unknown, fallbacks?: FallbackEntry[], currentPath?: string, visiting?: Set<unknown>) => import("../types.js").SchemaIR;
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extract/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,WAAW,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,4CAA4C;QAC5C,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;CACH;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,MAAM,MAAM,SAAS,GAAG,CACtB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,aAAa,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,KACpB,OAAO,aAAa,EAAE,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/extract/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { CodeGenResult } from "./codegen/context.js";
2
- import type { FallbackEntry } from "./extractor.js";
2
+ import type { FallbackEntry } from "./extract/index.js";
3
3
  /** Result of compiling a single discovered schema through extract → generate pipeline. */
4
4
  export interface CompiledSchemaInfo {
5
5
  exportName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAAE,GACjD,kBAAkB,EAAE,CAStB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAAE,GACjD,kBAAkB,EAAE,CAStB"}
@@ -1,5 +1,5 @@
1
1
  import { generateValidator } from "./codegen/index.js";
2
- import { extractSchema } from "./extractor.js";
2
+ import { extractSchema } from "./extract/index.js";
3
3
  /**
4
4
  * Run the extract → generate pipeline for each discovered schema.
5
5
  * Shared by CLI generate and unplugin transform.
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAkD;IAElD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,eAAe,GAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE;YACxD,aAAa,EAAE,eAAe,CAAC,MAAM;SACtC,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAkD;IAElD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,eAAe,GAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE;YACxD,aAAa,EAAE,eAAe,CAAC,MAAM;SACtC,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export type { CodeGenResult } from "#src/core/codegen/index.js";
2
2
  export { generateValidator } from "#src/core/codegen/index.js";
3
- export type { FallbackEntry } from "#src/core/extractor.js";
4
- export { extractSchema } from "#src/core/extractor.js";
3
+ export type { FallbackEntry } from "#src/core/extract/index.js";
4
+ export { extractSchema } from "#src/core/extract/index.js";
5
5
  export { createFallback } from "#src/core/runtime.js";
6
6
  export type { CheckIR, DateCheckIR, SchemaIR } from "#src/core/types.js";
7
7
  //# sourceMappingURL=internals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/internals.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { generateValidator } from "#src/core/codegen/index.js";
2
- export { extractSchema } from "#src/core/extractor.js";
2
+ export { extractSchema } from "#src/core/extract/index.js";
3
3
  export { createFallback } from "#src/core/runtime.js";
4
4
  //# sourceMappingURL=internals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-aot",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "Compile Zod schemas into zero-overhead validation functions at build time",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,16 +0,0 @@
1
- import type { SchemaIR } from "./types.js";
2
- /** Entry collected during extraction for each fallback sub-schema. */
3
- export interface FallbackEntry {
4
- /** Runtime reference to the Zod sub-schema. */
5
- schema: unknown;
6
- /** Navigation path from root schema, e.g. '.shape["slug"]' */
7
- accessPath: string;
8
- }
9
- /**
10
- * Extract SchemaIR from a Zod schema by traversing its `_zod.def` and `_zod.bag`.
11
- *
12
- * When `fallbacks` is provided, non-compilable sub-schemas are collected with their
13
- * access paths for partial fallback (Zod delegation at runtime).
14
- */
15
- export declare function extractSchema(zodSchema: unknown, fallbacks?: FallbackEntry[], currentPath?: string): SchemaIR;
16
- //# sourceMappingURL=extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,QAAQ,EAET,MAAM,YAAY,CAAC;AAoDpB,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;CACpB;AAmED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,aAAa,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,QAAQ,CAmQV"}
@@ -1,301 +0,0 @@
1
- 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
- function makeFallback(reason, zodSchema, fallbacks, accessPath) {
50
- if (fallbacks && accessPath !== undefined) {
51
- const index = fallbacks.length;
52
- fallbacks.push({ schema: zodSchema, accessPath });
53
- return { type: "fallback", reason, fallbackIndex: index };
54
- }
55
- return { type: "fallback", reason };
56
- }
57
- /**
58
- * Extract SchemaIR from a Zod schema by traversing its `_zod.def` and `_zod.bag`.
59
- *
60
- * When `fallbacks` is provided, non-compilable sub-schemas are collected with their
61
- * access paths for partial fallback (Zod delegation at runtime).
62
- */
63
- export function extractSchema(zodSchema, fallbacks, currentPath) {
64
- const schema = zodSchema;
65
- const def = schema._zod.def;
66
- const p = currentPath ?? "";
67
- switch (def.type) {
68
- case "string": {
69
- // String format schemas (z.email(), z.url(), z.uuid())
70
- if (def.check === "string_format") {
71
- const pattern = def.pattern instanceof RegExp ? def.pattern.source : def.pattern;
72
- return {
73
- type: "string",
74
- checks: [{ kind: "string_format", format: def.format, ...(pattern ? { pattern } : {}) }],
75
- };
76
- }
77
- if (!def.checks || def.checks.length === 0) {
78
- return { type: "string", checks: [] };
79
- }
80
- const { checkIRs, hasFallback } = extractChecks(def.checks);
81
- if (hasFallback)
82
- return makeFallback("refine", zodSchema, fallbacks, p);
83
- return { type: "string", checks: checkIRs };
84
- }
85
- case "number": {
86
- if (!def.checks || def.checks.length === 0) {
87
- return { type: "number", checks: [] };
88
- }
89
- const { checkIRs, hasFallback } = extractChecks(def.checks);
90
- if (hasFallback)
91
- return makeFallback("refine", zodSchema, fallbacks, p);
92
- return { type: "number", checks: checkIRs };
93
- }
94
- case "boolean":
95
- return { type: "boolean" };
96
- case "null":
97
- return { type: "null" };
98
- case "undefined":
99
- return { type: "undefined" };
100
- case "literal":
101
- return { type: "literal", values: def.values };
102
- case "enum":
103
- return { type: "enum", values: Object.values(def.entries) };
104
- case "object": {
105
- const properties = {};
106
- for (const [key, value] of Object.entries(def.shape)) {
107
- const propPath = `${p}.shape[${JSON.stringify(key)}]`;
108
- properties[key] = extractSchema(value, fallbacks, propPath);
109
- }
110
- return { type: "object", properties };
111
- }
112
- case "array": {
113
- const element = extractSchema(def.element, fallbacks, `${p}._zod.def.element`);
114
- const { checkIRs } = def.checks ? extractChecks(def.checks) : { checkIRs: [] };
115
- return { type: "array", element, checks: checkIRs };
116
- }
117
- case "union": {
118
- if (def.discriminator) {
119
- const options = def.options.map((opt, i) => extractSchema(opt, fallbacks, `${p}._zod.def.options[${i}]`));
120
- const mapping = {};
121
- for (let i = 0; i < def.options.length; i++) {
122
- const opt = def.options[i];
123
- const optDef = opt._zod.def;
124
- if (optDef.type === "object" && optDef.shape) {
125
- const discrimField = optDef.shape[def.discriminator];
126
- if (discrimField?._zod?.def?.type === "literal") {
127
- const vals = discrimField._zod.def.values;
128
- for (const v of vals) {
129
- mapping[String(v)] = i;
130
- }
131
- }
132
- }
133
- }
134
- return { type: "discriminatedUnion", discriminator: def.discriminator, options, mapping };
135
- }
136
- return {
137
- type: "union",
138
- options: def.options.map((opt, i) => extractSchema(opt, fallbacks, `${p}._zod.def.options[${i}]`)),
139
- };
140
- }
141
- case "optional":
142
- return {
143
- type: "optional",
144
- inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`),
145
- };
146
- case "nullable":
147
- return {
148
- type: "nullable",
149
- inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`),
150
- };
151
- case "any":
152
- return { type: "any" };
153
- case "unknown":
154
- return { type: "unknown" };
155
- case "readonly":
156
- return {
157
- type: "readonly",
158
- inner: extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`),
159
- };
160
- case "date": {
161
- const dateChecks = [];
162
- if (def.checks) {
163
- for (const check of def.checks) {
164
- const checkDef = check._zod?.def;
165
- if (!checkDef)
166
- continue;
167
- if (checkDef.check === "greater_than") {
168
- const v = checkDef.value;
169
- const ts = new Date(v).getTime();
170
- if (Number.isNaN(ts))
171
- continue;
172
- dateChecks.push({
173
- kind: "date_greater_than",
174
- value: String(v),
175
- timestamp: ts,
176
- inclusive: checkDef.inclusive,
177
- });
178
- }
179
- else if (checkDef.check === "less_than") {
180
- const v = checkDef.value;
181
- const ts = new Date(v).getTime();
182
- if (Number.isNaN(ts))
183
- continue;
184
- dateChecks.push({
185
- kind: "date_less_than",
186
- value: String(v),
187
- timestamp: ts,
188
- inclusive: checkDef.inclusive,
189
- });
190
- }
191
- }
192
- }
193
- return { type: "date", checks: dateChecks };
194
- }
195
- case "tuple": {
196
- const items = def.items.map((item, i) => extractSchema(item, fallbacks, `${p}._zod.def.items[${i}]`));
197
- const rest = def.rest ? extractSchema(def.rest, fallbacks, `${p}._zod.def.rest`) : null;
198
- return { type: "tuple", items, rest };
199
- }
200
- case "record": {
201
- if (!def.valueType) {
202
- return makeFallback("unsupported", zodSchema, fallbacks, p);
203
- }
204
- const keyType = extractSchema(def.keyType, fallbacks, `${p}._zod.def.keyType`);
205
- const valueType = extractSchema(def.valueType, fallbacks, `${p}._zod.def.valueType`);
206
- return { type: "record", keyType, valueType };
207
- }
208
- case "default": {
209
- const inner = extractSchema(def.innerType, fallbacks, `${p}._zod.def.innerType`);
210
- const defaultValue = def.defaultValue;
211
- // Date objects serialize to strings via JSON.stringify, losing their type.
212
- // Fall back to Zod for Date defaults to preserve correct runtime behavior.
213
- if (defaultValue instanceof Date) {
214
- return makeFallback("unsupported", zodSchema, fallbacks, p);
215
- }
216
- try {
217
- JSON.stringify(defaultValue);
218
- }
219
- catch {
220
- return makeFallback("unsupported", zodSchema, fallbacks, p);
221
- }
222
- return { type: "default", inner, defaultValue };
223
- }
224
- case "intersection":
225
- return {
226
- type: "intersection",
227
- left: extractSchema(def.left, fallbacks, `${p}._zod.def.left`),
228
- right: extractSchema(def.right, fallbacks, `${p}._zod.def.right`),
229
- };
230
- case "set": {
231
- const valueType = extractSchema(def.valueType, fallbacks, `${p}._zod.def.valueType`);
232
- const setChecks = [];
233
- if (def.checks) {
234
- for (const check of def.checks) {
235
- const checkDef = check._zod?.def;
236
- if (!checkDef)
237
- continue;
238
- if (checkDef.check === "min_size") {
239
- setChecks.push({ kind: "min_size", minimum: checkDef.minimum });
240
- }
241
- else if (checkDef.check === "max_size") {
242
- setChecks.push({ kind: "max_size", maximum: checkDef.maximum });
243
- }
244
- }
245
- }
246
- return { type: "set", valueType, ...(setChecks.length > 0 ? { checks: setChecks } : {}) };
247
- }
248
- case "map": {
249
- const keyType = extractSchema(def.keyType, fallbacks, `${p}._zod.def.keyType`);
250
- const valueType = extractSchema(def.valueType, fallbacks, `${p}._zod.def.valueType`);
251
- return { type: "map", keyType, valueType };
252
- }
253
- case "bigint": {
254
- const bigintChecks = [];
255
- if (def.checks) {
256
- for (const check of def.checks) {
257
- const checkDef = check._zod?.def;
258
- if (!checkDef)
259
- continue;
260
- switch (checkDef.check) {
261
- case "greater_than":
262
- bigintChecks.push({
263
- kind: "bigint_greater_than",
264
- value: String(checkDef.value),
265
- inclusive: checkDef.inclusive,
266
- });
267
- break;
268
- case "less_than":
269
- bigintChecks.push({
270
- kind: "bigint_less_than",
271
- value: String(checkDef.value),
272
- inclusive: checkDef.inclusive,
273
- });
274
- break;
275
- case "multiple_of":
276
- bigintChecks.push({
277
- kind: "bigint_multiple_of",
278
- value: String(checkDef.value),
279
- });
280
- break;
281
- }
282
- }
283
- }
284
- return { type: "bigint", checks: bigintChecks };
285
- }
286
- case "pipe": {
287
- const outDef = def.out?._zod?.def;
288
- if (outDef && outDef.type === "transform") {
289
- return makeFallback("transform", zodSchema, fallbacks, p);
290
- }
291
- const inIR = extractSchema(def.in, fallbacks, `${p}._zod.def.in`);
292
- const outIR = extractSchema(def.out, fallbacks, `${p}._zod.def.out`);
293
- return { type: "pipe", in: inIR, out: outIR };
294
- }
295
- case "lazy":
296
- return makeFallback("lazy", zodSchema, fallbacks, p);
297
- default:
298
- return makeFallback("unsupported", zodSchema, fallbacks, p);
299
- }
300
- }
301
- //# sourceMappingURL=extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/core/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAuCvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/core/fallback.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAY;IACtC,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM;gBAAE,OAAO,GAAG,MAAM,QAAQ,GAAG,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,EAAE,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
File without changes