zod-compiler 1.0.14 → 1.0.16

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 (39) hide show
  1. package/LICENSE +7 -17
  2. package/README.md +30 -22
  3. package/dist/cli/emitter.d.ts +2 -1
  4. package/dist/cli/emitter.d.ts.map +1 -1
  5. package/dist/cli/emitter.js +1 -1
  6. package/dist/cli/emitter.js.map +1 -1
  7. package/dist/core/codegen/emit-issue.d.ts +5 -0
  8. package/dist/core/codegen/emit-issue.d.ts.map +1 -1
  9. package/dist/core/codegen/emit-issue.js +11 -0
  10. package/dist/core/codegen/emit-issue.js.map +1 -1
  11. package/dist/core/codegen/issue-decls.d.ts +2 -0
  12. package/dist/core/codegen/issue-decls.d.ts.map +1 -1
  13. package/dist/core/codegen/issue-decls.js +3 -0
  14. package/dist/core/codegen/issue-decls.js.map +1 -1
  15. package/dist/core/codegen/schemas/object.d.ts.map +1 -1
  16. package/dist/core/codegen/schemas/object.js +44 -2
  17. package/dist/core/codegen/schemas/object.js.map +1 -1
  18. package/dist/core/extract/extractors/object.d.ts.map +1 -1
  19. package/dist/core/extract/extractors/object.js +11 -7
  20. package/dist/core/extract/extractors/object.js.map +1 -1
  21. package/dist/core/types.d.ts +10 -0
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/unplugin/hoist.d.ts +8 -0
  24. package/dist/unplugin/hoist.d.ts.map +1 -1
  25. package/dist/unplugin/hoist.js +192 -25
  26. package/dist/unplugin/hoist.js.map +1 -1
  27. package/dist/unplugin/index.d.ts.map +1 -1
  28. package/dist/unplugin/index.js +22 -10
  29. package/dist/unplugin/index.js.map +1 -1
  30. package/dist/unplugin/transform.d.ts.map +1 -1
  31. package/dist/unplugin/transform.js +8 -2
  32. package/dist/unplugin/transform.js.map +1 -1
  33. package/dist/unplugin/types.d.ts +15 -3
  34. package/dist/unplugin/types.d.ts.map +1 -1
  35. package/dist/unplugin/types.js.map +1 -1
  36. package/dist/unplugin/virtual.d.ts.map +1 -1
  37. package/dist/unplugin/virtual.js +7 -8
  38. package/dist/unplugin/virtual.js.map +1 -1
  39. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,21 +1,11 @@
1
- MIT License
1
+ Copyright 2026 Gajus Kuizinas <gajus@gajus.com>
2
2
 
3
- Copyright (c) 2026 wakita181009
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
11
6
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
14
8
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
9
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
10
+
11
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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-64x faster** validation. No code changes required.
5
+ Keep your existing Zod schemas. Get **2-58x 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 3-64x faster validator.
26
+ // At build time, zod-compiler compiles it to a 2-58x faster validator.
27
27
  ```
28
28
 
29
29
  ## Install
@@ -95,7 +95,7 @@ At build time, the plugin:
95
95
  4. Compiles each schema into an optimized validator
96
96
  5. Replaces the export with a tree-shakeable IIFE that preserves the full Zod API
97
97
 
98
- **What "preserves the full Zod API" means:** The compiled schema inherits from the original Zod schema via `Object.create()`. So `._zod`, `.shape`, Standard Schema (`~standard`), `instanceof` checks all still work. Libraries that accept Zod schemas (tRPC, Hono, React Hook Form) work without changes.
98
+ **What "preserves the full Zod API" means:** The optimized `parse`/`safeParse`/`parseAsync`/`safeParseAsync` methods are installed directly on the original schema object, which is exported as-is. Identity is preserved, so `._zod`, `.shape`, Standard Schema (`~standard`), `instanceof`, `.meta()` / `z.globalRegistry`, and `z.toJSONSchema()` all still work. Libraries that accept Zod schemas (tRPC, Hono, React Hook Form) work without changes.
99
99
 
100
100
  ### 2. compile() (Explicit)
101
101
 
@@ -157,7 +157,7 @@ npx zod-compiler generate src/ --watch
157
157
  | `autoDiscover` | `boolean` | `false` | Auto-detect all exported Zod schemas without `compile()` |
158
158
  | `include` | `string[]` | — | Only process files matching these substrings |
159
159
  | `exclude` | `string[]` | — | Skip files matching these substrings |
160
- | `zodCompat` | `boolean` | `true` | Preserve Zod API via `Object.create()`. Set `false` for smaller output |
160
+ | `zodCompat` | `boolean` | `true` | Preserve the full Zod API on the compiled schema. Set `false` for smaller output |
161
161
  | `verbose` | `boolean` | `false` | Log per-schema compilation status during build |
162
162
  | `hoist` | `boolean` | `true` | Hoist Zod schemas defined inside function bodies to module scope so they're constructed once instead of per call (babel-plugin-zod-hoist equivalent). Only expressions built purely from imports and literals are hoisted |
163
163
  | `apply` | `"build" \| "serve" \| "all"` | builds + Vitest | **Vite only**: when the plugin runs. By default, production builds and test runs are compiled (so tests exercise what ships); plain dev servers use the Zod fallback. `"all"` also compiles the dev server; `"build"` also skips tests |
@@ -216,12 +216,12 @@ Generated validators share a small runtime helper layer (`__mkv` validator
216
216
  wrapper, issue factories like `__zaTS`/`__zaIT`, and well-known regexes for
217
217
  `email`, `uuid`, `cuid`, `ipv4`, etc.).
218
218
 
219
- On bundlers that support virtual modules **Vite, Rollup, Rolldown, esbuild,
220
- Farm, Bun**the plugin imports these helpers from
221
- `virtual:zod-compiler/runtime`, so the bundler emits a single bundle-wide copy
222
- regardless of how many files reference them. webpack and rspack fall back to
223
- self-contained file-level helpers (a few hundred bytes per file) since they
224
- reject the `virtual:` URI scheme at the resolver layer.
219
+ On every supported bundler the plugin imports these helpers from a single
220
+ plugin-provided runtime module `virtual:zod-compiler/runtime` on Vite,
221
+ Rollup, Rolldown, esbuild, Farm, and Bun, or the bare-specifier alias
222
+ `__zod-compiler-runtime__` on webpack and rspack (which reject the `virtual:`
223
+ URI scheme) so the bundler emits a single bundle-wide copy regardless of how
224
+ many files reference them.
225
225
 
226
226
  The result: a 5-file project with 10 schemas all using `z.email()` and
227
227
  `z.uuid()` produces a bundle where each shared regex appears exactly **once**.
@@ -347,7 +347,7 @@ function UserForm() {
347
347
 
348
348
  ### Any Standard Schema Consumer
349
349
 
350
- zod-compiler compiled schemas implement [Standard Schema](https://standardschema.dev) via prototype chain. Any library that accepts Standard Schema validators works automatically.
350
+ Compiled schemas are the original Zod schema objects with optimized parse methods installed, so they still implement [Standard Schema](https://standardschema.dev). Any library that accepts Standard Schema validators works automatically.
351
351
 
352
352
  ## Schema Diagnostics
353
353
 
@@ -395,23 +395,31 @@ npx zod-compiler check src/schemas.ts --json --fail-under 80
395
395
 
396
396
  ## What Gets Compiled
397
397
 
398
- ### Fully Compiled (3-64x faster)
398
+ ### Fully Compiled (2-58x faster)
399
399
 
400
- `string`, `number`, `bigint`, `boolean`, `null`, `undefined`, `any`, `unknown`, `literal`, `enum`, `date`, `object`, `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)
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
 
402
402
  All standard Zod checks are supported: `min`, `max`, `length`, `email`, `url`, `uuid`, `regex`, `int`, `positive`, `negative`, `multipleOf`, `int32`, `uint32`, `float32`, `float64`, `includes`, `startsWith`, `endsWith`, and more.
403
403
 
404
404
  ### Falls Back to Zod (Still Works, Not Faster)
405
405
 
406
- These types contain JavaScript closures that cannot be compiled to static code:
406
+ These contain JavaScript callbacks that cannot be reproduced in generated code:
407
407
 
408
- | Type | Why | Alternative |
409
- | ------------------------ | ------------------------------------ | --------------------------------------- |
410
- | `transform` | Runtime data transformation function | Use `z.pipe()` when possible |
411
- | `refine` / `superRefine` | Custom validation closures | Use built-in checks when possible |
412
- | `custom` | Arbitrary validation logic | — |
413
- | `preprocess` | Input preprocessing function | Use `z.coerce` when possible |
414
- | `lazy` (non-recursive) | Cannot resolve inner type | Use self-referencing lazy for recursion |
408
+ | Type | Why | Alternative |
409
+ | ------------------------------------- | -------------------------------------------------------------- | --------------------------------------------- |
410
+ | `transform` / `refine` with captures | Callback captures outer variables (or is async / takes `ctx`) | Use zero-capture callbacks or built-in checks |
411
+ | `superRefine` | Callback needs `ctx` for issue collection | Use `refine` or built-in checks |
412
+ | `custom` | Arbitrary validation logic | — |
413
+ | `preprocess` | Input preprocessing function | Use `z.coerce` when possible |
414
+ | `lazy` (non-recursive) | Cannot resolve inner type | Use self-referencing lazy for recursion |
415
+ | `.catchall(schema)` | Unknown keys validated against a value schema | `strictObject` and `looseObject` both compile |
416
+
417
+ **Zero-capture effects compile:** a `transform`/`refine` callback that takes a
418
+ single argument and references only its own parameters, locals, and safe
419
+ globals (`Math`, `Number`, `JSON`, …) is extracted via `fn.toString()` and
420
+ inlined into the generated validator. `z.string().transform((s) => s.trim())`
421
+ compiles; `z.string().transform((s) => s + suffix)` falls back (it captures
422
+ `suffix`).
415
423
 
416
424
  **Partial fallback:** If an object has 10 properties and 1 uses `transform`, the other 9 are still compiled. Only the `transform` property falls back to Zod.
417
425
 
@@ -462,7 +470,7 @@ For eligible schemas, zod-compiler generates a **two-phase validator**:
462
470
  1. **Fast Path** — A single `&&` expression chain that validates the entire input with zero allocations. Valid input returns immediately.
463
471
  2. **Slow Path** — Error-collecting validation that only runs when the Fast Path fails.
464
472
 
465
- Additional optimizations: check ordering (cheap checks first), pre-compiled regex, Set-based enum lookups, small enum inlining (`===` for 1-3 values).
473
+ Additional optimizations: check ordering (cheap checks first), pre-compiled regex, Set-based enum lookups, small enum inlining (`===` for up to 5 values).
466
474
 
467
475
  Run `npx zod-compiler check --json` to see which schemas qualify for Fast Path.
468
476
 
@@ -4,7 +4,8 @@ import type { CompiledSchemaInfo } from "#src/core/pipeline.js";
4
4
  */
5
5
  export interface EmitterOptions {
6
6
  /**
7
- * When true (default), uses Object.create for Zod-compatible output.
7
+ * When true (default), installs the compiled methods on the original schema
8
+ * object for Zod-compatible output.
8
9
  * When false, produces a minimal plain object (smaller bundle).
9
10
  */
10
11
  zodCompat?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAyCR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAyCR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F"}
@@ -8,7 +8,7 @@ export function generateCompiledFileContent(schemas, sourceRelPath, options) {
8
8
  }
9
9
  const zodCompat = options?.zodCompat !== false;
10
10
  // A schema needs the source import when:
11
- // - zodCompat: true (uses Object.create(schema))
11
+ // - zodCompat: true (__mkv installs compiled methods on the schema)
12
12
  // - has refEntries (fallback schemas referenced via __rf[])
13
13
  const schemasNeedingImport = schemas.filter((s) => zodCompat || s.refEntries.length > 0);
14
14
  const exports = schemas.map((schema) => {
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,11 @@ export declare function invalidFormat(g: IssueGen, format: string | {
63
63
  extra?: string;
64
64
  message?: string | undefined;
65
65
  }): string;
66
+ export declare function unrecognizedKeys(g: IssueGen, keysExpr: string, options?: {
67
+ input?: string;
68
+ path?: string;
69
+ message?: string | undefined;
70
+ }): string;
66
71
  export declare function invalidValue(g: IssueGen, valuesExpr: string, options?: {
67
72
  input?: string;
68
73
  path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"emit-issue.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAyBD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CA6BR;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;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CA6BR;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,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxF,MAAM,CAcR;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,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxF,MAAM,CAgBR;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CAaR"}
1
+ {"version":3,"file":"emit-issue.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAyBD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CA6BR;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;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CA6BR;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,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxF,MAAM,CAcR;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,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxF,MAAM,CAgBR;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxE,MAAM,CAaR;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,CAaR"}
@@ -102,6 +102,17 @@ export function invalidFormat(g, format, options) {
102
102
  const extra = options?.extra ? `,${options.extra}` : "";
103
103
  return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${extra}${messageProp(m)},input:${input},path:${path}}`);
104
104
  }
105
+ export function unrecognizedKeys(g, keysExpr, options) {
106
+ const input = options?.input ?? g.input;
107
+ const path = options?.path ?? g.path;
108
+ // unrecognized_keys is created by the object schema node — schema error applies.
109
+ const m = resolveMessage(g, options?.message, true);
110
+ if (g.ctx.mode === "lean") {
111
+ g.ctx.usedHelpers.add("__zaUK");
112
+ return pushIssue(g, `__zaUK(${keysExpr},${input},${path}${messageArg(m)})`);
113
+ }
114
+ return pushIssue(g, `{code:"unrecognized_keys",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`);
115
+ }
105
116
  export function invalidValue(g, valuesExpr, options) {
106
117
  const input = options?.input ?? g.input;
107
118
  const path = options?.path ?? g.path;
@@ -1 +1 @@
1
- {"version":3,"file":"emit-issue.js","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-issue.js","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  * __zaIT(expected, input, path, msg?) — invalid_type
12
12
  * __zaIF(format, input, path, extra?, msg?) — invalid_format (extra merged into result)
13
13
  * __zaIV(values, input, path, msg?) — invalid_value
14
+ * __zaUK(keys, input, path, msg?) — unrecognized_keys
14
15
  *
15
16
  * The trailing msg argument carries a static custom error message; when
16
17
  * absent, the __fin finalizer applies the configured locale default.
@@ -22,6 +23,7 @@ export declare const ZA_TB_EXACT_DECL = "function __zaTBx(m,o,inp,p,msg){var r={
22
23
  export declare const ZA_IT_DECL = "function __zaIT(e,inp,p,msg){var r={code:\"invalid_type\",expected:e,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}";
23
24
  export declare const ZA_IF_DECL = "function __zaIF(f,inp,p,extra,msg){var r={code:\"invalid_format\",format:f,input:inp,path:p};if(extra)Object.assign(r,extra);if(msg!==undefined)r.message=msg;return r;}";
24
25
  export declare const ZA_IV_DECL = "function __zaIV(values,inp,p,msg){var r={code:\"invalid_value\",values:values,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}";
26
+ export declare const ZA_UK_DECL = "function __zaUK(k,inp,p,msg){var r={code:\"unrecognized_keys\",keys:k,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}";
25
27
  /** All issue factory declarations indexed by helper name. */
26
28
  export declare const ISSUE_DECLS: Readonly<Record<string, string>>;
27
29
  /** Helper names emitted by the issue factory call helpers in lean mode. */
@@ -1 +1 @@
1
- {"version":3,"file":"issue-decls.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,UAAU,4JACkI,CAAC;AAE1J,eAAO,MAAM,gBAAgB,yKACyI,CAAC;AAEvK,eAAO,MAAM,UAAU,0JACgI,CAAC;AAExJ,eAAO,MAAM,gBAAgB,uKACuI,CAAC;AAErK,eAAO,MAAM,UAAU,uIAC6G,CAAC;AAErI,eAAO,MAAM,UAAU,6KACmJ,CAAC;AAE3K,eAAO,MAAM,UAAU,gJACsH,CAAC;AAE9I,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;AAE9E;;;;GAIG;AACH,eAAO,MAAM,WAAW,gYACmV,CAAC;AAE5W,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjE,CAAC"}
1
+ {"version":3,"file":"issue-decls.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,UAAU,4JACkI,CAAC;AAE1J,eAAO,MAAM,gBAAgB,yKACyI,CAAC;AAEvK,eAAO,MAAM,UAAU,0JACgI,CAAC;AAExJ,eAAO,MAAM,gBAAgB,uKACuI,CAAC;AAErK,eAAO,MAAM,UAAU,uIAC6G,CAAC;AAErI,eAAO,MAAM,UAAU,6KACmJ,CAAC;AAE3K,eAAO,MAAM,UAAU,gJACsH,CAAC;AAE9I,eAAO,MAAM,UAAU,wIAC8G,CAAC;AAEtI,6DAA6D;AAC7D,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,WAAW,gYACmV,CAAC;AAE5W,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjE,CAAC"}
@@ -11,6 +11,7 @@
11
11
  * __zaIT(expected, input, path, msg?) — invalid_type
12
12
  * __zaIF(format, input, path, extra?, msg?) — invalid_format (extra merged into result)
13
13
  * __zaIV(values, input, path, msg?) — invalid_value
14
+ * __zaUK(keys, input, path, msg?) — unrecognized_keys
14
15
  *
15
16
  * The trailing msg argument carries a static custom error message; when
16
17
  * absent, the __fin finalizer applies the configured locale default.
@@ -22,6 +23,7 @@ export const ZA_TB_EXACT_DECL = 'function __zaTBx(m,o,inp,p,msg){var r={code:"to
22
23
  export const ZA_IT_DECL = 'function __zaIT(e,inp,p,msg){var r={code:"invalid_type",expected:e,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}';
23
24
  export const ZA_IF_DECL = 'function __zaIF(f,inp,p,extra,msg){var r={code:"invalid_format",format:f,input:inp,path:p};if(extra)Object.assign(r,extra);if(msg!==undefined)r.message=msg;return r;}';
24
25
  export const ZA_IV_DECL = 'function __zaIV(values,inp,p,msg){var r={code:"invalid_value",values:values,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}';
26
+ export const ZA_UK_DECL = 'function __zaUK(k,inp,p,msg){var r={code:"unrecognized_keys",keys:k,input:inp,path:p};if(msg!==undefined)r.message=msg;return r;}';
25
27
  /** All issue factory declarations indexed by helper name. */
26
28
  export const ISSUE_DECLS = {
27
29
  __zaTS: ZA_TS_DECL,
@@ -31,6 +33,7 @@ export const ISSUE_DECLS = {
31
33
  __zaIT: ZA_IT_DECL,
32
34
  __zaIF: ZA_IF_DECL,
33
35
  __zaIV: ZA_IV_DECL,
36
+ __zaUK: ZA_UK_DECL,
34
37
  };
35
38
  /** Helper names emitted by the issue factory call helpers in lean mode. */
36
39
  export const ISSUE_HELPER_NAMES = Object.keys(ISSUE_DECLS);
@@ -1 +1 @@
1
- {"version":3,"file":"issue-decls.js","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,UAAU,GACrB,uJAAuJ,CAAC;AAE1J,MAAM,CAAC,MAAM,gBAAgB,GAC3B,oKAAoK,CAAC;AAEvK,MAAM,CAAC,MAAM,UAAU,GACrB,qJAAqJ,CAAC;AAExJ,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kKAAkK,CAAC;AAErK,MAAM,CAAC,MAAM,UAAU,GACrB,kIAAkI,CAAC;AAErI,MAAM,CAAC,MAAM,UAAU,GACrB,wKAAwK,CAAC;AAE3K,MAAM,CAAC,MAAM,UAAU,GACrB,2IAA2I,CAAC;AAE9I,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;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,yWAAyW,CAAC;AAE5W,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,OAAO,EAAE,WAAW;CACrB,CAAC"}
1
+ {"version":3,"file":"issue-decls.js","sourceRoot":"","sources":["../../../src/core/codegen/issue-decls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,UAAU,GACrB,uJAAuJ,CAAC;AAE1J,MAAM,CAAC,MAAM,gBAAgB,GAC3B,oKAAoK,CAAC;AAEvK,MAAM,CAAC,MAAM,UAAU,GACrB,qJAAqJ,CAAC;AAExJ,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kKAAkK,CAAC;AAErK,MAAM,CAAC,MAAM,UAAU,GACrB,kIAAkI,CAAC;AAErI,MAAM,CAAC,MAAM,UAAU,GACrB,wKAAwK,CAAC;AAE3K,MAAM,CAAC,MAAM,UAAU,GACrB,2IAA2I,CAAC;AAE9I,MAAM,CAAC,MAAM,UAAU,GACrB,mIAAmI,CAAC;AAEtI,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;IAClB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAsB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,yWAAyW,CAAC;AAE5W,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,OAAO,EAAE,WAAW;CACrB,CAAC"}
@@ -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;AAMtD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CA6ChF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAqBlE"}
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;AA8BtD,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,7 +1,21 @@
1
- import { escapeString, extendStaticPath, hasMutation } from "../context.js";
1
+ import { ENUM_INLINE_THRESHOLD, emitSet, escapeString, extendStaticPath, hasMutation, } from "../context.js";
2
2
  import { emit } from "../emit.js";
3
- import { invalidType } from "../emit-issue.js";
3
+ import { invalidType, unrecognizedKeys } from "../emit-issue.js";
4
4
  import { refineCheck } from "./effect.js";
5
+ /**
6
+ * Boolean membership test for one key variable against the shape's key set.
7
+ * Small shapes inline `===` chains (the enum-inlining result applies — string
8
+ * internalization makes repeat comparisons pointer-equality); larger shapes
9
+ * share a preamble Set. An empty shape recognizes nothing ("false").
10
+ */
11
+ function keyMembershipTest(keys, keyVar, emitKeySet) {
12
+ if (keys.length === 0)
13
+ return "false";
14
+ if (keys.length <= ENUM_INLINE_THRESHOLD) {
15
+ return keys.map((k) => `${keyVar}===${escapeString(k)}`).join("||");
16
+ }
17
+ return `${emitKeySet()}.has(${keyVar})`;
18
+ }
5
19
  export function slowObject(ir, g) {
6
20
  let code = emit `
7
21
  if(typeof ${g.input}!=="object"||${g.input}===null||Array.isArray(${g.input})){
@@ -32,6 +46,24 @@ export function slowObject(ir, g) {
32
46
  code += propCode;
33
47
  }
34
48
  }
49
+ // Strict unknown-key pass — zod's handleCatchall, byte-exact: for-in over
50
+ // the ORIGINAL input (inherited enumerable keys count, no hasOwnProperty),
51
+ // ALL unknown keys collected into one issue, pushed AFTER property issues
52
+ // and before object-level refines.
53
+ if (ir.strict) {
54
+ const keys = Object.keys(ir.properties);
55
+ const ukVar = g.temp("uk");
56
+ const kVar = g.temp("k");
57
+ const test = keyMembershipTest(keys, kVar, () => g.set("ks", keys));
58
+ code += emit `
59
+ var ${ukVar}=null;
60
+ for(var ${kVar} in ${g.input}){
61
+ if(!(${test})){(${ukVar}=${ukVar}||[]).push(${kVar});}
62
+ }
63
+ if(${ukVar}!==null){
64
+ ${unrecognizedKeys(g, ukVar)}
65
+ }`;
66
+ }
35
67
  if (needsClone) {
36
68
  code += `${g.output}=${objVar};`;
37
69
  }
@@ -54,6 +86,16 @@ export function fastObject(ir, g) {
54
86
  return null; // All-or-nothing
55
87
  parts.push(propCheck);
56
88
  }
89
+ // Strict unknown-key pass: hosted boolean helper (a for-in loop cannot live
90
+ // in the && chain). Same for-in iteration as the slow path — fast/slow
91
+ // agreement is load-bearing under the __finD deferral.
92
+ if (ir.strict) {
93
+ const keys = Object.keys(ir.properties);
94
+ const fnName = g.temp("so");
95
+ const test = keyMembershipTest(keys, "k", () => emitSet(g.ctx, "ks", keys));
96
+ g.ctx.preamble.push(`function ${fnName}(o){for(var k in o){if(!(${test}))return false;}return true;}`);
97
+ parts.push(`${fnName}(${x})`);
98
+ }
57
99
  // Object-level refine effects (appended last — run after property checks short-circuit)
58
100
  if (ir.checks) {
59
101
  for (const check of ir.checks) {
@@ -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 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAqD1E"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAyD1E"}
@@ -1,13 +1,17 @@
1
1
  import { extractChecks } from "../checks.js";
2
2
  export function extractObject(def, ctx) {
3
- // Unknown-key policies the compiled object can't reproduce:
4
- // - z.strictObject (catchall: never) rejects unknown keys
5
- // - .catchall(schema) validates unknown keys against a schema
6
- // z.looseObject (catchall: unknown/any) matches compiled pass-through behavior.
3
+ // Unknown-key policies:
4
+ // - z.strictObject / .strict() / .catchall(z.never()) reject unknown keys
5
+ // compiled as a for-in membership pass (ObjectIR.strict). Pass-through is
6
+ // preserved: valid strict data has no extras, so no clone is needed.
7
+ // - z.looseObject (catchall: unknown/any) matches compiled pass-through.
8
+ // - .catchall(schema) validates unknown keys against a schema — fallback.
7
9
  const catchallType = def.catchall?._zod?.def?.type;
8
- if (def.catchall && catchallType !== "unknown" && catchallType !== "any") {
10
+ const strict = catchallType === "never";
11
+ if (def.catchall && !strict && catchallType !== "unknown" && catchallType !== "any") {
9
12
  return ctx.fallback("unsupported");
10
13
  }
14
+ const strictFlag = strict ? { strict: true } : {};
11
15
  const properties = {};
12
16
  // Fallback props whose zod schema is optional-out: mirror zod's
13
17
  // handlePropertyResult, which suppresses issues for ABSENT keys (this is
@@ -47,9 +51,9 @@ export function extractObject(def, ctx) {
47
51
  return c.kind === "refine_effect";
48
52
  });
49
53
  if (refineChecks.length > 0) {
50
- return { type: "object", properties, checks: refineChecks, ...suppress };
54
+ return { type: "object", properties, checks: refineChecks, ...strictFlag, ...suppress };
51
55
  }
52
56
  }
53
- return { type: "object", properties, ...suppress };
57
+ return { type: "object", properties, ...strictFlag, ...suppress };
54
58
  }
55
59
  //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,16 @@ export interface EnumIR {
193
193
  export interface ObjectIR {
194
194
  type: "object";
195
195
  properties: Record<string, SchemaIR>;
196
+ /**
197
+ * Reject unknown keys (z.strictObject / .strict() / .catchall(z.never())).
198
+ * Compiled as a for-in membership pass after the property checks, mirroring
199
+ * zod's handleCatchall exactly: `for (const key in input)` (inherited
200
+ * enumerable keys count, no hasOwnProperty filter) collecting ALL unknown
201
+ * keys into ONE `unrecognized_keys` issue pushed after property issues.
202
+ * Pass-through still holds — valid strict data has no extra keys, so
203
+ * data === input and the schema stays Fast Path eligible.
204
+ */
205
+ strict?: boolean;
196
206
  /** Object-level refine effects from z.object({...}).refine(fn) */
197
207
  checks?: RefineEffectCheckIR[];
198
208
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,14 @@ export interface HoistOptions {
28
28
  * @default /ZodSchema$/
29
29
  */
30
30
  schemaNamePattern?: RegExp | string | null | undefined;
31
+ /**
32
+ * Fired when the file has hoist-relevant roots and the full source scan
33
+ * actually runs — i.e., real parse-level work happened (as opposed to the
34
+ * microsecond import-collection bail). The disk cache uses this to decide
35
+ * that even a null transform result is worth persisting: re-deriving
36
+ * "nothing to hoist" costs a full scan per zod-importing file per run.
37
+ */
38
+ onScan?: (() => void) | undefined;
31
39
  }
32
40
  /**
33
41
  * Free-variable analysis of a hoisted expression's source text, for the
@@ -1 +1 @@
1
- {"version":3,"file":"hoist.d.ts","sourceRoot":"","sources":["../../src/unplugin/hoist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AA0DnE,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,sDAAsD;IACtD,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiBlE;AAiyBD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GACX;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAS9D;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;OAIG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAkM5F"}
1
+ {"version":3,"file":"hoist.d.ts","sourceRoot":"","sources":["../../src/unplugin/hoist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AA0DnE,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,sDAAsD;IACtD,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiBlE;AAs8BD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GACX;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAS9D;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;OAIG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAuM5F"}