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,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { SchemaIR, TupleIR } from "../../types.js";
|
|
2
|
+
import { FastGen, SlowGen } from "../context.js";
|
|
3
|
+
//#region src/core/codegen/schemas/tuple.d.ts
|
|
3
4
|
/**
|
|
4
5
|
* Mirrors $ZodTuple: without rest, over-length input emits a single too_big
|
|
5
6
|
* and `length < optStart - 1` a single too_small (minimum = items.length,
|
|
@@ -8,8 +9,10 @@ import type { FastGen, SlowGen } from "../context.js";
|
|
|
8
9
|
* missing required items read as undefined and fail their item schema's type
|
|
9
10
|
* check at the right path.
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
declare function slowTuple(ir: SchemaIR & {
|
|
13
|
+
type: "tuple";
|
|
13
14
|
}, g: SlowGen): string;
|
|
14
|
-
|
|
15
|
+
declare function fastTuple(ir: TupleIR, g: FastGen): string | null;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { fastTuple, slowTuple };
|
|
15
18
|
//# sourceMappingURL=tuple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.ts","
|
|
1
|
+
{"version":3,"file":"tuple.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/tuple.ts"],"mappings":";;;;;;;;;;;iBA6BgB,UAAU,IAAI;EAAa;GAAiB,GAAG;iBAmD/C,UAAU,IAAI,SAAS,GAAG"}
|
|
@@ -1,60 +1,65 @@
|
|
|
1
1
|
import { declareFastTemps, extendPath, extendStaticPathIndex, hasMutation } from "../context.js";
|
|
2
|
-
import { orderByRuntimeCost } from "../fast-size.js";
|
|
3
2
|
import { emit } from "../emit.js";
|
|
4
3
|
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
4
|
+
import { orderByRuntimeCost } from "../fast-size.js";
|
|
5
|
+
//#region src/core/codegen/schemas/tuple.ts
|
|
5
6
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
* Index where the omittable tail begins (zod's `optStart`): trailing
|
|
8
|
+
* optional/default items have `optin === "optional"` and may be absent.
|
|
9
|
+
*/
|
|
9
10
|
function optStart(ir) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return start;
|
|
11
|
+
let start = ir.items.length;
|
|
12
|
+
for (let i = ir.items.length - 1; i >= 0; i--) {
|
|
13
|
+
const itemType = ir.items[i].type;
|
|
14
|
+
if (itemType !== "optional" && itemType !== "default") break;
|
|
15
|
+
start--;
|
|
16
|
+
}
|
|
17
|
+
return start;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
* Mirrors $ZodTuple: without rest, over-length input emits a single too_big
|
|
21
|
+
* and `length < optStart - 1` a single too_small (minimum = items.length,
|
|
22
|
+
* non-inclusive phrasing) — both created by the tuple node (schema error
|
|
23
|
+
* applies) and both skip item validation. Anything else validates items;
|
|
24
|
+
* missing required items read as undefined and fail their item schema's type
|
|
25
|
+
* check at the right path.
|
|
26
|
+
*/
|
|
27
|
+
function slowTuple(ir, g) {
|
|
28
|
+
const len = ir.items.length;
|
|
29
|
+
let code = emit`
|
|
30
30
|
if(!Array.isArray(${g.input})){
|
|
31
31
|
${invalidType(g, "tuple")}
|
|
32
32
|
}else{`;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
33
|
+
let itemsCode = "";
|
|
34
|
+
if (ir.items.some(hasMutation) || ir.rest !== null && hasMutation(ir.rest)) itemsCode += `${g.output}=${g.input}.slice();`;
|
|
35
|
+
for (let i = 0; i < len; i++) {
|
|
36
|
+
const itemIR = ir.items[i];
|
|
37
|
+
const elemExpr = `${g.input}[${i}]`;
|
|
38
|
+
const elemPath = extendStaticPathIndex(g.path, i);
|
|
39
|
+
const skipMissingOptional = i >= optStart(ir);
|
|
40
|
+
const itemCode = g.visit(itemIR, {
|
|
41
|
+
input: elemExpr,
|
|
42
|
+
output: elemExpr,
|
|
43
|
+
path: elemPath
|
|
44
|
+
});
|
|
45
|
+
itemsCode += skipMissingOptional ? emit`if(${i}<${g.input}.length){${itemCode}}` : itemCode;
|
|
46
|
+
}
|
|
47
|
+
if (ir.rest !== null) {
|
|
48
|
+
const idxVar = g.temp("ti");
|
|
49
|
+
const restExpr = `${g.input}[${idxVar}]`;
|
|
50
|
+
const restPath = extendPath(g.path, idxVar);
|
|
51
|
+
itemsCode += emit`
|
|
51
52
|
for(var ${idxVar}=${len};${idxVar}<${g.input}.length;${idxVar}++){
|
|
52
|
-
${g.visit(ir.rest, {
|
|
53
|
+
${g.visit(ir.rest, {
|
|
54
|
+
input: restExpr,
|
|
55
|
+
output: restExpr,
|
|
56
|
+
path: restPath
|
|
57
|
+
})}
|
|
53
58
|
}`;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
}
|
|
60
|
+
if (ir.rest === null) {
|
|
61
|
+
const start = optStart(ir);
|
|
62
|
+
code += emit`
|
|
58
63
|
if(${g.input}.length>${len}){
|
|
59
64
|
${tooBig(g, len, "array", true, { useTypeMsg: true })}
|
|
60
65
|
}else if(${g.input}.length<${start - 1}){
|
|
@@ -62,55 +67,40 @@ export function slowTuple(ir, g) {
|
|
|
62
67
|
}else{
|
|
63
68
|
${itemsCode}
|
|
64
69
|
}`;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
code += `}\n`;
|
|
70
|
-
return code;
|
|
70
|
+
} else code += itemsCode;
|
|
71
|
+
code += `}\n`;
|
|
72
|
+
return code;
|
|
71
73
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
// allocation). Fresh scope: the helper is its own function, size-gated
|
|
101
|
-
// independently. (Fixed items above stay inline in the caller's && chain.)
|
|
102
|
-
if (ir.rest !== null) {
|
|
103
|
-
const rv = g.temp("tr");
|
|
104
|
-
const restGen = g.scoped(rv);
|
|
105
|
-
const restCheck = restGen.visit(ir.rest);
|
|
106
|
-
if (restCheck === null)
|
|
107
|
-
return null;
|
|
108
|
-
if (restCheck !== "true") {
|
|
109
|
-
const helperName = g.temp("te");
|
|
110
|
-
g.ctx.preamble.push(`function ${helperName}(a,s){${declareFastTemps(restGen.scope)}for(var ${rv},i=s;i<a.length;i++){${rv}=a[i];if(!(${restCheck})){return false;}}return true;}`);
|
|
111
|
-
parts.push(`${helperName}(${x},${ir.items.length})`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return parts.join("&&");
|
|
74
|
+
function fastTuple(ir, g) {
|
|
75
|
+
const x = g.input;
|
|
76
|
+
const parts = [`Array.isArray(${x})`];
|
|
77
|
+
const required = optStart(ir);
|
|
78
|
+
if (ir.rest === null) if (required === ir.items.length) parts.push(`${x}.length===${ir.items.length}`);
|
|
79
|
+
else parts.push(`${x}.length>=${required}`, `${x}.length<=${ir.items.length}`);
|
|
80
|
+
else if (required > 0) parts.push(`${x}.length>=${required}`);
|
|
81
|
+
const indexed = ir.items.flatMap((itemIR, index) => itemIR ? [{
|
|
82
|
+
index,
|
|
83
|
+
itemIR
|
|
84
|
+
}] : []);
|
|
85
|
+
for (const { index, itemIR } of orderByRuntimeCost(indexed, (e) => e.itemIR, g.ctx)) {
|
|
86
|
+
const itemCheck = g.visit(itemIR, { input: `${x}[${index}]` });
|
|
87
|
+
if (itemCheck === null) return null;
|
|
88
|
+
if (itemCheck !== "true") parts.push(itemCheck);
|
|
89
|
+
}
|
|
90
|
+
if (ir.rest !== null) {
|
|
91
|
+
const rv = g.temp("tr");
|
|
92
|
+
const restGen = g.scoped(rv);
|
|
93
|
+
const restCheck = restGen.visit(ir.rest);
|
|
94
|
+
if (restCheck === null) return null;
|
|
95
|
+
if (restCheck !== "true") {
|
|
96
|
+
const helperName = g.temp("te");
|
|
97
|
+
g.ctx.preamble.push(`function ${helperName}(a,s){${declareFastTemps(restGen.scope)}for(var ${rv},i=s;i<a.length;i++){${rv}=a[i];if(!(${restCheck})){return false;}}return true;}`);
|
|
98
|
+
parts.push(`${helperName}(${x},${ir.items.length})`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return parts.join("&&");
|
|
115
102
|
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { fastTuple, slowTuple };
|
|
105
|
+
|
|
116
106
|
//# sourceMappingURL=tuple.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","
|
|
1
|
+
{"version":3,"file":"tuple.js","names":[],"sources":["../../../../src/core/codegen/schemas/tuple.ts"],"sourcesContent":["import type { SchemaIR, TupleIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\nimport { declareFastTemps, extendPath, extendStaticPathIndex, hasMutation } from \"../context.js\";\nimport { orderByRuntimeCost } from \"../fast-size.js\";\nimport { emit } from \"../emit.js\";\nimport { invalidType, tooBig, tooSmall } from \"../emit-issue.js\";\n\n/**\n * Index where the omittable tail begins (zod's `optStart`): trailing\n * optional/default items have `optin === \"optional\"` and may be absent.\n */\nfunction optStart(ir: TupleIR): number {\n let start = ir.items.length;\n for (let i = ir.items.length - 1; i >= 0; i--) {\n const itemType = (ir.items[i] as SchemaIR).type;\n if (itemType !== \"optional\" && itemType !== \"default\") break;\n start--;\n }\n return start;\n}\n\n/**\n * Mirrors $ZodTuple: without rest, over-length input emits a single too_big\n * and `length < optStart - 1` a single too_small (minimum = items.length,\n * non-inclusive phrasing) — both created by the tuple node (schema error\n * applies) and both skip item validation. Anything else validates items;\n * missing required items read as undefined and fail their item schema's type\n * check at the right path.\n */\nexport function slowTuple(ir: SchemaIR & { type: \"tuple\" }, g: SlowGen): string {\n const len = ir.items.length;\n\n let code = emit`\n if(!Array.isArray(${g.input})){\n ${invalidType(g, \"tuple\")}\n }else{`;\n\n let itemsCode = \"\";\n if (ir.items.some(hasMutation) || (ir.rest !== null && hasMutation(ir.rest))) {\n itemsCode += `${g.output}=${g.input}.slice();`;\n }\n\n for (let i = 0; i < len; i++) {\n const itemIR = ir.items[i] as SchemaIR;\n const elemExpr = `${g.input}[${i}]`;\n const elemPath = extendStaticPathIndex(g.path, i);\n const skipMissingOptional = i >= optStart(ir);\n const itemCode = g.visit(itemIR, { input: elemExpr, output: elemExpr, path: elemPath });\n // Zod skips absent omittable items entirely (no default materialization).\n itemsCode += skipMissingOptional ? emit`if(${i}<${g.input}.length){${itemCode}}` : itemCode;\n }\n\n if (ir.rest !== null) {\n const idxVar = g.temp(\"ti\");\n const restExpr = `${g.input}[${idxVar}]`;\n const restPath = extendPath(g.path, idxVar);\n itemsCode += emit`\n for(var ${idxVar}=${len};${idxVar}<${g.input}.length;${idxVar}++){\n ${g.visit(ir.rest, { input: restExpr, output: restExpr, path: restPath })}\n }`;\n }\n\n if (ir.rest === null) {\n const start = optStart(ir);\n code += emit`\n if(${g.input}.length>${len}){\n ${tooBig(g, len, \"array\", true, { useTypeMsg: true })}\n }else if(${g.input}.length<${start - 1}){\n ${tooSmall(g, len, \"array\", false, { useTypeMsg: true })}\n }else{\n ${itemsCode}\n }`;\n } else {\n code += itemsCode;\n }\n\n code += `}\\n`;\n return code;\n}\n\nexport function fastTuple(ir: TupleIR, g: FastGen): string | null {\n const x = g.input;\n const parts: string[] = [`Array.isArray(${x})`];\n\n const required = optStart(ir);\n if (ir.rest === null) {\n if (required === ir.items.length) {\n parts.push(`${x}.length===${ir.items.length}`);\n } else {\n parts.push(`${x}.length>=${required}`, `${x}.length<=${ir.items.length}`);\n }\n } else if (required > 0) {\n parts.push(`${x}.length>=${required}`);\n }\n\n // Per-index checks, cheapest-first: positions are independent, so the emitted\n // order only decides which one a reject stops on (see estimateRuntimeCost).\n // The Array.isArray + length conjuncts above stay in front — the element\n // reads are only meaningful once they hold.\n const indexed = ir.items.flatMap((itemIR, index) => (itemIR ? [{ index, itemIR }] : []));\n for (const { index, itemIR } of orderByRuntimeCost(indexed, (e) => e.itemIR, g.ctx)) {\n const itemCheck = g.visit(itemIR, { input: `${x}[${index}]` });\n if (itemCheck === null) return null;\n if (itemCheck !== \"true\") parts.push(itemCheck);\n }\n\n // Rest element validation via preamble helper (avoids .slice().every()\n // allocation). Fresh scope: the helper is its own function, size-gated\n // independently. (Fixed items above stay inline in the caller's && chain.)\n if (ir.rest !== null) {\n const rv = g.temp(\"tr\");\n const restGen = g.scoped(rv);\n const restCheck = restGen.visit(ir.rest);\n if (restCheck === null) return null;\n if (restCheck !== \"true\") {\n const helperName = g.temp(\"te\");\n g.ctx.preamble.push(\n `function ${helperName}(a,s){${declareFastTemps(restGen.scope)}for(var ${rv},i=s;i<a.length;i++){${rv}=a[i];if(!(${restCheck})){return false;}}return true;}`,\n );\n parts.push(`${helperName}(${x},${ir.items.length})`);\n }\n }\n\n return parts.join(\"&&\");\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { UndefinedIR } from "../../types.js";
|
|
2
|
+
import { FastGen, SlowGen } from "../context.js";
|
|
3
|
+
//#region src/core/codegen/schemas/undefined.d.ts
|
|
4
|
+
declare function slowUndefined(_ir: UndefinedIR, g: SlowGen): string;
|
|
5
|
+
declare function fastUndefined(_ir: UndefinedIR, g: FastGen): string | null;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { fastUndefined, slowUndefined };
|
|
5
8
|
//# sourceMappingURL=undefined.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undefined.d.ts","
|
|
1
|
+
{"version":3,"file":"undefined.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/undefined.ts"],"mappings":";;;iBAKgB,cAAc,KAAK,aAAa,GAAG;iBAQnC,cAAc,KAAK,aAAa,GAAG"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { emit } from "../emit.js";
|
|
2
2
|
import { invalidType } from "../emit-issue.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
//#region src/core/codegen/schemas/undefined.ts
|
|
4
|
+
function slowUndefined(_ir, g) {
|
|
5
|
+
return `${emit`
|
|
5
6
|
if(${g.input}!==undefined){
|
|
6
7
|
${invalidType(g, "undefined")}
|
|
7
8
|
}
|
|
8
9
|
`}\n`;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
function fastUndefined(_ir, g) {
|
|
12
|
+
return `${g.input}===undefined`;
|
|
12
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { fastUndefined, slowUndefined };
|
|
16
|
+
|
|
13
17
|
//# sourceMappingURL=undefined.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undefined.js","
|
|
1
|
+
{"version":3,"file":"undefined.js","names":[],"sources":["../../../../src/core/codegen/schemas/undefined.ts"],"sourcesContent":["import type { UndefinedIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\nimport { emit } from \"../emit.js\";\nimport { invalidType } from \"../emit-issue.js\";\n\nexport function slowUndefined(_ir: UndefinedIR, g: SlowGen): string {\n return `${emit`\n if(${g.input}!==undefined){\n ${invalidType(g, \"undefined\")}\n }\n `}\\n`;\n}\n\nexport function fastUndefined(_ir: UndefinedIR, g: FastGen): string | null {\n return `${g.input}===undefined`;\n}\n"],"mappings":";;;AAKA,SAAgB,cAAc,KAAkB,GAAoB;CAClE,OAAO,GAAG,IAAI;SACP,EAAE,MAAM;QACT,YAAY,GAAG,WAAW,EAAE;;IAEhC;AACJ;AAEA,SAAgB,cAAc,KAAkB,GAA2B;CACzE,OAAO,GAAG,EAAE,MAAM;AACpB"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { SchemaIR, UnionIR } from "../../types.js";
|
|
2
|
+
import { FastGen, SlowGen } from "../context.js";
|
|
3
|
+
//#region src/core/codegen/schemas/union.d.ts
|
|
4
|
+
declare function slowUnion(ir: SchemaIR & {
|
|
5
|
+
type: "union";
|
|
5
6
|
}, g: SlowGen): string;
|
|
6
|
-
|
|
7
|
+
declare function fastUnion(ir: UnionIR, g: FastGen): string | null;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { fastUnion, slowUnion };
|
|
7
10
|
//# sourceMappingURL=union.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","
|
|
1
|
+
{"version":3,"file":"union.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/union.ts"],"mappings":";;;iBAQgB,UAAU,IAAI;EAAa;GAAiB,GAAG;iBAoG/C,UAAU,IAAI,SAAS,GAAG"}
|
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
import { hasMutation } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
|
-
import { orderByRuntimeCost } from "../fast-size.js";
|
|
4
3
|
import { abortingCodeTest } from "../issue-decls.js";
|
|
5
4
|
import { detectUnionDiscriminator, emitFastDiscriminatedSwitch } from "./discriminated-union.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// can raise it (zod's handlePipeResult). Stays false for every other shape.
|
|
22
|
-
const optAborted = g.temp("uoa");
|
|
23
|
-
if (needsOutputIsolation) {
|
|
24
|
-
const tmpOutput = g.temp("uo");
|
|
25
|
-
code += emit `
|
|
5
|
+
import { orderByRuntimeCost } from "../fast-size.js";
|
|
6
|
+
//#region src/core/codegen/schemas/union.ts
|
|
7
|
+
function slowUnion(ir, g) {
|
|
8
|
+
const resultVar = g.temp("u");
|
|
9
|
+
const errorsVar = g.temp("ue");
|
|
10
|
+
const abortedVar = g.temp("uea");
|
|
11
|
+
let code = `var ${resultVar}=false;var ${errorsVar}=[];var ${abortedVar}=[];`;
|
|
12
|
+
const needsOutputIsolation = ir.options.some(hasMutation);
|
|
13
|
+
for (const option of ir.options) {
|
|
14
|
+
const tmpIssues = g.temp("ui");
|
|
15
|
+
const innerIdx = g.temp("ufi");
|
|
16
|
+
const optAborted = g.temp("uoa");
|
|
17
|
+
if (needsOutputIsolation) {
|
|
18
|
+
const tmpOutput = g.temp("uo");
|
|
19
|
+
code += emit`
|
|
26
20
|
if(!${resultVar}){
|
|
27
21
|
var ${tmpIssues}=[];
|
|
28
22
|
var ${optAborted}=false;
|
|
29
23
|
var ${tmpOutput}=${g.input};
|
|
30
|
-
${g.visit(option, {
|
|
24
|
+
${g.visit(option, {
|
|
25
|
+
issues: tmpIssues,
|
|
26
|
+
input: tmpOutput,
|
|
27
|
+
output: tmpOutput,
|
|
28
|
+
aborted: optAborted
|
|
29
|
+
})}
|
|
31
30
|
if(${tmpIssues}.length===0){
|
|
32
31
|
${resultVar}=true;
|
|
33
32
|
${g.output}=${tmpOutput};
|
|
@@ -42,13 +41,14 @@ export function slowUnion(ir, g) {
|
|
|
42
41
|
${abortedVar}.push(${optAborted});
|
|
43
42
|
}
|
|
44
43
|
}`;
|
|
45
|
-
|
|
46
|
-
else {
|
|
47
|
-
code += emit `
|
|
44
|
+
} else code += emit`
|
|
48
45
|
if(!${resultVar}){
|
|
49
46
|
var ${tmpIssues}=[];
|
|
50
47
|
var ${optAborted}=false;
|
|
51
|
-
${g.visit(option, {
|
|
48
|
+
${g.visit(option, {
|
|
49
|
+
issues: tmpIssues,
|
|
50
|
+
aborted: optAborted
|
|
51
|
+
})}
|
|
52
52
|
if(${tmpIssues}.length===0){
|
|
53
53
|
${resultVar}=true;
|
|
54
54
|
}else{
|
|
@@ -62,23 +62,15 @@ export function slowUnion(ir, g) {
|
|
|
62
62
|
${abortedVar}.push(${optAborted});
|
|
63
63
|
}
|
|
64
64
|
}`;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const msgProp = g.typeMsg === undefined ? "" : `,message:${JSON.stringify(g.typeMsg)}`;
|
|
75
|
-
const naVar = g.temp("una");
|
|
76
|
-
const oiVar = g.temp("uoi");
|
|
77
|
-
const ojVar = g.temp("uoj");
|
|
78
|
-
const abVar = g.temp("uab");
|
|
79
|
-
const ocVar = g.temp("uoc");
|
|
80
|
-
const okVar = g.temp("uok");
|
|
81
|
-
code += emit `
|
|
65
|
+
}
|
|
66
|
+
const msgProp = g.typeMsg === void 0 ? "" : `,message:${JSON.stringify(g.typeMsg)}`;
|
|
67
|
+
const naVar = g.temp("una");
|
|
68
|
+
const oiVar = g.temp("uoi");
|
|
69
|
+
const ojVar = g.temp("uoj");
|
|
70
|
+
const abVar = g.temp("uab");
|
|
71
|
+
const ocVar = g.temp("uoc");
|
|
72
|
+
const okVar = g.temp("uok");
|
|
73
|
+
code += emit`
|
|
82
74
|
if(!${resultVar}){
|
|
83
75
|
var ${naVar}=[];
|
|
84
76
|
for(var ${oiVar}=0;${oiVar}<${errorsVar}.length;${oiVar}++){
|
|
@@ -97,32 +89,20 @@ export function slowUnion(ir, g) {
|
|
|
97
89
|
${g.issues}.push({code:"invalid_union",errors:${errorsVar}${msgProp},input:${g.input},path:${g.path}});
|
|
98
90
|
}
|
|
99
91
|
}`;
|
|
100
|
-
|
|
92
|
+
return `${code}\n`;
|
|
101
93
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
// Probe cheap options first: the ||-chain stops at the first match, and an
|
|
114
|
-
// option that cannot match is rejected by its own cheapest-first conjunct
|
|
115
|
-
// chain. Which option matches is unobservable here (the result is a single
|
|
116
|
-
// boolean), and the slow path — where option order IS observable, through
|
|
117
|
-
// zod's first-match output and invalid_union issue order — is untouched.
|
|
118
|
-
const optionChecks = [];
|
|
119
|
-
for (const option of orderByRuntimeCost(ir.options, (o) => o, g.ctx)) {
|
|
120
|
-
const check = g.visit(option);
|
|
121
|
-
if (check === null)
|
|
122
|
-
return null;
|
|
123
|
-
optionChecks.push(`(${check})`);
|
|
124
|
-
}
|
|
125
|
-
// Wrap in parens — || has lower precedence than && in parent expressions
|
|
126
|
-
return `(${optionChecks.join("||")})`;
|
|
94
|
+
function fastUnion(ir, g) {
|
|
95
|
+
const discriminated = detectUnionDiscriminator(ir.options);
|
|
96
|
+
if (discriminated !== null) return emitFastDiscriminatedSwitch(g, discriminated.discriminator, discriminated.cases, ir.options);
|
|
97
|
+
const optionChecks = [];
|
|
98
|
+
for (const option of orderByRuntimeCost(ir.options, (o) => o, g.ctx)) {
|
|
99
|
+
const check = g.visit(option);
|
|
100
|
+
if (check === null) return null;
|
|
101
|
+
optionChecks.push(`(${check})`);
|
|
102
|
+
}
|
|
103
|
+
return `(${optionChecks.join("||")})`;
|
|
127
104
|
}
|
|
105
|
+
//#endregion
|
|
106
|
+
export { fastUnion, slowUnion };
|
|
107
|
+
|
|
128
108
|
//# sourceMappingURL=union.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","
|
|
1
|
+
{"version":3,"file":"union.js","names":[],"sources":["../../../../src/core/codegen/schemas/union.ts"],"sourcesContent":["import type { SchemaIR, UnionIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\nimport { hasMutation } from \"../context.js\";\nimport { emit } from \"../emit.js\";\nimport { orderByRuntimeCost } from \"../fast-size.js\";\nimport { abortingCodeTest } from \"../issue-decls.js\";\nimport { detectUnionDiscriminator, emitFastDiscriminatedSwitch } from \"./discriminated-union.js\";\n\nexport function slowUnion(ir: SchemaIR & { type: \"union\" }, g: SlowGen): string {\n const resultVar = g.temp(\"u\");\n const errorsVar = g.temp(\"ue\");\n // Parallel to errorsVar: zod's `payload.aborted` for each failed option. Set\n // by a pipe/codec option whose `in` failed (see slowPipe); read during pruning\n // alongside the per-issue code check.\n const abortedVar = g.temp(\"uea\");\n let code = `var ${resultVar}=false;var ${errorsVar}=[];var ${abortedVar}=[];`;\n\n // If any option can mutate output (default, catch, coerce, effect),\n // each branch gets its own temp output to prevent cross-branch leaks.\n const needsOutputIsolation = ir.options.some(hasMutation);\n\n for (const option of ir.options) {\n const tmpIssues = g.temp(\"ui\");\n const innerIdx = g.temp(\"ufi\");\n // This option's abort flag, forwarded into the option so a pipe `in` failure\n // can raise it (zod's handlePipeResult). Stays false for every other shape.\n const optAborted = g.temp(\"uoa\");\n\n if (needsOutputIsolation) {\n const tmpOutput = g.temp(\"uo\");\n code += emit`\n if(!${resultVar}){\n var ${tmpIssues}=[];\n var ${optAborted}=false;\n var ${tmpOutput}=${g.input};\n ${g.visit(option, { issues: tmpIssues, input: tmpOutput, output: tmpOutput, aborted: optAborted })}\n if(${tmpIssues}.length===0){\n ${resultVar}=true;\n ${g.output}=${tmpOutput};\n }else{\n for(var ${innerIdx}=0;${innerIdx}<${tmpIssues}.length;${innerIdx}++){\n if(${tmpIssues}[${innerIdx}].message===undefined&&typeof __zcMsg===\"function\"){\n ${tmpIssues}[${innerIdx}].message=__zcMsg(${tmpIssues}[${innerIdx}]);\n }\n ${tmpIssues}[${innerIdx}].input=undefined;\n }\n ${errorsVar}.push(${tmpIssues});\n ${abortedVar}.push(${optAborted});\n }\n }`;\n } else {\n code += emit`\n if(!${resultVar}){\n var ${tmpIssues}=[];\n var ${optAborted}=false;\n ${g.visit(option, { issues: tmpIssues, aborted: optAborted })}\n if(${tmpIssues}.length===0){\n ${resultVar}=true;\n }else{\n for(var ${innerIdx}=0;${innerIdx}<${tmpIssues}.length;${innerIdx}++){\n if(${tmpIssues}[${innerIdx}].message===undefined&&typeof __zcMsg===\"function\"){\n ${tmpIssues}[${innerIdx}].message=__zcMsg(${tmpIssues}[${innerIdx}]);\n }\n ${tmpIssues}[${innerIdx}].input=undefined;\n }\n ${errorsVar}.push(${tmpIssues});\n ${abortedVar}.push(${optAborted});\n }\n }`;\n }\n }\n\n // Mirrors zod's handleUnionResults pruning (`util.aborted`): an option is\n // \"aborted\" when its result carries `payload.aborted` (a pipe whose `in`\n // failed — tracked in abortedVar) OR it produced a parse-level issue\n // (continue !== true in zod — invalid_type and friends). Check-level issues\n // (too_small, invalid_format, custom, ...) alone don't abort. If exactly ONE\n // option is non-aborted, its issues are surfaced directly instead of an\n // invalid_union wrapper.\n const msgProp = g.typeMsg === undefined ? \"\" : `,message:${JSON.stringify(g.typeMsg)}`;\n const naVar = g.temp(\"una\");\n const oiVar = g.temp(\"uoi\");\n const ojVar = g.temp(\"uoj\");\n const abVar = g.temp(\"uab\");\n const ocVar = g.temp(\"uoc\");\n const okVar = g.temp(\"uok\");\n code += emit`\n if(!${resultVar}){\n var ${naVar}=[];\n for(var ${oiVar}=0;${oiVar}<${errorsVar}.length;${oiVar}++){\n var ${abVar}=${abortedVar}[${oiVar}]===true;\n if(!${abVar}){\n for(var ${ojVar}=0;${ojVar}<${errorsVar}[${oiVar}].length;${ojVar}++){\n var ${ocVar}=${errorsVar}[${oiVar}][${ojVar}].code;\n if(${abortingCodeTest(ocVar)}){${abVar}=true;break;}\n }\n }\n if(!${abVar}){${naVar}.push(${errorsVar}[${oiVar}]);}\n }\n if(${naVar}.length===1){\n for(var ${okVar}=0;${okVar}<${naVar}[0].length;${okVar}++){${g.issues}.push(${naVar}[0][${okVar}]);}\n }else{\n ${g.issues}.push({code:\"invalid_union\",errors:${errorsVar}${msgProp},input:${g.input},path:${g.path}});\n }\n }`;\n return `${code}\\n`;\n}\n\nexport function fastUnion(ir: UnionIR, g: FastGen): string | null {\n // A plain `z.union` of objects that all pin a shared key to disjoint literals\n // is structurally a discriminated union: dispatch on that key with an O(1)\n // switch instead of probing every arm in sequence. detectUnionDiscriminator\n // returns non-null only when the switch provably accepts exactly what the\n // ||-chain would (disjoint required literals). The slow path is untouched, so\n // error output stays identical to Zod's plain-union behavior.\n const discriminated = detectUnionDiscriminator(ir.options);\n if (discriminated !== null) {\n return emitFastDiscriminatedSwitch(\n g,\n discriminated.discriminator,\n discriminated.cases,\n ir.options,\n );\n }\n\n // Probe cheap options first: the ||-chain stops at the first match, and an\n // option that cannot match is rejected by its own cheapest-first conjunct\n // chain. Which option matches is unobservable here (the result is a single\n // boolean), and the slow path — where option order IS observable, through\n // zod's first-match output and invalid_union issue order — is untouched.\n const optionChecks: string[] = [];\n for (const option of orderByRuntimeCost(ir.options, (o) => o, g.ctx)) {\n const check = g.visit(option);\n if (check === null) return null;\n optionChecks.push(`(${check})`);\n }\n // Wrap in parens — || has lower precedence than && in parent expressions\n return `(${optionChecks.join(\"||\")})`;\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { UnknownIR } from "../../types.js";
|
|
2
|
+
import { FastGen, SlowGen } from "../context.js";
|
|
3
|
+
//#region src/core/codegen/schemas/unknown.d.ts
|
|
4
|
+
declare function slowUnknown(_ir: UnknownIR, _g: SlowGen): string;
|
|
5
|
+
declare function fastUnknown(_ir: UnknownIR, _g: FastGen): string | null;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { fastUnknown, slowUnknown };
|
|
5
8
|
//# sourceMappingURL=unknown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.d.ts","
|
|
1
|
+
{"version":3,"file":"unknown.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/unknown.ts"],"mappings":";;;iBAGgB,YAAY,KAAK,WAAW,IAAI;iBAIhC,YAAY,KAAK,WAAW,IAAI"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/core/codegen/schemas/unknown.ts
|
|
2
|
+
function slowUnknown(_ir, _g) {
|
|
3
|
+
return "";
|
|
3
4
|
}
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
function fastUnknown(_ir, _g) {
|
|
6
|
+
return "true";
|
|
6
7
|
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { fastUnknown, slowUnknown };
|
|
10
|
+
|
|
7
11
|
//# sourceMappingURL=unknown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.js","
|
|
1
|
+
{"version":3,"file":"unknown.js","names":[],"sources":["../../../../src/core/codegen/schemas/unknown.ts"],"sourcesContent":["import type { UnknownIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\n\nexport function slowUnknown(_ir: UnknownIR, _g: SlowGen): string {\n return \"\";\n}\n\nexport function fastUnknown(_ir: UnknownIR, _g: FastGen): string | null {\n return \"true\";\n}\n"],"mappings":";AAGA,SAAgB,YAAY,KAAgB,IAAqB;CAC/D,OAAO;AACT;AAEA,SAAgB,YAAY,KAAgB,IAA4B;CACtE,OAAO;AACT"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { VoidIR } from "../../types.js";
|
|
2
|
+
import { FastGen, SlowGen } from "../context.js";
|
|
3
|
+
//#region src/core/codegen/schemas/void.d.ts
|
|
4
|
+
declare function slowVoid(_ir: VoidIR, g: SlowGen): string;
|
|
5
|
+
declare function fastVoid(_ir: VoidIR, g: FastGen): string | null;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { fastVoid, slowVoid };
|
|
5
8
|
//# sourceMappingURL=void.d.ts.map
|