zod-compiler 1.0.17 → 1.0.18
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 +36 -32
- package/dist/core/codegen/context.d.ts +15 -0
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +22 -0
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/schemas/array.js +2 -2
- package/dist/core/codegen/schemas/array.js.map +1 -1
- package/dist/core/codegen/schemas/effect.d.ts.map +1 -1
- package/dist/core/codegen/schemas/effect.js +3 -2
- package/dist/core/codegen/schemas/effect.js.map +1 -1
- package/dist/core/codegen/schemas/number.js +2 -2
- 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 +2 -2
- package/dist/core/codegen/schemas/object.js.map +1 -1
- package/dist/core/codegen/schemas/string.js +3 -3
- package/dist/core/codegen/schemas/string.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Compile Zod schemas into zero-overhead validation functions at build time.**
|
|
4
4
|
|
|
5
|
-
Keep your existing Zod schemas. Get **2-
|
|
5
|
+
Keep your existing Zod schemas. Get **2-74x faster** validation. No code changes required.
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
8
|
// vite.config.ts — add one line
|
|
@@ -23,7 +23,7 @@ export const UserSchema = z.object({
|
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
// Use it anywhere — tRPC, Hono, React Hook Form, etc.
|
|
26
|
-
// At build time, zod-compiler compiles it to a 2-
|
|
26
|
+
// At build time, zod-compiler compiles it to a 2-74x faster validator.
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
## Install
|
|
@@ -395,7 +395,7 @@ npx zod-compiler check src/schemas.ts --json --fail-under 80
|
|
|
395
395
|
|
|
396
396
|
## What Gets Compiled
|
|
397
397
|
|
|
398
|
-
### Fully Compiled (2-
|
|
398
|
+
### Fully Compiled (2-74x faster)
|
|
399
399
|
|
|
400
400
|
`string`, `number`, `bigint`, `boolean`, `null`, `undefined`, `any`, `unknown`, `literal`, `enum`, `stringbool`, `date`, `file`, `object`, `strictObject` / `.strict()`, `looseObject`, `array`, `tuple`, `record`, `set`, `map`, `union`, `discriminatedUnion`, `intersection`, `pipe` (non-transform), `optional`, `nullable`, `readonly`, `default`, `catch`, `coerce`, `templateLiteral`, `symbol`, `void`, `nan`, `never`, `lazy` (self-recursive), `transform` / `refine` (zero-capture — see below)
|
|
401
401
|
|
|
@@ -429,35 +429,39 @@ compiles; `z.string().transform((s) => s + suffix)` falls back (it captures
|
|
|
429
429
|
|
|
430
430
|
5-way comparison: **Zod v3** vs **Zod v4** vs **zod-compiler** vs **[Typia](https://typia.io/)** vs **[AJV](https://ajv.js.org/)**
|
|
431
431
|
|
|
432
|
-
| Scenario
|
|
433
|
-
|
|
|
434
|
-
| simple string
|
|
435
|
-
| string (min/max)
|
|
436
|
-
| number (int+positive)
|
|
437
|
-
| enum
|
|
438
|
-
| bigint (min/max)
|
|
439
|
-
| tuple [string, int, bool]
|
|
440
|
-
| record\<string, number\>
|
|
441
|
-
| set\<string\> (5 items)
|
|
442
|
-
| set\<string\> (20 items)
|
|
443
|
-
| map\<string, number\> (5 entries)
|
|
444
|
-
| map\<string, number\> (20 entries)
|
|
445
|
-
| pipe (non-transform)
|
|
446
|
-
| discriminatedUnion (3 variants)
|
|
447
|
-
|
|
|
448
|
-
| medium object (
|
|
449
|
-
|
|
|
450
|
-
| large object (
|
|
451
|
-
|
|
|
452
|
-
| recursive tree (
|
|
453
|
-
|
|
|
454
|
-
|
|
|
455
|
-
|
|
|
456
|
-
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
432
|
+
| Scenario | Zod v3 | Zod v4 | **zod-compiler** | Typia | AJV | vs Zod v4 |
|
|
433
|
+
| ------------------------------------------------- | ------ | ------ | ---------------- | ----- | ----- | --------- |
|
|
434
|
+
| simple string | 12.9M | 14.4M | **16.6M** | 17.0M | 17.5M | 1.2x |
|
|
435
|
+
| string (min/max) | 12.0M | 7.4M | **16.2M** | 17.0M | 14.5M | 2.2x |
|
|
436
|
+
| number (int+positive) | 11.7M | 7.8M | **16.4M** | 16.9M | 17.0M | 2.1x |
|
|
437
|
+
| enum | 11.5M | 11.9M | **15.3M** | 15.1M | 16.0M | 1.3x |
|
|
438
|
+
| bigint (min/max) | 11.7M | 7.7M | **16.1M** | — | — | 2.1x |
|
|
439
|
+
| tuple [string, int, bool] | 5.9M | 5.1M | **16.9M** | 17.8M | 16.6M | 3.3x |
|
|
440
|
+
| record\<string, number\> | 3.2M | 2.8M | **10.8M** | 12.1M | 15.7M | 3.9x |
|
|
441
|
+
| set\<string\> (5 items) | 3.7M | 2.2M | **14.4M** | — | — | 6.7x |
|
|
442
|
+
| set\<string\> (20 items) | 1.1M | 667K | **11.1M** | — | — | **17x** |
|
|
443
|
+
| map\<string, number\> (5 entries) | 1.8M | 1.2M | **10.4M** | — | — | 8.7x |
|
|
444
|
+
| map\<string, number\> (20 entries) | 582K | 315K | **8.1M** | — | — | **26x** |
|
|
445
|
+
| pipe (non-transform) | 8.8M | 5.8M | **16.6M** | — | — | 2.9x |
|
|
446
|
+
| discriminatedUnion (3 variants) | 3.1M | 3.9M | **15.1M** | 14.9M | 7.3M | 3.9x |
|
|
447
|
+
| strict object (DB row) | 1.8M | 3.2M | **7.2M** | — | — | 2.3x |
|
|
448
|
+
| medium object (valid) | 1.9M | 2.4M | **9.7M** | 10.5M | 7.4M | 4.0x |
|
|
449
|
+
| medium object (invalid) | 518K | 76K | **5.6M** | 2.9M | 7.7M | **74x** |
|
|
450
|
+
| large object (10 items) | 117K | 166K | **7.6M** | 5.8M | 1.0M | **46x** |
|
|
451
|
+
| large object (100 items) | 13K | 18K | **1.3M** | 1.2M | 110K | **72x** |
|
|
452
|
+
| recursive tree (7 nodes) | 572K | 2.1M | **12.9M** | 12.1M | 4.7M | 6.2x |
|
|
453
|
+
| recursive tree (121 nodes) | 31K | 140K | **1.9M** | 1.9M | 353K | **14x** |
|
|
454
|
+
| event log (combined) | 364K | 536K | **5.9M** | — | — | **11x** |
|
|
455
|
+
| object with transform (zero-capture) | 1.0M | 1.8M | **5.7M** | — | — | 3.2x |
|
|
456
|
+
| array 10 × transform (zero-capture) | 104K | 188K | **2.9M** | — | — | **15x** |
|
|
457
|
+
| array 50 × transform (zero-capture) | 24K | 43K | **737K** | — | — | **17x** |
|
|
458
|
+
| object with captured transform (partial fallback) | 1.4M | 6.1M | **6.5M** | — | — | 1.1x |
|
|
459
|
+
|
|
460
|
+
_ops/s, higher is better. "—" = not supported by the library. Measured with `vitest bench` on Apple M-series (zod 4.3.6, zod v3 3.23.8, typia 12, ajv 8)._
|
|
461
|
+
|
|
462
|
+
Performance scales with schema complexity. Nested objects and arrays see the biggest gains because zod-compiler eliminates per-node traversal overhead. `discriminatedUnion` uses O(1) `switch` dispatch instead of Zod's sequential trial. The invalid-input row is large because failed `safeParse` defers error materialization until `.error` is read. Zero-capture `transform`/`refine` callbacks are compiled (3-17x); schemas with captured callbacks fall back per-field and roughly match Zod.
|
|
463
|
+
|
|
464
|
+
`parse()` (throwing API) rides a zero-allocation fast path: medium object 2.2M → 9.1M ops/s (4.2x), large object (100 items) 18K → 1.4M ops/s (76x).
|
|
461
465
|
|
|
462
466
|
```bash
|
|
463
467
|
pnpm bench # run locally
|
|
@@ -38,6 +38,8 @@ export interface CodeGenContext {
|
|
|
38
38
|
* can call it. undefined = schema has no recursion on the fast path.
|
|
39
39
|
*/
|
|
40
40
|
recFastName?: string;
|
|
41
|
+
/** Dedup cache for hosted zero-capture effect functions: source text → preamble var. */
|
|
42
|
+
effectFnCache?: Map<string, string>;
|
|
41
43
|
}
|
|
42
44
|
/** Context object for slow-path (error-collecting) generator functions. */
|
|
43
45
|
export interface SlowGen {
|
|
@@ -94,6 +96,19 @@ export interface FastGen {
|
|
|
94
96
|
export type FastGenerator<T extends SchemaIR = SchemaIR> = (ir: T, g: FastGen) => string | null;
|
|
95
97
|
/** Allocate a fresh `__${prefix}_${n}` identifier and bump the shared counter. */
|
|
96
98
|
export declare function emitTemp(ctx: CodeGenContext, prefix: string): string;
|
|
99
|
+
/**
|
|
100
|
+
* Host a zero-capture effect function (refine predicate, transform,
|
|
101
|
+
* overwrite) in the preamble and return its variable name. The inline
|
|
102
|
+
* `(${source})(x)` form evaluates the function expression — allocating a
|
|
103
|
+
* function object — on EVERY parse at every effect site, including inside
|
|
104
|
+
* the "zero-allocation" fast chain. V8's escape analysis erases that in
|
|
105
|
+
* optimized frames, but interpreter/baseline/deopt frames pay it, and the
|
|
106
|
+
* full source text re-parses as bytecode at each site. Zero-capture sources
|
|
107
|
+
* reference only their own parameters and safe globals by construction, so
|
|
108
|
+
* a single preamble binding is semantically identical. Deduped per schema
|
|
109
|
+
* by source text.
|
|
110
|
+
*/
|
|
111
|
+
export declare function emitEffectFn(ctx: CodeGenContext, source: string): string;
|
|
97
112
|
/**
|
|
98
113
|
* Pristine fallback delegate: declare `var __rfp_N=__rf[N].safeParse.bind(__rf[N]);`
|
|
99
114
|
* in the preamble and return the variable name. Generated code must NEVER read
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,OAAO,EACP,eAAe,EACf,WAAW,EACX,QAAQ,EACR,UAAU,EACX,MAAM,aAAa,CAAC;AAOrB,qKAAqK;AACrK,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,2BAA2B;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,uGAAuG;IACvG,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,28 @@ import { lookupFastRegexSource, lookupWellKnownRegex, wellKnownRegexSourceName,
|
|
|
4
4
|
export function emitTemp(ctx, prefix) {
|
|
5
5
|
return `__${prefix}_${ctx.counter++}`;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Host a zero-capture effect function (refine predicate, transform,
|
|
9
|
+
* overwrite) in the preamble and return its variable name. The inline
|
|
10
|
+
* `(${source})(x)` form evaluates the function expression — allocating a
|
|
11
|
+
* function object — on EVERY parse at every effect site, including inside
|
|
12
|
+
* the "zero-allocation" fast chain. V8's escape analysis erases that in
|
|
13
|
+
* optimized frames, but interpreter/baseline/deopt frames pay it, and the
|
|
14
|
+
* full source text re-parses as bytecode at each site. Zero-capture sources
|
|
15
|
+
* reference only their own parameters and safe globals by construction, so
|
|
16
|
+
* a single preamble binding is semantically identical. Deduped per schema
|
|
17
|
+
* by source text.
|
|
18
|
+
*/
|
|
19
|
+
export function emitEffectFn(ctx, source) {
|
|
20
|
+
ctx.effectFnCache ??= new Map();
|
|
21
|
+
const cached = ctx.effectFnCache.get(source);
|
|
22
|
+
if (cached !== undefined)
|
|
23
|
+
return cached;
|
|
24
|
+
const name = `__ef_${ctx.counter++}`;
|
|
25
|
+
ctx.preamble.push(`var ${name}=(${source});`);
|
|
26
|
+
ctx.effectFnCache.set(source, name);
|
|
27
|
+
return name;
|
|
28
|
+
}
|
|
7
29
|
/**
|
|
8
30
|
* Pristine fallback delegate: declare `var __rfp_N=__rf[N].safeParse.bind(__rf[N]);`
|
|
9
31
|
* in the preamble and return the variable name. Generated code must NEVER read
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkPriority, extendPath, hasMutation } from "../context.js";
|
|
1
|
+
import { checkPriority, emitEffectFn, extendPath, hasMutation } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
4
4
|
import { refineCheck } from "./effect.js";
|
|
@@ -78,7 +78,7 @@ export function fastArray(ir, g) {
|
|
|
78
78
|
// Refine effect checks (appended last — run after cheap checks short-circuit)
|
|
79
79
|
for (const check of ir.checks) {
|
|
80
80
|
if (check.kind === "refine_effect") {
|
|
81
|
-
parts.push(
|
|
81
|
+
parts.push(`${emitEffectFn(g.ctx, check.source)}(${x})`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
return parts.join("&&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
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":"effect.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAWpE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAUxF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { emitEffectFn } from "../context.js";
|
|
1
2
|
import { emit } from "../emit.js";
|
|
2
3
|
/**
|
|
3
4
|
* Generate code for a TransformEffectIR node.
|
|
@@ -10,7 +11,7 @@ export function slowEffect(ir, g) {
|
|
|
10
11
|
var ${beforeVar}=${g.issues}.length;
|
|
11
12
|
${innerCode}
|
|
12
13
|
if(${g.issues}.length===${beforeVar}){
|
|
13
|
-
${g.output}
|
|
14
|
+
${g.output}=${emitEffectFn(g.ctx, ir.source)}(${g.output});
|
|
14
15
|
}
|
|
15
16
|
`}\n`;
|
|
16
17
|
}
|
|
@@ -28,7 +29,7 @@ export function refineCheck(check, expr, g) {
|
|
|
28
29
|
// message baked in, __zcFin applies the locale default ("Invalid input").
|
|
29
30
|
const messageProp = check.message === undefined ? "" : `,message:${JSON.stringify(check.message)}`;
|
|
30
31
|
return emit `
|
|
31
|
-
if(
|
|
32
|
+
if(!${emitEffectFn(g.ctx, check.source)}(${expr})){
|
|
32
33
|
${g.issues}.push({code:"custom",path:${g.path}${messageProp},input:${expr}});
|
|
33
34
|
}`;
|
|
34
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/effect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAqB,EAAE,CAAU;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,GAAG,IAAI,CAAA;UACN,SAAS,IAAI,CAAC,CAAC,MAAM;MACzB,SAAS;SACN,CAAC,CAAC,MAAM,aAAa,SAAS;QAC/B,CAAC,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/effect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAqB,EAAE,CAAU;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,GAAG,IAAI,CAAA;UACN,SAAS,IAAI,CAAC,CAAC,MAAM;MACzB,SAAS;SACN,CAAC,CAAC,MAAM,aAAa,SAAS;QAC/B,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;;GAE3D,IAAI,CAAC;AACR,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B,EAAE,IAAY,EAAE,CAAU;IAC9E,sEAAsE;IACtE,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACjF,OAAO,IAAI,CAAA;UACH,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI;QAC3C,CAAC,CAAC,MAAM,6BAA6B,CAAC,CAAC,IAAI,GAAG,WAAW,UAAU,IAAI;MACzE,CAAC;AACP,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkPriority, emitRuntimeHelper } from "../context.js";
|
|
1
|
+
import { checkPriority, emitEffectFn, emitRuntimeHelper } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
4
4
|
import { ZC_FSR_DECL } from "../issue-decls.js";
|
|
@@ -188,7 +188,7 @@ export function fastNumber(ir, g) {
|
|
|
188
188
|
// Refine effect checks (appended last — run after cheap checks short-circuit)
|
|
189
189
|
for (const check of ir.checks) {
|
|
190
190
|
if (check.kind === "refine_effect") {
|
|
191
|
-
parts.push(
|
|
191
|
+
parts.push(`${emitEffectFn(g.ctx, check.source)}(${x})`);
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
return parts.join("&&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/number.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/number.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA+BtD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAgEhF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkClE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENUM_INLINE_THRESHOLD, emitSet, escapeString, extendStaticPath, hasMutation, } from "../context.js";
|
|
1
|
+
import { ENUM_INLINE_THRESHOLD, emitEffectFn, emitSet, escapeString, extendStaticPath, hasMutation, } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType, unrecognizedKeys } from "../emit-issue.js";
|
|
4
4
|
import { refineCheck } from "./effect.js";
|
|
@@ -100,7 +100,7 @@ export function fastObject(ir, g) {
|
|
|
100
100
|
if (ir.checks) {
|
|
101
101
|
for (const check of ir.checks) {
|
|
102
102
|
if (check.kind === "refine_effect") {
|
|
103
|
-
parts.push(
|
|
103
|
+
parts.push(`${emitEffectFn(g.ctx, check.source)}(${x})`);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkPriority, emitRegexSourceString, escapeString } from "../context.js";
|
|
1
|
+
import { checkPriority, emitEffectFn, emitRegexSourceString, escapeString } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidFormat, invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
4
4
|
import { EMAIL_REGEX_SOURCE, lookupFastRegexSource, UUID_REGEX_SOURCE, } from "../well-known-regex.js";
|
|
@@ -110,7 +110,7 @@ export function slowString(ir, g) {
|
|
|
110
110
|
case "overwrite_effect":
|
|
111
111
|
// $ZodCheckOverwrite: value = tx(value). Later checks read the
|
|
112
112
|
// rewritten value because input aliases the output location.
|
|
113
|
-
code += emit `${g.output}
|
|
113
|
+
code += emit `${g.output}=${emitEffectFn(g.ctx, check.source)}(${g.input});`;
|
|
114
114
|
break;
|
|
115
115
|
case "string_format": {
|
|
116
116
|
let regexVar;
|
|
@@ -231,7 +231,7 @@ export function fastString(ir, g) {
|
|
|
231
231
|
// Refine effect checks (appended last — run after cheap checks short-circuit)
|
|
232
232
|
for (const check of ir.checks) {
|
|
233
233
|
if (check.kind === "refine_effect") {
|
|
234
|
-
parts.push(
|
|
234
|
+
parts.push(`${emitEffectFn(g.ctx, check.source)}(${x})`);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
return parts.join("&&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/string.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/string.ts"],"names":[],"mappings":"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"}
|