zod-aot 0.15.2 → 0.16.0

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 (139) hide show
  1. package/dist/core/codegen/context.d.ts +12 -3
  2. package/dist/core/codegen/context.d.ts.map +1 -1
  3. package/dist/core/codegen/context.js +35 -1
  4. package/dist/core/codegen/context.js.map +1 -1
  5. package/dist/core/codegen/fast-check/array.d.ts.map +1 -1
  6. package/dist/core/codegen/fast-check/array.js +4 -1
  7. package/dist/core/codegen/fast-check/array.js.map +1 -1
  8. package/dist/core/codegen/fast-check/index.d.ts.map +1 -1
  9. package/dist/core/codegen/fast-check/index.js +1 -0
  10. package/dist/core/codegen/fast-check/index.js.map +1 -1
  11. package/dist/core/codegen/fast-check/number.d.ts.map +1 -1
  12. package/dist/core/codegen/fast-check/number.js +4 -1
  13. package/dist/core/codegen/fast-check/number.js.map +1 -1
  14. package/dist/core/codegen/fast-check/object.d.ts.map +1 -1
  15. package/dist/core/codegen/fast-check/object.js +3 -0
  16. package/dist/core/codegen/fast-check/object.js.map +1 -1
  17. package/dist/core/codegen/fast-check/string.d.ts.map +1 -1
  18. package/dist/core/codegen/fast-check/string.js +4 -1
  19. package/dist/core/codegen/fast-check/string.js.map +1 -1
  20. package/dist/core/codegen/generators/array.d.ts +1 -1
  21. package/dist/core/codegen/generators/array.d.ts.map +1 -1
  22. package/dist/core/codegen/generators/array.js +7 -3
  23. package/dist/core/codegen/generators/array.js.map +1 -1
  24. package/dist/core/codegen/generators/bigint.d.ts +1 -1
  25. package/dist/core/codegen/generators/bigint.d.ts.map +1 -1
  26. package/dist/core/codegen/generators/bigint.js +2 -2
  27. package/dist/core/codegen/generators/bigint.js.map +1 -1
  28. package/dist/core/codegen/generators/boolean.d.ts +1 -1
  29. package/dist/core/codegen/generators/boolean.d.ts.map +1 -1
  30. package/dist/core/codegen/generators/boolean.js +2 -2
  31. package/dist/core/codegen/generators/boolean.js.map +1 -1
  32. package/dist/core/codegen/generators/catch.d.ts +1 -1
  33. package/dist/core/codegen/generators/catch.d.ts.map +1 -1
  34. package/dist/core/codegen/generators/catch.js +3 -3
  35. package/dist/core/codegen/generators/catch.js.map +1 -1
  36. package/dist/core/codegen/generators/date.d.ts +1 -1
  37. package/dist/core/codegen/generators/date.d.ts.map +1 -1
  38. package/dist/core/codegen/generators/date.js +2 -2
  39. package/dist/core/codegen/generators/date.js.map +1 -1
  40. package/dist/core/codegen/generators/default.d.ts +1 -1
  41. package/dist/core/codegen/generators/default.d.ts.map +1 -1
  42. package/dist/core/codegen/generators/default.js +3 -3
  43. package/dist/core/codegen/generators/default.js.map +1 -1
  44. package/dist/core/codegen/generators/discriminated-union.d.ts +1 -1
  45. package/dist/core/codegen/generators/discriminated-union.d.ts.map +1 -1
  46. package/dist/core/codegen/generators/discriminated-union.js +2 -2
  47. package/dist/core/codegen/generators/discriminated-union.js.map +1 -1
  48. package/dist/core/codegen/generators/effect.d.ts +13 -0
  49. package/dist/core/codegen/generators/effect.d.ts.map +1 -0
  50. package/dist/core/codegen/generators/effect.js +28 -0
  51. package/dist/core/codegen/generators/effect.js.map +1 -0
  52. package/dist/core/codegen/generators/fallback.d.ts +1 -1
  53. package/dist/core/codegen/generators/fallback.d.ts.map +1 -1
  54. package/dist/core/codegen/generators/fallback.js +2 -2
  55. package/dist/core/codegen/generators/fallback.js.map +1 -1
  56. package/dist/core/codegen/generators/index.d.ts +1 -1
  57. package/dist/core/codegen/generators/index.d.ts.map +1 -1
  58. package/dist/core/codegen/generators/index.js +48 -42
  59. package/dist/core/codegen/generators/index.js.map +1 -1
  60. package/dist/core/codegen/generators/intersection.d.ts +1 -1
  61. package/dist/core/codegen/generators/intersection.d.ts.map +1 -1
  62. package/dist/core/codegen/generators/intersection.js +2 -2
  63. package/dist/core/codegen/generators/intersection.js.map +1 -1
  64. package/dist/core/codegen/generators/map.d.ts +1 -1
  65. package/dist/core/codegen/generators/map.d.ts.map +1 -1
  66. package/dist/core/codegen/generators/map.js +3 -3
  67. package/dist/core/codegen/generators/map.js.map +1 -1
  68. package/dist/core/codegen/generators/nullable.d.ts +1 -1
  69. package/dist/core/codegen/generators/nullable.d.ts.map +1 -1
  70. package/dist/core/codegen/generators/nullable.js +2 -2
  71. package/dist/core/codegen/generators/nullable.js.map +1 -1
  72. package/dist/core/codegen/generators/number.d.ts +1 -1
  73. package/dist/core/codegen/generators/number.d.ts.map +1 -1
  74. package/dist/core/codegen/generators/number.js +8 -4
  75. package/dist/core/codegen/generators/number.js.map +1 -1
  76. package/dist/core/codegen/generators/object.d.ts +1 -1
  77. package/dist/core/codegen/generators/object.d.ts.map +1 -1
  78. package/dist/core/codegen/generators/object.js +10 -3
  79. package/dist/core/codegen/generators/object.js.map +1 -1
  80. package/dist/core/codegen/generators/optional.d.ts +1 -1
  81. package/dist/core/codegen/generators/optional.d.ts.map +1 -1
  82. package/dist/core/codegen/generators/optional.js +2 -2
  83. package/dist/core/codegen/generators/optional.js.map +1 -1
  84. package/dist/core/codegen/generators/pipe.d.ts +1 -1
  85. package/dist/core/codegen/generators/pipe.d.ts.map +1 -1
  86. package/dist/core/codegen/generators/pipe.js +2 -2
  87. package/dist/core/codegen/generators/pipe.js.map +1 -1
  88. package/dist/core/codegen/generators/readonly.d.ts +1 -1
  89. package/dist/core/codegen/generators/readonly.d.ts.map +1 -1
  90. package/dist/core/codegen/generators/readonly.js +2 -2
  91. package/dist/core/codegen/generators/readonly.js.map +1 -1
  92. package/dist/core/codegen/generators/record.d.ts +1 -1
  93. package/dist/core/codegen/generators/record.d.ts.map +1 -1
  94. package/dist/core/codegen/generators/record.js +4 -4
  95. package/dist/core/codegen/generators/record.js.map +1 -1
  96. package/dist/core/codegen/generators/recursive-ref.d.ts +1 -1
  97. package/dist/core/codegen/generators/recursive-ref.d.ts.map +1 -1
  98. package/dist/core/codegen/generators/recursive-ref.js +2 -2
  99. package/dist/core/codegen/generators/recursive-ref.js.map +1 -1
  100. package/dist/core/codegen/generators/set.d.ts +1 -1
  101. package/dist/core/codegen/generators/set.d.ts.map +1 -1
  102. package/dist/core/codegen/generators/set.js +2 -2
  103. package/dist/core/codegen/generators/set.js.map +1 -1
  104. package/dist/core/codegen/generators/string.d.ts +1 -1
  105. package/dist/core/codegen/generators/string.d.ts.map +1 -1
  106. package/dist/core/codegen/generators/string.js +8 -4
  107. package/dist/core/codegen/generators/string.js.map +1 -1
  108. package/dist/core/codegen/generators/tuple.d.ts +1 -1
  109. package/dist/core/codegen/generators/tuple.d.ts.map +1 -1
  110. package/dist/core/codegen/generators/tuple.js +4 -4
  111. package/dist/core/codegen/generators/tuple.js.map +1 -1
  112. package/dist/core/codegen/generators/union.d.ts +1 -1
  113. package/dist/core/codegen/generators/union.d.ts.map +1 -1
  114. package/dist/core/codegen/generators/union.js +2 -2
  115. package/dist/core/codegen/generators/union.js.map +1 -1
  116. package/dist/core/codegen/index.d.ts.map +1 -1
  117. package/dist/core/codegen/index.js +2 -2
  118. package/dist/core/codegen/index.js.map +1 -1
  119. package/dist/core/diagnostic.d.ts.map +1 -1
  120. package/dist/core/diagnostic.js +4 -0
  121. package/dist/core/diagnostic.js.map +1 -1
  122. package/dist/core/extract/checks.d.ts +2 -2
  123. package/dist/core/extract/checks.d.ts.map +1 -1
  124. package/dist/core/extract/checks.js +20 -2
  125. package/dist/core/extract/checks.js.map +1 -1
  126. package/dist/core/extract/effects.d.ts +12 -0
  127. package/dist/core/extract/effects.d.ts.map +1 -0
  128. package/dist/core/extract/effects.js +204 -0
  129. package/dist/core/extract/effects.js.map +1 -0
  130. package/dist/core/extract/extractors/pipe.d.ts.map +1 -1
  131. package/dist/core/extract/extractors/pipe.js +6 -0
  132. package/dist/core/extract/extractors/pipe.js.map +1 -1
  133. package/dist/core/extract/index.js +9 -0
  134. package/dist/core/extract/index.js.map +1 -1
  135. package/dist/core/extract/types.d.ts +3 -0
  136. package/dist/core/extract/types.d.ts.map +1 -1
  137. package/dist/core/types.d.ts +23 -4
  138. package/dist/core/types.d.ts.map +1 -1
  139. package/package.json +1 -2
@@ -0,0 +1,28 @@
1
+ import { emit } from "../emit.js";
2
+ /**
3
+ * Generate code for a TransformEffectIR node.
4
+ * Validates the inner schema, then applies the transform function and writes back the result.
5
+ */
6
+ export function generateTransformEffect(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation) {
7
+ const beforeVar = `__ib${ctx.counter++}`;
8
+ const innerCode = generateValidation(ir.inner, inputExpr, outputExpr, pathExpr, issuesVar, ctx);
9
+ return `${emit `
10
+ var ${beforeVar}=${issuesVar}.length;
11
+ ${innerCode}
12
+ if(${issuesVar}.length===${beforeVar}){
13
+ ${outputExpr}=(${ir.source})(${outputExpr});
14
+ }
15
+ `}\n`;
16
+ }
17
+ /**
18
+ * Generate code for a RefineEffectCheckIR (inline refine function call).
19
+ * Called from string/number/object check loops when a refine_effect is encountered.
20
+ */
21
+ export function generateRefineCheck(check, inputExpr, pathExpr, issuesVar) {
22
+ const message = check.message ? JSON.stringify(check.message) : `"Invalid"`;
23
+ return emit `
24
+ if(!(${check.source})(${inputExpr})){
25
+ ${issuesVar}.push({code:"custom",path:${pathExpr},message:${message},input:${inputExpr}});
26
+ }`;
27
+ }
28
+ //# sourceMappingURL=effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/effect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAqB,EACrB,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,kBAAwC;IAExC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEhG,OAAO,GAAG,IAAI,CAAA;UACN,SAAS,IAAI,SAAS;MAC1B,SAAS;SACN,SAAS,aAAa,SAAS;QAChC,UAAU,KAAK,EAAE,CAAC,MAAM,KAAK,UAAU;;GAE5C,IAAI,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5E,OAAO,IAAI,CAAA;WACF,KAAK,CAAC,MAAM,KAAK,SAAS;QAC7B,SAAS,6BAA6B,QAAQ,YAAY,OAAO,UAAU,SAAS;MACtF,CAAC;AACP,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { FallbackIR } from "../../types.js";
2
- export declare function generateFallbackValidation(ir: FallbackIR, inputExpr: string, pathExpr: string, issuesVar: string): string;
2
+ export declare function generateFallbackValidation(ir: FallbackIR, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string): string;
3
3
  //# sourceMappingURL=fallback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAoBR"}
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAoBR"}
@@ -1,5 +1,5 @@
1
1
  import { emit } from "../emit.js";
2
- export function generateFallbackValidation(ir, inputExpr, pathExpr, issuesVar) {
2
+ export function generateFallbackValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar) {
3
3
  if (ir.fallbackIndex !== undefined) {
4
4
  const idx = ir.fallbackIndex;
5
5
  const rVar = `__fb_r${idx}`;
@@ -14,7 +14,7 @@ export function generateFallbackValidation(ir, inputExpr, pathExpr, issuesVar) {
14
14
  {path:${pathExpr}.concat(${iVar}[${jVar}].path)}));
15
15
  }
16
16
  }else{
17
- ${inputExpr}=${rVar}.data;
17
+ ${outputExpr}=${rVar}.data;
18
18
  }
19
19
  `}\n`;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/fallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAA;YACN,IAAI,SAAS,GAAG,eAAe,SAAS;YACxC,IAAI;cACF,IAAI,IAAI,IAAI;kBACR,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,IAAI;YAC3C,SAAS,0BAA0B,IAAI,IAAI,IAAI;oBACvC,QAAQ,WAAW,IAAI,IAAI,IAAI;;;UAGzC,SAAS,IAAI,IAAI;;KAEtB,IAAI,CAAC;IACR,CAAC;IACD,OAAO,GAAG,SAAS,6BAA6B,QAAQ,8BAA8B,EAAE,CAAC,MAAM,QAAQ,CAAC;AAC1G,CAAC"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/fallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAA;YACN,IAAI,SAAS,GAAG,eAAe,SAAS;YACxC,IAAI;cACF,IAAI,IAAI,IAAI;kBACR,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,IAAI;YAC3C,SAAS,0BAA0B,IAAI,IAAI,IAAI;oBACvC,QAAQ,WAAW,IAAI,IAAI,IAAI;;;UAGzC,UAAU,IAAI,IAAI;;KAEvB,IAAI,CAAC;IACR,CAAC;IACD,OAAO,GAAG,SAAS,6BAA6B,QAAQ,8BAA8B,EAAE,CAAC,MAAM,QAAQ,CAAC;AAC1G,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext } from "../context.js";
3
- export declare function generateValidation(ir: SchemaIR, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext): string;
3
+ export declare function generateValidation(ir: SchemaIR, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext): string;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAmCpD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,GAClB,MAAM,CAwGR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAoCpD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,GAClB,MAAM,CA4MR"}
@@ -6,6 +6,7 @@ import { generateCatchValidation } from "./catch.js";
6
6
  import { generateDateValidation } from "./date.js";
7
7
  import { generateDefaultValidation } from "./default.js";
8
8
  import { generateDiscriminatedUnionValidation } from "./discriminated-union.js";
9
+ import { generateTransformEffect } from "./effect.js";
9
10
  import { generateEnumValidation } from "./enum.js";
10
11
  import { generateFallbackValidation } from "./fallback.js";
11
12
  import { generateIntersectionValidation } from "./intersection.js";
@@ -31,14 +32,57 @@ import { generateUndefinedValidation } from "./undefined.js";
31
32
  import { generateUnionValidation } from "./union.js";
32
33
  import { generateUnknownValidation } from "./unknown.js";
33
34
  import { generateVoidValidation } from "./void.js";
34
- export function generateValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
35
+ export function generateValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx) {
35
36
  switch (ir.type) {
37
+ // Write generators — receive outputExpr for mutations
36
38
  case "string":
37
- return generateStringValidation(ir, inputExpr, pathExpr, issuesVar, ctx);
39
+ return generateStringValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx);
38
40
  case "number":
39
- return generateNumberValidation(ir, inputExpr, pathExpr, issuesVar, ctx);
41
+ return generateNumberValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx);
40
42
  case "boolean":
41
- return generateBooleanValidation(ir, inputExpr, pathExpr, issuesVar);
43
+ return generateBooleanValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar);
44
+ case "bigint":
45
+ return generateBigIntValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx);
46
+ case "date":
47
+ return generateDateValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar);
48
+ case "object":
49
+ return generateObjectValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
50
+ case "array":
51
+ return generateArrayValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
52
+ case "tuple":
53
+ return generateTupleValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
54
+ case "record":
55
+ return generateRecordValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
56
+ case "set":
57
+ return generateSetValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
58
+ case "map":
59
+ return generateMapValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
60
+ case "default":
61
+ return generateDefaultValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
62
+ case "catch":
63
+ return generateCatchValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
64
+ case "effect":
65
+ return generateTransformEffect(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
66
+ case "fallback":
67
+ return generateFallbackValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar);
68
+ case "recursiveRef":
69
+ return generateRecursiveRefValidation(inputExpr, outputExpr, pathExpr, issuesVar, ctx);
70
+ // Pass-through generators — forward outputExpr to children
71
+ case "pipe":
72
+ return generatePipeValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
73
+ case "optional":
74
+ return generateOptionalValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
75
+ case "nullable":
76
+ return generateNullableValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
77
+ case "readonly":
78
+ return generateReadonlyValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
79
+ case "union":
80
+ return generateUnionValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
81
+ case "discriminatedUnion":
82
+ return generateDiscriminatedUnionValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
83
+ case "intersection":
84
+ return generateIntersectionValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateValidation);
85
+ // Validate-only generators — no outputExpr needed
42
86
  case "null":
43
87
  return generateNullValidation(inputExpr, pathExpr, issuesVar);
44
88
  case "undefined":
@@ -47,46 +91,10 @@ export function generateValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
47
91
  return generateLiteralValidation(ir, inputExpr, pathExpr, issuesVar);
48
92
  case "enum":
49
93
  return generateEnumValidation(ir, inputExpr, pathExpr, issuesVar, ctx);
50
- case "object":
51
- return generateObjectValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
52
- case "array":
53
- return generateArrayValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
54
- case "union":
55
- return generateUnionValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
56
- case "optional":
57
- return generateOptionalValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
58
- case "nullable":
59
- return generateNullableValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
60
- case "fallback":
61
- return generateFallbackValidation(ir, inputExpr, pathExpr, issuesVar);
62
94
  case "any":
63
95
  return generateAnyValidation();
64
96
  case "unknown":
65
97
  return generateUnknownValidation();
66
- case "readonly":
67
- return generateReadonlyValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
68
- case "date":
69
- return generateDateValidation(ir, inputExpr, pathExpr, issuesVar);
70
- case "tuple":
71
- return generateTupleValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
72
- case "record":
73
- return generateRecordValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
74
- case "default":
75
- return generateDefaultValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
76
- case "intersection":
77
- return generateIntersectionValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
78
- case "discriminatedUnion":
79
- return generateDiscriminatedUnionValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
80
- case "bigint":
81
- return generateBigIntValidation(ir, inputExpr, pathExpr, issuesVar, ctx);
82
- case "set":
83
- return generateSetValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
84
- case "map":
85
- return generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
86
- case "pipe":
87
- return generatePipeValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
88
- case "recursiveRef":
89
- return generateRecursiveRefValidation(inputExpr, pathExpr, issuesVar, ctx);
90
98
  case "symbol":
91
99
  return generateSymbolValidation(inputExpr, pathExpr, issuesVar);
92
100
  case "void":
@@ -97,8 +105,6 @@ export function generateValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
97
105
  return generateNeverValidation(inputExpr, pathExpr, issuesVar);
98
106
  case "templateLiteral":
99
107
  return generateTemplateLiteralValidation(ir, inputExpr, pathExpr, issuesVar, ctx);
100
- case "catch":
101
- return generateCatchValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation);
102
108
  }
103
109
  }
104
110
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/index.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateIntersectionValidation(ir: SchemaIR & {
4
4
  type: "intersection";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=intersection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,EACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAER"}
1
+ {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,EACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAER"}
@@ -1,4 +1,4 @@
1
- export function generateIntersectionValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
- return `${generateFn(ir.left, inputExpr, pathExpr, issuesVar, ctx)}${generateFn(ir.right, inputExpr, pathExpr, issuesVar, ctx)}`;
1
+ export function generateIntersectionValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ return `${generateFn(ir.left, inputExpr, outputExpr, pathExpr, issuesVar, ctx)}${generateFn(ir.right, outputExpr, outputExpr, pathExpr, issuesVar, ctx)}`;
3
3
  }
4
4
  //# sourceMappingURL=intersection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/intersection.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,8BAA8B,CAC5C,EAAuC,EACvC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;AACnI,CAAC"}
1
+ {"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/intersection.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,8BAA8B,CAC5C,EAAuC,EACvC,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5J,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateMapValidation(ir: SchemaIR & {
4
4
  type: "map";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, _outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAiBR"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAiBR"}
@@ -1,5 +1,5 @@
1
1
  import { emit } from "../emit.js";
2
- export function generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ export function generateMapValidation(ir, inputExpr, _outputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
3
  const idx = ctx.counter++;
4
4
  const entryVar = `__map_e${idx}`;
5
5
  const idxVar = `__map_i${idx}`;
@@ -9,8 +9,8 @@ export function generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, g
9
9
  }else{
10
10
  var ${idxVar}=0;
11
11
  for(var ${entryVar} of ${inputExpr}){
12
- ${generateFn(ir.keyType, `${entryVar}[0]`, `${pathExpr}.concat(${idxVar},"key")`, issuesVar, ctx)}
13
- ${generateFn(ir.valueType, `${entryVar}[1]`, `${pathExpr}.concat(${idxVar},"value")`, issuesVar, ctx)}
12
+ ${generateFn(ir.keyType, `${entryVar}[0]`, `${entryVar}[0]`, `${pathExpr}.concat(${idxVar},"key")`, issuesVar, ctx)}
13
+ ${generateFn(ir.valueType, `${entryVar}[1]`, `${entryVar}[1]`, `${pathExpr}.concat(${idxVar},"value")`, issuesVar, ctx)}
14
14
  ${idxVar}++;
15
15
  }
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAE/B,OAAO,GAAG,IAAI,CAAA;WACL,SAAS;QACZ,SAAS,mDAAmD,SAAS,SAAS,QAAQ;;YAElF,MAAM;gBACF,QAAQ,OAAO,SAAS;UAC9B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,WAAW,MAAM,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC;UAC/F,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,WAAW,MAAM,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC;UACnG,MAAM;;;GAGb,IAAI,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,WAAmB,EACnB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAE/B,OAAO,GAAG,IAAI,CAAA;WACL,SAAS;QACZ,SAAS,mDAAmD,SAAS,SAAS,QAAQ;;YAElF,MAAM;gBACF,QAAQ,OAAO,SAAS;UAC9B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,WAAW,MAAM,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC;UACjH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,WAAW,MAAM,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC;UACrH,MAAM;;;GAGb,IAAI,CAAC;AACR,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateNullableValidation(ir: SchemaIR & {
4
4
  type: "nullable";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=nullable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/nullable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAMR"}
1
+ {"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/nullable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAMR"}
@@ -1,8 +1,8 @@
1
1
  import { emit } from "../emit.js";
2
- export function generateNullableValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ export function generateNullableValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
3
  return `${emit `
4
4
  if(${inputExpr}!==null){
5
- ${generateFn(ir.inner, inputExpr, pathExpr, issuesVar, ctx)}
5
+ ${generateFn(ir.inner, inputExpr, outputExpr, pathExpr, issuesVar, ctx)}
6
6
  }
7
7
  `}\n`;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/nullable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,IAAI,CAAA;SACP,SAAS;QACV,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC;;GAE9D,IAAI,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/nullable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,IAAI,CAAA;SACP,SAAS;QACV,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC;;GAE1E,IAAI,CAAC;AACR,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext } from "../context.js";
3
3
  export declare function generateNumberValidation(ir: SchemaIR & {
4
4
  type: "number";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, _ctx: CodeGenContext): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, _ctx: CodeGenContext): string;
6
6
  //# sourceMappingURL=number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,MAAM,CA0FR"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,MAAM,CA6FR"}
@@ -1,9 +1,10 @@
1
- import { checkPriority } from "../context.js";
1
+ import { sortChecksPreservingEffects } from "../context.js";
2
2
  import { emit } from "../emit.js";
3
- export function generateNumberValidation(ir, inputExpr, pathExpr, issuesVar, _ctx) {
3
+ import { generateRefineCheck } from "./effect.js";
4
+ export function generateNumberValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, _ctx) {
4
5
  let code = "";
5
6
  if (ir.coerce) {
6
- code += emit `${inputExpr}=Number(${inputExpr});`;
7
+ code += emit `${outputExpr}=Number(${inputExpr});`;
7
8
  }
8
9
  code += emit `
9
10
  if(typeof ${inputExpr}!=="number"){
@@ -15,7 +16,7 @@ export function generateNumberValidation(ir, inputExpr, pathExpr, issuesVar, _ct
15
16
  }`;
16
17
  if (ir.checks.length > 0) {
17
18
  code += `else{`;
18
- for (const check of [...ir.checks].sort(checkPriority)) {
19
+ for (const check of sortChecksPreservingEffects([...ir.checks])) {
19
20
  switch (check.kind) {
20
21
  case "greater_than":
21
22
  if (check.inclusive) {
@@ -88,6 +89,9 @@ export function generateNumberValidation(ir, inputExpr, pathExpr, issuesVar, _ct
88
89
  ${issuesVar}.push({code:"not_multiple_of",divisor:${check.value},origin:"number",input:${inputExpr},path:${pathExpr}});
89
90
  }`;
90
91
  break;
92
+ case "refine_effect":
93
+ code += generateRefineCheck(check, inputExpr, pathExpr, issuesVar);
94
+ break;
91
95
  }
92
96
  }
93
97
  code += `}`;
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateObjectValidation(ir: SchemaIR & {
4
4
  type: "object";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1E,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAuBR"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAK1E,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CA+BR"}
@@ -1,6 +1,7 @@
1
1
  import { escapeString, hasMutation } from "../context.js";
2
2
  import { emit } from "../emit.js";
3
- export function generateObjectValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
+ import { generateRefineCheck } from "./effect.js";
4
+ export function generateObjectValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
4
5
  let code = emit `
5
6
  if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){
6
7
  ${issuesVar}.push({code:"invalid_type",expected:"object",input:${inputExpr},path:${pathExpr}});
@@ -13,10 +14,16 @@ export function generateObjectValidation(ir, inputExpr, pathExpr, issuesVar, ctx
13
14
  for (const [key, propIR] of Object.entries(ir.properties)) {
14
15
  const propExpr = `${objVar}[${escapeString(key)}]`;
15
16
  const propPath = `${pathExpr}.concat(${escapeString(key)})`;
16
- code += generateFn(propIR, propExpr, propPath, issuesVar, ctx);
17
+ code += generateFn(propIR, propExpr, propExpr, propPath, issuesVar, ctx);
17
18
  }
18
19
  if (needsClone) {
19
- code += `${inputExpr}=${objVar};`;
20
+ code += `${outputExpr}=${objVar};`;
21
+ }
22
+ // Object-level refine effects: z.object({...}).refine(fn)
23
+ if (ir.checks) {
24
+ for (const check of ir.checks) {
25
+ code += generateRefineCheck(check, objVar, pathExpr, issuesVar);
26
+ }
20
27
  }
21
28
  code += `}\n`;
22
29
  return code;
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/object.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,IAAI,CAAA;gBACD,SAAS,gBAAgB,SAAS,0BAA0B,SAAS;QAC7E,SAAS,sDAAsD,SAAS,SAAS,QAAQ;WACtF,CAAC;IAEV,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,UAAU;QAChB,CAAC,CAAC,OAAO,MAAM,qBAAqB,SAAS,IAAI;QACjD,CAAC,CAAC,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAElC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5D,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/object.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,IAAI,CAAA;gBACD,SAAS,gBAAgB,SAAS,0BAA0B,SAAS;QAC7E,SAAS,sDAAsD,SAAS,SAAS,QAAQ;WACtF,CAAC;IAEV,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,UAAU;QAChB,CAAC,CAAC,OAAO,MAAM,qBAAqB,SAAS,IAAI;QACjD,CAAC,CAAC,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAElC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5D,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,UAAU,IAAI,MAAM,GAAG,CAAC;IACrC,CAAC;IAED,0DAA0D;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateOptionalValidation(ir: SchemaIR & {
4
4
  type: "optional";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=optional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/optional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAMR"}
1
+ {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/optional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAMR"}
@@ -1,8 +1,8 @@
1
1
  import { emit } from "../emit.js";
2
- export function generateOptionalValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ export function generateOptionalValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
3
  return `${emit `
4
4
  if(${inputExpr}!==undefined){
5
- ${generateFn(ir.inner, inputExpr, pathExpr, issuesVar, ctx)}
5
+ ${generateFn(ir.inner, inputExpr, outputExpr, pathExpr, issuesVar, ctx)}
6
6
  }
7
7
  `}\n`;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/optional.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,IAAI,CAAA;SACP,SAAS;QACV,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC;;GAE9D,IAAI,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/optional.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,GAAG,IAAI,CAAA;SACP,SAAS;QACV,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC;;GAE1E,IAAI,CAAC;AACR,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generatePipeValidation(ir: SchemaIR & {
4
4
  type: "pipe";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=pipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/pipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAGR"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/pipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAGR"}
@@ -1,5 +1,5 @@
1
- export function generatePipeValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
1
+ export function generatePipeValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
2
  // Validate input schema first, then output schema sequentially
3
- return `${generateFn(ir.in, inputExpr, pathExpr, issuesVar, ctx)}${generateFn(ir.out, inputExpr, pathExpr, issuesVar, ctx)}`;
3
+ return `${generateFn(ir.in, inputExpr, outputExpr, pathExpr, issuesVar, ctx)}${generateFn(ir.out, outputExpr, outputExpr, pathExpr, issuesVar, ctx)}`;
4
4
  }
5
5
  //# sourceMappingURL=pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/pipe.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,+DAA+D;IAC/D,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/H,CAAC"}
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/pipe.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,+DAA+D;IAC/D,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;AACxJ,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateReadonlyValidation(ir: SchemaIR & {
4
4
  type: "readonly";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=readonly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readonly.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/readonly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAER"}
1
+ {"version":3,"file":"readonly.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/readonly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EACnC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAER"}
@@ -1,4 +1,4 @@
1
- export function generateReadonlyValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
- return generateFn(ir.inner, inputExpr, pathExpr, issuesVar, ctx);
1
+ export function generateReadonlyValidation(ir, inputExpr, outputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ return generateFn(ir.inner, inputExpr, outputExpr, pathExpr, issuesVar, ctx);
3
3
  }
4
4
  //# sourceMappingURL=readonly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readonly.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/readonly.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"readonly.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/readonly.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CACxC,EAAmC,EACnC,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,OAAO,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAC/E,CAAC"}
@@ -2,5 +2,5 @@ import type { SchemaIR } from "../../types.js";
2
2
  import type { CodeGenContext, GenerateValidationFn } from "../context.js";
3
3
  export declare function generateRecordValidation(ir: SchemaIR & {
4
4
  type: "record";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
5
+ }, inputExpr: string, outputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=record.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1E,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CA+BR"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1E,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CA+BR"}