zod-compiler 1.23.0 → 1.23.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.
- package/README.md +9 -6
- package/dist/cli/commands/check.d.ts +10 -7
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +125 -148
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +22 -19
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +102 -133
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +17 -15
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +126 -154
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/emitter.d.ts +19 -16
- package/dist/cli/emitter.d.ts.map +1 -1
- package/dist/cli/emitter.js +55 -71
- package/dist/cli/emitter.js.map +1 -1
- package/dist/cli/errors.d.ts +4 -1
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/errors.js +6 -2
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/index.d.ts +1 -3
- package/dist/cli/index.js +147 -160
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/logger.d.ts +18 -15
- package/dist/cli/logger.d.ts.map +1 -1
- package/dist/cli/logger.js +38 -37
- package/dist/cli/logger.js.map +1 -1
- package/dist/core/codegen/build-path.d.ts +7 -41
- package/dist/core/codegen/build-path.d.ts.map +1 -1
- package/dist/core/codegen/build-path.js +481 -570
- package/dist/core/codegen/build-path.js.map +1 -1
- package/dist/core/codegen/context.d.ts +256 -253
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +363 -437
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/dedupe.d.ts +22 -56
- package/dist/core/codegen/dedupe.d.ts.map +1 -1
- package/dist/core/codegen/dedupe.js +150 -242
- package/dist/core/codegen/dedupe.js.map +1 -1
- package/dist/core/codegen/emit-issue.d.ts +44 -68
- package/dist/core/codegen/emit-issue.d.ts.map +1 -1
- package/dist/core/codegen/emit-issue.js +76 -108
- package/dist/core/codegen/emit-issue.js.map +1 -1
- package/dist/core/codegen/emit.d.ts +4 -1
- package/dist/core/codegen/emit.d.ts.map +1 -1
- package/dist/core/codegen/emit.js +16 -13
- package/dist/core/codegen/emit.js.map +1 -1
- package/dist/core/codegen/fast-path.d.ts +7 -12
- package/dist/core/codegen/fast-path.d.ts.map +1 -1
- package/dist/core/codegen/fast-path.js +116 -145
- package/dist/core/codegen/fast-path.js.map +1 -1
- package/dist/core/codegen/fast-size.d.ts +12 -26
- package/dist/core/codegen/fast-size.d.ts.map +1 -1
- package/dist/core/codegen/fast-size.js +169 -244
- package/dist/core/codegen/fast-size.js.map +1 -1
- package/dist/core/codegen/index.d.ts +25 -23
- package/dist/core/codegen/index.d.ts.map +1 -1
- package/dist/core/codegen/index.js +239 -405
- package/dist/core/codegen/index.js.map +1 -1
- package/dist/core/codegen/issue-decls.d.ts +15 -12
- package/dist/core/codegen/issue-decls.d.ts.map +1 -1
- package/dist/core/codegen/issue-decls.js +131 -162
- package/dist/core/codegen/issue-decls.js.map +1 -1
- package/dist/core/codegen/regex-unroll.d.ts +4 -1
- package/dist/core/codegen/regex-unroll.d.ts.map +1 -1
- package/dist/core/codegen/regex-unroll.js +173 -197
- package/dist/core/codegen/regex-unroll.js.map +1 -1
- package/dist/core/codegen/schemas/any.d.ts +7 -4
- package/dist/core/codegen/schemas/any.d.ts.map +1 -1
- package/dist/core/codegen/schemas/any.js +8 -4
- package/dist/core/codegen/schemas/any.js.map +1 -1
- package/dist/core/codegen/schemas/array.d.ts +8 -5
- package/dist/core/codegen/schemas/array.d.ts.map +1 -1
- package/dist/core/codegen/schemas/array.js +77 -95
- package/dist/core/codegen/schemas/array.js.map +1 -1
- package/dist/core/codegen/schemas/bigint.d.ts +7 -4
- package/dist/core/codegen/schemas/bigint.d.ts.map +1 -1
- package/dist/core/codegen/schemas/bigint.js +44 -56
- package/dist/core/codegen/schemas/bigint.js.map +1 -1
- package/dist/core/codegen/schemas/boolean.d.ts +7 -4
- package/dist/core/codegen/schemas/boolean.d.ts.map +1 -1
- package/dist/core/codegen/schemas/boolean.js +12 -11
- package/dist/core/codegen/schemas/boolean.js.map +1 -1
- package/dist/core/codegen/schemas/catch.d.ts +8 -5
- package/dist/core/codegen/schemas/catch.d.ts.map +1 -1
- package/dist/core/codegen/schemas/catch.js +23 -23
- package/dist/core/codegen/schemas/catch.js.map +1 -1
- package/dist/core/codegen/schemas/date.d.ts +7 -4
- package/dist/core/codegen/schemas/date.d.ts.map +1 -1
- package/dist/core/codegen/schemas/date.js +49 -68
- package/dist/core/codegen/schemas/date.js.map +1 -1
- package/dist/core/codegen/schemas/default.d.ts +9 -6
- package/dist/core/codegen/schemas/default.d.ts.map +1 -1
- package/dist/core/codegen/schemas/default.js +29 -27
- package/dist/core/codegen/schemas/default.js.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.d.ts +12 -10
- package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.js +153 -178
- package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
- package/dist/core/codegen/schemas/effect.d.ts +9 -6
- package/dist/core/codegen/schemas/effect.d.ts.map +1 -1
- package/dist/core/codegen/schemas/effect.js +54 -67
- package/dist/core/codegen/schemas/effect.js.map +1 -1
- package/dist/core/codegen/schemas/enum.d.ts +7 -4
- package/dist/core/codegen/schemas/enum.d.ts.map +1 -1
- package/dist/core/codegen/schemas/enum.js +15 -21
- package/dist/core/codegen/schemas/enum.js.map +1 -1
- package/dist/core/codegen/schemas/fallback.d.ts +6 -3
- package/dist/core/codegen/schemas/fallback.d.ts.map +1 -1
- package/dist/core/codegen/schemas/fallback.js +14 -13
- package/dist/core/codegen/schemas/fallback.js.map +1 -1
- package/dist/core/codegen/schemas/file.d.ts +7 -4
- package/dist/core/codegen/schemas/file.d.ts.map +1 -1
- package/dist/core/codegen/schemas/file.js +51 -57
- package/dist/core/codegen/schemas/file.js.map +1 -1
- package/dist/core/codegen/schemas/intersection.d.ts +8 -5
- package/dist/core/codegen/schemas/intersection.d.ts.map +1 -1
- package/dist/core/codegen/schemas/intersection.js +16 -13
- package/dist/core/codegen/schemas/intersection.js.map +1 -1
- package/dist/core/codegen/schemas/literal.d.ts +7 -4
- package/dist/core/codegen/schemas/literal.d.ts.map +1 -1
- package/dist/core/codegen/schemas/literal.js +20 -23
- package/dist/core/codegen/schemas/literal.js.map +1 -1
- package/dist/core/codegen/schemas/map.d.ts +8 -5
- package/dist/core/codegen/schemas/map.d.ts.map +1 -1
- package/dist/core/codegen/schemas/map.js +61 -67
- package/dist/core/codegen/schemas/map.js.map +1 -1
- package/dist/core/codegen/schemas/nan.d.ts +7 -4
- package/dist/core/codegen/schemas/nan.d.ts.map +1 -1
- package/dist/core/codegen/schemas/nan.js +8 -4
- package/dist/core/codegen/schemas/nan.js.map +1 -1
- package/dist/core/codegen/schemas/never.d.ts +7 -4
- package/dist/core/codegen/schemas/never.d.ts.map +1 -1
- package/dist/core/codegen/schemas/never.js +8 -4
- package/dist/core/codegen/schemas/never.js.map +1 -1
- package/dist/core/codegen/schemas/null.d.ts +7 -4
- package/dist/core/codegen/schemas/null.d.ts.map +1 -1
- package/dist/core/codegen/schemas/null.js +8 -4
- package/dist/core/codegen/schemas/null.js.map +1 -1
- package/dist/core/codegen/schemas/nullable.d.ts +8 -5
- package/dist/core/codegen/schemas/nullable.d.ts.map +1 -1
- package/dist/core/codegen/schemas/nullable.js +8 -5
- package/dist/core/codegen/schemas/nullable.js.map +1 -1
- package/dist/core/codegen/schemas/number.d.ts +7 -4
- package/dist/core/codegen/schemas/number.d.ts.map +1 -1
- package/dist/core/codegen/schemas/number.js +120 -176
- package/dist/core/codegen/schemas/number.js.map +1 -1
- package/dist/core/codegen/schemas/object.d.ts +8 -5
- package/dist/core/codegen/schemas/object.d.ts.map +1 -1
- package/dist/core/codegen/schemas/object.js +144 -231
- package/dist/core/codegen/schemas/object.js.map +1 -1
- package/dist/core/codegen/schemas/optional.d.ts +9 -6
- package/dist/core/codegen/schemas/optional.d.ts.map +1 -1
- package/dist/core/codegen/schemas/optional.js +23 -31
- package/dist/core/codegen/schemas/optional.js.map +1 -1
- package/dist/core/codegen/schemas/pipe.d.ts +8 -5
- package/dist/core/codegen/schemas/pipe.d.ts.map +1 -1
- package/dist/core/codegen/schemas/pipe.js +20 -27
- package/dist/core/codegen/schemas/pipe.js.map +1 -1
- package/dist/core/codegen/schemas/readonly.d.ts +8 -5
- package/dist/core/codegen/schemas/readonly.d.ts.map +1 -1
- package/dist/core/codegen/schemas/readonly.js +8 -5
- package/dist/core/codegen/schemas/readonly.js.map +1 -1
- package/dist/core/codegen/schemas/record.d.ts +8 -5
- package/dist/core/codegen/schemas/record.d.ts.map +1 -1
- package/dist/core/codegen/schemas/record.js +52 -65
- package/dist/core/codegen/schemas/record.js.map +1 -1
- package/dist/core/codegen/schemas/recursive-ref.d.ts +9 -6
- package/dist/core/codegen/schemas/recursive-ref.d.ts.map +1 -1
- package/dist/core/codegen/schemas/recursive-ref.js +44 -44
- package/dist/core/codegen/schemas/recursive-ref.js.map +1 -1
- package/dist/core/codegen/schemas/set.d.ts +8 -5
- package/dist/core/codegen/schemas/set.d.ts.map +1 -1
- package/dist/core/codegen/schemas/set.js +61 -73
- package/dist/core/codegen/schemas/set.js.map +1 -1
- package/dist/core/codegen/schemas/string-bool.d.ts +6 -3
- package/dist/core/codegen/schemas/string-bool.d.ts.map +1 -1
- package/dist/core/codegen/schemas/string-bool.js +22 -23
- package/dist/core/codegen/schemas/string-bool.js.map +1 -1
- package/dist/core/codegen/schemas/string.d.ts +8 -5
- package/dist/core/codegen/schemas/string.d.ts.map +1 -1
- package/dist/core/codegen/schemas/string.js +168 -207
- package/dist/core/codegen/schemas/string.js.map +1 -1
- package/dist/core/codegen/schemas/symbol.d.ts +7 -4
- package/dist/core/codegen/schemas/symbol.d.ts.map +1 -1
- package/dist/core/codegen/schemas/symbol.js +8 -4
- package/dist/core/codegen/schemas/symbol.js.map +1 -1
- package/dist/core/codegen/schemas/template-literal.d.ts +7 -4
- package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -1
- package/dist/core/codegen/schemas/template-literal.js +12 -13
- package/dist/core/codegen/schemas/template-literal.js.map +1 -1
- package/dist/core/codegen/schemas/tuple.d.ts +8 -5
- package/dist/core/codegen/schemas/tuple.d.ts.map +1 -1
- package/dist/core/codegen/schemas/tuple.js +84 -94
- package/dist/core/codegen/schemas/tuple.js.map +1 -1
- package/dist/core/codegen/schemas/undefined.d.ts +7 -4
- package/dist/core/codegen/schemas/undefined.d.ts.map +1 -1
- package/dist/core/codegen/schemas/undefined.js +8 -4
- package/dist/core/codegen/schemas/undefined.js.map +1 -1
- package/dist/core/codegen/schemas/union.d.ts +8 -5
- package/dist/core/codegen/schemas/union.d.ts.map +1 -1
- package/dist/core/codegen/schemas/union.js +49 -69
- package/dist/core/codegen/schemas/union.js.map +1 -1
- package/dist/core/codegen/schemas/unknown.d.ts +7 -4
- package/dist/core/codegen/schemas/unknown.d.ts.map +1 -1
- package/dist/core/codegen/schemas/unknown.js +8 -4
- package/dist/core/codegen/schemas/unknown.js.map +1 -1
- package/dist/core/codegen/schemas/void.d.ts +7 -4
- package/dist/core/codegen/schemas/void.d.ts.map +1 -1
- package/dist/core/codegen/schemas/void.js +8 -4
- package/dist/core/codegen/schemas/void.js.map +1 -1
- package/dist/core/codegen/slow-path.d.ts +7 -4
- package/dist/core/codegen/slow-path.d.ts.map +1 -1
- package/dist/core/codegen/slow-path.js +71 -96
- package/dist/core/codegen/slow-path.js.map +1 -1
- package/dist/core/codegen/well-known-regex.d.ts +22 -19
- package/dist/core/codegen/well-known-regex.d.ts.map +1 -1
- package/dist/core/codegen/well-known-regex.js +127 -96
- package/dist/core/codegen/well-known-regex.js.map +1 -1
- package/dist/core/compile.d.ts +7 -4
- package/dist/core/compile.d.ts.map +1 -1
- package/dist/core/compile.js +48 -48
- package/dist/core/compile.js.map +1 -1
- package/dist/core/diagnostic.d.ts +38 -39
- package/dist/core/diagnostic.d.ts.map +1 -1
- package/dist/core/diagnostic.js +140 -164
- package/dist/core/diagnostic.js.map +1 -1
- package/dist/core/extract/checks.d.ts +18 -15
- package/dist/core/extract/checks.d.ts.map +1 -1
- package/dist/core/extract/checks.js +318 -311
- package/dist/core/extract/checks.js.map +1 -1
- package/dist/core/extract/effects.d.ts +13 -10
- package/dist/core/extract/effects.d.ts.map +1 -1
- package/dist/core/extract/effects.js +153 -222
- package/dist/core/extract/effects.js.map +1 -1
- package/dist/core/extract/extractors/any.d.ts +5 -2
- package/dist/core/extract/extractors/any.d.ts.map +1 -1
- package/dist/core/extract/extractors/any.js +5 -1
- package/dist/core/extract/extractors/any.js.map +1 -1
- package/dist/core/extract/extractors/array.d.ts +6 -3
- package/dist/core/extract/extractors/array.d.ts.map +1 -1
- package/dist/core/extract/extractors/array.js +25 -20
- package/dist/core/extract/extractors/array.js.map +1 -1
- package/dist/core/extract/extractors/bigint.d.ts +6 -3
- package/dist/core/extract/extractors/bigint.d.ts.map +1 -1
- package/dist/core/extract/extractors/bigint.js +66 -64
- package/dist/core/extract/extractors/bigint.js.map +1 -1
- package/dist/core/extract/extractors/boolean.d.ts +5 -2
- package/dist/core/extract/extractors/boolean.d.ts.map +1 -1
- package/dist/core/extract/extractors/boolean.js +7 -3
- package/dist/core/extract/extractors/boolean.js.map +1 -1
- package/dist/core/extract/extractors/catch.d.ts +6 -3
- package/dist/core/extract/extractors/catch.d.ts.map +1 -1
- package/dist/core/extract/extractors/catch.js +26 -17
- package/dist/core/extract/extractors/catch.js.map +1 -1
- package/dist/core/extract/extractors/date.d.ts +6 -3
- package/dist/core/extract/extractors/date.d.ts.map +1 -1
- package/dist/core/extract/extractors/date.js +42 -46
- package/dist/core/extract/extractors/date.js.map +1 -1
- package/dist/core/extract/extractors/default.d.ts +6 -3
- package/dist/core/extract/extractors/default.d.ts.map +1 -1
- package/dist/core/extract/extractors/default.js +20 -14
- package/dist/core/extract/extractors/default.js.map +1 -1
- package/dist/core/extract/extractors/enum.d.ts +5 -2
- package/dist/core/extract/extractors/enum.d.ts.map +1 -1
- package/dist/core/extract/extractors/enum.js +12 -13
- package/dist/core/extract/extractors/enum.js.map +1 -1
- package/dist/core/extract/extractors/file.d.ts +6 -3
- package/dist/core/extract/extractors/file.d.ts.map +1 -1
- package/dist/core/extract/extractors/file.js +34 -28
- package/dist/core/extract/extractors/file.js.map +1 -1
- package/dist/core/extract/extractors/intersection.d.ts +5 -2
- package/dist/core/extract/extractors/intersection.d.ts.map +1 -1
- package/dist/core/extract/extractors/intersection.js +13 -11
- package/dist/core/extract/extractors/intersection.js.map +1 -1
- package/dist/core/extract/extractors/lazy.d.ts +6 -3
- package/dist/core/extract/extractors/lazy.d.ts.map +1 -1
- package/dist/core/extract/extractors/lazy.js +21 -30
- package/dist/core/extract/extractors/lazy.js.map +1 -1
- package/dist/core/extract/extractors/literal.d.ts +5 -2
- package/dist/core/extract/extractors/literal.d.ts.map +1 -1
- package/dist/core/extract/extractors/literal.js +8 -1
- package/dist/core/extract/extractors/literal.js.map +1 -1
- package/dist/core/extract/extractors/map.d.ts +6 -3
- package/dist/core/extract/extractors/map.d.ts.map +1 -1
- package/dist/core/extract/extractors/map.js +10 -4
- package/dist/core/extract/extractors/map.js.map +1 -1
- package/dist/core/extract/extractors/nan.d.ts +5 -2
- package/dist/core/extract/extractors/nan.d.ts.map +1 -1
- package/dist/core/extract/extractors/nan.js +5 -1
- package/dist/core/extract/extractors/nan.js.map +1 -1
- package/dist/core/extract/extractors/never.d.ts +5 -2
- package/dist/core/extract/extractors/never.d.ts.map +1 -1
- package/dist/core/extract/extractors/never.js +5 -1
- package/dist/core/extract/extractors/never.js.map +1 -1
- package/dist/core/extract/extractors/null.d.ts +5 -2
- package/dist/core/extract/extractors/null.d.ts.map +1 -1
- package/dist/core/extract/extractors/null.js +5 -1
- package/dist/core/extract/extractors/null.js.map +1 -1
- package/dist/core/extract/extractors/nullable.d.ts +5 -2
- package/dist/core/extract/extractors/nullable.d.ts.map +1 -1
- package/dist/core/extract/extractors/nullable.js +7 -3
- package/dist/core/extract/extractors/nullable.js.map +1 -1
- package/dist/core/extract/extractors/number.d.ts +6 -3
- package/dist/core/extract/extractors/number.d.ts.map +1 -1
- package/dist/core/extract/extractors/number.js +35 -35
- package/dist/core/extract/extractors/number.js.map +1 -1
- package/dist/core/extract/extractors/object.d.ts +6 -3
- package/dist/core/extract/extractors/object.d.ts.map +1 -1
- package/dist/core/extract/extractors/object.js +49 -76
- package/dist/core/extract/extractors/object.js.map +1 -1
- package/dist/core/extract/extractors/optional.d.ts +5 -2
- package/dist/core/extract/extractors/optional.d.ts.map +1 -1
- package/dist/core/extract/extractors/optional.js +10 -12
- package/dist/core/extract/extractors/optional.js.map +1 -1
- package/dist/core/extract/extractors/pipe.d.ts +6 -3
- package/dist/core/extract/extractors/pipe.d.ts.map +1 -1
- package/dist/core/extract/extractors/pipe.js +40 -41
- package/dist/core/extract/extractors/pipe.js.map +1 -1
- package/dist/core/extract/extractors/readonly.d.ts +5 -2
- package/dist/core/extract/extractors/readonly.d.ts.map +1 -1
- package/dist/core/extract/extractors/readonly.js +10 -6
- package/dist/core/extract/extractors/readonly.js.map +1 -1
- package/dist/core/extract/extractors/record.d.ts +6 -3
- package/dist/core/extract/extractors/record.d.ts.map +1 -1
- package/dist/core/extract/extractors/record.js +24 -35
- package/dist/core/extract/extractors/record.js.map +1 -1
- package/dist/core/extract/extractors/set.d.ts +6 -3
- package/dist/core/extract/extractors/set.d.ts.map +1 -1
- package/dist/core/extract/extractors/set.js +36 -30
- package/dist/core/extract/extractors/set.js.map +1 -1
- package/dist/core/extract/extractors/string-bool.d.ts +7 -4
- package/dist/core/extract/extractors/string-bool.d.ts.map +1 -1
- package/dist/core/extract/extractors/string-bool.js +66 -84
- package/dist/core/extract/extractors/string-bool.js.map +1 -1
- package/dist/core/extract/extractors/string.d.ts +6 -3
- package/dist/core/extract/extractors/string.d.ts.map +1 -1
- package/dist/core/extract/extractors/string.js +34 -37
- package/dist/core/extract/extractors/string.js.map +1 -1
- package/dist/core/extract/extractors/symbol.d.ts +5 -2
- package/dist/core/extract/extractors/symbol.d.ts.map +1 -1
- package/dist/core/extract/extractors/symbol.js +5 -1
- package/dist/core/extract/extractors/symbol.js.map +1 -1
- package/dist/core/extract/extractors/template-literal.d.ts +6 -3
- package/dist/core/extract/extractors/template-literal.d.ts.map +1 -1
- package/dist/core/extract/extractors/template-literal.js +11 -6
- package/dist/core/extract/extractors/template-literal.js.map +1 -1
- package/dist/core/extract/extractors/tuple.d.ts +6 -3
- package/dist/core/extract/extractors/tuple.d.ts.map +1 -1
- package/dist/core/extract/extractors/tuple.js +10 -4
- package/dist/core/extract/extractors/tuple.js.map +1 -1
- package/dist/core/extract/extractors/undefined.d.ts +5 -2
- package/dist/core/extract/extractors/undefined.d.ts.map +1 -1
- package/dist/core/extract/extractors/undefined.js +5 -1
- package/dist/core/extract/extractors/undefined.js.map +1 -1
- package/dist/core/extract/extractors/union.d.ts +6 -3
- package/dist/core/extract/extractors/union.d.ts.map +1 -1
- package/dist/core/extract/extractors/union.js +38 -64
- package/dist/core/extract/extractors/union.js.map +1 -1
- package/dist/core/extract/extractors/unknown.d.ts +5 -2
- package/dist/core/extract/extractors/unknown.d.ts.map +1 -1
- package/dist/core/extract/extractors/unknown.js +5 -1
- package/dist/core/extract/extractors/unknown.js.map +1 -1
- package/dist/core/extract/extractors/void.d.ts +5 -2
- package/dist/core/extract/extractors/void.d.ts.map +1 -1
- package/dist/core/extract/extractors/void.js +5 -1
- package/dist/core/extract/extractors/void.js.map +1 -1
- package/dist/core/extract/fallback.d.ts +6 -3
- package/dist/core/extract/fallback.d.ts.map +1 -1
- package/dist/core/extract/fallback.js +21 -7
- package/dist/core/extract/fallback.js.map +1 -1
- package/dist/core/extract/index.d.ts +6 -4
- package/dist/core/extract/index.d.ts.map +1 -1
- package/dist/core/extract/index.js +15 -15
- package/dist/core/extract/index.js.map +1 -1
- package/dist/core/extract/registry.d.ts +39 -36
- package/dist/core/extract/registry.d.ts.map +1 -1
- package/dist/core/extract/registry.js +96 -123
- package/dist/core/extract/registry.js.map +1 -1
- package/dist/core/extract/types.d.ts +124 -120
- package/dist/core/extract/types.d.ts.map +1 -1
- package/dist/core/extract/types.js +0 -1
- package/dist/core/iife.d.ts +14 -15
- package/dist/core/iife.d.ts.map +1 -1
- package/dist/core/iife.js +182 -206
- package/dist/core/iife.js.map +1 -1
- package/dist/core/pipeline.d.ts +33 -30
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +67 -74
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/types.d.ts +430 -427
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -5
- package/dist/discovery.d.ts +8 -5
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +31 -32
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/jit.d.ts +15 -42
- package/dist/jit.d.ts.map +1 -1
- package/dist/jit.js +187 -216
- package/dist/jit.js.map +1 -1
- package/dist/loader.d.ts +14 -11
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +226 -258
- package/dist/loader.js.map +1 -1
- package/dist/static-filter.d.ts +4 -1
- package/dist/static-filter.d.ts.map +1 -1
- package/dist/static-filter.js +240 -367
- package/dist/static-filter.js.map +1 -1
- package/dist/swc.d.ts +38 -35
- package/dist/swc.d.ts.map +1 -1
- package/dist/swc.js +83 -76
- package/dist/swc.js.map +1 -1
- package/dist/unplugin/bun.d.ts +5 -2
- package/dist/unplugin/bun.d.ts.map +1 -1
- package/dist/unplugin/bun.js +5 -1
- package/dist/unplugin/bun.js.map +1 -1
- package/dist/unplugin/dep-graph.d.ts +10 -7
- package/dist/unplugin/dep-graph.d.ts.map +1 -1
- package/dist/unplugin/dep-graph.js +216 -252
- package/dist/unplugin/dep-graph.js.map +1 -1
- package/dist/unplugin/disk-cache.d.ts +121 -92
- package/dist/unplugin/disk-cache.d.ts.map +1 -1
- package/dist/unplugin/disk-cache.js +425 -444
- package/dist/unplugin/disk-cache.js.map +1 -1
- package/dist/unplugin/edits.d.ts +15 -12
- package/dist/unplugin/edits.d.ts.map +1 -1
- package/dist/unplugin/edits.js +24 -37
- package/dist/unplugin/edits.js.map +1 -1
- package/dist/unplugin/esbuild.d.ts +5 -2
- package/dist/unplugin/esbuild.d.ts.map +1 -1
- package/dist/unplugin/esbuild.js +5 -1
- package/dist/unplugin/esbuild.js.map +1 -1
- package/dist/unplugin/farm.d.ts +5 -2
- package/dist/unplugin/farm.d.ts.map +1 -1
- package/dist/unplugin/farm.js +5 -1
- package/dist/unplugin/farm.js.map +1 -1
- package/dist/unplugin/hoist-compile.d.ts +14 -42
- package/dist/unplugin/hoist-compile.d.ts.map +1 -1
- package/dist/unplugin/hoist-compile.js +67 -112
- package/dist/unplugin/hoist-compile.js.map +1 -1
- package/dist/unplugin/hoist.d.ts +56 -54
- package/dist/unplugin/hoist.d.ts.map +1 -1
- package/dist/unplugin/hoist.js +945 -1170
- package/dist/unplugin/hoist.js.map +1 -1
- package/dist/unplugin/index.d.ts +5 -3
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +175 -250
- package/dist/unplugin/index.js.map +1 -1
- package/dist/unplugin/rolldown.d.ts +5 -2
- package/dist/unplugin/rolldown.d.ts.map +1 -1
- package/dist/unplugin/rolldown.js +5 -1
- package/dist/unplugin/rolldown.js.map +1 -1
- package/dist/unplugin/rollup.d.ts +5 -2
- package/dist/unplugin/rollup.d.ts.map +1 -1
- package/dist/unplugin/rollup.js +5 -1
- package/dist/unplugin/rollup.js.map +1 -1
- package/dist/unplugin/rsbuild.d.ts +6 -3
- package/dist/unplugin/rsbuild.d.ts.map +1 -1
- package/dist/unplugin/rsbuild.js +15 -11
- package/dist/unplugin/rsbuild.js.map +1 -1
- package/dist/unplugin/rspack.d.ts +5 -2
- package/dist/unplugin/rspack.d.ts.map +1 -1
- package/dist/unplugin/rspack.js +5 -1
- package/dist/unplugin/rspack.js.map +1 -1
- package/dist/unplugin/transform.d.ts +30 -27
- package/dist/unplugin/transform.d.ts.map +1 -1
- package/dist/unplugin/transform.js +433 -620
- package/dist/unplugin/transform.js.map +1 -1
- package/dist/unplugin/types.d.ts +189 -184
- package/dist/unplugin/types.d.ts.map +1 -1
- package/dist/unplugin/types.js +22 -18
- package/dist/unplugin/types.js.map +1 -1
- package/dist/unplugin/virtual.d.ts +11 -8
- package/dist/unplugin/virtual.d.ts.map +1 -1
- package/dist/unplugin/virtual.js +65 -83
- package/dist/unplugin/virtual.js.map +1 -1
- package/dist/unplugin/vite.d.ts +5 -2
- package/dist/unplugin/vite.d.ts.map +1 -1
- package/dist/unplugin/vite.js +5 -1
- package/dist/unplugin/vite.js.map +1 -1
- package/dist/unplugin/webpack.d.ts +5 -2
- package/dist/unplugin/webpack.d.ts.map +1 -1
- package/dist/unplugin/webpack.js +5 -1
- package/dist/unplugin/webpack.js.map +1 -1
- package/package.json +23 -14
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/core/extract/types.js.map +0 -1
- package/dist/core/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/core/extract/checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checks.js","names":[],"sources":["../../../src/core/extract/checks.ts"],"sourcesContent":["import type { CheckOrEffectIR, CheckStringFormat } from \"../types.js\";\nimport { isPayloadCheck, isReferenceablePredicate, tryCompileEffect } from \"./effects.js\";\nimport type { ExtractorContext, ZodCheckDef, ZodCheckSchema } from \"./types.js\";\n\n/**\n * Build the `refineRef` registrar for {@link extractChecks} from an extractor's\n * context: it appends a {@link RefEntry} pointing at the check's own predicate\n * (`<schema>._zod.def.checks[i]._zod.def.fn`) so generated code can call the\n * user's function object directly. Returns undefined — meaning \"fall back as\n * before\" — when the extraction is not collecting refs.\n */\nexport function refineRefRegistrar(\n ctx: ExtractorContext,\n checks: ZodCheckSchema[],\n): ((index: number) => number | undefined) | undefined {\n const refs = ctx.refs;\n if (!refs) return undefined;\n return (index) => {\n const fn = checks[index]?._zod?.def?.fn;\n if (!isReferenceablePredicate(fn)) return undefined;\n refs.push({ schema: fn, accessPath: `${ctx.path}._zod.def.checks[${index}]._zod.def.fn` });\n return refs.length - 1;\n };\n}\n\n/**\n * Register the payload-taking callback of check `index` (`superRefine`) as an\n * `__rf[N]` reference, pointing at zod's own wrapper\n * (`<schema>._zod.def.checks[i]._zod.check`).\n *\n * Only the LAST check on a node qualifies: an issue carrying\n * `fatal`/`continue:false` aborts zod's remaining chain, and compiled output\n * runs every check unconditionally — with nothing following, there is nothing\n * left to abort, so the two agree.\n */\nexport function payloadCheckRef(\n ctx: ExtractorContext,\n checks: ZodCheckSchema[],\n index: number,\n): number | undefined {\n if (index !== checks.length - 1) return undefined;\n const check = checks[index];\n const refs = ctx.refs;\n if (!refs || !check || !isPayloadCheck(check)) return undefined;\n refs.push({\n schema: (check._zod as { check: unknown }).check,\n accessPath: `${ctx.path}._zod.def.checks[${index}]._zod.check`,\n });\n return refs.length - 1;\n}\n\n/**\n * String formats the codegen can validate without a regex pattern.\n * Everything else without a pattern (e.g. z.jwt(), which validates\n * algorithmically) must fall back to Zod instead of being silently skipped.\n */\nconst PATTERNLESS_FORMATS = new Set([\"email\", \"uuid\", \"url\"]);\n\n/**\n * Formats whose def.pattern is NOT the authoritative validator — zod's\n * runtime check is algorithmic and accepts inputs the pattern rejects\n * (e.g. z.cidrv6() splits the prefix and validates the IPv6 part separately).\n */\nconst NON_AUTHORITATIVE_PATTERN_FORMATS = new Set([\"cidrv6\"]);\n\n/**\n * Check kinds where Zod itself installs a `when` guard\n * (`!nullish(value) && value.length/size !== undefined`). Compiled output\n * reproduces that gating structurally — length/size checks only run after the\n * typeof/instanceof guard — so a `when` on these kinds is expected and safe.\n * A `when` anywhere else must be user-supplied → fall back to Zod.\n * (A user-supplied `when` on one of these six kinds is indistinguishable from\n * the internal guard and remains unsupported.)\n */\nconst INTERNAL_WHEN_CHECK_KINDS = new Set([\n \"min_length\",\n \"max_length\",\n \"length_equals\",\n \"min_size\",\n \"max_size\",\n \"size_equals\",\n]);\n\n/** True when a check carries a runtime `when` predicate we cannot reproduce. */\nfunction hasUserWhen(def: ZodCheckDef): boolean {\n return Boolean(def.when) && !INTERNAL_WHEN_CHECK_KINDS.has(def.check);\n}\n\n/**\n * True when a check can't be compiled because of runtime modifiers:\n * a user-supplied `when` predicate, or `abort: true` (which stops later\n * checks and marks the option as aborted in union pruning — compiled\n * output always runs every check).\n */\nexport function hasUncompilableModifiers(def: ZodCheckDef): boolean {\n return hasUserWhen(def) || def.abort === true;\n}\n\nexport function extractChecks(\n checks: ZodCheckSchema[],\n /**\n * Registers the predicate of the check at `index` as an `__rf[N]` reference\n * and returns N, or undefined when references are unavailable (no refs array)\n * or the callback's shape cannot be called directly. Supplied by extractors\n * that know their schema's access path; omitted by callers that do not, which\n * simply keeps the old fall-back-to-zod behavior.\n */\n refineRef?: (index: number) => number | undefined,\n /** Registers a payload-taking callback (superRefine); see payloadCheckRef. */\n payloadRefFor?: (index: number) => number | undefined,\n): {\n checkIRs: CheckOrEffectIR[];\n hasFallback: boolean;\n} {\n const checkIRs: CheckOrEffectIR[] = [];\n let hasFallback = false;\n\n for (const [index, check] of checks.entries()) {\n const def = check._zod?.def;\n if (!def) continue;\n\n // Checks gated by a user-supplied runtime `when` predicate or abort:true\n // can't be reproduced in compiled output — delegate the schema to Zod.\n if (hasUncompilableModifiers(def)) {\n hasFallback = true;\n continue;\n }\n\n // Per-check custom error: bake static messages into the IR; error maps\n // that read the issue (dynamic) can't be compiled — fall back so Zod\n // produces the exact message.\n const resolved = resolveCheckMessage(def.error);\n if (resolved.kind === \"dynamic\") {\n hasFallback = true;\n continue;\n }\n const message = resolved.kind === \"static\" ? { message: resolved.message } : {};\n\n switch (def.check) {\n case \"min_length\":\n checkIRs.push({ kind: \"min_length\", minimum: def.minimum, ...message });\n break;\n case \"max_length\":\n checkIRs.push({ kind: \"max_length\", maximum: def.maximum, ...message });\n break;\n case \"length_equals\":\n checkIRs.push({ kind: \"length_equals\", length: def.length, ...message });\n break;\n case \"greater_than\":\n checkIRs.push({\n kind: \"greater_than\",\n value: def.value,\n inclusive: def.inclusive,\n ...message,\n });\n break;\n case \"less_than\":\n checkIRs.push({\n kind: \"less_than\",\n value: def.value,\n inclusive: def.inclusive,\n ...message,\n });\n break;\n case \"multiple_of\":\n checkIRs.push({ kind: \"multiple_of\", value: def.value, ...message });\n break;\n case \"number_format\":\n checkIRs.push({\n kind: \"number_format\",\n format: def.format as \"safeint\" | \"int32\" | \"uint32\" | \"float32\" | \"float64\",\n ...message,\n });\n break;\n case \"string_format\": {\n if (def.format === \"includes\" && typeof def.includes === \"string\") {\n checkIRs.push({\n kind: \"includes\",\n includes: def.includes,\n ...(typeof def.position === \"number\" ? { position: def.position } : {}),\n ...message,\n });\n break;\n }\n if (def.format === \"starts_with\" && typeof def.prefix === \"string\") {\n checkIRs.push({ kind: \"starts_with\", prefix: def.prefix, ...message });\n break;\n }\n if (def.format === \"ends_with\" && typeof def.suffix === \"string\") {\n checkIRs.push({ kind: \"ends_with\", suffix: def.suffix, ...message });\n break;\n }\n if (def.format === \"url\") {\n checkIRs.push({\n kind: \"string_format\",\n format: \"url\",\n ...regexFields(\"hostname\", \"hostnameFlags\", def.hostname),\n ...regexFields(\"protocol\", \"protocolFlags\", def.protocol),\n ...(def.normalize ? { normalize: true } : {}),\n ...message,\n });\n break;\n }\n if (NON_AUTHORITATIVE_PATTERN_FORMATS.has(def.format)) {\n hasFallback = true;\n break;\n }\n const pattern = def.pattern instanceof RegExp ? def.pattern.source : def.pattern;\n const flags = def.pattern instanceof RegExp && def.pattern.flags ? def.pattern.flags : \"\";\n if (!pattern && !PATTERNLESS_FORMATS.has(def.format)) {\n // Algorithmic format (e.g. jwt) — nothing to compile.\n hasFallback = true;\n break;\n }\n checkIRs.push({\n kind: \"string_format\",\n format: def.format,\n ...(pattern ? { pattern } : {}),\n ...(flags ? { patternFlags: flags } : {}),\n ...message,\n });\n break;\n }\n case \"overwrite\": {\n // $ZodCheckOverwrite (.trim(), .toLowerCase(), ...): value = def.tx(value)\n const source = tryCompileEffect(def.tx);\n if (source) {\n checkIRs.push({ kind: \"overwrite_effect\", source });\n } else {\n hasFallback = true;\n }\n break;\n }\n case \"custom\": {\n // superRefine / raw .check(): the callback collects issues from zod's\n // payload rather than returning a verdict, so it is referenced and\n // called with a synthesized payload (see SuperRefineEffectCheckIR).\n if (isPayloadCheck(check)) {\n const payloadRef = payloadRefFor?.(index);\n if (payloadRef === undefined) {\n hasFallback = true;\n break;\n }\n checkIRs.push({ kind: \"super_refine_effect\", refIndex: payloadRef });\n break;\n }\n // `.refine(fn, { path })` reports the issue against a member of the\n // refined value; anything but plain string/number segments is a shape\n // the generated path expression cannot reproduce.\n const customPath = Array.isArray(def.path) ? def.path : undefined;\n if (customPath?.some((p) => typeof p !== \"string\" && typeof p !== \"number\")) {\n hasFallback = true;\n break;\n }\n const pathIR = customPath && customPath.length > 0 ? { path: customPath } : {};\n const source = tryCompileEffect(def.fn);\n if (source) {\n checkIRs.push({ kind: \"refine_effect\", source, ...pathIR, ...message });\n break;\n }\n // Not inlineable (the predicate captures outer variables). Call the\n // user's own function object through a schema reference instead of\n // delegating: a captured `.refine()` at the root otherwise costs the\n // whole schema its compiled path.\n const refIndex = refineRef?.(index);\n if (refIndex !== undefined) {\n checkIRs.push({ kind: \"refine_effect\", refIndex, ...pathIR, ...message });\n } else {\n hasFallback = true;\n }\n break;\n }\n default:\n // Unknown check kind — never drop silently; delegate to Zod.\n hasFallback = true;\n break;\n }\n }\n\n return { checkIRs, hasFallback };\n}\n\nfunction regexFields(\n sourceKey: \"hostname\" | \"protocol\",\n flagsKey: \"hostnameFlags\" | \"protocolFlags\",\n value: unknown,\n): Partial<CheckStringFormat> {\n if (!(value instanceof RegExp)) return {};\n return { [sourceKey]: value.source, ...(value.flags ? { [flagsKey]: value.flags } : {}) };\n}\n\n// ─── Static error message extraction ────────────────────────────────────────\n\nexport type ResolvedMessage =\n | { kind: \"none\" }\n | { kind: \"static\"; message: string }\n | { kind: \"dynamic\" };\n\n/**\n * Classify a check/schema-level `error` param.\n *\n * Zod normalizes `.min(3, \"msg\")` / `{ error: \"msg\" }` / `{ message: \"msg\" }`\n * into an error-map function that ignores its issue argument and returns the\n * string. We call the function with an access-tracking Proxy: if it never\n * inspects the issue, its return value is a constant we can bake into the\n * generated issue. If it reads any issue property (input-dependent message),\n * it is dynamic and the schema must fall back to Zod for exact messages.\n */\nexport function resolveCheckMessage(error: unknown): ResolvedMessage {\n if (error === null || error === undefined) return { kind: \"none\" };\n if (typeof error === \"string\") return { kind: \"static\", message: error };\n if (typeof error !== \"function\") return { kind: \"dynamic\" };\n\n let accessed = false;\n const track = () => {\n accessed = true;\n };\n const probe = new Proxy(\n {},\n {\n get(_t, prop) {\n track();\n // Avoid breaking string coercion / await probing inside error maps.\n if (prop === Symbol.toPrimitive || prop === \"toString\" || prop === \"valueOf\") {\n return () => \"\";\n }\n return undefined;\n },\n has() {\n track();\n return false;\n },\n ownKeys() {\n track();\n return [];\n },\n getOwnPropertyDescriptor() {\n track();\n return undefined;\n },\n },\n );\n\n let result: unknown;\n try {\n result = (error as (issue: unknown) => unknown)(probe);\n } catch {\n return { kind: \"dynamic\" };\n }\n if (accessed) return { kind: \"dynamic\" };\n if (typeof result === \"string\") return { kind: \"static\", message: result };\n if (\n result !== null &&\n typeof result === \"object\" &&\n typeof (result as { message?: unknown }).message === \"string\"\n ) {\n return { kind: \"static\", message: (result as { message: string }).message };\n }\n // Error map deferred (returned undefined) — no custom message.\n if (result === undefined) return { kind: \"none\" };\n return { kind: \"dynamic\" };\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/core/extract/effects.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Effect compilation utilities.
|
|
3
4
|
* Uses fn.toString() to extract function source text from live Zod schema references,
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
* (superRefine-style issue collection), and an async/generator function returns
|
|
13
14
|
* a promise where zod's synchronous parse raises $ZodAsyncError.
|
|
14
15
|
*/
|
|
15
|
-
|
|
16
|
+
declare function isReferenceablePredicate(fn: unknown): boolean;
|
|
16
17
|
/**
|
|
17
18
|
* A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather
|
|
18
19
|
* than the value, collecting issues instead of returning a verdict. Zod stores
|
|
@@ -26,20 +27,22 @@ export declare function isReferenceablePredicate(fn: unknown): boolean;
|
|
|
26
27
|
* unmediated. A `when` predicate is likewise refused: it makes zod run the
|
|
27
28
|
* check conditionally, where generated code runs it always.
|
|
28
29
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
traits?: Set<string>;
|
|
30
|
+
declare function isPayloadCheck(check: {
|
|
31
|
+
_zod?: {
|
|
32
|
+
check?: unknown;
|
|
33
|
+
def?: {
|
|
34
|
+
fn?: unknown;
|
|
35
|
+
when?: unknown;
|
|
37
36
|
};
|
|
37
|
+
traits?: Set<string>;
|
|
38
|
+
};
|
|
38
39
|
}): boolean;
|
|
39
40
|
/**
|
|
40
41
|
* Try to compile a function into an inlineable source string.
|
|
41
42
|
* Returns the function source if it's a zero-capture function (safe to inline),
|
|
42
43
|
* or undefined if it cannot be compiled (async, has captures, or parse failure).
|
|
43
44
|
*/
|
|
44
|
-
|
|
45
|
+
declare function tryCompileEffect(fn: unknown): string | undefined;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { isPayloadCheck, isReferenceablePredicate, tryCompileEffect };
|
|
45
48
|
//# sourceMappingURL=effects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.d.ts","
|
|
1
|
+
{"version":3,"file":"effects.d.ts","names":[],"sources":["../../../src/core/extract/effects.ts"],"mappings":";;;;;;;;;;;;;;;iBAwDgB,yBAAyB;;;;;;;;;;;;;;iBAsBzB,eAAe;EAC7B;IAAS;IAAiB;MAAQ;MAAc;;IAAkB,SAAS;;;;;;;;iBAe7D,iBAAiB"}
|
|
@@ -1,240 +1,171 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Effect compilation utilities.
|
|
3
|
-
* Uses fn.toString() to extract function source text from live Zod schema references,
|
|
4
|
-
* then classifies whether the function can be safely inlined (zero external captures).
|
|
5
|
-
*/
|
|
6
1
|
import { parseExpressionAt } from "acorn";
|
|
7
|
-
|
|
8
|
-
const SAFE_GLOBALS = new Set([
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
2
|
+
//#region src/core/extract/effects.ts
|
|
3
|
+
const SAFE_GLOBALS = /* @__PURE__ */ new Set([
|
|
4
|
+
"undefined",
|
|
5
|
+
"null",
|
|
6
|
+
"NaN",
|
|
7
|
+
"Infinity",
|
|
8
|
+
"Math",
|
|
9
|
+
"Number",
|
|
10
|
+
"String",
|
|
11
|
+
"Boolean",
|
|
12
|
+
"Array",
|
|
13
|
+
"Object",
|
|
14
|
+
"JSON",
|
|
15
|
+
"Date",
|
|
16
|
+
"RegExp",
|
|
17
|
+
"parseInt",
|
|
18
|
+
"parseFloat",
|
|
19
|
+
"isNaN",
|
|
20
|
+
"isFinite",
|
|
21
|
+
"encodeURI",
|
|
22
|
+
"decodeURI",
|
|
23
|
+
"encodeURIComponent",
|
|
24
|
+
"decodeURIComponent",
|
|
25
|
+
"BigInt",
|
|
26
|
+
"Symbol",
|
|
27
|
+
"Map",
|
|
28
|
+
"Set",
|
|
29
|
+
"Error",
|
|
30
|
+
"TypeError",
|
|
31
|
+
"RangeError",
|
|
32
|
+
"SyntaxError",
|
|
33
|
+
"ReferenceError",
|
|
34
|
+
"Promise",
|
|
35
|
+
"globalThis",
|
|
36
|
+
"true",
|
|
37
|
+
"false"
|
|
43
38
|
]);
|
|
44
39
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const kind = fn.constructor?.name;
|
|
59
|
-
return (kind !== "AsyncFunction" && kind !== "GeneratorFunction" && kind !== "AsyncGeneratorFunction");
|
|
40
|
+
* Can this refine predicate be CALLED by reference from generated code?
|
|
41
|
+
*
|
|
42
|
+
* Weaker than {@link tryCompileEffect}: the callback keeps its own closure, so
|
|
43
|
+
* captures are fine — only shapes whose semantics the generated call could not
|
|
44
|
+
* reproduce are rejected. A second parameter means the zod `ctx` protocol
|
|
45
|
+
* (superRefine-style issue collection), and an async/generator function returns
|
|
46
|
+
* a promise where zod's synchronous parse raises $ZodAsyncError.
|
|
47
|
+
*/
|
|
48
|
+
function isReferenceablePredicate(fn) {
|
|
49
|
+
if (typeof fn !== "function") return false;
|
|
50
|
+
if (fn.length >= 2) return false;
|
|
51
|
+
const kind = fn.constructor?.name;
|
|
52
|
+
return kind !== "AsyncFunction" && kind !== "GeneratorFunction" && kind !== "AsyncGeneratorFunction";
|
|
60
53
|
}
|
|
61
54
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
check._zod?.def?.when === undefined &&
|
|
77
|
-
typeof check._zod?.check === "function" &&
|
|
78
|
-
check._zod?.traits?.has("$ZodCheck") === true);
|
|
55
|
+
* A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather
|
|
56
|
+
* than the value, collecting issues instead of returning a verdict. Zod stores
|
|
57
|
+
* it on the check instance (`_zod.check`) rather than `def.fn`.
|
|
58
|
+
*
|
|
59
|
+
* Narrowed to zod's OWN wrapper, which is what `_superRefine` builds and the
|
|
60
|
+
* only thing whose payload handling is modelled here: it installs `addIssue`,
|
|
61
|
+
* so every issue the user adds has been through `util.issue`. The trait marks a
|
|
62
|
+
* genuine `$ZodCheck` instance and so excludes a raw `.check(fn)` — shape-
|
|
63
|
+
* identical, but there the callback IS the user's, holding the payload
|
|
64
|
+
* unmediated. A `when` predicate is likewise refused: it makes zod run the
|
|
65
|
+
* check conditionally, where generated code runs it always.
|
|
66
|
+
*/
|
|
67
|
+
function isPayloadCheck(check) {
|
|
68
|
+
return check._zod?.def?.fn === void 0 && check._zod?.def?.when === void 0 && typeof check._zod?.check === "function" && check._zod?.traits?.has("$ZodCheck") === true;
|
|
79
69
|
}
|
|
80
70
|
/**
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const fnNode = ast;
|
|
111
|
-
// Reject functions with 2+ required parameters (uses Zod ctx argument).
|
|
112
|
-
// transform(value, ctx) and superRefine(value, ctx) rely on ctx for
|
|
113
|
-
// issue collection, which cannot be reproduced in compiled output.
|
|
114
|
-
// fn.length counts parameters before the first default, so (v, base=10)
|
|
115
|
-
// has length 1 (allowed) while (v, ctx) has length 2 (rejected).
|
|
116
|
-
if (fn.length >= 2)
|
|
117
|
-
return undefined;
|
|
118
|
-
if (fnNode.params) {
|
|
119
|
-
for (const param of fnNode.params) {
|
|
120
|
-
collectBindingNames(param, params);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Collect local variable declarations in the body
|
|
124
|
-
const locals = new Set();
|
|
125
|
-
if (fnNode.body && fnNode.body.type === "BlockStatement") {
|
|
126
|
-
collectLocals(fnNode.body, locals);
|
|
127
|
-
}
|
|
128
|
-
// Collect all identifier references in the body
|
|
129
|
-
const refs = new Set();
|
|
130
|
-
if (fnNode.body) {
|
|
131
|
-
collectIdentifierRefs(fnNode.body, refs);
|
|
132
|
-
}
|
|
133
|
-
// Check for external captures
|
|
134
|
-
for (const ref of refs) {
|
|
135
|
-
if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) {
|
|
136
|
-
return undefined; // Has external capture
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return source;
|
|
71
|
+
* Try to compile a function into an inlineable source string.
|
|
72
|
+
* Returns the function source if it's a zero-capture function (safe to inline),
|
|
73
|
+
* or undefined if it cannot be compiled (async, has captures, or parse failure).
|
|
74
|
+
*/
|
|
75
|
+
function tryCompileEffect(fn) {
|
|
76
|
+
if (typeof fn !== "function") return void 0;
|
|
77
|
+
const source = fn.toString();
|
|
78
|
+
if (source.includes("[native code]")) return void 0;
|
|
79
|
+
let ast;
|
|
80
|
+
try {
|
|
81
|
+
ast = parseExpressionAt(source, 0, {
|
|
82
|
+
ecmaVersion: "latest",
|
|
83
|
+
sourceType: "module"
|
|
84
|
+
});
|
|
85
|
+
} catch {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if ("async" in ast && ast.async) return void 0;
|
|
89
|
+
if ("generator" in ast && ast.generator) return void 0;
|
|
90
|
+
const params = /* @__PURE__ */ new Set();
|
|
91
|
+
const fnNode = ast;
|
|
92
|
+
if (fn.length >= 2) return void 0;
|
|
93
|
+
if (fnNode.params) for (const param of fnNode.params) collectBindingNames(param, params);
|
|
94
|
+
const locals = /* @__PURE__ */ new Set();
|
|
95
|
+
if (fnNode.body && fnNode.body.type === "BlockStatement") collectLocals(fnNode.body, locals);
|
|
96
|
+
const refs = /* @__PURE__ */ new Set();
|
|
97
|
+
if (fnNode.body) collectIdentifierRefs(fnNode.body, refs);
|
|
98
|
+
for (const ref of refs) if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) return;
|
|
99
|
+
return source;
|
|
140
100
|
}
|
|
141
101
|
/** Collect binding names from a parameter pattern (handles destructuring). */
|
|
142
102
|
function collectBindingNames(node, names) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
for (const elem of node.elements) {
|
|
162
|
-
if (elem)
|
|
163
|
-
collectBindingNames(elem, names);
|
|
164
|
-
}
|
|
165
|
-
break;
|
|
166
|
-
case "RestElement":
|
|
167
|
-
collectBindingNames(node.argument, names);
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
103
|
+
switch (node.type) {
|
|
104
|
+
case "Identifier":
|
|
105
|
+
names.add(node.name);
|
|
106
|
+
break;
|
|
107
|
+
case "AssignmentPattern":
|
|
108
|
+
collectBindingNames(node.left, names);
|
|
109
|
+
break;
|
|
110
|
+
case "ObjectPattern":
|
|
111
|
+
for (const prop of node.properties) if (prop.type === "RestElement") collectBindingNames(prop.argument, names);
|
|
112
|
+
else collectBindingNames(prop.value, names);
|
|
113
|
+
break;
|
|
114
|
+
case "ArrayPattern":
|
|
115
|
+
for (const elem of node.elements) if (elem) collectBindingNames(elem, names);
|
|
116
|
+
break;
|
|
117
|
+
case "RestElement":
|
|
118
|
+
collectBindingNames(node.argument, names);
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
170
121
|
}
|
|
171
122
|
/** Collect locally declared variable names from a block body. */
|
|
172
123
|
function collectLocals(body, locals) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const id = decl.id;
|
|
180
|
-
collectBindingNames(id, locals);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
124
|
+
const block = body;
|
|
125
|
+
if (!block.body) return;
|
|
126
|
+
for (const stmt of block.body) if (stmt.type === "VariableDeclaration") for (const decl of stmt.declarations) {
|
|
127
|
+
const id = decl.id;
|
|
128
|
+
collectBindingNames(id, locals);
|
|
129
|
+
}
|
|
184
130
|
}
|
|
185
131
|
/** Collect all identifier references in an AST subtree. */
|
|
186
132
|
function collectIdentifierRefs(node, refs) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
// Recursively walk all child nodes
|
|
222
|
-
for (const key of Object.keys(node)) {
|
|
223
|
-
if (key === "type" || key === "start" || key === "end")
|
|
224
|
-
continue;
|
|
225
|
-
const child = node[key];
|
|
226
|
-
if (child && typeof child === "object") {
|
|
227
|
-
if (Array.isArray(child)) {
|
|
228
|
-
for (const item of child) {
|
|
229
|
-
if (item && typeof item === "object" && "type" in item) {
|
|
230
|
-
collectIdentifierRefs(item, refs);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
else if ("type" in child) {
|
|
235
|
-
collectIdentifierRefs(child, refs);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
133
|
+
if (node.type === "Identifier") {
|
|
134
|
+
refs.add(node.name);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (node.type === "ThisExpression") {
|
|
138
|
+
refs.add("this");
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (node.type === "MemberExpression") {
|
|
142
|
+
const member = node;
|
|
143
|
+
collectIdentifierRefs(member.object, refs);
|
|
144
|
+
if (member.computed) collectIdentifierRefs(member.property, refs);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (node.type === "Property") {
|
|
148
|
+
const prop = node;
|
|
149
|
+
if (prop.computed) collectIdentifierRefs(prop.key, refs);
|
|
150
|
+
collectIdentifierRefs(prop.value, refs);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (node.type === "VariableDeclarator") {
|
|
154
|
+
const decl = node;
|
|
155
|
+
if (decl.init) collectIdentifierRefs(decl.init, refs);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
for (const key of Object.keys(node)) {
|
|
159
|
+
if (key === "type" || key === "start" || key === "end") continue;
|
|
160
|
+
const child = node[key];
|
|
161
|
+
if (child && typeof child === "object") {
|
|
162
|
+
if (Array.isArray(child)) {
|
|
163
|
+
for (const item of child) if (item && typeof item === "object" && "type" in item) collectIdentifierRefs(item, refs);
|
|
164
|
+
} else if ("type" in child) collectIdentifierRefs(child, refs);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
239
167
|
}
|
|
168
|
+
//#endregion
|
|
169
|
+
export { isPayloadCheck, isReferenceablePredicate, tryCompileEffect };
|
|
170
|
+
|
|
240
171
|
//# sourceMappingURL=effects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/core/extract/effects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"effects.js","names":[],"sources":["../../../src/core/extract/effects.ts"],"sourcesContent":["/**\n * Effect compilation utilities.\n * Uses fn.toString() to extract function source text from live Zod schema references,\n * then classifies whether the function can be safely inlined (zero external captures).\n */\n\nimport type { Node } from \"acorn\";\nimport { parseExpressionAt } from \"acorn\";\n\n// Well-known globals that are safe to reference in inlined functions\nconst SAFE_GLOBALS = new Set([\n \"undefined\",\n \"null\",\n \"NaN\",\n \"Infinity\",\n \"Math\",\n \"Number\",\n \"String\",\n \"Boolean\",\n \"Array\",\n \"Object\",\n \"JSON\",\n \"Date\",\n \"RegExp\",\n \"parseInt\",\n \"parseFloat\",\n \"isNaN\",\n \"isFinite\",\n \"encodeURI\",\n \"decodeURI\",\n \"encodeURIComponent\",\n \"decodeURIComponent\",\n \"BigInt\",\n \"Symbol\",\n \"Map\",\n \"Set\",\n \"Error\",\n \"TypeError\",\n \"RangeError\",\n \"SyntaxError\",\n \"ReferenceError\",\n \"Promise\",\n \"globalThis\",\n \"true\",\n \"false\",\n]);\n\n/**\n * Can this refine predicate be CALLED by reference from generated code?\n *\n * Weaker than {@link tryCompileEffect}: the callback keeps its own closure, so\n * captures are fine — only shapes whose semantics the generated call could not\n * reproduce are rejected. A second parameter means the zod `ctx` protocol\n * (superRefine-style issue collection), and an async/generator function returns\n * a promise where zod's synchronous parse raises $ZodAsyncError.\n */\nexport function isReferenceablePredicate(fn: unknown): boolean {\n if (typeof fn !== \"function\") return false;\n if (fn.length >= 2) return false;\n const kind = fn.constructor?.name;\n return (\n kind !== \"AsyncFunction\" && kind !== \"GeneratorFunction\" && kind !== \"AsyncGeneratorFunction\"\n );\n}\n\n/**\n * A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather\n * than the value, collecting issues instead of returning a verdict. Zod stores\n * it on the check instance (`_zod.check`) rather than `def.fn`.\n *\n * Narrowed to zod's OWN wrapper, which is what `_superRefine` builds and the\n * only thing whose payload handling is modelled here: it installs `addIssue`,\n * so every issue the user adds has been through `util.issue`. The trait marks a\n * genuine `$ZodCheck` instance and so excludes a raw `.check(fn)` — shape-\n * identical, but there the callback IS the user's, holding the payload\n * unmediated. A `when` predicate is likewise refused: it makes zod run the\n * check conditionally, where generated code runs it always.\n */\nexport function isPayloadCheck(check: {\n _zod?: { check?: unknown; def?: { fn?: unknown; when?: unknown }; traits?: Set<string> };\n}): boolean {\n return (\n check._zod?.def?.fn === undefined &&\n check._zod?.def?.when === undefined &&\n typeof check._zod?.check === \"function\" &&\n check._zod?.traits?.has(\"$ZodCheck\") === true\n );\n}\n\n/**\n * Try to compile a function into an inlineable source string.\n * Returns the function source if it's a zero-capture function (safe to inline),\n * or undefined if it cannot be compiled (async, has captures, or parse failure).\n */\nexport function tryCompileEffect(fn: unknown): string | undefined {\n if (typeof fn !== \"function\") return undefined;\n\n const source = fn.toString();\n\n // Quick reject: native functions\n if (source.includes(\"[native code]\")) return undefined;\n\n let ast: Node;\n try {\n ast = parseExpressionAt(source, 0, {\n ecmaVersion: \"latest\",\n sourceType: \"module\",\n });\n } catch {\n // Parse failed — likely TypeScript annotations or unsupported syntax\n return undefined;\n }\n\n // Reject async and generator functions\n if (\"async\" in ast && (ast as { async?: boolean }).async) return undefined;\n if (\"generator\" in ast && (ast as { generator?: boolean }).generator) return undefined;\n\n // Collect parameter names\n const params = new Set<string>();\n const fnNode = ast as {\n type: string;\n params?: Node[];\n body?: Node;\n };\n\n // Reject functions with 2+ required parameters (uses Zod ctx argument).\n // transform(value, ctx) and superRefine(value, ctx) rely on ctx for\n // issue collection, which cannot be reproduced in compiled output.\n // fn.length counts parameters before the first default, so (v, base=10)\n // has length 1 (allowed) while (v, ctx) has length 2 (rejected).\n if ((fn as { length: number }).length >= 2) return undefined;\n\n if (fnNode.params) {\n for (const param of fnNode.params) {\n collectBindingNames(param, params);\n }\n }\n\n // Collect local variable declarations in the body\n const locals = new Set<string>();\n if (fnNode.body && fnNode.body.type === \"BlockStatement\") {\n collectLocals(fnNode.body, locals);\n }\n\n // Collect all identifier references in the body\n const refs = new Set<string>();\n if (fnNode.body) {\n collectIdentifierRefs(fnNode.body, refs);\n }\n\n // Check for external captures\n for (const ref of refs) {\n if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) {\n return undefined; // Has external capture\n }\n }\n\n return source;\n}\n\n/** Collect binding names from a parameter pattern (handles destructuring). */\nfunction collectBindingNames(node: Node, names: Set<string>): void {\n switch (node.type) {\n case \"Identifier\":\n names.add((node as Node & { name: string }).name);\n break;\n case \"AssignmentPattern\":\n collectBindingNames((node as Node & { left: Node }).left, names);\n break;\n case \"ObjectPattern\":\n for (const prop of (node as Node & { properties: Node[] }).properties) {\n if (prop.type === \"RestElement\") {\n collectBindingNames((prop as Node & { argument: Node }).argument, names);\n } else {\n collectBindingNames((prop as Node & { value: Node }).value, names);\n }\n }\n break;\n case \"ArrayPattern\":\n for (const elem of (node as Node & { elements: (Node | null)[] }).elements) {\n if (elem) collectBindingNames(elem, names);\n }\n break;\n case \"RestElement\":\n collectBindingNames((node as Node & { argument: Node }).argument, names);\n break;\n }\n}\n\n/** Collect locally declared variable names from a block body. */\nfunction collectLocals(body: Node, locals: Set<string>): void {\n const block = body as Node & { body: Node[] };\n if (!block.body) return;\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n for (const decl of (stmt as Node & { declarations: Node[] }).declarations) {\n const id = (decl as Node & { id: Node }).id;\n collectBindingNames(id, locals);\n }\n }\n }\n}\n\n/** Collect all identifier references in an AST subtree. */\nfunction collectIdentifierRefs(node: Node, refs: Set<string>): void {\n if (node.type === \"Identifier\") {\n refs.add((node as Node & { name: string }).name);\n return;\n }\n\n // `this` in arrow functions captures from enclosing scope — treat as external capture\n if (node.type === \"ThisExpression\") {\n refs.add(\"this\");\n return;\n }\n\n // Skip property access identifiers (obj.prop — \"prop\" is not a reference)\n if (node.type === \"MemberExpression\") {\n const member = node as Node & { object: Node; property: Node; computed: boolean };\n collectIdentifierRefs(member.object, refs);\n if (member.computed) {\n collectIdentifierRefs(member.property, refs);\n }\n return;\n }\n\n // Object literal properties: skip non-computed keys, only walk values\n if (node.type === \"Property\") {\n const prop = node as Node & { key: Node; value: Node; computed: boolean };\n if (prop.computed) {\n collectIdentifierRefs(prop.key, refs);\n }\n collectIdentifierRefs(prop.value, refs);\n return;\n }\n\n // Skip binding positions in variable declarations, function params, etc.\n if (node.type === \"VariableDeclarator\") {\n const decl = node as Node & { init: Node | null };\n if (decl.init) collectIdentifierRefs(decl.init, refs);\n return;\n }\n\n // Recursively walk all child nodes\n for (const key of Object.keys(node)) {\n if (key === \"type\" || key === \"start\" || key === \"end\") continue;\n const child = (node as unknown as Record<string, unknown>)[key];\n if (child && typeof child === \"object\") {\n if (Array.isArray(child)) {\n for (const item of child) {\n if (item && typeof item === \"object\" && \"type\" in item) {\n collectIdentifierRefs(item as Node, refs);\n }\n }\n } else if (\"type\" in child) {\n collectIdentifierRefs(child as Node, refs);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { Extractor } from "../types.js";
|
|
2
|
+
//#region src/core/extract/extractors/any.d.ts
|
|
3
|
+
declare const extractAny: Extractor;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { extractAny };
|
|
3
6
|
//# sourceMappingURL=any.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any.d.ts","
|
|
1
|
+
{"version":3,"file":"any.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/any.ts"],"mappings":";;cAEa,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any.js","
|
|
1
|
+
{"version":3,"file":"any.js","names":[],"sources":["../../../../src/core/extract/extractors/any.ts"],"sourcesContent":["import type { Extractor } from \"../types.js\";\n\nexport const extractAny: Extractor = () => ({ type: \"any\" });\n"],"mappings":";AAEA,MAAa,oBAA+B,EAAE,MAAM,MAAM"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { SchemaIR } from "../../types.js";
|
|
2
|
+
import { ExtractorContext, ZodDef } from "../types.js";
|
|
3
|
+
//#region src/core/extract/extractors/array.d.ts
|
|
4
|
+
declare function extractArray(def: ZodDef, ctx: ExtractorContext): SchemaIR;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { extractArray };
|
|
4
7
|
//# sourceMappingURL=array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","
|
|
1
|
+
{"version":3,"file":"array.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/array.ts"],"mappings":";;;iBAagB,aAAa,KAAK,QAAQ,KAAK,mBAAmB"}
|