zod-aot 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/cli/commands/check.d.ts +1 -0
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +5 -2
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +2 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +15 -4
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +1 -0
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +9 -2
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/emitter.d.ts.map +1 -1
- package/dist/cli/emitter.js +16 -5
- package/dist/cli/emitter.js.map +1 -1
- package/dist/cli/index.js +15 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/core/codegen/context.d.ts +33 -3
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +52 -4
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/emit-issue.d.ts +50 -0
- package/dist/core/codegen/emit-issue.d.ts.map +1 -0
- package/dist/core/codegen/emit-issue.js +84 -0
- package/dist/core/codegen/emit-issue.js.map +1 -0
- package/dist/core/codegen/fast-path.d.ts.map +1 -1
- package/dist/core/codegen/fast-path.js +3 -13
- package/dist/core/codegen/fast-path.js.map +1 -1
- package/dist/core/codegen/index.d.ts +8 -4
- package/dist/core/codegen/index.d.ts.map +1 -1
- package/dist/core/codegen/index.js +19 -4
- package/dist/core/codegen/index.js.map +1 -1
- package/dist/core/codegen/issue-decls.d.ts +26 -0
- package/dist/core/codegen/issue-decls.d.ts.map +1 -0
- package/dist/core/codegen/issue-decls.js +34 -0
- package/dist/core/codegen/issue-decls.js.map +1 -0
- package/dist/core/codegen/schemas/array.d.ts.map +1 -1
- package/dist/core/codegen/schemas/array.js +6 -5
- package/dist/core/codegen/schemas/array.js.map +1 -1
- package/dist/core/codegen/schemas/bigint.d.ts.map +1 -1
- package/dist/core/codegen/schemas/bigint.js +6 -5
- package/dist/core/codegen/schemas/bigint.js.map +1 -1
- package/dist/core/codegen/schemas/boolean.d.ts.map +1 -1
- package/dist/core/codegen/schemas/boolean.js +2 -1
- package/dist/core/codegen/schemas/boolean.js.map +1 -1
- package/dist/core/codegen/schemas/date.d.ts.map +1 -1
- package/dist/core/codegen/schemas/date.js +7 -6
- package/dist/core/codegen/schemas/date.js.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.js +2 -1
- package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
- package/dist/core/codegen/schemas/enum.d.ts.map +1 -1
- package/dist/core/codegen/schemas/enum.js +4 -2
- package/dist/core/codegen/schemas/enum.js.map +1 -1
- package/dist/core/codegen/schemas/file.d.ts.map +1 -1
- package/dist/core/codegen/schemas/file.js +7 -5
- package/dist/core/codegen/schemas/file.js.map +1 -1
- package/dist/core/codegen/schemas/literal.d.ts.map +1 -1
- package/dist/core/codegen/schemas/literal.js +7 -6
- package/dist/core/codegen/schemas/literal.js.map +1 -1
- package/dist/core/codegen/schemas/map.d.ts.map +1 -1
- package/dist/core/codegen/schemas/map.js +2 -1
- package/dist/core/codegen/schemas/map.js.map +1 -1
- package/dist/core/codegen/schemas/nan.d.ts.map +1 -1
- package/dist/core/codegen/schemas/nan.js +2 -1
- package/dist/core/codegen/schemas/nan.js.map +1 -1
- package/dist/core/codegen/schemas/never.d.ts.map +1 -1
- package/dist/core/codegen/schemas/never.js +2 -1
- package/dist/core/codegen/schemas/never.js.map +1 -1
- package/dist/core/codegen/schemas/null.d.ts.map +1 -1
- package/dist/core/codegen/schemas/null.js +2 -1
- package/dist/core/codegen/schemas/null.js.map +1 -1
- package/dist/core/codegen/schemas/number.d.ts.map +1 -1
- package/dist/core/codegen/schemas/number.js +17 -16
- package/dist/core/codegen/schemas/number.js.map +1 -1
- package/dist/core/codegen/schemas/object.d.ts.map +1 -1
- package/dist/core/codegen/schemas/object.js +4 -3
- package/dist/core/codegen/schemas/object.js.map +1 -1
- package/dist/core/codegen/schemas/record.d.ts.map +1 -1
- package/dist/core/codegen/schemas/record.js +2 -1
- package/dist/core/codegen/schemas/record.js.map +1 -1
- package/dist/core/codegen/schemas/set.d.ts.map +1 -1
- package/dist/core/codegen/schemas/set.js +4 -3
- package/dist/core/codegen/schemas/set.js.map +1 -1
- package/dist/core/codegen/schemas/string-bool.d.ts.map +1 -1
- package/dist/core/codegen/schemas/string-bool.js +5 -3
- package/dist/core/codegen/schemas/string-bool.js.map +1 -1
- package/dist/core/codegen/schemas/string.d.ts.map +1 -1
- package/dist/core/codegen/schemas/string.js +14 -13
- package/dist/core/codegen/schemas/string.js.map +1 -1
- package/dist/core/codegen/schemas/symbol.d.ts.map +1 -1
- package/dist/core/codegen/schemas/symbol.js +2 -1
- package/dist/core/codegen/schemas/symbol.js.map +1 -1
- package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -1
- package/dist/core/codegen/schemas/template-literal.js +3 -2
- package/dist/core/codegen/schemas/template-literal.js.map +1 -1
- package/dist/core/codegen/schemas/tuple.d.ts.map +1 -1
- package/dist/core/codegen/schemas/tuple.js +5 -4
- package/dist/core/codegen/schemas/tuple.js.map +1 -1
- package/dist/core/codegen/schemas/undefined.d.ts.map +1 -1
- package/dist/core/codegen/schemas/undefined.js +2 -1
- package/dist/core/codegen/schemas/undefined.js.map +1 -1
- package/dist/core/codegen/schemas/void.d.ts.map +1 -1
- package/dist/core/codegen/schemas/void.js +2 -1
- package/dist/core/codegen/schemas/void.js.map +1 -1
- package/dist/core/codegen/slow-path.d.ts.map +1 -1
- package/dist/core/codegen/slow-path.js +4 -18
- package/dist/core/codegen/slow-path.js.map +1 -1
- package/dist/core/codegen/well-known-regex.d.ts +27 -0
- package/dist/core/codegen/well-known-regex.d.ts.map +1 -0
- package/dist/core/codegen/well-known-regex.js +51 -0
- package/dist/core/codegen/well-known-regex.js.map +1 -0
- package/dist/core/compile.d.ts.map +1 -1
- package/dist/core/compile.js +2 -1
- package/dist/core/compile.js.map +1 -1
- package/dist/core/iife.d.ts +12 -0
- package/dist/core/iife.d.ts.map +1 -1
- package/dist/core/iife.js +14 -8
- package/dist/core/iife.js.map +1 -1
- package/dist/core/pipeline.d.ts +10 -7
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +14 -1
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/types.d.ts +0 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discovery.d.ts +1 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +1 -1
- package/dist/discovery.js.map +1 -1
- package/dist/loader.d.ts +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/unplugin/farm.d.ts +3 -0
- package/dist/unplugin/farm.d.ts.map +1 -0
- package/dist/unplugin/farm.js +3 -0
- package/dist/unplugin/farm.js.map +1 -0
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +18 -2
- package/dist/unplugin/index.js.map +1 -1
- package/dist/unplugin/transform.d.ts +1 -1
- package/dist/unplugin/transform.d.ts.map +1 -1
- package/dist/unplugin/transform.js +54 -17
- package/dist/unplugin/transform.js.map +1 -1
- package/dist/unplugin/types.d.ts +2 -0
- package/dist/unplugin/types.d.ts.map +1 -1
- package/dist/unplugin/types.js.map +1 -1
- package/dist/unplugin/virtual.d.ts +21 -0
- package/dist/unplugin/virtual.d.ts.map +1 -0
- package/dist/unplugin/virtual.js +57 -0
- package/dist/unplugin/virtual.js.map +1 -0
- package/package.json +9 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue object emit helpers.
|
|
3
|
+
*
|
|
4
|
+
* Each helper returns a string of the form `_e.push(...)` (or equivalent on a
|
|
5
|
+
* caller-supplied issues variable). Two emit modes:
|
|
6
|
+
*
|
|
7
|
+
* - inline (CLI .compiled.ts): emits the literal `{code:"too_small",...}` object.
|
|
8
|
+
* - lean (unplugin): emits a call like `__zaTS(min,origin,inclusive,input,path)`
|
|
9
|
+
* and registers the helper in `ctx.usedHelpers` so the transform layer can
|
|
10
|
+
* construct the corresponding `import` from `"virtual:zod-aot/runtime"`.
|
|
11
|
+
*
|
|
12
|
+
* Centralizing all issue emission here means schema codegen files don't carry
|
|
13
|
+
* the inline/lean branching; they just call `tooSmall(g, ...)` etc.
|
|
14
|
+
*/
|
|
15
|
+
import type { CodeGenContext } from "./context.js";
|
|
16
|
+
/** Common slim slice of SlowGen + FastGen needed for issue emission. */
|
|
17
|
+
interface IssueGen {
|
|
18
|
+
readonly issues: string;
|
|
19
|
+
readonly input: string;
|
|
20
|
+
readonly path: string;
|
|
21
|
+
readonly ctx: CodeGenContext;
|
|
22
|
+
}
|
|
23
|
+
export declare function tooSmall(g: IssueGen, minimum: string | number, origin: string, inclusive: boolean, options?: {
|
|
24
|
+
exact?: boolean;
|
|
25
|
+
input?: string;
|
|
26
|
+
path?: string;
|
|
27
|
+
}): string;
|
|
28
|
+
export declare function tooBig(g: IssueGen, maximum: string | number, origin: string, inclusive: boolean, options?: {
|
|
29
|
+
exact?: boolean;
|
|
30
|
+
input?: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
}): string;
|
|
33
|
+
export declare function invalidType(g: IssueGen, expected: string, options?: {
|
|
34
|
+
input?: string;
|
|
35
|
+
path?: string;
|
|
36
|
+
extra?: string;
|
|
37
|
+
}): string;
|
|
38
|
+
export declare function invalidFormat(g: IssueGen, format: string | {
|
|
39
|
+
expr: string;
|
|
40
|
+
}, options?: {
|
|
41
|
+
input?: string;
|
|
42
|
+
path?: string;
|
|
43
|
+
extra?: string;
|
|
44
|
+
}): string;
|
|
45
|
+
export declare function invalidValue(g: IssueGen, valuesExpr: string, options?: {
|
|
46
|
+
input?: string;
|
|
47
|
+
path?: string;
|
|
48
|
+
}): string;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=emit-issue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-issue.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,wEAAwE;AACxE,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;CAC9B;AAMD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAsBR;AAED,wBAAgB,MAAM,CACpB,CAAC,EAAE,QAAQ,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAsBR;AAED,wBAAgB,WAAW,CACzB,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,MAAM,CAYR;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,QAAQ,EACX,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACjC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,MAAM,CAcR;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,MAAM,CAQR"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue object emit helpers.
|
|
3
|
+
*
|
|
4
|
+
* Each helper returns a string of the form `_e.push(...)` (or equivalent on a
|
|
5
|
+
* caller-supplied issues variable). Two emit modes:
|
|
6
|
+
*
|
|
7
|
+
* - inline (CLI .compiled.ts): emits the literal `{code:"too_small",...}` object.
|
|
8
|
+
* - lean (unplugin): emits a call like `__zaTS(min,origin,inclusive,input,path)`
|
|
9
|
+
* and registers the helper in `ctx.usedHelpers` so the transform layer can
|
|
10
|
+
* construct the corresponding `import` from `"virtual:zod-aot/runtime"`.
|
|
11
|
+
*
|
|
12
|
+
* Centralizing all issue emission here means schema codegen files don't carry
|
|
13
|
+
* the inline/lean branching; they just call `tooSmall(g, ...)` etc.
|
|
14
|
+
*/
|
|
15
|
+
import { escapeString } from "./context.js";
|
|
16
|
+
function pushIssue(g, body) {
|
|
17
|
+
return `${g.issues}.push(${body});`;
|
|
18
|
+
}
|
|
19
|
+
export function tooSmall(g, minimum, origin, inclusive, options) {
|
|
20
|
+
const input = options?.input ?? g.input;
|
|
21
|
+
const path = options?.path ?? g.path;
|
|
22
|
+
const exact = options?.exact === true;
|
|
23
|
+
if (g.ctx.mode === "lean") {
|
|
24
|
+
if (exact) {
|
|
25
|
+
g.ctx.usedHelpers.add("__zaTSx");
|
|
26
|
+
return pushIssue(g, `__zaTSx(${minimum},${escapeString(origin)},${input},${path})`);
|
|
27
|
+
}
|
|
28
|
+
g.ctx.usedHelpers.add("__zaTS");
|
|
29
|
+
return pushIssue(g, `__zaTS(${minimum},${escapeString(origin)},${inclusive},${input},${path})`);
|
|
30
|
+
}
|
|
31
|
+
if (exact) {
|
|
32
|
+
return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true,input:${input},path:${path}}`);
|
|
33
|
+
}
|
|
34
|
+
return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive},input:${input},path:${path}}`);
|
|
35
|
+
}
|
|
36
|
+
export function tooBig(g, maximum, origin, inclusive, options) {
|
|
37
|
+
const input = options?.input ?? g.input;
|
|
38
|
+
const path = options?.path ?? g.path;
|
|
39
|
+
const exact = options?.exact === true;
|
|
40
|
+
if (g.ctx.mode === "lean") {
|
|
41
|
+
if (exact) {
|
|
42
|
+
g.ctx.usedHelpers.add("__zaTBx");
|
|
43
|
+
return pushIssue(g, `__zaTBx(${maximum},${escapeString(origin)},${input},${path})`);
|
|
44
|
+
}
|
|
45
|
+
g.ctx.usedHelpers.add("__zaTB");
|
|
46
|
+
return pushIssue(g, `__zaTB(${maximum},${escapeString(origin)},${inclusive},${input},${path})`);
|
|
47
|
+
}
|
|
48
|
+
if (exact) {
|
|
49
|
+
return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true,input:${input},path:${path}}`);
|
|
50
|
+
}
|
|
51
|
+
return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive},input:${input},path:${path}}`);
|
|
52
|
+
}
|
|
53
|
+
export function invalidType(g, expected, options) {
|
|
54
|
+
const input = options?.input ?? g.input;
|
|
55
|
+
const path = options?.path ?? g.path;
|
|
56
|
+
if (g.ctx.mode === "lean" && !options?.extra) {
|
|
57
|
+
g.ctx.usedHelpers.add("__zaIT");
|
|
58
|
+
return pushIssue(g, `__zaIT(${escapeString(expected)},${input},${path})`);
|
|
59
|
+
}
|
|
60
|
+
const extra = options?.extra ? `,${options.extra}` : "";
|
|
61
|
+
return pushIssue(g, `{code:"invalid_type",expected:${escapeString(expected)}${extra},input:${input},path:${path}}`);
|
|
62
|
+
}
|
|
63
|
+
export function invalidFormat(g, format, options) {
|
|
64
|
+
const input = options?.input ?? g.input;
|
|
65
|
+
const path = options?.path ?? g.path;
|
|
66
|
+
const formatExpr = typeof format === "string" ? escapeString(format) : format.expr;
|
|
67
|
+
if (g.ctx.mode === "lean") {
|
|
68
|
+
g.ctx.usedHelpers.add("__zaIF");
|
|
69
|
+
const extraArg = options?.extra ? `,{${options.extra}}` : "";
|
|
70
|
+
return pushIssue(g, `__zaIF(${formatExpr},${input},${path}${extraArg})`);
|
|
71
|
+
}
|
|
72
|
+
const extra = options?.extra ? `,${options.extra}` : "";
|
|
73
|
+
return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${extra},input:${input},path:${path}}`);
|
|
74
|
+
}
|
|
75
|
+
export function invalidValue(g, valuesExpr, options) {
|
|
76
|
+
const input = options?.input ?? g.input;
|
|
77
|
+
const path = options?.path ?? g.path;
|
|
78
|
+
if (g.ctx.mode === "lean") {
|
|
79
|
+
g.ctx.usedHelpers.add("__zaIV");
|
|
80
|
+
return pushIssue(g, `__zaIV(${valuesExpr},${input},${path})`);
|
|
81
|
+
}
|
|
82
|
+
return pushIssue(g, `{code:"invalid_value",values:${valuesExpr},input:${input},path:${path}}`);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=emit-issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-issue.js","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-path.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/fast-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAyF3E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"fast-path.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/fast-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAyF3E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAU7E;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKpE"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Returns `null` if the schema is not eligible for Fast Path (contains coerce,
|
|
7
7
|
* default, transform, or other non-pure constructs).
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { emitRegex, emitTemp } from "./context.js";
|
|
10
10
|
import { fastAny } from "./schemas/any.js";
|
|
11
11
|
import { fastArray } from "./schemas/array.js";
|
|
12
12
|
import { fastBigInt } from "./schemas/bigint.js";
|
|
@@ -95,18 +95,8 @@ export function createFastGen(inputExpr, ctx) {
|
|
|
95
95
|
visit(ir, overrides) {
|
|
96
96
|
return generateFast(ir, createFastGen(overrides?.input ?? inputExpr, ctx));
|
|
97
97
|
},
|
|
98
|
-
temp(prefix)
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
regex(prefix, pattern) {
|
|
102
|
-
const cached = ctx.regexCache.get(pattern);
|
|
103
|
-
if (cached)
|
|
104
|
-
return cached;
|
|
105
|
-
const name = `__re_${prefix}_${ctx.counter++}`;
|
|
106
|
-
ctx.preamble.push(`var ${name}=new RegExp(${escapeString(pattern)});`);
|
|
107
|
-
ctx.regexCache.set(pattern, name);
|
|
108
|
-
return name;
|
|
109
|
-
},
|
|
98
|
+
temp: (prefix) => emitTemp(ctx, prefix),
|
|
99
|
+
regex: (prefix, pattern) => emitRegex(ctx, prefix, pattern),
|
|
110
100
|
};
|
|
111
101
|
}
|
|
112
102
|
// ─── Dispatch ────────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-path.js","sourceRoot":"","sources":["../../../src/core/codegen/fast-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fast-path.js","sourceRoot":"","sources":["../../../src/core/codegen/fast-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { SchemaIR } from "../types.js";
|
|
2
|
-
import type { CodeGenResult } from "./context.js";
|
|
2
|
+
import type { CodeGenResult, CodegenMode } from "./context.js";
|
|
3
3
|
export type { CodeGenResult } from "./context.js";
|
|
4
|
+
export interface GenerateValidatorOptions {
|
|
5
|
+
refCount?: number;
|
|
6
|
+
/** Codegen output mode. Defaults to "inline". */
|
|
7
|
+
mode?: CodegenMode;
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* Generate optimized validation code from SchemaIR.
|
|
6
11
|
*
|
|
7
12
|
* - `code`: preamble declarations (Sets, RegExps, etc.) — deterministic for the same IR
|
|
8
13
|
* - `functionDef`: full function expression string referencing preamble vars via closure
|
|
14
|
+
* - `usedHelpers`: helper names from "virtual:zod-aot/runtime" referenced (lean mode only)
|
|
9
15
|
*
|
|
10
16
|
* Usage: `new Function(code + "\nreturn " + functionDef + ";")()`
|
|
11
17
|
*/
|
|
12
|
-
export declare function generateValidator(ir: SchemaIR, name: string, options?:
|
|
13
|
-
refCount?: number;
|
|
14
|
-
}): CodeGenResult;
|
|
18
|
+
export declare function generateValidator(ir: SchemaIR, name: string, options?: GenerateValidatorOptions): CodeGenResult;
|
|
15
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;
|
|
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,WAAW,EAAE,MAAM,cAAc,CAAC;AAI/E,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,wBAAwB,GACjC,aAAa,CAgDf"}
|
|
@@ -5,16 +5,25 @@ import { createSlowGen, generateSlow } from "./slow-path.js";
|
|
|
5
5
|
*
|
|
6
6
|
* - `code`: preamble declarations (Sets, RegExps, etc.) — deterministic for the same IR
|
|
7
7
|
* - `functionDef`: full function expression string referencing preamble vars via closure
|
|
8
|
+
* - `usedHelpers`: helper names from "virtual:zod-aot/runtime" referenced (lean mode only)
|
|
8
9
|
*
|
|
9
10
|
* Usage: `new Function(code + "\nreturn " + functionDef + ";")()`
|
|
10
11
|
*/
|
|
11
12
|
export function generateValidator(ir, name, options) {
|
|
12
13
|
const fnName = `safeParse_${name}`;
|
|
13
|
-
const
|
|
14
|
+
const mode = options?.mode ?? "inline";
|
|
15
|
+
const ctx = {
|
|
16
|
+
preamble: [],
|
|
17
|
+
counter: 0,
|
|
18
|
+
fnName,
|
|
19
|
+
regexCache: new Map(),
|
|
20
|
+
mode,
|
|
21
|
+
usedHelpers: new Set(),
|
|
22
|
+
};
|
|
14
23
|
// Fast Path: generate a boolean expression for eligible schemas
|
|
15
24
|
const fg = createFastGen("input", ctx);
|
|
16
25
|
const fastExpr = generateFast(ir, fg);
|
|
17
|
-
const sg = createSlowGen("
|
|
26
|
+
const sg = createSlowGen("_d", "_d", "[]", "_e", ctx);
|
|
18
27
|
const slowCode = generateSlow(ir, sg);
|
|
19
28
|
const code = ["/* zod-aot */", ...ctx.preamble].join("\n");
|
|
20
29
|
const functionDefParts = [`function ${fnName}(input){`];
|
|
@@ -30,10 +39,16 @@ export function generateValidator(ir, name, options) {
|
|
|
30
39
|
code,
|
|
31
40
|
functionDef: functionDefParts.join("\n"),
|
|
32
41
|
refCount: options?.refCount ?? 0,
|
|
42
|
+
usedHelpers: ctx.usedHelpers,
|
|
33
43
|
};
|
|
34
44
|
}
|
|
35
|
-
functionDefParts.push(`var
|
|
45
|
+
functionDefParts.push(`var _e=[];`, `var _d=input;`, slowCode, `return __fin(_e,_d);`, `}`);
|
|
36
46
|
const functionDef = functionDefParts.join("\n");
|
|
37
|
-
return {
|
|
47
|
+
return {
|
|
48
|
+
code,
|
|
49
|
+
functionDef,
|
|
50
|
+
refCount: options?.refCount ?? 0,
|
|
51
|
+
usedHelpers: ctx.usedHelpers,
|
|
52
|
+
};
|
|
38
53
|
}
|
|
39
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/codegen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU7D;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAAY,EACZ,IAAY,EACZ,OAAkC;IAElC,MAAM,MAAM,GAAG,aAAa,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAgB,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAC;IACpD,MAAM,GAAG,GAAmB;QAC1B,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,MAAM;QACN,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,IAAI;QACJ,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;IAEF,gEAAgE;IAChE,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEtC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GAAG,CAAC,YAAY,MAAM,UAAU,CAAC,CAAC;IAExD,sCAAsC;IACtC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC7C,gBAAgB,CAAC,IAAI,CAAC,MAAM,QAAQ,qCAAqC,CAAC,CAAC;IAC7E,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,iEAAiE;QACjE,gBAAgB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC1D,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAE5F,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO;QACL,IAAI;QACJ,WAAW;QACX,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue factory function bodies (statement form).
|
|
3
|
+
*
|
|
4
|
+
* These functions produce the same `{code, ...}` shapes that lean-mode
|
|
5
|
+
* generated code would otherwise inline at every check site.
|
|
6
|
+
* Hosted in "virtual:zod-aot/runtime" and called as `__zaTS(...)` etc.
|
|
7
|
+
*
|
|
8
|
+
* Argument convention (positional, kept short to minimize call-site bytes):
|
|
9
|
+
* __zaTS(minimum, origin, inclusive, input, path) — too_small
|
|
10
|
+
* __zaTB(maximum, origin, inclusive, input, path) — too_big
|
|
11
|
+
* __zaIT(expected, input, path) — invalid_type
|
|
12
|
+
* __zaIF(format, input, path, extra?) — invalid_format (extra merged into result)
|
|
13
|
+
* __zaIV(values, input, path) — invalid_value
|
|
14
|
+
*/
|
|
15
|
+
export declare const ZA_TS_DECL = "function __zaTS(m,o,i,inp,p){return{code:\"too_small\",minimum:m,origin:o,inclusive:i,input:inp,path:p};}";
|
|
16
|
+
export declare const ZA_TS_EXACT_DECL = "function __zaTSx(m,o,inp,p){return{code:\"too_small\",minimum:m,origin:o,inclusive:true,exact:true,input:inp,path:p};}";
|
|
17
|
+
export declare const ZA_TB_DECL = "function __zaTB(m,o,i,inp,p){return{code:\"too_big\",maximum:m,origin:o,inclusive:i,input:inp,path:p};}";
|
|
18
|
+
export declare const ZA_TB_EXACT_DECL = "function __zaTBx(m,o,inp,p){return{code:\"too_big\",maximum:m,origin:o,inclusive:true,exact:true,input:inp,path:p};}";
|
|
19
|
+
export declare const ZA_IT_DECL = "function __zaIT(e,inp,p){return{code:\"invalid_type\",expected:e,input:inp,path:p};}";
|
|
20
|
+
export declare const ZA_IF_DECL = "function __zaIF(f,inp,p,extra){var r={code:\"invalid_format\",format:f,input:inp,path:p};if(extra)Object.assign(r,extra);return r;}";
|
|
21
|
+
export declare const ZA_IV_DECL = "function __zaIV(values,inp,p){return{code:\"invalid_value\",values:values,input:inp,path:p};}";
|
|
22
|
+
/** All issue factory declarations indexed by helper name. */
|
|
23
|
+
export declare const ISSUE_DECLS: Readonly<Record<string, string>>;
|
|
24
|
+
/** Helper names emitted by the issue factory call helpers in lean mode. */
|
|
25
|
+
export declare const ISSUE_HELPER_NAMES: readonly string[];
|
|
26
|
+
//# sourceMappingURL=issue-decls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-decls.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,UAAU,8GACoF,CAAC;AAE5G,eAAO,MAAM,gBAAgB,2HAC2F,CAAC;AAEzH,eAAO,MAAM,UAAU,4GACkF,CAAC;AAE1G,eAAO,MAAM,gBAAgB,yHACyF,CAAC;AAEvH,eAAO,MAAM,UAAU,yFAC+D,CAAC;AAEvF,eAAO,MAAM,UAAU,wIAC8G,CAAC;AAEtI,eAAO,MAAM,UAAU,kGACwE,CAAC;AAEhG,6DAA6D;AAC7D,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA6B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue factory function bodies (statement form).
|
|
3
|
+
*
|
|
4
|
+
* These functions produce the same `{code, ...}` shapes that lean-mode
|
|
5
|
+
* generated code would otherwise inline at every check site.
|
|
6
|
+
* Hosted in "virtual:zod-aot/runtime" and called as `__zaTS(...)` etc.
|
|
7
|
+
*
|
|
8
|
+
* Argument convention (positional, kept short to minimize call-site bytes):
|
|
9
|
+
* __zaTS(minimum, origin, inclusive, input, path) — too_small
|
|
10
|
+
* __zaTB(maximum, origin, inclusive, input, path) — too_big
|
|
11
|
+
* __zaIT(expected, input, path) — invalid_type
|
|
12
|
+
* __zaIF(format, input, path, extra?) — invalid_format (extra merged into result)
|
|
13
|
+
* __zaIV(values, input, path) — invalid_value
|
|
14
|
+
*/
|
|
15
|
+
export const ZA_TS_DECL = 'function __zaTS(m,o,i,inp,p){return{code:"too_small",minimum:m,origin:o,inclusive:i,input:inp,path:p};}';
|
|
16
|
+
export const ZA_TS_EXACT_DECL = 'function __zaTSx(m,o,inp,p){return{code:"too_small",minimum:m,origin:o,inclusive:true,exact:true,input:inp,path:p};}';
|
|
17
|
+
export const ZA_TB_DECL = 'function __zaTB(m,o,i,inp,p){return{code:"too_big",maximum:m,origin:o,inclusive:i,input:inp,path:p};}';
|
|
18
|
+
export const ZA_TB_EXACT_DECL = 'function __zaTBx(m,o,inp,p){return{code:"too_big",maximum:m,origin:o,inclusive:true,exact:true,input:inp,path:p};}';
|
|
19
|
+
export const ZA_IT_DECL = 'function __zaIT(e,inp,p){return{code:"invalid_type",expected:e,input:inp,path:p};}';
|
|
20
|
+
export const ZA_IF_DECL = 'function __zaIF(f,inp,p,extra){var r={code:"invalid_format",format:f,input:inp,path:p};if(extra)Object.assign(r,extra);return r;}';
|
|
21
|
+
export const ZA_IV_DECL = 'function __zaIV(values,inp,p){return{code:"invalid_value",values:values,input:inp,path:p};}';
|
|
22
|
+
/** All issue factory declarations indexed by helper name. */
|
|
23
|
+
export const ISSUE_DECLS = {
|
|
24
|
+
__zaTS: ZA_TS_DECL,
|
|
25
|
+
__zaTSx: ZA_TS_EXACT_DECL,
|
|
26
|
+
__zaTB: ZA_TB_DECL,
|
|
27
|
+
__zaTBx: ZA_TB_EXACT_DECL,
|
|
28
|
+
__zaIT: ZA_IT_DECL,
|
|
29
|
+
__zaIF: ZA_IF_DECL,
|
|
30
|
+
__zaIV: ZA_IV_DECL,
|
|
31
|
+
};
|
|
32
|
+
/** Helper names emitted by the issue factory call helpers in lean mode. */
|
|
33
|
+
export const ISSUE_HELPER_NAMES = Object.keys(ISSUE_DECLS);
|
|
34
|
+
//# sourceMappingURL=issue-decls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-decls.js","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,UAAU,GACrB,yGAAyG,CAAC;AAE5G,MAAM,CAAC,MAAM,gBAAgB,GAC3B,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,UAAU,GACrB,uGAAuG,CAAC;AAE1G,MAAM,CAAC,MAAM,gBAAgB,GAC3B,oHAAoH,CAAC;AAEvH,MAAM,CAAC,MAAM,UAAU,GACrB,oFAAoF,CAAC;AAEvF,MAAM,CAAC,MAAM,UAAU,GACrB,mIAAmI,CAAC;AAEtI,MAAM,CAAC,MAAM,UAAU,GACrB,6FAA6F,CAAC;AAEhG,6DAA6D;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAsB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMtD,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CA+C9E;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAwChE"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { checkPriority, hasMutation } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
|
+
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
3
4
|
import { refineCheck } from "./effect.js";
|
|
4
5
|
export function slowArray(ir, g) {
|
|
5
6
|
let code = emit `
|
|
6
7
|
if(!Array.isArray(${g.input})){
|
|
7
|
-
${g
|
|
8
|
+
${invalidType(g, "array")}
|
|
8
9
|
}else{`;
|
|
9
10
|
if (hasMutation(ir.element)) {
|
|
10
11
|
code += `${g.output}=${g.input}.slice();`;
|
|
@@ -14,21 +15,21 @@ export function slowArray(ir, g) {
|
|
|
14
15
|
case "min_length":
|
|
15
16
|
code += emit `
|
|
16
17
|
if(${g.input}.length<${check.minimum}){
|
|
17
|
-
${g
|
|
18
|
+
${tooSmall(g, check.minimum, "array", true)}
|
|
18
19
|
}`;
|
|
19
20
|
break;
|
|
20
21
|
case "max_length":
|
|
21
22
|
code += emit `
|
|
22
23
|
if(${g.input}.length>${check.maximum}){
|
|
23
|
-
${g
|
|
24
|
+
${tooBig(g, check.maximum, "array", true)}
|
|
24
25
|
}`;
|
|
25
26
|
break;
|
|
26
27
|
case "length_equals":
|
|
27
28
|
code += emit `
|
|
28
29
|
if(${g.input}.length<${check.length}){
|
|
29
|
-
${g
|
|
30
|
+
${tooSmall(g, check.length, "array", true, { exact: true })}
|
|
30
31
|
}else if(${g.input}.length>${check.length}){
|
|
31
|
-
${g
|
|
32
|
+
${tooBig(g, check.length, "array", true, { exact: true })}
|
|
32
33
|
}`;
|
|
33
34
|
break;
|
|
34
35
|
case "refine_effect":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,SAAS,CAAC,EAAgC,EAAE,CAAU;IACpE,IAAI,IAAI,GAAG,IAAI,CAAA;wBACO,CAAC,CAAC,KAAK;QACvB,
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/bigint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/bigint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKtD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAoD3D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqBlE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { checkPriority } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
|
+
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
3
4
|
export function slowBigInt(ir, g) {
|
|
4
5
|
let code = "";
|
|
5
6
|
if (ir.coerce) {
|
|
@@ -7,7 +8,7 @@ export function slowBigInt(ir, g) {
|
|
|
7
8
|
}
|
|
8
9
|
code += emit `
|
|
9
10
|
if(typeof ${g.input}!=="bigint"){
|
|
10
|
-
${g
|
|
11
|
+
${invalidType(g, "bigint")}
|
|
11
12
|
}`;
|
|
12
13
|
if (ir.checks.length > 0) {
|
|
13
14
|
code += `else{`;
|
|
@@ -17,13 +18,13 @@ export function slowBigInt(ir, g) {
|
|
|
17
18
|
if (check.inclusive) {
|
|
18
19
|
code += emit `
|
|
19
20
|
if(${g.input}<${check.value}n){
|
|
20
|
-
${g
|
|
21
|
+
${tooSmall(g, `${check.value}n`, "bigint", true)}
|
|
21
22
|
}`;
|
|
22
23
|
}
|
|
23
24
|
else {
|
|
24
25
|
code += emit `
|
|
25
26
|
if(${g.input}<=${check.value}n){
|
|
26
|
-
${g
|
|
27
|
+
${tooSmall(g, `${check.value}n`, "bigint", false)}
|
|
27
28
|
}`;
|
|
28
29
|
}
|
|
29
30
|
break;
|
|
@@ -31,13 +32,13 @@ export function slowBigInt(ir, g) {
|
|
|
31
32
|
if (check.inclusive) {
|
|
32
33
|
code += emit `
|
|
33
34
|
if(${g.input}>${check.value}n){
|
|
34
|
-
${g
|
|
35
|
+
${tooBig(g, `${check.value}n`, "bigint", true)}
|
|
35
36
|
}`;
|
|
36
37
|
}
|
|
37
38
|
else {
|
|
38
39
|
code += emit `
|
|
39
40
|
if(${g.input}>=${check.value}n){
|
|
40
|
-
${g
|
|
41
|
+
${tooBig(g, `${check.value}n`, "bigint", false)}
|
|
41
42
|
}`;
|
|
42
43
|
}
|
|
43
44
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/bigint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/bigint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAW7D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGpE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { emit } from "../emit.js";
|
|
2
|
+
import { invalidType } from "../emit-issue.js";
|
|
2
3
|
export function slowBoolean(ir, g) {
|
|
3
4
|
let code = "";
|
|
4
5
|
if (ir.coerce) {
|
|
@@ -6,7 +7,7 @@ export function slowBoolean(ir, g) {
|
|
|
6
7
|
}
|
|
7
8
|
code += emit `
|
|
8
9
|
if(typeof ${g.input}!=="boolean"){
|
|
9
|
-
${g
|
|
10
|
+
${invalidType(g, "boolean")}
|
|
10
11
|
}
|
|
11
12
|
`;
|
|
12
13
|
return `${code}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/boolean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/boolean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,IAAI,CAAA,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;IACjD,CAAC;IACD,IAAI,IAAI,IAAI,CAAA;gBACE,CAAC,CAAC,KAAK;QACf,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC;;GAE9B,CAAC;IACF,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,IAAI,EAAE,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,UAAU,CAAC,CAAC,KAAK,cAAc,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKtD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAiDvD;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA0B9D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { checkPriority } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
|
+
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
3
4
|
export function slowDate(ir, g) {
|
|
4
5
|
let code = "";
|
|
5
6
|
if (ir.coerce) {
|
|
@@ -7,9 +8,9 @@ export function slowDate(ir, g) {
|
|
|
7
8
|
}
|
|
8
9
|
code += emit `
|
|
9
10
|
if(!(${g.input} instanceof Date)){
|
|
10
|
-
${g
|
|
11
|
+
${invalidType(g, "date")}
|
|
11
12
|
}else if(isNaN(${g.input}.getTime())){
|
|
12
|
-
${g
|
|
13
|
+
${invalidType(g, "date", { extra: 'received:"Invalid Date"' })}
|
|
13
14
|
}`;
|
|
14
15
|
if (ir.checks.length > 0) {
|
|
15
16
|
code += `else{`;
|
|
@@ -20,13 +21,13 @@ export function slowDate(ir, g) {
|
|
|
20
21
|
if (check.inclusive) {
|
|
21
22
|
code += emit `
|
|
22
23
|
if(${timeExpr}<${check.timestamp}){
|
|
23
|
-
${g
|
|
24
|
+
${tooSmall(g, check.timestamp, "date", true)}
|
|
24
25
|
}`;
|
|
25
26
|
}
|
|
26
27
|
else {
|
|
27
28
|
code += emit `
|
|
28
29
|
if(${timeExpr}<=${check.timestamp}){
|
|
29
|
-
${g
|
|
30
|
+
${tooSmall(g, check.timestamp, "date", false)}
|
|
30
31
|
}`;
|
|
31
32
|
}
|
|
32
33
|
break;
|
|
@@ -34,13 +35,13 @@ export function slowDate(ir, g) {
|
|
|
34
35
|
if (check.inclusive) {
|
|
35
36
|
code += emit `
|
|
36
37
|
if(${timeExpr}>${check.timestamp}){
|
|
37
|
-
${g
|
|
38
|
+
${tooBig(g, check.timestamp, "date", true)}
|
|
38
39
|
}`;
|
|
39
40
|
}
|
|
40
41
|
else {
|
|
41
42
|
code += emit `
|
|
42
43
|
if(${timeExpr}>=${check.timestamp}){
|
|
43
|
-
${g
|
|
44
|
+
${tooBig(g, check.timestamp, "date", false)}
|
|
44
45
|
}`;
|
|
45
46
|
}
|
|
46
47
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/date.ts"],"names":[],"mappings":"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"}
|