zod-aot 0.0.11 → 0.0.12

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 (69) hide show
  1. package/dist/cli/commands/generate.d.ts.map +1 -1
  2. package/dist/cli/commands/generate.js +2 -10
  3. package/dist/cli/commands/generate.js.map +1 -1
  4. package/dist/cli/emitter.d.ts +2 -9
  5. package/dist/cli/emitter.d.ts.map +1 -1
  6. package/dist/cli/emitter.js +4 -0
  7. package/dist/cli/emitter.js.map +1 -1
  8. package/dist/core/codegen/context.d.ts +2 -0
  9. package/dist/core/codegen/context.d.ts.map +1 -1
  10. package/dist/core/codegen/context.js +2 -0
  11. package/dist/core/codegen/context.js.map +1 -1
  12. package/dist/core/codegen/generators/array.js +4 -4
  13. package/dist/core/codegen/generators/array.js.map +1 -1
  14. package/dist/core/codegen/generators/bigint.js +6 -6
  15. package/dist/core/codegen/generators/bigint.js.map +1 -1
  16. package/dist/core/codegen/generators/boolean.js +1 -1
  17. package/dist/core/codegen/generators/boolean.js.map +1 -1
  18. package/dist/core/codegen/generators/date.js +5 -5
  19. package/dist/core/codegen/generators/date.js.map +1 -1
  20. package/dist/core/codegen/generators/discriminated-union.js +2 -2
  21. package/dist/core/codegen/generators/discriminated-union.js.map +1 -1
  22. package/dist/core/codegen/generators/enum.js +2 -2
  23. package/dist/core/codegen/generators/enum.js.map +1 -1
  24. package/dist/core/codegen/generators/literal.js +2 -2
  25. package/dist/core/codegen/generators/literal.js.map +1 -1
  26. package/dist/core/codegen/generators/map.d.ts +1 -1
  27. package/dist/core/codegen/generators/map.d.ts.map +1 -1
  28. package/dist/core/codegen/generators/map.js +4 -4
  29. package/dist/core/codegen/generators/map.js.map +1 -1
  30. package/dist/core/codegen/generators/null.js +1 -1
  31. package/dist/core/codegen/generators/null.js.map +1 -1
  32. package/dist/core/codegen/generators/number.d.ts.map +1 -1
  33. package/dist/core/codegen/generators/number.js +9 -7
  34. package/dist/core/codegen/generators/number.js.map +1 -1
  35. package/dist/core/codegen/generators/object.js +1 -1
  36. package/dist/core/codegen/generators/object.js.map +1 -1
  37. package/dist/core/codegen/generators/pipe.d.ts +1 -1
  38. package/dist/core/codegen/generators/pipe.d.ts.map +1 -1
  39. package/dist/core/codegen/generators/pipe.js +3 -3
  40. package/dist/core/codegen/generators/pipe.js.map +1 -1
  41. package/dist/core/codegen/generators/record.js +1 -1
  42. package/dist/core/codegen/generators/record.js.map +1 -1
  43. package/dist/core/codegen/generators/set.d.ts +1 -1
  44. package/dist/core/codegen/generators/set.d.ts.map +1 -1
  45. package/dist/core/codegen/generators/set.js +5 -5
  46. package/dist/core/codegen/generators/set.js.map +1 -1
  47. package/dist/core/codegen/generators/string.d.ts.map +1 -1
  48. package/dist/core/codegen/generators/string.js +9 -8
  49. package/dist/core/codegen/generators/string.js.map +1 -1
  50. package/dist/core/codegen/generators/tuple.d.ts.map +1 -1
  51. package/dist/core/codegen/generators/tuple.js +3 -5
  52. package/dist/core/codegen/generators/tuple.js.map +1 -1
  53. package/dist/core/codegen/generators/undefined.js +1 -1
  54. package/dist/core/codegen/generators/undefined.js.map +1 -1
  55. package/dist/core/codegen/generators/union.d.ts.map +1 -1
  56. package/dist/core/codegen/generators/union.js +6 -2
  57. package/dist/core/codegen/generators/union.js.map +1 -1
  58. package/dist/core/codegen/index.d.ts.map +1 -1
  59. package/dist/core/codegen/index.js +7 -1
  60. package/dist/core/codegen/index.js.map +1 -1
  61. package/dist/core/pipeline.d.ts +17 -0
  62. package/dist/core/pipeline.d.ts.map +1 -0
  63. package/dist/core/pipeline.js +17 -0
  64. package/dist/core/pipeline.js.map +1 -0
  65. package/dist/unplugin/transform.d.ts +1 -8
  66. package/dist/unplugin/transform.d.ts.map +1 -1
  67. package/dist/unplugin/transform.js +12 -15
  68. package/dist/unplugin/transform.js.map +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3E;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBpE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAmCpC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCzE"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3E;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBpE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA4BpC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCzE"}
@@ -1,8 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import process from "node:process";
4
- import { generateValidator } from "#src/core/codegen/index.js";
5
- import { extractSchema } from "#src/core/extractor.js";
4
+ import { compileSchemas } from "#src/core/pipeline.js";
6
5
  import { discoverSchemas } from "#src/discovery.js";
7
6
  import { generateCompiledFileContent, resolveOutputPath, writeCompiledFile } from "../emitter.js";
8
7
  import { getErrorMessage } from "../errors.js";
@@ -76,14 +75,7 @@ export async function generateFile(filePath, outputFlag, options) {
76
75
  if (schemas.length === 0) {
77
76
  return null;
78
77
  }
79
- const codegenResults = schemas.map((s) => {
80
- const fallbackEntries = [];
81
- const ir = extractSchema(s.schema, fallbackEntries);
82
- const result = generateValidator(ir, s.exportName, {
83
- fallbackCount: fallbackEntries.length,
84
- });
85
- return { exportName: s.exportName, codegenResult: result, fallbackEntries };
86
- });
78
+ const codegenResults = compileSchemas(schemas);
87
79
  const outputPath = resolveOutputPath(filePath, outputFlag);
88
80
  const sourceRelPath = path.relative(path.dirname(outputPath), filePath);
89
81
  const content = generateCompiledFileContent(codegenResults, sourceRelPath);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,8 @@
1
- import type { CodeGenResult } from "#src/core/codegen/context.js";
2
- import type { FallbackEntry } from "#src/core/extractor.js";
3
- interface EmitSchema {
4
- exportName: string;
5
- codegenResult: CodeGenResult;
6
- fallbackEntries: FallbackEntry[];
7
- }
1
+ import type { CompiledSchemaInfo } from "#src/core/pipeline.js";
8
2
  /**
9
3
  * Generate the content of a .compiled.ts file from multiple schemas.
10
4
  */
11
- export declare function generateCompiledFileContent(schemas: EmitSchema[], sourceRelPath: string): string;
5
+ export declare function generateCompiledFileContent(schemas: CompiledSchemaInfo[], sourceRelPath: string): string;
12
6
  /**
13
7
  * Resolve the output file path for a given input file.
14
8
  */
@@ -17,5 +11,4 @@ export declare function resolveOutputPath(inputPath: string, outputFlag: string
17
11
  * Write the compiled file content to disk.
18
12
  */
19
13
  export declare function writeCompiledFile(outputPath: string, content: string): Promise<void>;
20
- export {};
21
14
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAsFhG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,aAAa,EAAE,MAAM,GACpB,MAAM,CA2FR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F"}
@@ -10,6 +10,10 @@ export function generateCompiledFileContent(schemas, sourceRelPath) {
10
10
  lines.push("// AUTO-GENERATED by zod-aot — DO NOT EDIT");
11
11
  lines.push(`// Source: ${sourceRelPath}`);
12
12
  lines.push("");
13
+ // Import Zod config for locale-aware error messages
14
+ lines.push('import { config as __zodAotConfig } from "zod";');
15
+ lines.push("const __msg = __zodAotConfig().localeError;");
16
+ lines.push("");
13
17
  // Import original schemas for partial fallback (if any schema has fallbacks)
14
18
  const schemasWithFallbacks = schemas.filter((s) => s.fallbackEntries.length > 0);
15
19
  if (schemasWithFallbacks.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface CodeGenContext {
11
11
  }
12
12
  export type GenerateValidationFn = (ir: SchemaIR, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext) => string;
13
13
  export declare const EMAIL_REGEX_SOURCE: string;
14
+ /** Fallback UUID regex used when the extractor doesn't provide a pattern (e.g. in unit tests). */
15
+ export declare const UUID_REGEX_SOURCE = "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$";
14
16
  export declare function escapeString(s: string): string;
15
17
  /**
16
18
  * Extract the function name from a generated function definition string.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,KAChB,MAAM,CAAC;AAGZ,eAAO,MAAM,kBAAkB,QAA+G,CAAC;AAE/I,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM/D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,KAChB,MAAM,CAAC;AAGZ,eAAO,MAAM,kBAAkB,QAA+G,CAAC;AAE/I,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,2KAC4I,CAAC;AAE3K,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM/D"}
@@ -1,5 +1,7 @@
1
1
  // Zod v4's email regex pattern (as a source string for new RegExp())
2
2
  export const EMAIL_REGEX_SOURCE = String.raw `^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$`;
3
+ /** Fallback UUID regex used when the extractor doesn't provide a pattern (e.g. in unit tests). */
4
+ export const UUID_REGEX_SOURCE = "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$";
3
5
  export function escapeString(s) {
4
6
  return JSON.stringify(s);
5
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAsBA,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA,kGAAkG,CAAC;AAE/I,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAsBA,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA,kGAAkG,CAAC;AAE/I,kGAAkG;AAClG,MAAM,CAAC,MAAM,iBAAiB,GAC5B,wKAAwK,CAAC;AAE3K,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  export function generateArrayValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
- let code = `if(!Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"array",received:typeof ${inputExpr},path:${pathExpr},message:"Expected array"});}else{`;
2
+ let code = `if(!Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"array",input:${inputExpr},path:${pathExpr}});}else{`;
3
3
  for (const check of ir.checks) {
4
4
  switch (check.kind) {
5
5
  case "min_length":
6
- code += `if(${inputExpr}.length<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},type:"array",inclusive:true,path:${pathExpr},message:"Array must contain at least ${check.minimum} element(s)"});}`;
6
+ code += `if(${inputExpr}.length<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},origin:"array",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
7
7
  break;
8
8
  case "max_length":
9
- code += `if(${inputExpr}.length>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},type:"array",inclusive:true,path:${pathExpr},message:"Array must contain at most ${check.maximum} element(s)"});}`;
9
+ code += `if(${inputExpr}.length>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},origin:"array",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
10
10
  break;
11
11
  case "length_equals":
12
- code += `if(${inputExpr}.length!==${check.length}){${issuesVar}.push({code:"invalid_length",exact:${check.length},type:"array",path:${pathExpr},message:"Array must contain exactly ${check.length} element(s)"});}`;
12
+ code += `if(${inputExpr}.length<${check.length}){${issuesVar}.push({code:"too_small",minimum:${check.length},origin:"array",inclusive:true,exact:true,input:${inputExpr},path:${pathExpr}});}else if(${inputExpr}.length>${check.length}){${issuesVar}.push({code:"too_big",maximum:${check.length},origin:"array",inclusive:true,exact:true,input:${inputExpr},path:${pathExpr}});}`;
13
13
  break;
14
14
  }
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/array.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,qBAAqB,SAAS,MAAM,SAAS,+DAA+D,SAAS,SAAS,QAAQ,oCAAoC,CAAC;IAEtL,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,mCAAmC,KAAK,CAAC,OAAO,qCAAqC,QAAQ,yCAAyC,KAAK,CAAC,OAAO,kBAAkB,CAAC;gBACnO,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,iCAAiC,KAAK,CAAC,OAAO,qCAAqC,QAAQ,wCAAwC,KAAK,CAAC,OAAO,kBAAkB,CAAC;gBAChO,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,IAAI,MAAM,SAAS,aAAa,KAAK,CAAC,MAAM,KAAK,SAAS,sCAAsC,KAAK,CAAC,MAAM,sBAAsB,QAAQ,wCAAwC,KAAK,CAAC,MAAM,kBAAkB,CAAC;gBACrN,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,WAAW,MAAM,MAAM,MAAM,IAAI,SAAS,WAAW,MAAM,MAAM,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;IACjD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/array.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,qBAAqB,SAAS,MAAM,SAAS,qDAAqD,SAAS,SAAS,QAAQ,WAAW,CAAC;IAEnJ,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,mCAAmC,KAAK,CAAC,OAAO,wCAAwC,SAAS,SAAS,QAAQ,MAAM,CAAC;gBACtL,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,iCAAiC,KAAK,CAAC,OAAO,wCAAwC,SAAS,SAAS,QAAQ,MAAM,CAAC;gBACpL,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,MAAM,KAAK,SAAS,mCAAmC,KAAK,CAAC,MAAM,mDAAmD,SAAS,SAAS,QAAQ,eAAe,SAAS,WAAW,KAAK,CAAC,MAAM,KAAK,SAAS,iCAAiC,KAAK,CAAC,MAAM,mDAAmD,SAAS,SAAS,QAAQ,MAAM,CAAC;gBACtX,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,WAAW,MAAM,MAAM,MAAM,IAAI,SAAS,WAAW,MAAM,MAAM,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;IACjD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,27 +1,27 @@
1
1
  export function generateBigIntValidation(ir, inputExpr, pathExpr, issuesVar, _ctx) {
2
- let code = `if(typeof ${inputExpr}!=="bigint"){${issuesVar}.push({code:"invalid_type",expected:"bigint",received:typeof ${inputExpr},path:${pathExpr},message:"Expected bigint"});}`;
2
+ let code = `if(typeof ${inputExpr}!=="bigint"){${issuesVar}.push({code:"invalid_type",expected:"bigint",input:${inputExpr},path:${pathExpr}});}`;
3
3
  if (ir.checks.length > 0) {
4
4
  code += `else{`;
5
5
  for (const check of ir.checks) {
6
6
  switch (check.kind) {
7
7
  case "bigint_greater_than":
8
8
  if (check.inclusive) {
9
- code += `if(${inputExpr}<${check.value}n){${issuesVar}.push({code:"too_small",minimum:${check.value}n,type:"bigint",inclusive:true,path:${pathExpr},message:"BigInt must be greater than or equal to ${check.value}"});}`;
9
+ code += `if(${inputExpr}<${check.value}n){${issuesVar}.push({code:"too_small",minimum:${check.value}n,origin:"bigint",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
10
10
  }
11
11
  else {
12
- code += `if(${inputExpr}<=${check.value}n){${issuesVar}.push({code:"too_small",minimum:${check.value}n,type:"bigint",inclusive:false,path:${pathExpr},message:"BigInt must be greater than ${check.value}"});}`;
12
+ code += `if(${inputExpr}<=${check.value}n){${issuesVar}.push({code:"too_small",minimum:${check.value}n,origin:"bigint",inclusive:false,input:${inputExpr},path:${pathExpr}});}`;
13
13
  }
14
14
  break;
15
15
  case "bigint_less_than":
16
16
  if (check.inclusive) {
17
- code += `if(${inputExpr}>${check.value}n){${issuesVar}.push({code:"too_big",maximum:${check.value}n,type:"bigint",inclusive:true,path:${pathExpr},message:"BigInt must be less than or equal to ${check.value}"});}`;
17
+ code += `if(${inputExpr}>${check.value}n){${issuesVar}.push({code:"too_big",maximum:${check.value}n,origin:"bigint",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
18
18
  }
19
19
  else {
20
- code += `if(${inputExpr}>=${check.value}n){${issuesVar}.push({code:"too_big",maximum:${check.value}n,type:"bigint",inclusive:false,path:${pathExpr},message:"BigInt must be less than ${check.value}"});}`;
20
+ code += `if(${inputExpr}>=${check.value}n){${issuesVar}.push({code:"too_big",maximum:${check.value}n,origin:"bigint",inclusive:false,input:${inputExpr},path:${pathExpr}});}`;
21
21
  }
22
22
  break;
23
23
  case "bigint_multiple_of":
24
- code += `if(${inputExpr}%${check.value}n!==0n){${issuesVar}.push({code:"not_multiple_of",multipleOf:${check.value}n,path:${pathExpr},message:"BigInt must be a multiple of ${check.value}"});}`;
24
+ code += `if(${inputExpr}%${check.value}n!==0n){${issuesVar}.push({code:"not_multiple_of",divisor:${check.value}n,origin:"bigint",input:${inputExpr},path:${pathExpr}});}`;
25
25
  break;
26
26
  }
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/bigint.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,IAAoB;IAEpB,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,gEAAgE,SAAS,SAAS,QAAQ,gCAAgC,CAAC;IAErL,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,qBAAqB;oBACxB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,MAAM,SAAS,mCAAmC,KAAK,CAAC,KAAK,uCAAuC,QAAQ,qDAAqD,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC5N,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,SAAS,mCAAmC,KAAK,CAAC,KAAK,wCAAwC,QAAQ,yCAAyC,KAAK,CAAC,KAAK,OAAO,CAAC;oBAClN,CAAC;oBACD,MAAM;gBACR,KAAK,kBAAkB;oBACrB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,MAAM,SAAS,iCAAiC,KAAK,CAAC,KAAK,uCAAuC,QAAQ,kDAAkD,KAAK,CAAC,KAAK,OAAO,CAAC;oBACvN,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,SAAS,iCAAiC,KAAK,CAAC,KAAK,wCAAwC,QAAQ,sCAAsC,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC7M,CAAC;oBACD,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,WAAW,SAAS,4CAA4C,KAAK,CAAC,KAAK,UAAU,QAAQ,0CAA0C,KAAK,CAAC,KAAK,OAAO,CAAC;oBAChM,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/bigint.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,IAAoB;IAEpB,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,sDAAsD,SAAS,SAAS,QAAQ,MAAM,CAAC;IAEjJ,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,qBAAqB;oBACxB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,MAAM,SAAS,mCAAmC,KAAK,CAAC,KAAK,0CAA0C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAChL,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,SAAS,mCAAmC,KAAK,CAAC,KAAK,2CAA2C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAClL,CAAC;oBACD,MAAM;gBACR,KAAK,kBAAkB;oBACrB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,MAAM,SAAS,iCAAiC,KAAK,CAAC,KAAK,0CAA0C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAC9K,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,MAAM,SAAS,iCAAiC,KAAK,CAAC,KAAK,2CAA2C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAChL,CAAC;oBACD,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,WAAW,SAAS,yCAAyC,KAAK,CAAC,KAAK,2BAA2B,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAC1K,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export function generateBooleanValidation(inputExpr, pathExpr, issuesVar) {
2
- return `if(typeof ${inputExpr}!=="boolean"){${issuesVar}.push({code:"invalid_type",expected:"boolean",received:typeof ${inputExpr},path:${pathExpr},message:"Expected boolean"});}\n`;
2
+ return `if(typeof ${inputExpr}!=="boolean"){${issuesVar}.push({code:"invalid_type",expected:"boolean",input:${inputExpr},path:${pathExpr}});}\n`;
3
3
  }
4
4
  //# sourceMappingURL=boolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/boolean.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,aAAa,SAAS,iBAAiB,SAAS,iEAAiE,SAAS,SAAS,QAAQ,mCAAmC,CAAC;AACxL,CAAC"}
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/boolean.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,aAAa,SAAS,iBAAiB,SAAS,uDAAuD,SAAS,SAAS,QAAQ,QAAQ,CAAC;AACnJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export function generateDateValidation(ir, inputExpr, pathExpr, issuesVar) {
2
- let code = `if(!(${inputExpr} instanceof Date)||isNaN(${inputExpr}.getTime())){${issuesVar}.push({code:"invalid_type",expected:"date",received:${inputExpr} instanceof Date?"Invalid Date":typeof ${inputExpr},path:${pathExpr},message:"Expected date"});}`;
2
+ let code = `if(!(${inputExpr} instanceof Date)){${issuesVar}.push({code:"invalid_type",expected:"date",input:${inputExpr},path:${pathExpr}});}else if(isNaN(${inputExpr}.getTime())){${issuesVar}.push({code:"invalid_type",expected:"date",received:"Invalid Date",input:${inputExpr},path:${pathExpr}});}`;
3
3
  if (ir.checks.length > 0) {
4
4
  code += `else{`;
5
5
  for (const check of ir.checks) {
@@ -7,18 +7,18 @@ export function generateDateValidation(ir, inputExpr, pathExpr, issuesVar) {
7
7
  switch (check.kind) {
8
8
  case "date_greater_than":
9
9
  if (check.inclusive) {
10
- code += `if(${timeExpr}<${check.timestamp}){${issuesVar}.push({code:"too_small",minimum:${check.timestamp},inclusive:true,origin:"date",path:${pathExpr},message:"Date must be >= ${check.value}"});}`;
10
+ code += `if(${timeExpr}<${check.timestamp}){${issuesVar}.push({code:"too_small",minimum:${check.timestamp},inclusive:true,origin:"date",input:${inputExpr},path:${pathExpr}});}`;
11
11
  }
12
12
  else {
13
- code += `if(${timeExpr}<=${check.timestamp}){${issuesVar}.push({code:"too_small",minimum:${check.timestamp},inclusive:false,origin:"date",path:${pathExpr},message:"Date must be > ${check.value}"});}`;
13
+ code += `if(${timeExpr}<=${check.timestamp}){${issuesVar}.push({code:"too_small",minimum:${check.timestamp},inclusive:false,origin:"date",input:${inputExpr},path:${pathExpr}});}`;
14
14
  }
15
15
  break;
16
16
  case "date_less_than":
17
17
  if (check.inclusive) {
18
- code += `if(${timeExpr}>${check.timestamp}){${issuesVar}.push({code:"too_big",maximum:${check.timestamp},inclusive:true,origin:"date",path:${pathExpr},message:"Date must be <= ${check.value}"});}`;
18
+ code += `if(${timeExpr}>${check.timestamp}){${issuesVar}.push({code:"too_big",maximum:${check.timestamp},inclusive:true,origin:"date",input:${inputExpr},path:${pathExpr}});}`;
19
19
  }
20
20
  else {
21
- code += `if(${timeExpr}>=${check.timestamp}){${issuesVar}.push({code:"too_big",maximum:${check.timestamp},inclusive:false,origin:"date",path:${pathExpr},message:"Date must be < ${check.value}"});}`;
21
+ code += `if(${timeExpr}>=${check.timestamp}){${issuesVar}.push({code:"too_big",maximum:${check.timestamp},inclusive:false,origin:"date",input:${inputExpr},path:${pathExpr}});}`;
22
22
  }
23
23
  break;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/date.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,IAAI,GAAG,QAAQ,SAAS,4BAA4B,SAAS,gBAAgB,SAAS,uDAAuD,SAAS,0CAA0C,SAAS,SAAS,QAAQ,8BAA8B,CAAC;IAE7P,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,SAAS,YAAY,CAAC;YAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,mBAAmB;oBACtB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,mCAAmC,KAAK,CAAC,SAAS,sCAAsC,QAAQ,6BAA6B,KAAK,CAAC,KAAK,OAAO,CAAC;oBACzM,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK,SAAS,mCAAmC,KAAK,CAAC,SAAS,uCAAuC,QAAQ,4BAA4B,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC1M,CAAC;oBACD,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,iCAAiC,KAAK,CAAC,SAAS,sCAAsC,QAAQ,6BAA6B,KAAK,CAAC,KAAK,OAAO,CAAC;oBACvM,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK,SAAS,iCAAiC,KAAK,CAAC,SAAS,uCAAuC,QAAQ,4BAA4B,KAAK,CAAC,KAAK,OAAO,CAAC;oBACxM,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/date.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,IAAI,GAAG,QAAQ,SAAS,sBAAsB,SAAS,oDAAoD,SAAS,SAAS,QAAQ,qBAAqB,SAAS,gBAAgB,SAAS,4EAA4E,SAAS,SAAS,QAAQ,MAAM,CAAC;IAE7S,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,SAAS,YAAY,CAAC;YAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,mBAAmB;oBACtB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,mCAAmC,KAAK,CAAC,SAAS,uCAAuC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACnL,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK,SAAS,mCAAmC,KAAK,CAAC,SAAS,wCAAwC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACrL,CAAC;oBACD,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,iCAAiC,KAAK,CAAC,SAAS,uCAAuC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACjL,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK,SAAS,iCAAiC,KAAK,CAAC,SAAS,wCAAwC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACnL,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { escapeString } from "../context.js";
2
2
  export function generateDiscriminatedUnionValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
3
  const discKey = escapeString(ir.discriminator);
4
- let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"object",received:Array.isArray(${inputExpr})?"array":${inputExpr}===null?"null":typeof ${inputExpr},path:${pathExpr},message:"Expected object"});}else{`;
4
+ let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"object",input:${inputExpr},path:${pathExpr}});}else{`;
5
5
  const objVar = `__du_${ctx.counter++}`;
6
6
  code += `var ${objVar}=${inputExpr};`;
7
7
  code += `switch(${objVar}[${discKey}]){`;
@@ -11,7 +11,7 @@ export function generateDiscriminatedUnionValidation(ir, inputExpr, pathExpr, is
11
11
  code += generateFn(option, objVar, pathExpr, issuesVar, ctx);
12
12
  code += `break;`;
13
13
  }
14
- code += `default:${issuesVar}.push({code:"invalid_union",unionErrors:[],path:${pathExpr}.concat(${discKey}),message:"Invalid discriminator value"});`;
14
+ code += `default:${issuesVar}.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:${discKey},input:${inputExpr},path:${pathExpr}.concat(${discKey})});`;
15
15
  code += `}`;
16
16
  code += `}\n`;
17
17
  return code;
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/discriminated-union.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,oCAAoC,CAClD,EAA6C,EAC7C,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,uEAAuE,SAAS,aAAa,SAAS,yBAAyB,SAAS,SAAS,QAAQ,qCAAqC,CAAC;IAE3S,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACvC,IAAI,IAAI,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAEtC,IAAI,IAAI,UAAU,MAAM,IAAI,OAAO,KAAK,CAAC;IAEzC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAa,CAAC;QAC7C,IAAI,IAAI,QAAQ,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QACvC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,QAAQ,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,WAAW,SAAS,mDAAmD,QAAQ,WAAW,OAAO,4CAA4C,CAAC;IACtJ,IAAI,IAAI,GAAG,CAAC;IACZ,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/discriminated-union.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,oCAAoC,CAClD,EAA6C,EAC7C,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,sDAAsD,SAAS,SAAS,QAAQ,WAAW,CAAC;IAExM,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACvC,IAAI,IAAI,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAEtC,IAAI,IAAI,UAAU,MAAM,IAAI,OAAO,KAAK,CAAC;IAEzC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAa,CAAC;QAC7C,IAAI,IAAI,QAAQ,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QACvC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,QAAQ,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,WAAW,SAAS,wFAAwF,OAAO,UAAU,SAAS,SAAS,QAAQ,WAAW,OAAO,MAAM,CAAC;IACxL,IAAI,IAAI,GAAG,CAAC;IACZ,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export function generateEnumValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
2
- const setVar = `__set_${ctx.counter++}`;
2
+ const setVar = `__enumSet_${ctx.counter++}`;
3
3
  ctx.preamble.push(`var ${setVar}=new Set(${JSON.stringify(ir.values)});`);
4
- return `if(!${setVar}.has(${inputExpr})){${issuesVar}.push({code:"invalid_enum_value",options:${JSON.stringify(ir.values)},received:${inputExpr},path:${pathExpr},message:"Invalid enum value"});}\n`;
4
+ return `if(!${setVar}.has(${inputExpr})){${issuesVar}.push({code:"invalid_value",values:${JSON.stringify(ir.values)},input:${inputExpr},path:${pathExpr}});}\n`;
5
5
  }
6
6
  //# sourceMappingURL=enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/enum.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB;IAEnB,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACxC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,YAAY,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,OAAO,MAAM,QAAQ,SAAS,MAAM,SAAS,4CAA4C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,SAAS,SAAS,QAAQ,qCAAqC,CAAC;AACxM,CAAC"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/enum.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,EAA+B,EAC/B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB;IAEnB,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IAC5C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,YAAY,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,OAAO,MAAM,QAAQ,SAAS,MAAM,SAAS,sCAAsC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,SAAS,SAAS,QAAQ,QAAQ,CAAC;AAClK,CAAC"}
@@ -12,7 +12,7 @@ export function generateLiteralValidation(ir, inputExpr, pathExpr, issuesVar) {
12
12
  else {
13
13
  cond = `${inputExpr}!==${String(v)}`;
14
14
  }
15
- return `if(${cond}){${issuesVar}.push({code:"invalid_literal",expected:${JSON.stringify(v)},received:${inputExpr},path:${pathExpr},message:"Invalid literal value"});}\n`;
15
+ return `if(${cond}){${issuesVar}.push({code:"invalid_value",values:${JSON.stringify([v])},input:${inputExpr},path:${pathExpr}});}\n`;
16
16
  }
17
17
  const valueChecks = ir.values
18
18
  .map((v) => {
@@ -23,6 +23,6 @@ export function generateLiteralValidation(ir, inputExpr, pathExpr, issuesVar) {
23
23
  return `${inputExpr}===${String(v)}`;
24
24
  })
25
25
  .join("||");
26
- return `if(!(${valueChecks})){${issuesVar}.push({code:"invalid_literal",expected:${JSON.stringify(ir.values)},received:${inputExpr},path:${pathExpr},message:"Invalid literal value"});}\n`;
26
+ return `if(!(${valueChecks})){${issuesVar}.push({code:"invalid_value",values:${JSON.stringify(ir.values)},input:${inputExpr},path:${pathExpr}});}\n`;
27
27
  }
28
28
  //# sourceMappingURL=literal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,yBAAyB,CACvC,EAAkC,EAClC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,SAAS,SAAS,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,IAAI,KAAK,SAAS,0CAA0C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,SAAS,QAAQ,wCAAwC,CAAC;IAC5K,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,SAAS,SAAS,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,GAAG,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,QAAQ,WAAW,MAAM,SAAS,0CAA0C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,SAAS,SAAS,QAAQ,wCAAwC,CAAC;AAC9L,CAAC"}
1
+ {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,yBAAyB,CACvC,EAAkC,EAClC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,SAAS,SAAS,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,IAAI,KAAK,SAAS,sCAAsC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,SAAS,QAAQ,QAAQ,CAAC;IACvI,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,SAAS,SAAS,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,GAAG,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,QAAQ,WAAW,MAAM,SAAS,sCAAsC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,SAAS,SAAS,QAAQ,QAAQ,CAAC;AACvJ,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, generateValidation: GenerateValidationFn): string;
5
+ }, inputExpr: 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;AAE1E,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,kBAAkB,EAAE,oBAAoB,GACvC,MAAM,CAkCR"}
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;AAE1E,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,CAkCR"}
@@ -1,5 +1,5 @@
1
- export function generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation) {
2
- let code = `if(!(${inputExpr} instanceof Map)){${issuesVar}.push({code:"invalid_type",expected:"map",received:typeof ${inputExpr},path:${pathExpr},message:"Expected Map"});}`;
1
+ export function generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ let code = `if(!(${inputExpr} instanceof Map)){${issuesVar}.push({code:"invalid_type",expected:"map",input:${inputExpr},path:${pathExpr}});}`;
3
3
  code += `else{`;
4
4
  const idx = ctx.counter++;
5
5
  const entryVar = `__map_e${idx}`;
@@ -7,9 +7,9 @@ export function generateMapValidation(ir, inputExpr, pathExpr, issuesVar, ctx, g
7
7
  code += `var ${idxVar}=0;`;
8
8
  code += `for(var ${entryVar} of ${inputExpr}){`;
9
9
  // Validate key
10
- code += generateValidation(ir.keyType, `${entryVar}[0]`, `${pathExpr}.concat(${idxVar},"key")`, issuesVar, ctx);
10
+ code += generateFn(ir.keyType, `${entryVar}[0]`, `${pathExpr}.concat(${idxVar},"key")`, issuesVar, ctx);
11
11
  // Validate value
12
- code += generateValidation(ir.valueType, `${entryVar}[1]`, `${pathExpr}.concat(${idxVar},"value")`, issuesVar, ctx);
12
+ code += generateFn(ir.valueType, `${entryVar}[1]`, `${pathExpr}.concat(${idxVar},"value")`, issuesVar, ctx);
13
13
  code += `${idxVar}++;`;
14
14
  code += `}`;
15
15
  code += `}`;
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,kBAAwC;IAExC,IAAI,IAAI,GAAG,QAAQ,SAAS,qBAAqB,SAAS,6DAA6D,SAAS,SAAS,QAAQ,6BAA6B,CAAC;IAE/K,IAAI,IAAI,OAAO,CAAC;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,OAAO,MAAM,KAAK,CAAC;IAC3B,IAAI,IAAI,WAAW,QAAQ,OAAO,SAAS,IAAI,CAAC;IAEhD,eAAe;IACf,IAAI,IAAI,kBAAkB,CACxB,EAAE,CAAC,OAAO,EACV,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,WAAW,MAAM,SAAS,EACrC,SAAS,EACT,GAAG,CACJ,CAAC;IAEF,iBAAiB;IACjB,IAAI,IAAI,kBAAkB,CACxB,EAAE,CAAC,SAAS,EACZ,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,WAAW,MAAM,WAAW,EACvC,SAAS,EACT,GAAG,CACJ,CAAC;IAEF,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,GAAG,CAAC;IACZ,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/map.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,QAAQ,SAAS,qBAAqB,SAAS,mDAAmD,SAAS,SAAS,QAAQ,MAAM,CAAC;IAE9I,IAAI,IAAI,OAAO,CAAC;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,OAAO,MAAM,KAAK,CAAC;IAC3B,IAAI,IAAI,WAAW,QAAQ,OAAO,SAAS,IAAI,CAAC;IAEhD,eAAe;IACf,IAAI,IAAI,UAAU,CAChB,EAAE,CAAC,OAAO,EACV,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,WAAW,MAAM,SAAS,EACrC,SAAS,EACT,GAAG,CACJ,CAAC;IAEF,iBAAiB;IACjB,IAAI,IAAI,UAAU,CAChB,EAAE,CAAC,SAAS,EACZ,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,WAAW,MAAM,WAAW,EACvC,SAAS,EACT,GAAG,CACJ,CAAC;IAEF,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,GAAG,CAAC;IACZ,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export function generateNullValidation(inputExpr, pathExpr, issuesVar) {
2
- return `if(${inputExpr}!==null){${issuesVar}.push({code:"invalid_type",expected:"null",received:typeof ${inputExpr},path:${pathExpr},message:"Expected null"});}\n`;
2
+ return `if(${inputExpr}!==null){${issuesVar}.push({code:"invalid_type",expected:"null",input:${inputExpr},path:${pathExpr}});}\n`;
3
3
  }
4
4
  //# sourceMappingURL=null.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"null.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/null.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,MAAM,SAAS,YAAY,SAAS,8DAA8D,SAAS,SAAS,QAAQ,gCAAgC,CAAC;AACtK,CAAC"}
1
+ {"version":3,"file":"null.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/null.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,MAAM,SAAS,YAAY,SAAS,oDAAoD,SAAS,SAAS,QAAQ,QAAQ,CAAC;AACpI,CAAC"}
@@ -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;AAEpD,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,CAmCR"}
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;AAEpD,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,CAqCR"}
@@ -1,32 +1,34 @@
1
1
  export function generateNumberValidation(ir, inputExpr, pathExpr, issuesVar, _ctx) {
2
- let code = `if(typeof ${inputExpr}!=="number"||!Number.isFinite(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"number",received:typeof ${inputExpr},path:${pathExpr},message:"Expected number"});}`;
2
+ let code = `if(typeof ${inputExpr}!=="number"){${issuesVar}.push({code:"invalid_type",expected:"number",input:${inputExpr},path:${pathExpr}});}`;
3
+ code += `else if(Number.isNaN(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"number",received:"NaN",input:${inputExpr},path:${pathExpr}});}`;
4
+ code += `else if(!Number.isFinite(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"number",received:"Infinity",input:${inputExpr},path:${pathExpr}});}`;
3
5
  if (ir.checks.length > 0) {
4
6
  code += `else{`;
5
7
  for (const check of ir.checks) {
6
8
  switch (check.kind) {
7
9
  case "greater_than":
8
10
  if (check.inclusive) {
9
- code += `if(${inputExpr}<${check.value}){${issuesVar}.push({code:"too_small",minimum:${check.value},type:"number",inclusive:true,path:${pathExpr},message:"Number must be greater than or equal to ${check.value}"});}`;
11
+ code += `if(${inputExpr}<${check.value}){${issuesVar}.push({code:"too_small",minimum:${check.value},origin:"number",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
10
12
  }
11
13
  else {
12
- code += `if(${inputExpr}<=${check.value}){${issuesVar}.push({code:"too_small",minimum:${check.value},type:"number",inclusive:false,path:${pathExpr},message:"Number must be greater than ${check.value}"});}`;
14
+ code += `if(${inputExpr}<=${check.value}){${issuesVar}.push({code:"too_small",minimum:${check.value},origin:"number",inclusive:false,input:${inputExpr},path:${pathExpr}});}`;
13
15
  }
14
16
  break;
15
17
  case "less_than":
16
18
  if (check.inclusive) {
17
- code += `if(${inputExpr}>${check.value}){${issuesVar}.push({code:"too_big",maximum:${check.value},type:"number",inclusive:true,path:${pathExpr},message:"Number must be less than or equal to ${check.value}"});}`;
19
+ code += `if(${inputExpr}>${check.value}){${issuesVar}.push({code:"too_big",maximum:${check.value},origin:"number",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
18
20
  }
19
21
  else {
20
- code += `if(${inputExpr}>=${check.value}){${issuesVar}.push({code:"too_big",maximum:${check.value},type:"number",inclusive:false,path:${pathExpr},message:"Number must be less than ${check.value}"});}`;
22
+ code += `if(${inputExpr}>=${check.value}){${issuesVar}.push({code:"too_big",maximum:${check.value},origin:"number",inclusive:false,input:${inputExpr},path:${pathExpr}});}`;
21
23
  }
22
24
  break;
23
25
  case "number_format":
24
26
  if (check.format === "safeint") {
25
- code += `if(!Number.isSafeInteger(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"integer",received:"float",path:${pathExpr},message:"Expected integer"});}`;
27
+ code += `if(!Number.isSafeInteger(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"int",format:"safeint",input:${inputExpr},path:${pathExpr}});}`;
26
28
  }
27
29
  break;
28
30
  case "multiple_of":
29
- code += `if(${inputExpr}%${check.value}!==0){${issuesVar}.push({code:"not_multiple_of",multipleOf:${check.value},path:${pathExpr},message:"Number must be a multiple of ${check.value}"});}`;
31
+ code += `if(${inputExpr}%${check.value}!==0){${issuesVar}.push({code:"not_multiple_of",divisor:${check.value},origin:"number",input:${inputExpr},path:${pathExpr}});}`;
30
32
  break;
31
33
  }
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,IAAoB;IAEpB,IAAI,IAAI,GAAG,aAAa,SAAS,iCAAiC,SAAS,MAAM,SAAS,gEAAgE,SAAS,SAAS,QAAQ,gCAAgC,CAAC;IAErN,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,mCAAmC,KAAK,CAAC,KAAK,sCAAsC,QAAQ,qDAAqD,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC1N,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,KAAK,SAAS,mCAAmC,KAAK,CAAC,KAAK,uCAAuC,QAAQ,yCAAyC,KAAK,CAAC,KAAK,OAAO,CAAC;oBAChN,CAAC;oBACD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,iCAAiC,KAAK,CAAC,KAAK,sCAAsC,QAAQ,kDAAkD,KAAK,CAAC,KAAK,OAAO,CAAC;oBACrN,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,KAAK,SAAS,iCAAiC,KAAK,CAAC,KAAK,uCAAuC,QAAQ,sCAAsC,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC3M,CAAC;oBACD,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/B,IAAI,IAAI,4BAA4B,SAAS,MAAM,SAAS,uEAAuE,QAAQ,iCAAiC,CAAC;oBAC/K,CAAC;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,SAAS,SAAS,4CAA4C,KAAK,CAAC,KAAK,SAAS,QAAQ,0CAA0C,KAAK,CAAC,KAAK,OAAO,CAAC;oBAC7L,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/number.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,IAAoB;IAEpB,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,sDAAsD,SAAS,SAAS,QAAQ,MAAM,CAAC;IACjJ,IAAI,IAAI,wBAAwB,SAAS,MAAM,SAAS,qEAAqE,SAAS,SAAS,QAAQ,MAAM,CAAC;IAC9J,IAAI,IAAI,4BAA4B,SAAS,MAAM,SAAS,0EAA0E,SAAS,SAAS,QAAQ,MAAM,CAAC;IAEvK,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,OAAO,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,mCAAmC,KAAK,CAAC,KAAK,yCAAyC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAC9K,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,KAAK,SAAS,mCAAmC,KAAK,CAAC,KAAK,0CAA0C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAChL,CAAC;oBACD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,iCAAiC,KAAK,CAAC,KAAK,yCAAyC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAC5K,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,KAAK,KAAK,SAAS,iCAAiC,KAAK,CAAC,KAAK,0CAA0C,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAC9K,CAAC;oBACD,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/B,IAAI,IAAI,4BAA4B,SAAS,MAAM,SAAS,oEAAoE,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACnK,CAAC;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,SAAS,SAAS,yCAAyC,KAAK,CAAC,KAAK,0BAA0B,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACvK,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { escapeString } from "../context.js";
2
2
  export function generateObjectValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
3
- let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"object",received:Array.isArray(${inputExpr})?"array":${inputExpr}===null?"null":typeof ${inputExpr},path:${pathExpr},message:"Expected object"});}else{`;
3
+ let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"object",input:${inputExpr},path:${pathExpr}});}else{`;
4
4
  const objVar = `__o_${ctx.counter++}`;
5
5
  code += `var ${objVar}=${inputExpr};`;
6
6
  for (const [key, propIR] of Object.entries(ir.properties)) {
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/object.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,uEAAuE,SAAS,aAAa,SAAS,yBAAyB,SAAS,SAAS,QAAQ,qCAAqC,CAAC;IAE3S,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAEtC,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,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,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,sDAAsD,SAAS,SAAS,QAAQ,WAAW,CAAC;IAExM,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,IAAI,IAAI,OAAO,MAAM,IAAI,SAAS,GAAG,CAAC;IAEtC,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,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 generatePipeValidation(ir: SchemaIR & {
4
4
  type: "pipe";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateValidation: GenerateValidationFn): string;
5
+ }, inputExpr: 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,kBAAkB,EAAE,oBAAoB,GACvC,MAAM,CAKR"}
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,CAKR"}
@@ -1,7 +1,7 @@
1
- export function generatePipeValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation) {
1
+ export function generatePipeValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
2
  // Validate input schema first, then output schema sequentially
3
- let code = generateValidation(ir.in, inputExpr, pathExpr, issuesVar, ctx);
4
- code += generateValidation(ir.out, inputExpr, pathExpr, issuesVar, ctx);
3
+ let code = generateFn(ir.in, inputExpr, pathExpr, issuesVar, ctx);
4
+ code += generateFn(ir.out, inputExpr, pathExpr, issuesVar, ctx);
5
5
  return code;
6
6
  }
7
7
  //# 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,kBAAwC;IAExC,+DAA+D;IAC/D,IAAI,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,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,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,+DAA+D;IAC/D,IAAI,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export function generateRecordValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
- let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"object",received:Array.isArray(${inputExpr})?"array":${inputExpr}===null?"null":typeof ${inputExpr},path:${pathExpr},message:"Expected object"});}else{`;
2
+ let code = `if(typeof ${inputExpr}!=="object"||${inputExpr}===null||Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"record",input:${inputExpr},path:${pathExpr}});}else{`;
3
3
  const keysVar = `__rk_${ctx.counter++}`;
4
4
  const idxVar = `__ri_${ctx.counter++}`;
5
5
  const keyVar = `__rkey_${ctx.counter++}`;
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/record.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,uEAAuE,SAAS,aAAa,SAAS,yBAAyB,SAAS,SAAS,QAAQ,qCAAqC,CAAC;IAE3S,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IAEzC,IAAI,IAAI,OAAO,OAAO,gBAAgB,SAAS,IAAI,CAAC;IACpD,IAAI,IAAI,WAAW,MAAM,MAAM,MAAM,IAAI,OAAO,WAAW,MAAM,MAAM,CAAC;IACxE,IAAI,IAAI,OAAO,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;IAChD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;IAC1C,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEnE,IAAI,IAAI,GAAG,CAAC;IACZ,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/record.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,aAAa,SAAS,gBAAgB,SAAS,0BAA0B,SAAS,MAAM,SAAS,sDAAsD,SAAS,SAAS,QAAQ,WAAW,CAAC;IAExM,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IAEzC,IAAI,IAAI,OAAO,OAAO,gBAAgB,SAAS,IAAI,CAAC;IACpD,IAAI,IAAI,WAAW,MAAM,MAAM,MAAM,IAAI,OAAO,WAAW,MAAM,MAAM,CAAC;IACxE,IAAI,IAAI,OAAO,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;IAChD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;IAC1C,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEnE,IAAI,IAAI,GAAG,CAAC;IACZ,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 generateSetValidation(ir: SchemaIR & {
4
4
  type: "set";
5
- }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateValidation: GenerateValidationFn): string;
5
+ }, inputExpr: string, pathExpr: string, issuesVar: string, ctx: CodeGenContext, generateFn: GenerateValidationFn): string;
6
6
  //# sourceMappingURL=set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/set.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,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,kBAAkB,EAAE,oBAAoB,GACvC,MAAM,CAqCR"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/set.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,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,CA+BR"}
@@ -1,15 +1,15 @@
1
- export function generateSetValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateValidation) {
2
- let code = `if(!(${inputExpr} instanceof Set)){${issuesVar}.push({code:"invalid_type",expected:"set",received:typeof ${inputExpr},path:${pathExpr},message:"Expected Set"});}`;
1
+ export function generateSetValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
+ let code = `if(!(${inputExpr} instanceof Set)){${issuesVar}.push({code:"invalid_type",expected:"set",input:${inputExpr},path:${pathExpr}});}`;
3
3
  code += `else{`;
4
4
  // Size checks
5
5
  if (ir.checks) {
6
6
  for (const check of ir.checks) {
7
7
  switch (check.kind) {
8
8
  case "min_size":
9
- code += `if(${inputExpr}.size<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},type:"set",inclusive:true,path:${pathExpr},message:"Set must have at least ${check.minimum} element(s)"});}`;
9
+ code += `if(${inputExpr}.size<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},origin:"set",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
10
10
  break;
11
11
  case "max_size":
12
- code += `if(${inputExpr}.size>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},type:"set",inclusive:true,path:${pathExpr},message:"Set must have at most ${check.maximum} element(s)"});}`;
12
+ code += `if(${inputExpr}.size>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},origin:"set",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
13
13
  break;
14
14
  }
15
15
  }
@@ -20,7 +20,7 @@ export function generateSetValidation(ir, inputExpr, pathExpr, issuesVar, ctx, g
20
20
  const idxVar = `__set_i${idx}`;
21
21
  code += `var ${idxVar}=0;`;
22
22
  code += `for(var ${iterVar} of ${inputExpr}){`;
23
- code += generateValidation(ir.valueType, iterVar, `${pathExpr}.concat(${idxVar})`, issuesVar, ctx);
23
+ code += generateFn(ir.valueType, iterVar, `${pathExpr}.concat(${idxVar})`, issuesVar, ctx);
24
24
  code += `${idxVar}++;`;
25
25
  code += `}`;
26
26
  code += `}`;
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/set.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,kBAAwC;IAExC,IAAI,IAAI,GAAG,QAAQ,SAAS,qBAAqB,SAAS,6DAA6D,SAAS,SAAS,QAAQ,6BAA6B,CAAC;IAE/K,IAAI,IAAI,OAAO,CAAC;IAEhB,cAAc;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,UAAU;oBACb,IAAI,IAAI,MAAM,SAAS,SAAS,KAAK,CAAC,OAAO,KAAK,SAAS,mCAAmC,KAAK,CAAC,OAAO,mCAAmC,QAAQ,oCAAoC,KAAK,CAAC,OAAO,kBAAkB,CAAC;oBAC1N,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,IAAI,MAAM,SAAS,SAAS,KAAK,CAAC,OAAO,KAAK,SAAS,iCAAiC,KAAK,CAAC,OAAO,mCAAmC,QAAQ,mCAAmC,KAAK,CAAC,OAAO,kBAAkB,CAAC;oBACvN,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,UAAU,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,OAAO,MAAM,KAAK,CAAC;IAC3B,IAAI,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,CAAC;IAC/C,IAAI,IAAI,kBAAkB,CACxB,EAAE,CAAC,SAAS,EACZ,OAAO,EACP,GAAG,QAAQ,WAAW,MAAM,GAAG,EAC/B,SAAS,EACT,GAAG,CACJ,CAAC;IACF,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,GAAG,CAAC;IACZ,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/set.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CACnC,EAA8B,EAC9B,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,IAAI,IAAI,GAAG,QAAQ,SAAS,qBAAqB,SAAS,mDAAmD,SAAS,SAAS,QAAQ,MAAM,CAAC;IAE9I,IAAI,IAAI,OAAO,CAAC;IAEhB,cAAc;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,UAAU;oBACb,IAAI,IAAI,MAAM,SAAS,SAAS,KAAK,CAAC,OAAO,KAAK,SAAS,mCAAmC,KAAK,CAAC,OAAO,sCAAsC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAClL,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,IAAI,MAAM,SAAS,SAAS,KAAK,CAAC,OAAO,KAAK,SAAS,iCAAiC,KAAK,CAAC,OAAO,sCAAsC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBAChL,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,UAAU,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,OAAO,MAAM,KAAK,CAAC;IAC3B,IAAI,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,CAAC;IAC/C,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,QAAQ,WAAW,MAAM,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3F,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC;IAEZ,IAAI,IAAI,GAAG,CAAC;IACZ,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,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,GAClB,MAAM,CAiDR"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,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,GAClB,MAAM,CAgDR"}
@@ -1,18 +1,18 @@
1
- import { EMAIL_REGEX_SOURCE, escapeString } from "../context.js";
1
+ import { EMAIL_REGEX_SOURCE, escapeString, UUID_REGEX_SOURCE } from "../context.js";
2
2
  export function generateStringValidation(ir, inputExpr, pathExpr, issuesVar, ctx) {
3
- let code = `if(typeof ${inputExpr}!=="string"){${issuesVar}.push({code:"invalid_type",expected:"string",received:typeof ${inputExpr},path:${pathExpr},message:"Expected string"});}`;
3
+ let code = `if(typeof ${inputExpr}!=="string"){${issuesVar}.push({code:"invalid_type",expected:"string",input:${inputExpr},path:${pathExpr}});}`;
4
4
  if (ir.checks.length > 0) {
5
5
  code += `else{`;
6
6
  for (const check of ir.checks) {
7
7
  switch (check.kind) {
8
8
  case "min_length":
9
- code += `if(${inputExpr}.length<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},type:"string",inclusive:true,path:${pathExpr},message:"String must contain at least ${check.minimum} character(s)"});}`;
9
+ code += `if(${inputExpr}.length<${check.minimum}){${issuesVar}.push({code:"too_small",minimum:${check.minimum},origin:"string",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
10
10
  break;
11
11
  case "max_length":
12
- code += `if(${inputExpr}.length>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},type:"string",inclusive:true,path:${pathExpr},message:"String must contain at most ${check.maximum} character(s)"});}`;
12
+ code += `if(${inputExpr}.length>${check.maximum}){${issuesVar}.push({code:"too_big",maximum:${check.maximum},origin:"string",inclusive:true,input:${inputExpr},path:${pathExpr}});}`;
13
13
  break;
14
14
  case "length_equals":
15
- code += `if(${inputExpr}.length!==${check.length}){${issuesVar}.push({code:"invalid_length",exact:${check.length},type:"string",path:${pathExpr},message:"String must be exactly ${check.length} character(s)"});}`;
15
+ code += `if(${inputExpr}.length<${check.length}){${issuesVar}.push({code:"too_small",minimum:${check.length},origin:"string",inclusive:true,exact:true,input:${inputExpr},path:${pathExpr}});}else if(${inputExpr}.length>${check.length}){${issuesVar}.push({code:"too_big",maximum:${check.length},origin:"string",inclusive:true,exact:true,input:${inputExpr},path:${pathExpr}});}`;
16
16
  break;
17
17
  case "string_format": {
18
18
  let regexVar;
@@ -25,12 +25,13 @@ export function generateStringValidation(ir, inputExpr, pathExpr, issuesVar, ctx
25
25
  ctx.preamble.push(`var ${regexVar}=new RegExp(${escapeString(check.pattern)});`);
26
26
  }
27
27
  else if (check.format === "url") {
28
- code += `if(!(function(s){try{new URL(s);return true;}catch(e){return false;}})(${inputExpr})){${issuesVar}.push({code:"invalid_string",validation:"url",path:${pathExpr},message:"Invalid url"});}`;
28
+ code += `if(!(function(s){try{new URL(s);return true;}catch(e){return false;}})(${inputExpr})){${issuesVar}.push({code:"invalid_format",format:"url",input:${inputExpr},path:${pathExpr}});}`;
29
29
  continue;
30
30
  }
31
31
  else if (check.format === "uuid") {
32
32
  regexVar = `__re_uuid_${ctx.counter++}`;
33
- ctx.preamble.push(`var ${regexVar}=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;`);
33
+ const uuidPattern = check.pattern ?? UUID_REGEX_SOURCE;
34
+ ctx.preamble.push(`var ${regexVar}=new RegExp(${escapeString(uuidPattern)});`);
34
35
  }
35
36
  else {
36
37
  regexVar = `__re_${ctx.counter++}`;
@@ -41,7 +42,7 @@ export function generateStringValidation(ir, inputExpr, pathExpr, issuesVar, ctx
41
42
  continue;
42
43
  }
43
44
  }
44
- code += `if(!${regexVar}.test(${inputExpr})){${issuesVar}.push({code:"invalid_string",validation:${escapeString(check.format)},path:${pathExpr},message:"Invalid ${check.format}"});}`;
45
+ code += `if(!${regexVar}.test(${inputExpr})){${issuesVar}.push({code:"invalid_format",format:${escapeString(check.format)},pattern:${regexVar}.toString(),origin:"string",input:${inputExpr},path:${pathExpr}});}`;
45
46
  break;
46
47
  }
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/string.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/tuple.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,uBAAuB,CACrC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,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":"tuple.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/tuple.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,uBAAuB,CACrC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CA4BR"}
@@ -1,11 +1,9 @@
1
1
  export function generateTupleValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
2
2
  const len = ir.items.length;
3
- let code = `if(!Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"tuple",received:${inputExpr}===null?"null":typeof ${inputExpr},path:${pathExpr},message:"Expected tuple"});}else{`;
4
- if (len > 0) {
5
- code += `if(${inputExpr}.length<${len}){${issuesVar}.push({code:"too_small",minimum:${len},inclusive:true,origin:"tuple",path:${pathExpr},message:"Expected array with at least ${len} element(s)"});}`;
6
- }
3
+ let code = `if(!Array.isArray(${inputExpr})){${issuesVar}.push({code:"invalid_type",expected:"tuple",input:${inputExpr},path:${pathExpr}});}else{`;
4
+ // Reject extra elements when no rest element is defined
7
5
  if (ir.rest === null) {
8
- code += `if(${inputExpr}.length>${len}){${issuesVar}.push({code:"too_big",maximum:${len},inclusive:true,origin:"tuple",path:${pathExpr},message:"Expected array with at most ${len} element(s)"});}`;
6
+ code += `if(${inputExpr}.length>${len}){${issuesVar}.push({code:"too_big",maximum:${len},inclusive:true,origin:"array",input:${inputExpr},path:${pathExpr}});}`;
9
7
  }
10
8
  for (let i = 0; i < len; i++) {
11
9
  const itemIR = ir.items[i];
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/tuple.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,IAAI,GAAG,qBAAqB,SAAS,MAAM,SAAS,wDAAwD,SAAS,yBAAyB,SAAS,SAAS,QAAQ,oCAAoC,CAAC;IAEjN,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,IAAI,IAAI,MAAM,SAAS,WAAW,GAAG,KAAK,SAAS,mCAAmC,GAAG,uCAAuC,QAAQ,0CAA0C,GAAG,kBAAkB,CAAC;IAC1M,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,IAAI,MAAM,SAAS,WAAW,GAAG,KAAK,SAAS,iCAAiC,GAAG,uCAAuC,QAAQ,yCAAyC,GAAG,kBAAkB,CAAC;IACvM,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,CAAC,GAAG,CAAC;QAC5C,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACvC,IAAI,IAAI,WAAW,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,SAAS,WAAW,MAAM,MAAM,CAAC;QAC/E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;QACjD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/tuple.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,IAAI,GAAG,qBAAqB,SAAS,MAAM,SAAS,qDAAqD,SAAS,SAAS,QAAQ,WAAW,CAAC;IAEnJ,wDAAwD;IACxD,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,IAAI,MAAM,SAAS,WAAW,GAAG,KAAK,SAAS,iCAAiC,GAAG,wCAAwC,SAAS,SAAS,QAAQ,MAAM,CAAC;IAClK,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,CAAC,GAAG,CAAC;QAC5C,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACvC,IAAI,IAAI,WAAW,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,SAAS,WAAW,MAAM,MAAM,CAAC;QAC/E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,GAAG,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,QAAQ,WAAW,MAAM,GAAG,CAAC;QACjD,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export function generateUndefinedValidation(inputExpr, pathExpr, issuesVar) {
2
- return `if(${inputExpr}!==undefined){${issuesVar}.push({code:"invalid_type",expected:"undefined",received:typeof ${inputExpr},path:${pathExpr},message:"Expected undefined"});}\n`;
2
+ return `if(${inputExpr}!==undefined){${issuesVar}.push({code:"invalid_type",expected:"undefined",input:${inputExpr},path:${pathExpr}});}\n`;
3
3
  }
4
4
  //# sourceMappingURL=undefined.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"undefined.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/undefined.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,MAAM,SAAS,iBAAiB,SAAS,mEAAmE,SAAS,SAAS,QAAQ,qCAAqC,CAAC;AACrL,CAAC"}
1
+ {"version":3,"file":"undefined.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/undefined.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,MAAM,SAAS,iBAAiB,SAAS,yDAAyD,SAAS,SAAS,QAAQ,QAAQ,CAAC;AAC9I,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/union.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,uBAAuB,CACrC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAcR"}
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/generators/union.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,uBAAuB,CACrC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,oBAAoB,GAC/B,MAAM,CAkBR"}
@@ -6,9 +6,13 @@ export function generateUnionValidation(ir, inputExpr, pathExpr, issuesVar, ctx,
6
6
  const tmpIssues = `__ui_${ctx.counter++}`;
7
7
  code += `if(!${resultVar}){var ${tmpIssues}=[];`;
8
8
  code += generateFn(option, inputExpr, pathExpr, tmpIssues, ctx);
9
- code += `if(${tmpIssues}.length===0){${resultVar}=true;}else{${errorsVar}.push({issues:${tmpIssues}});}}`;
9
+ code += `if(${tmpIssues}.length===0){${resultVar}=true;}else{`;
10
+ // Apply __msg to inner branch issues so they have messages when included in union errors
11
+ const innerIdx = `__ufi_${ctx.counter++}`;
12
+ code += `if(typeof __msg==="function"){for(var ${innerIdx}=0;${innerIdx}<${tmpIssues}.length;${innerIdx}++){${tmpIssues}[${innerIdx}].message=__msg(${tmpIssues}[${innerIdx}]);delete ${tmpIssues}[${innerIdx}].input;}}`;
13
+ code += `${errorsVar}.push(${tmpIssues});}}`;
10
14
  }
11
- code += `if(!${resultVar}){${issuesVar}.push({code:"invalid_union",unionErrors:${errorsVar},path:${pathExpr},message:"Invalid input"});}\n`;
15
+ code += `if(!${resultVar}){${issuesVar}.push({code:"invalid_union",errors:${errorsVar},input:${inputExpr},path:${pathExpr}});}\n`;
12
16
  return code;
13
17
  }
14
18
  //# sourceMappingURL=union.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/union.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1C,IAAI,IAAI,GAAG,OAAO,SAAS,cAAc,SAAS,MAAM,CAAC;IAEzD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,OAAO,SAAS,SAAS,SAAS,MAAM,CAAC;QACjD,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,IAAI,MAAM,SAAS,gBAAgB,SAAS,eAAe,SAAS,iBAAiB,SAAS,OAAO,CAAC;IAC5G,CAAC;IAED,IAAI,IAAI,OAAO,SAAS,KAAK,SAAS,2CAA2C,SAAS,SAAS,QAAQ,gCAAgC,CAAC;IAC5I,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/union.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACrC,EAAgC,EAChC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB,EACnB,UAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1C,IAAI,IAAI,GAAG,OAAO,SAAS,cAAc,SAAS,MAAM,CAAC;IAEzD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,OAAO,SAAS,SAAS,SAAS,MAAM,CAAC;QACjD,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,IAAI,MAAM,SAAS,gBAAgB,SAAS,cAAc,CAAC;QAC/D,yFAAyF;QACzF,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,yCAAyC,QAAQ,MAAM,QAAQ,IAAI,SAAS,WAAW,QAAQ,OAAO,SAAS,IAAI,QAAQ,mBAAmB,SAAS,IAAI,QAAQ,aAAa,SAAS,IAAI,QAAQ,YAAY,CAAC;QAC1N,IAAI,IAAI,GAAG,SAAS,SAAS,SAAS,MAAM,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI,OAAO,SAAS,KAAK,SAAS,sCAAsC,SAAS,UAAU,SAAS,SAAS,QAAQ,QAAQ,CAAC;IAClI,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -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,CAiBf"}
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"}
@@ -87,7 +87,13 @@ export function generateValidator(ir, name, options) {
87
87
  `function ${fnName}(input){`,
88
88
  `var __issues=[];`,
89
89
  bodyCode,
90
- `if(__issues.length>0)return{success:false,error:{issues:__issues}};`,
90
+ `if(__issues.length>0){`,
91
+ `for(var __fi=0;__fi<__issues.length;__fi++){`,
92
+ `if(typeof __msg==="function")__issues[__fi].message=__msg(__issues[__fi]);`,
93
+ `delete __issues[__fi].input;`,
94
+ `}`,
95
+ `return{success:false,error:{issues:__issues}};`,
96
+ `}`,
91
97
  `return{success:true,data:input};`,
92
98
  `}`,
93
99
  ].join("\n");
@@ -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,17 @@
1
+ import type { CodeGenResult } from "./codegen/context.js";
2
+ import type { FallbackEntry } from "./extractor.js";
3
+ /** Result of compiling a single discovered schema through extract → generate pipeline. */
4
+ export interface CompiledSchemaInfo {
5
+ exportName: string;
6
+ codegenResult: CodeGenResult;
7
+ fallbackEntries: FallbackEntry[];
8
+ }
9
+ /**
10
+ * Run the extract → generate pipeline for each discovered schema.
11
+ * Shared by CLI generate and unplugin transform.
12
+ */
13
+ export declare function compileSchemas(schemas: {
14
+ exportName: string;
15
+ schema: unknown;
16
+ }[]): CompiledSchemaInfo[];
17
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,17 @@
1
+ import { generateValidator } from "./codegen/index.js";
2
+ import { extractSchema } from "./extractor.js";
3
+ /**
4
+ * Run the extract → generate pipeline for each discovered schema.
5
+ * Shared by CLI generate and unplugin transform.
6
+ */
7
+ export function compileSchemas(schemas) {
8
+ return schemas.map((s) => {
9
+ const fallbackEntries = [];
10
+ const ir = extractSchema(s.schema, fallbackEntries);
11
+ const codegenResult = generateValidator(ir, s.exportName, {
12
+ fallbackCount: fallbackEntries.length,
13
+ });
14
+ return { exportName: s.exportName, codegenResult, fallbackEntries };
15
+ });
16
+ }
17
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +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,11 +1,5 @@
1
- import type { CodeGenResult } from "#src/core/codegen/context.js";
2
- import type { FallbackEntry } from "#src/core/extractor.js";
1
+ import type { CompiledSchemaInfo } from "#src/core/pipeline.js";
3
2
  import type { ZodAotPluginOptions } from "./types.js";
4
- interface CompiledSchemaInfo {
5
- exportName: string;
6
- codegenResult: CodeGenResult;
7
- fallbackEntries: FallbackEntry[];
8
- }
9
3
  /**
10
4
  * Check if a file should be transformed by the plugin.
11
5
  */
@@ -24,5 +18,4 @@ export declare function rewriteSource(code: string, schemas: CompiledSchemaInfo[
24
18
  * If `compile` is the only import, the entire import line is removed.
25
19
  */
26
20
  export declare function removeCompileImport(code: string): string;
27
- export {};
28
21
  //# sourceMappingURL=transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAUlF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BpF;AAuDD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CA2BjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAaxD"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAUlF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkBpF;AAuDD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CA8BjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAaxD"}
@@ -1,6 +1,5 @@
1
1
  import { extractFunctionName } from "#src/core/codegen/context.js";
2
- import { generateValidator } from "#src/core/codegen/index.js";
3
- import { extractSchema } from "#src/core/extractor.js";
2
+ import { compileSchemas } from "#src/core/pipeline.js";
4
3
  import { discoverSchemas } from "#src/discovery.js";
5
4
  /**
6
5
  * Check if a file should be transformed by the plugin.
@@ -40,21 +39,14 @@ export async function transformCode(code, id) {
40
39
  if (schemas.length === 0)
41
40
  return null;
42
41
  // For each schema, run the compilation pipeline
43
- const compiled = [];
44
- for (const s of schemas) {
45
- const fallbackEntries = [];
46
- const ir = extractSchema(s.schema, fallbackEntries);
47
- const result = generateValidator(ir, s.exportName, {
48
- fallbackCount: fallbackEntries.length,
49
- });
50
- compiled.push({ exportName: s.exportName, codegenResult: result, fallbackEntries });
51
- }
42
+ const compiled = compileSchemas(schemas);
52
43
  return rewriteSource(code, compiled);
53
44
  }
54
45
  /**
55
46
  * Generate an IIFE that replaces a compile() call with inline optimized code.
56
47
  */
57
- function generateInlineReplacement(schemaArgName, codegenResult, fallbackEntries) {
48
+ function generateInlineReplacement(schemaArgName, schema) {
49
+ const { codegenResult, fallbackEntries } = schema;
58
50
  const fnName = extractFunctionName(codegenResult.functionName);
59
51
  // Collect preamble lines (skip empty and marker)
60
52
  const preambleLines = codegenResult.code
@@ -67,9 +59,11 @@ function generateInlineReplacement(schemaArgName, codegenResult, fallbackEntries
67
59
  const exprs = fallbackEntries.map((fb) => `${schemaArgName}${fb.accessPath}`);
68
60
  fbDecl = `var __fb=[${exprs.join(",")}];\n`;
69
61
  }
62
+ // Capture Zod's localeError for message generation inside the IIFE
63
+ const msgDecl = "var __msg=__zodAotConfig().localeError;\n";
70
64
  return [
71
65
  "/* @__PURE__ */ (() => {",
72
- fbDecl + preambleStr + codegenResult.functionName,
66
+ msgDecl + fbDecl + preambleStr + codegenResult.functionName,
73
67
  "return {",
74
68
  `parse(input){const r=${fnName}(input);if(r.success)return r.data;throw Object.assign(new Error("Validation failed"),r.error);},`,
75
69
  `safeParse:${fnName},`,
@@ -116,11 +110,14 @@ export function rewriteSource(code, schemas) {
116
110
  const schemaArgName = result.slice(openParenIndex + 1, closeParenIndex).trim();
117
111
  const prefix = match[1] ?? "";
118
112
  const fullMatch = result.slice(match.index, closeParenIndex + 1);
119
- const replacement = prefix +
120
- generateInlineReplacement(schemaArgName, schema.codegenResult, schema.fallbackEntries);
113
+ const replacement = prefix + generateInlineReplacement(schemaArgName, schema);
121
114
  result = result.replace(fullMatch, replacement);
122
115
  }
123
116
  result = removeCompileImport(result);
117
+ // Add zod config import for __msg (localeError) used in IIFEs
118
+ if (!result.includes("__zodAotConfig"))
119
+ return result;
120
+ result = `import { config as __zodAotConfig } from "zod";\n${result}`;
124
121
  return result;
125
122
  }
126
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-aot",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Compile Zod schemas into zero-overhead validation functions at build time",
5
5
  "type": "module",
6
6
  "keywords": [