zod-compiler 1.22.1 → 1.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +10 -6
  2. package/dist/core/codegen/build-path.d.ts +14 -6
  3. package/dist/core/codegen/build-path.d.ts.map +1 -1
  4. package/dist/core/codegen/build-path.js +191 -22
  5. package/dist/core/codegen/build-path.js.map +1 -1
  6. package/dist/core/codegen/context.d.ts +29 -6
  7. package/dist/core/codegen/context.d.ts.map +1 -1
  8. package/dist/core/codegen/context.js +21 -6
  9. package/dist/core/codegen/context.js.map +1 -1
  10. package/dist/core/codegen/index.d.ts.map +1 -1
  11. package/dist/core/codegen/index.js +8 -2
  12. package/dist/core/codegen/index.js.map +1 -1
  13. package/dist/core/codegen/issue-decls.d.ts +40 -0
  14. package/dist/core/codegen/issue-decls.d.ts.map +1 -1
  15. package/dist/core/codegen/issue-decls.js +70 -0
  16. package/dist/core/codegen/issue-decls.js.map +1 -1
  17. package/dist/core/codegen/schemas/array.d.ts.map +1 -1
  18. package/dist/core/codegen/schemas/array.js +19 -3
  19. package/dist/core/codegen/schemas/array.js.map +1 -1
  20. package/dist/core/codegen/schemas/default.d.ts +15 -0
  21. package/dist/core/codegen/schemas/default.d.ts.map +1 -1
  22. package/dist/core/codegen/schemas/default.js +25 -2
  23. package/dist/core/codegen/schemas/default.js.map +1 -1
  24. package/dist/core/codegen/schemas/map.d.ts +17 -0
  25. package/dist/core/codegen/schemas/map.d.ts.map +1 -1
  26. package/dist/core/codegen/schemas/map.js +61 -6
  27. package/dist/core/codegen/schemas/map.js.map +1 -1
  28. package/dist/core/codegen/schemas/number.d.ts.map +1 -1
  29. package/dist/core/codegen/schemas/number.js +25 -0
  30. package/dist/core/codegen/schemas/number.js.map +1 -1
  31. package/dist/core/codegen/schemas/object.d.ts.map +1 -1
  32. package/dist/core/codegen/schemas/object.js +18 -10
  33. package/dist/core/codegen/schemas/object.js.map +1 -1
  34. package/dist/core/codegen/schemas/optional.d.ts +10 -0
  35. package/dist/core/codegen/schemas/optional.d.ts.map +1 -1
  36. package/dist/core/codegen/schemas/optional.js +1 -1
  37. package/dist/core/codegen/schemas/optional.js.map +1 -1
  38. package/dist/core/codegen/schemas/record.d.ts.map +1 -1
  39. package/dist/core/codegen/schemas/record.js +9 -3
  40. package/dist/core/codegen/schemas/record.js.map +1 -1
  41. package/dist/core/codegen/schemas/set.d.ts.map +1 -1
  42. package/dist/core/codegen/schemas/set.js +8 -5
  43. package/dist/core/codegen/schemas/set.js.map +1 -1
  44. package/dist/core/codegen/schemas/string.d.ts +13 -2
  45. package/dist/core/codegen/schemas/string.d.ts.map +1 -1
  46. package/dist/core/codegen/schemas/string.js +66 -54
  47. package/dist/core/codegen/schemas/string.js.map +1 -1
  48. package/dist/core/codegen/schemas/union.d.ts.map +1 -1
  49. package/dist/core/codegen/schemas/union.js +2 -1
  50. package/dist/core/codegen/schemas/union.js.map +1 -1
  51. package/dist/core/extract/extractors/default.d.ts.map +1 -1
  52. package/dist/core/extract/extractors/default.js +6 -1
  53. package/dist/core/extract/extractors/default.js.map +1 -1
  54. package/dist/core/types.d.ts +11 -0
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -373,12 +373,14 @@ see what compiled.
373
373
  Compiled validators match Zod on verdicts, output data and error messages, including issue ordering.
374
374
  Two things differ by design, both from the zero-allocation fast path:
375
375
 
376
- | Behavior | Zod | zod-compiler |
377
- | --------------------- | -------------------------------- | --------------------------------------------- |
378
- | Record key iteration | All own keys (`Reflect.ownKeys`) | Own enumerable **string** keys only |
379
- | Array output identity | A fresh array | The input array, by reference (holes survive) |
376
+ | Behavior | Zod | zod-compiler |
377
+ | ------------------------- | ---------------------------------- | ------------------------------------------------------- |
378
+ | Record key iteration | All own keys (`Reflect.ownKeys`) | Own enumerable **string** keys only |
379
+ | Container output identity | A fresh array / set / map / object | The input container, by reference (array holes survive) |
380
380
 
381
- `z.object()` strips unknown keys exactly as Zod does.
381
+ A container whose contents need no rewriting is validated in place and handed back, where Zod always
382
+ rebuilds it. `z.object()` is the exception — it strips unknown keys exactly as Zod does, so its output
383
+ is always a fresh object.
382
384
 
383
385
  ## Benchmark
384
386
 
@@ -436,7 +438,9 @@ pnpm benchmark # run locally
436
438
  An eligible schema compiles to a **fast path** — one `&&` chain validating the whole input with zero
437
439
  allocations, reused by `.is()` and `parse()` — plus a **slow path** that collects errors, run only on
438
440
  failure and deferred until `.error` is read. A `z.object()` strips, so it instead compiles to a single
439
- pass that validates and rebuilds together, bailing on the first failure.
441
+ pass that validates and rebuilds together, bailing on the first failure. That pass also covers the
442
+ idioms that reshape a value — array size checks, `.refine()`, `.default()`, `.trim()`, `.transform()` —
443
+ so one of them in a schema no longer costs it the whole single-pass parse.
440
444
 
441
445
  Regexes are pre-compiled with bounded repeats unrolled, checks run cheapest-first, discriminated unions
442
446
  dispatch through a jump table (plain tagged unions are auto-discriminated into it), and oversized check
@@ -20,12 +20,20 @@
20
20
  * slow walk 21.6 ns 30.4 ns 197.5 ns
21
21
  * build path 18.1 ns 7.7 ns 9.8 ns
22
22
  *
23
- * The generator is deliberately partial. A subtree that rebuilds nothing is
24
- * validated with its existing Fast Path expression and passed through by
25
- * reference, so only genuinely rebuilding containers need code here; anything
26
- * else returns null and keeps the eager walk. Callers must also confirm
27
- * {@link mutatesBeyondStrip} is false — coerce/default/transform/superRefine
28
- * rewrite values, which this pass does not model.
23
+ * A subtree that rebuilds nothing is validated with its existing Fast Path
24
+ * expression and passed through by reference, so only nodes that genuinely
25
+ * produce a new value need code here; anything else returns null and keeps the
26
+ * eager walk.
27
+ *
28
+ * Coverage is what decides whether this pass is reached at all, because it is
29
+ * all-or-nothing per schema: ONE unmodelled node anywhere in the tree costs the
30
+ * whole schema its single-pass parse. Modelled, beyond the stripping containers
31
+ * this started with: array size checks and `.refine()`, object-level `.refine()`,
32
+ * `.default()` substitution, ordered string rewrites (`.trim()`,
33
+ * `.toLowerCase()`), and sync `.transform()`. Still declined, via
34
+ * {@link mutatesBeyondStrip} — coerce, `.catch()` (its callback wants the inner
35
+ * schema's issue list, which this pass never builds), `z.url()`, and
36
+ * `superRefine`.
29
37
  */
30
38
  import type { SchemaIR } from "../types.js";
31
39
  import type { CodeGenContext } from "./context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"build-path.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/build-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAgF9D,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAwFD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAY9E"}
1
+ {"version":3,"file":"build-path.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/build-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAiG9D,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEpD;AA2FD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAY9E"}
@@ -20,17 +20,28 @@
20
20
  * slow walk 21.6 ns 30.4 ns 197.5 ns
21
21
  * build path 18.1 ns 7.7 ns 9.8 ns
22
22
  *
23
- * The generator is deliberately partial. A subtree that rebuilds nothing is
24
- * validated with its existing Fast Path expression and passed through by
25
- * reference, so only genuinely rebuilding containers need code here; anything
26
- * else returns null and keeps the eager walk. Callers must also confirm
27
- * {@link mutatesBeyondStrip} is false — coerce/default/transform/superRefine
28
- * rewrite values, which this pass does not model.
23
+ * A subtree that rebuilds nothing is validated with its existing Fast Path
24
+ * expression and passed through by reference, so only nodes that genuinely
25
+ * produce a new value need code here; anything else returns null and keeps the
26
+ * eager walk.
27
+ *
28
+ * Coverage is what decides whether this pass is reached at all, because it is
29
+ * all-or-nothing per schema: ONE unmodelled node anywhere in the tree costs the
30
+ * whole schema its single-pass parse. Modelled, beyond the stripping containers
31
+ * this started with: array size checks and `.refine()`, object-level `.refine()`,
32
+ * `.default()` substitution, ordered string rewrites (`.trim()`,
33
+ * `.toLowerCase()`), and sync `.transform()`. Still declined, via
34
+ * {@link mutatesBeyondStrip} — coerce, `.catch()` (its callback wants the inner
35
+ * schema's issue list, which this pass never builds), `z.url()`, and
36
+ * `superRefine`.
29
37
  */
30
- import { declareFastTemps, emitRuntimeHelper, emitTemp, escapeString, keyMembershipTest, rejectsUndefined, } from "./context.js";
38
+ import { declareFastTemps, emitEffectCallable, emitEffectFn, emitRuntimeHelper, emitTemp, escapeString, keyMembershipTest, outputAlwaysDefined, rejectsUndefined, } from "./context.js";
31
39
  import { createFastGen, generateFast } from "./fast-path.js";
32
40
  import { EXTRACT_CAP, estimateFastCost, MIN_EXTRACT, predictedInlineSize } from "./fast-size.js";
33
41
  import { ZC_HOP_DECL } from "./issue-decls.js";
42
+ import { defaultValueExpr, needsPostInnerDefault } from "./schemas/default.js";
43
+ import { innerAppliesDefaultOnUndefined } from "./schemas/optional.js";
44
+ import { fastStringCheck } from "./schemas/string.js";
34
45
  /**
35
46
  * Which nodes of `root` produce a value that is not their input — i.e. are, or
36
47
  * contain, a stripping object. Everything else can be validated in place and
@@ -66,6 +77,17 @@ function rebuildSet(root) {
66
77
  continue;
67
78
  const target = node.type === "recursiveRef" ? targets.get(node.refId ?? 0) : undefined;
68
79
  const rebuild = (node.type === "object" && node.stripUnknownKeys === true) ||
80
+ // `.default()` substitutes its own value for `undefined`, so its output
81
+ // is not its input even when the inner schema passes through — it must
82
+ // never be handed to `passthrough`, whose fast check would reject the
83
+ // absent value outright.
84
+ node.type === "default" ||
85
+ // An overwrite effect (`.trim()`, `.toLowerCase()`) rewrites the string,
86
+ // so the node's output is a new value: it has to be BUILT rather than
87
+ // validated in place (see buildString).
88
+ (node.type === "string" && node.checks.some((c) => c.kind === "overwrite_effect")) ||
89
+ // `.transform(fn)` replaces the value with the callback's result.
90
+ node.type === "effect" ||
69
91
  (target !== undefined && rebuilds.has(target)) ||
70
92
  children(node).some((child) => rebuilds.has(child));
71
93
  if (rebuild) {
@@ -81,11 +103,10 @@ export function rebuildsOutput(ir) {
81
103
  return rebuildSet(ir).has(ir);
82
104
  }
83
105
  /**
84
- * True when the subtree mutates for any reason OTHER than stripping coerce,
85
- * `.default()`, `.catch()`, `.transform()`, `.trim()`, `superRefine`. Those
86
- * rewrite values rather than merely reshaping objects, so the build pass (which
87
- * only ever copies validated values) cannot reproduce them and the schema keeps
88
- * the eager walk.
106
+ * True when the subtree mutates for any reason the build pass cannot reproduce
107
+ * coerce, `.catch()`, `z.url()`, `superRefine`. Those rewrite values in ways this
108
+ * pass (which validates, substitutes declared defaults, applies ordered string
109
+ * rewrites and copies) does not model, so the schema keeps the eager walk.
89
110
  */
90
111
  function mutatesBeyondStrip(ir) {
91
112
  return mutatesHere(ir) || children(ir).some(mutatesBeyondStrip);
@@ -98,18 +119,25 @@ function mutatesBeyondStrip(ir) {
98
119
  function mutatesHere(ir) {
99
120
  switch (ir.type) {
100
121
  case "string":
122
+ // Overwrite effects are absent: `buildString` applies them in order. A
123
+ // `z.url()` check still is not — it trims, normalizes and needs try/catch.
101
124
  return (ir.coerce === true ||
102
125
  superRefines(ir.checks) ||
103
- ir.checks.some((c) => c.kind === "overwrite_effect" || (c.kind === "string_format" && c.format === "url")));
126
+ ir.checks.some((c) => c.kind === "string_format" && c.format === "url"));
104
127
  case "number":
105
128
  return ir.coerce === true || superRefines(ir.checks);
106
129
  case "boolean":
107
130
  case "bigint":
108
131
  case "date":
109
132
  return ir.coerce === true;
110
- case "default":
133
+ // `default` and `effect` are absent: substituting a constant for `undefined`
134
+ // and applying a sync transform are both modelled (see buildDefault /
135
+ // buildEffect), and their inners are reached through `children`.
136
+ //
137
+ // `catch` is NOT: its catchValue callback receives a ctx carrying the inner
138
+ // schema's collected issues, and this pass produces a sentinel instead of an
139
+ // issue list — there is nothing to hand it.
111
140
  case "catch":
112
- case "effect":
113
141
  case "fallback":
114
142
  case "stringBool":
115
143
  return true;
@@ -246,9 +274,22 @@ function buildInline(ir, input, g) {
246
274
  case "record":
247
275
  return buildRecord(ir, input, g);
248
276
  case "optional":
249
- return buildSentinel(ir.inner, input, g, "===undefined", "undefined");
277
+ // A default further down the chain consumes undefined into a value, so
278
+ // the `undefined → undefined` shortcut must not fire — same rule (and
279
+ // same helper) the slow and fast paths already apply.
280
+ return innerAppliesDefaultOnUndefined(ir.inner)
281
+ ? build(ir.inner, input, g)
282
+ : buildSentinel(ir.inner, input, g, "===undefined", "undefined");
250
283
  case "nullable":
284
+ // `null` short-circuits unconditionally in zod, whatever the inner is;
285
+ // undefined flows through, so an inner default still fires.
251
286
  return buildSentinel(ir.inner, input, g, "===null", "null");
287
+ case "default":
288
+ return buildDefault(ir, input, g);
289
+ case "string":
290
+ return buildString(ir, input, g);
291
+ case "effect":
292
+ return buildEffect(ir, input, g);
252
293
  case "readonly":
253
294
  return build(ir.inner, input, g);
254
295
  case "union":
@@ -356,10 +397,14 @@ function buildObject(ir, input, g) {
356
397
  return null;
357
398
  if (ir.stripUnknownKeys !== true && ir.strict !== true)
358
399
  return null;
359
- if (ir.checks !== undefined && ir.checks.length > 0)
360
- return null;
361
400
  if (ir.suppressAbsentKeys !== undefined && ir.suppressAbsentKeys.length > 0)
362
401
  return null;
402
+ // Object-level `.refine()` runs on the assembled output (below). superRefine
403
+ // rewrites the payload, which this pass does not model — mutatesBeyondStrip
404
+ // already rejects it, so this is a belt-and-braces narrowing of the type.
405
+ const refines = ir.checks ?? [];
406
+ if (refines.some((check) => check.kind !== "refine_effect"))
407
+ return null;
363
408
  let code = `if(typeof ${input}!=="object"||${input}===null||Array.isArray(${input}))return ${g.fail};`;
364
409
  if (ir.strict === true) {
365
410
  const keyVar = local(g, "bk");
@@ -374,7 +419,7 @@ function buildObject(ir, input, g) {
374
419
  if (propBuilt === null)
375
420
  return null;
376
421
  code += propBuilt.code;
377
- slots.push({ always: rejectsUndefined(propIR), keyStr, value: propBuilt.value });
422
+ slots.push({ always: outputAlwaysDefined(propIR), keyStr, value: propBuilt.value });
378
423
  }
379
424
  // Same assembly the eager strip walk uses: the longest LEADING run of
380
425
  // always-present keys goes into one object literal (V8 stamps it from a
@@ -397,21 +442,57 @@ function buildObject(ir, input, g) {
397
442
  : `if(${slot.value}!==undefined||(${slot.keyStr} in ${input})){${out}[${slot.keyStr}]=${slot.value};}`;
398
443
  }
399
444
  code += `${out}={${literal.join(",")}};${appends}`;
445
+ // Zod parses the properties into the payload first and skips the check chain
446
+ // when that produced issues, so a bad property suppresses the refine — which
447
+ // this pass gets for free, having already returned FAIL at that property.
448
+ for (const check of refines) {
449
+ code += `if(!${emitEffectCallable(g.ctx, check)}(${out}))return ${g.fail};`;
450
+ }
400
451
  return { code, value: out };
401
452
  }
402
453
  function buildArray(ir, input, g) {
403
- if (ir.checks.length > 0)
404
- return null;
454
+ // Length checks are pure predicates over `input.length`, so they hoist ahead
455
+ // of the element loop: a size mismatch bails before a single element is
456
+ // validated. Zod reports the per-element issue first when both fail, but the
457
+ // build pass produces no issues — only the sentinel — and the deferred walk
458
+ // that does produce them keeps zod's order.
459
+ let sizes = "";
460
+ const refines = [];
461
+ for (const check of ir.checks) {
462
+ switch (check.kind) {
463
+ case "min_length":
464
+ sizes += `if(${input}.length<${check.minimum})return ${g.fail};`;
465
+ break;
466
+ case "max_length":
467
+ sizes += `if(${input}.length>${check.maximum})return ${g.fail};`;
468
+ break;
469
+ case "length_equals":
470
+ sizes += `if(${input}.length!==${check.length})return ${g.fail};`;
471
+ break;
472
+ case "refine_effect":
473
+ refines.push(check);
474
+ break;
475
+ default:
476
+ // super_refine (rewrites the value) or a check kind not modelled here.
477
+ return null;
478
+ }
479
+ }
405
480
  const out = local(g, "ba");
406
481
  const index = local(g, "bi");
407
482
  const elem = local(g, "be");
408
483
  const inner = build(ir.element, elem, g);
409
484
  if (inner === null)
410
485
  return null;
411
- const code = `if(!Array.isArray(${input}))return ${g.fail};` +
486
+ let code = `if(!Array.isArray(${input}))return ${g.fail};` +
487
+ sizes +
412
488
  `${out}=new Array(${input}.length);` +
413
489
  `for(${index}=0;${index}<${input}.length;${index}++){` +
414
490
  `${elem}=${input}[${index}];${inner.code}${out}[${index}]=${inner.value};}`;
491
+ // `.refine()` sees the parsed payload, which for a rebuilding element is the
492
+ // freshly assembled array — the same value zod hands its checks.
493
+ for (const check of refines) {
494
+ code += `if(!${emitEffectCallable(g.ctx, check)}(${out}))return ${g.fail};`;
495
+ }
415
496
  return { code, value: out };
416
497
  }
417
498
  function buildTuple(ir, input, g) {
@@ -453,6 +534,94 @@ function buildRecord(ir, input, g) {
453
534
  `${valVar}=${input}[${keyVar}];${inner.code}${out}[${keyVar}]=${inner.value};}}`;
454
535
  return { code, value: out };
455
536
  }
537
+ /**
538
+ * `.transform(fn)`: validate the inner schema, then hand its parsed value to the
539
+ * callback. Zod's transform is a pipe whose `in` failing aborts the whole thing,
540
+ * which is exactly what returning FAIL from the inner build does — so the
541
+ * callback runs only on a clean parse, as `slowEffect` guarantees with its issue
542
+ * count.
543
+ *
544
+ * The IR reaches here only for a synchronous single-argument callback: a
545
+ * `ctx`-taking or async transform is extracted as a `fallback` instead
546
+ * (see extractPipe), so there is no parse context to reproduce.
547
+ */
548
+ function buildEffect(ir, input, g) {
549
+ const inner = build(ir.inner, input, g);
550
+ if (inner === null)
551
+ return null;
552
+ const out = local(g, "bx");
553
+ return {
554
+ code: `${inner.code}${out}=${emitEffectCallable(g.ctx, ir)}(${inner.value});`,
555
+ value: out,
556
+ };
557
+ }
558
+ /**
559
+ * A string carrying an overwrite effect (`.trim()`, `.toLowerCase()`, ...): the
560
+ * checks are emitted one statement at a time in DECLARATION order, interleaved
561
+ * with the rewrites, because a rewrite is visible to every check after it —
562
+ * `z.string().trim().min(1)` rejects `" "` where `z.string().min(1).trim()`
563
+ * accepts it. That ordering is exactly why the fast path, which sorts checks
564
+ * cheapest-first and returns the input unchanged, has to decline these.
565
+ *
566
+ * Only reached for a rewriting string; a check-only one never enters the rebuild
567
+ * set and is validated in place by `passthrough`.
568
+ */
569
+ function buildString(ir, input, g) {
570
+ if (ir.coerce === true)
571
+ return null;
572
+ const value = local(g, "bs");
573
+ let code = `if(typeof ${input}!=="string")return ${g.fail};${value}=${input};`;
574
+ for (const check of ir.checks) {
575
+ switch (check.kind) {
576
+ case "overwrite_effect":
577
+ code += `${value}=${emitEffectFn(g.ctx, check.source)}(${value});`;
578
+ break;
579
+ case "refine_effect":
580
+ code += `if(!${emitEffectCallable(g.ctx, check)}(${value}))return ${g.fail};`;
581
+ break;
582
+ case "super_refine_effect":
583
+ // Rewrites through zod's payload; mutatesBeyondStrip already rejects it.
584
+ return null;
585
+ default: {
586
+ const expr = fastStringCheck(check, value, g.ctx);
587
+ if (expr === null)
588
+ return null; // z.url(), unknown format
589
+ code += `if(!(${expr}))return ${g.fail};`;
590
+ }
591
+ }
592
+ }
593
+ return { code, value };
594
+ }
595
+ /**
596
+ * `.default(v)`: `undefined` yields the declared value without running the
597
+ * inner schema, anything else parses normally — the same two branches
598
+ * `slowDefault` emits, reading the value off the retained schema so a
599
+ * reference-typed default keeps zod's identity (one shared object, not a copy).
600
+ *
601
+ * The substituted value is not validated, so it makes the fast path a PARTIAL
602
+ * predicate (`fc(undefined)` is false where the schema accepts) — which is why
603
+ * this records {@link CodeGenContext.buildSubstitutesValue}, on which
604
+ * `generateValidator` withholds `.is()`.
605
+ */
606
+ function buildDefault(ir, input, g) {
607
+ const inner = build(ir.inner, input, g);
608
+ if (inner === null)
609
+ return null;
610
+ // Every `default` node is in the rebuild set, so it is always BUILT and never
611
+ // passed through — which makes this flag an exact record of whether the
612
+ // finished pass substitutes a value.
613
+ g.ctx.buildSubstitutesValue = true;
614
+ const out = local(g, "bq");
615
+ const value = defaultValueExpr(ir);
616
+ // Zod re-applies the default when the inner returns undefined for a defined
617
+ // input; only emitted when the inner can actually do that.
618
+ const reapply = needsPostInnerDefault(ir) ? `if(${out}===undefined){${out}=${value};}` : "";
619
+ return {
620
+ code: `if(${input}===undefined){${out}=${value};}` +
621
+ `else{${inner.code}${out}=${inner.value};${reapply}}`,
622
+ value: out,
623
+ };
624
+ }
456
625
  /** `optional` / `nullable` around a rebuilding inner: pass the sentinel through. */
457
626
  function buildSentinel(innerIR, input, g, test, sentinel) {
458
627
  const inner = build(innerIR, input, g);
@@ -1 +1 @@
1
- {"version":3,"file":"build-path.js","sourceRoot":"","sources":["../../../src/core/codegen/build-path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-path.js","sourceRoot":"","sources":["../../../src/core/codegen/build-path.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,16 @@ export interface CodeGenContext {
100
100
  buildFailName?: string;
101
101
  /** Hosted build-function name per recursion target refId, so back-edges resolve. */
102
102
  buildRecNames?: Map<number, string>;
103
+ /**
104
+ * Set by the build path when it emitted a `.default()` substitution. Such a
105
+ * schema ACCEPTS an input its fast expression rejects — `fastDefault` demands a
106
+ * present value, since the fast path's contract is `data === input` and a
107
+ * substituted default is not the input — so the expression is no longer an
108
+ * exact acceptance predicate and must not be installed as `.is()`. Stripping,
109
+ * by contrast, reshapes only the payload, which is why a build-path schema
110
+ * otherwise still hands its predicate over.
111
+ */
112
+ buildSubstitutesValue?: boolean;
103
113
  /** Memo for estimateFastCost (size-gated fast-check extraction). Lazily created. */
104
114
  fastSizeCache?: WeakMap<SchemaIR, number>;
105
115
  /** Memo for estimateRuntimeCost (cheapest-first check ordering). Lazily created. */
@@ -411,13 +421,26 @@ export declare function extendStaticPathIndex(parentPath: string, index: number)
411
421
  */
412
422
  export declare function hasMutation(ir: SchemaIR): boolean;
413
423
  /**
414
- * Does this schema reject `undefined` outright i.e. does a SUCCESSFUL parse
415
- * guarantee a defined output value?
424
+ * Is a defaulted property's key guaranteed to appear in the stripped output?
425
+ *
426
+ * Distinct from {@link rejectsUndefined}, which asks whether `undefined` is
427
+ * REJECTED — a `.default()` accepts it and yet still produces a defined value, so
428
+ * only this question earns the key a slot in the output object literal. The two
429
+ * answers coincide everywhere else.
430
+ *
431
+ * Sound for both branches of a default: the substituted value is defined
432
+ * (`alwaysDefined`, checked against the schema at extraction time), and the inner
433
+ * branch runs only when `input[key] !== undefined`, which implies `key in input`
434
+ * — so zod's presence test keeps the key whatever the inner produced.
435
+ */
436
+ export declare function outputAlwaysDefined(ir: SchemaIR): boolean;
437
+ /**
438
+ * Does this schema reject `undefined` outright?
416
439
  *
417
- * Used by the strip rebuild to decide whether a property can go straight into
418
- * the output object literal or needs zod's presence test around it (see
419
- * slowObject). Conservative: anything that might accept, produce, or default to
420
- * `undefined` answers false, which only costs that key its literal slot.
440
+ * Read as "can this slot be ABSENT from the input" by the tuple build, whose
441
+ * output length depends on it zod marks a defaulted or optional item
442
+ * `optin: "optional"` and accepts a shorter array. Conservative: anything that
443
+ * might accept, produce, or default to `undefined` answers false.
421
444
  */
422
445
  export declare function rejectsUndefined(ir: SchemaIR): boolean;
423
446
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/context.ts"],"names":[],"mappings":"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"}
@@ -414,13 +414,28 @@ export function hasMutation(ir) {
414
414
  }
415
415
  }
416
416
  /**
417
- * Does this schema reject `undefined` outright i.e. does a SUCCESSFUL parse
418
- * guarantee a defined output value?
417
+ * Is a defaulted property's key guaranteed to appear in the stripped output?
419
418
  *
420
- * Used by the strip rebuild to decide whether a property can go straight into
421
- * the output object literal or needs zod's presence test around it (see
422
- * slowObject). Conservative: anything that might accept, produce, or default to
423
- * `undefined` answers false, which only costs that key its literal slot.
419
+ * Distinct from {@link rejectsUndefined}, which asks whether `undefined` is
420
+ * REJECTED a `.default()` accepts it and yet still produces a defined value, so
421
+ * only this question earns the key a slot in the output object literal. The two
422
+ * answers coincide everywhere else.
423
+ *
424
+ * Sound for both branches of a default: the substituted value is defined
425
+ * (`alwaysDefined`, checked against the schema at extraction time), and the inner
426
+ * branch runs only when `input[key] !== undefined`, which implies `key in input`
427
+ * — so zod's presence test keeps the key whatever the inner produced.
428
+ */
429
+ export function outputAlwaysDefined(ir) {
430
+ return ir.type === "default" ? ir.alwaysDefined === true : rejectsUndefined(ir);
431
+ }
432
+ /**
433
+ * Does this schema reject `undefined` outright?
434
+ *
435
+ * Read as "can this slot be ABSENT from the input" by the tuple build, whose
436
+ * output length depends on it — zod marks a defaulted or optional item
437
+ * `optin: "optional"` and accepts a shorter array. Conservative: anything that
438
+ * might accept, produce, or default to `undefined` answers false.
424
439
  */
425
440
  export function rejectsUndefined(ir) {
426
441
  switch (ir.type) {