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.
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +2 -10
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/emitter.d.ts +2 -9
- package/dist/cli/emitter.d.ts.map +1 -1
- package/dist/cli/emitter.js +4 -0
- package/dist/cli/emitter.js.map +1 -1
- package/dist/core/codegen/context.d.ts +2 -0
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +2 -0
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/generators/array.js +4 -4
- package/dist/core/codegen/generators/array.js.map +1 -1
- package/dist/core/codegen/generators/bigint.js +6 -6
- package/dist/core/codegen/generators/bigint.js.map +1 -1
- package/dist/core/codegen/generators/boolean.js +1 -1
- package/dist/core/codegen/generators/boolean.js.map +1 -1
- package/dist/core/codegen/generators/date.js +5 -5
- package/dist/core/codegen/generators/date.js.map +1 -1
- package/dist/core/codegen/generators/discriminated-union.js +2 -2
- package/dist/core/codegen/generators/discriminated-union.js.map +1 -1
- package/dist/core/codegen/generators/enum.js +2 -2
- package/dist/core/codegen/generators/enum.js.map +1 -1
- package/dist/core/codegen/generators/literal.js +2 -2
- package/dist/core/codegen/generators/literal.js.map +1 -1
- package/dist/core/codegen/generators/map.d.ts +1 -1
- package/dist/core/codegen/generators/map.d.ts.map +1 -1
- package/dist/core/codegen/generators/map.js +4 -4
- package/dist/core/codegen/generators/map.js.map +1 -1
- package/dist/core/codegen/generators/null.js +1 -1
- package/dist/core/codegen/generators/null.js.map +1 -1
- package/dist/core/codegen/generators/number.d.ts.map +1 -1
- package/dist/core/codegen/generators/number.js +9 -7
- package/dist/core/codegen/generators/number.js.map +1 -1
- package/dist/core/codegen/generators/object.js +1 -1
- package/dist/core/codegen/generators/object.js.map +1 -1
- package/dist/core/codegen/generators/pipe.d.ts +1 -1
- package/dist/core/codegen/generators/pipe.d.ts.map +1 -1
- package/dist/core/codegen/generators/pipe.js +3 -3
- package/dist/core/codegen/generators/pipe.js.map +1 -1
- package/dist/core/codegen/generators/record.js +1 -1
- package/dist/core/codegen/generators/record.js.map +1 -1
- package/dist/core/codegen/generators/set.d.ts +1 -1
- package/dist/core/codegen/generators/set.d.ts.map +1 -1
- package/dist/core/codegen/generators/set.js +5 -5
- package/dist/core/codegen/generators/set.js.map +1 -1
- package/dist/core/codegen/generators/string.d.ts.map +1 -1
- package/dist/core/codegen/generators/string.js +9 -8
- package/dist/core/codegen/generators/string.js.map +1 -1
- package/dist/core/codegen/generators/tuple.d.ts.map +1 -1
- package/dist/core/codegen/generators/tuple.js +3 -5
- package/dist/core/codegen/generators/tuple.js.map +1 -1
- package/dist/core/codegen/generators/undefined.js +1 -1
- package/dist/core/codegen/generators/undefined.js.map +1 -1
- package/dist/core/codegen/generators/union.d.ts.map +1 -1
- package/dist/core/codegen/generators/union.js +6 -2
- package/dist/core/codegen/generators/union.js.map +1 -1
- package/dist/core/codegen/index.d.ts.map +1 -1
- package/dist/core/codegen/index.js +7 -1
- package/dist/core/codegen/index.js.map +1 -1
- package/dist/core/pipeline.d.ts +17 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +17 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/unplugin/transform.d.ts +1 -8
- package/dist/unplugin/transform.d.ts.map +1 -1
- package/dist/unplugin/transform.js +12 -15
- package/dist/unplugin/transform.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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
|
|
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":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/emitter.d.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import type {
|
|
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:
|
|
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":"
|
|
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"}
|
package/dist/cli/emitter.js
CHANGED
|
@@ -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) {
|
package/dist/cli/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
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",
|
|
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},
|
|
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},
|
|
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
|
|
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
|
|
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",
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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",
|
|
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,
|
|
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",
|
|
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,
|
|
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)
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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,
|
|
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",
|
|
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",
|
|
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,
|
|
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 = `
|
|
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:"
|
|
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,
|
|
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:"
|
|
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:"
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2
|
-
let code = `if(!(${inputExpr} instanceof Map)){${issuesVar}.push({code:"invalid_type",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 +=
|
|
10
|
+
code += generateFn(ir.keyType, `${entryVar}[0]`, `${pathExpr}.concat(${idxVar},"key")`, issuesVar, ctx);
|
|
11
11
|
// Validate value
|
|
12
|
-
code +=
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
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"
|
|
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},
|
|
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},
|
|
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},
|
|
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},
|
|
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:"
|
|
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",
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
1
|
+
export function generatePipeValidation(ir, inputExpr, pathExpr, issuesVar, ctx, generateFn) {
|
|
2
2
|
// Validate input schema first, then output schema sequentially
|
|
3
|
-
let code =
|
|
4
|
-
code +=
|
|
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,
|
|
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:"
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2
|
-
let code = `if(!(${inputExpr} instanceof Set)){${issuesVar}.push({code:"invalid_type",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},
|
|
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},
|
|
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 +=
|
|
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,
|
|
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,
|
|
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",
|
|
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},
|
|
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},
|
|
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
|
|
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:"
|
|
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
|
-
|
|
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:"
|
|
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":"AAEA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/codegen/generators/string.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpF,MAAM,UAAU,wBAAwB,CACtC,EAAiC,EACjC,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,GAAmB;IAEnB,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,YAAY;oBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,mCAAmC,KAAK,CAAC,OAAO,yCAAyC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACvL,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,OAAO,KAAK,SAAS,iCAAiC,KAAK,CAAC,OAAO,yCAAyC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACrL,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,IAAI,MAAM,SAAS,WAAW,KAAK,CAAC,MAAM,KAAK,SAAS,mCAAmC,KAAK,CAAC,MAAM,oDAAoD,SAAS,SAAS,QAAQ,eAAe,SAAS,WAAW,KAAK,CAAC,MAAM,KAAK,SAAS,iCAAiC,KAAK,CAAC,MAAM,oDAAoD,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACxX,MAAM;gBACR,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,IAAI,QAAgB,CAAC;oBACrB,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;wBAC7B,QAAQ,GAAG,cAAc,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;wBACzC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,eAAe,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACxF,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrD,QAAQ,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;wBACnC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnF,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBAClC,IAAI,IAAI,0EAA0E,SAAS,MAAM,SAAS,mDAAmD,SAAS,SAAS,QAAQ,MAAM,CAAC;wBAC9L,SAAS;oBACX,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACnC,QAAQ,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,iBAAiB,CAAC;wBACvD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,eAAe,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACjF,CAAC;yBAAM,CAAC;wBACN,QAAQ,GAAG,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;wBACnC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACnF,CAAC;6BAAM,CAAC;4BACN,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,OAAO,QAAQ,SAAS,SAAS,MAAM,SAAS,uCAAuC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,QAAQ,qCAAqC,SAAS,SAAS,QAAQ,MAAM,CAAC;oBACnN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -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,
|
|
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",
|
|
4
|
-
|
|
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:"
|
|
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,
|
|
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",
|
|
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,
|
|
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,
|
|
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{
|
|
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",
|
|
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,
|
|
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,
|
|
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)
|
|
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 {
|
|
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":"
|
|
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 {
|
|
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,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"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"}
|