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,127 +1,95 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Issue object emit helpers.
|
|
3
|
-
*
|
|
4
|
-
* Each helper returns a string of the form `_e.push(...)` (or equivalent on a
|
|
5
|
-
* caller-supplied issues variable). Two emit modes:
|
|
6
|
-
*
|
|
7
|
-
* - inline (CLI .compiled.ts): emits the literal `{code:"too_small",...}` object.
|
|
8
|
-
* - lean (unplugin): emits a call like `__zcTS(min,origin,inclusive,input,path)`
|
|
9
|
-
* and registers the helper in `ctx.usedHelpers` so the transform layer can
|
|
10
|
-
* construct the corresponding `import` from `"virtual:zod-compiler/runtime"`.
|
|
11
|
-
*
|
|
12
|
-
* Centralizing all issue emission here means schema codegen files don't carry
|
|
13
|
-
* the inline/lean branching; they just call `tooSmall(g, ...)` etc.
|
|
14
|
-
*
|
|
15
|
-
* Message resolution mirrors Zod, which consults the error map of the
|
|
16
|
-
* INSTANCE that created the issue:
|
|
17
|
-
* - check-created issues (min/max/format/refine): per-check message only
|
|
18
|
-
* (options.message, extracted from `.min(3, "msg")`)
|
|
19
|
-
* - schema-created issues (invalid_type, enum/literal invalid_value, tuple
|
|
20
|
-
* length, invalid_union, invalid_key): schema-level message (g.typeMsg,
|
|
21
|
-
* from `z.string({ error: "msg" })`)
|
|
22
|
-
* Helpers default per the most common call-site kind; size-issue emitters
|
|
23
|
-
* accept `useTypeMsg: true` for node-level uses (tuple), and invalidValue
|
|
24
|
-
* accepts `useTypeMsg: false` for check-level uses (file mime).
|
|
25
|
-
* When no message lands, the __zcFin finalizer applies the locale default.
|
|
26
|
-
*/
|
|
27
1
|
import { escapeString } from "./context.js";
|
|
2
|
+
//#region src/core/codegen/emit-issue.ts
|
|
28
3
|
function pushIssue(g, body) {
|
|
29
|
-
|
|
4
|
+
return `${g.issues}.push(${body});`;
|
|
30
5
|
}
|
|
31
6
|
/** Resolve the effective static message for an issue site. */
|
|
32
7
|
function resolveMessage(g, explicit, useTypeMsg) {
|
|
33
|
-
|
|
8
|
+
return explicit ?? (useTypeMsg ? g.typeMsg : void 0);
|
|
34
9
|
}
|
|
35
10
|
/** `,message:"..."` fragment for inline object literals ("" when no message). */
|
|
36
11
|
function messageProp(m) {
|
|
37
|
-
|
|
12
|
+
return m === void 0 ? "" : `,message:${escapeString(m)}`;
|
|
38
13
|
}
|
|
39
14
|
/** `,"..."` trailing argument fragment for lean factory calls ("" when no message). */
|
|
40
15
|
function messageArg(m) {
|
|
41
|
-
|
|
16
|
+
return m === void 0 ? "" : `,${escapeString(m)}`;
|
|
42
17
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
|
|
18
|
+
function tooSmall(g, minimum, origin, inclusive, options) {
|
|
19
|
+
const input = options?.input ?? g.input;
|
|
20
|
+
const path = options?.path ?? g.path;
|
|
21
|
+
const exact = options?.exact === true;
|
|
22
|
+
const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
|
|
23
|
+
if (g.ctx.mode === "lean") {
|
|
24
|
+
if (exact) {
|
|
25
|
+
g.ctx.usedHelpers.add("__zcTSx");
|
|
26
|
+
return pushIssue(g, `__zcTSx(${minimum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
|
|
27
|
+
}
|
|
28
|
+
g.ctx.usedHelpers.add("__zcTS");
|
|
29
|
+
return pushIssue(g, `__zcTS(${minimum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
|
|
30
|
+
}
|
|
31
|
+
if (exact) return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
|
|
32
|
+
return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
|
|
60
33
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
|
|
34
|
+
function tooBig(g, maximum, origin, inclusive, options) {
|
|
35
|
+
const input = options?.input ?? g.input;
|
|
36
|
+
const path = options?.path ?? g.path;
|
|
37
|
+
const exact = options?.exact === true;
|
|
38
|
+
const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
|
|
39
|
+
if (g.ctx.mode === "lean") {
|
|
40
|
+
if (exact) {
|
|
41
|
+
g.ctx.usedHelpers.add("__zcTBx");
|
|
42
|
+
return pushIssue(g, `__zcTBx(${maximum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
|
|
43
|
+
}
|
|
44
|
+
g.ctx.usedHelpers.add("__zcTB");
|
|
45
|
+
return pushIssue(g, `__zcTB(${maximum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
|
|
46
|
+
}
|
|
47
|
+
if (exact) return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
|
|
48
|
+
return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
|
|
78
49
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return pushIssue(g, `{code:"invalid_type",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`);
|
|
50
|
+
function invalidType(g, expected, options) {
|
|
51
|
+
const input = options?.input ?? g.input;
|
|
52
|
+
const path = options?.path ?? g.path;
|
|
53
|
+
const m = resolveMessage(g, options?.message, true);
|
|
54
|
+
if (g.ctx.mode === "lean" && !options?.extra) {
|
|
55
|
+
g.ctx.usedHelpers.add("__zcIT");
|
|
56
|
+
return pushIssue(g, `__zcIT(${escapeString(expected)},${input},${path}${messageArg(m)})`);
|
|
57
|
+
}
|
|
58
|
+
const extra = options?.extra ? `,${options.extra}` : "";
|
|
59
|
+
return pushIssue(g, `{code:"invalid_type",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`);
|
|
90
60
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
const extra = options?.extra ? `,${options.extra}` : "";
|
|
103
|
-
return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${extra}${messageProp(m)},input:${input},path:${path}}`);
|
|
61
|
+
function invalidFormat(g, format, options) {
|
|
62
|
+
const input = options?.input ?? g.input;
|
|
63
|
+
const path = options?.path ?? g.path;
|
|
64
|
+
const formatExpr = typeof format === "string" ? escapeString(format) : format.expr;
|
|
65
|
+
const m = options?.message;
|
|
66
|
+
if (g.ctx.mode === "lean") {
|
|
67
|
+
g.ctx.usedHelpers.add("__zcIF");
|
|
68
|
+
return pushIssue(g, `__zcIF(${formatExpr},${input},${path}${options?.extra ? `,{${options.extra}}` : m !== void 0 ? ",undefined" : ""}${messageArg(m)})`);
|
|
69
|
+
}
|
|
70
|
+
return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${options?.extra ? `,${options.extra}` : ""}${messageProp(m)},input:${input},path:${path}}`);
|
|
104
71
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return pushIssue(g, `{code:"unrecognized_keys",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`);
|
|
72
|
+
function unrecognizedKeys(g, keysExpr, options) {
|
|
73
|
+
const input = options?.input ?? g.input;
|
|
74
|
+
const path = options?.path ?? g.path;
|
|
75
|
+
const m = resolveMessage(g, options?.message, true);
|
|
76
|
+
if (g.ctx.mode === "lean") {
|
|
77
|
+
g.ctx.usedHelpers.add("__zcUK");
|
|
78
|
+
return pushIssue(g, `__zcUK(${keysExpr},${input},${path}${messageArg(m)})`);
|
|
79
|
+
}
|
|
80
|
+
return pushIssue(g, `{code:"unrecognized_keys",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`);
|
|
115
81
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return pushIssue(g, `{code:"invalid_value",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`);
|
|
82
|
+
function invalidValue(g, valuesExpr, options) {
|
|
83
|
+
const input = options?.input ?? g.input;
|
|
84
|
+
const path = options?.path ?? g.path;
|
|
85
|
+
const m = resolveMessage(g, options?.message, options?.useTypeMsg !== false);
|
|
86
|
+
if (g.ctx.mode === "lean") {
|
|
87
|
+
g.ctx.usedHelpers.add("__zcIV");
|
|
88
|
+
return pushIssue(g, `__zcIV(${valuesExpr},${input},${path}${messageArg(m)})`);
|
|
89
|
+
}
|
|
90
|
+
return pushIssue(g, `{code:"invalid_value",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`);
|
|
126
91
|
}
|
|
92
|
+
//#endregion
|
|
93
|
+
export { invalidFormat, invalidType, invalidValue, tooBig, tooSmall, unrecognizedKeys };
|
|
94
|
+
|
|
127
95
|
//# sourceMappingURL=emit-issue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-issue.js","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-issue.js","names":[],"sources":["../../../src/core/codegen/emit-issue.ts"],"sourcesContent":["/**\n * Issue object emit helpers.\n *\n * Each helper returns a string of the form `_e.push(...)` (or equivalent on a\n * caller-supplied issues variable). Two emit modes:\n *\n * - inline (CLI .compiled.ts): emits the literal `{code:\"too_small\",...}` object.\n * - lean (unplugin): emits a call like `__zcTS(min,origin,inclusive,input,path)`\n * and registers the helper in `ctx.usedHelpers` so the transform layer can\n * construct the corresponding `import` from `\"virtual:zod-compiler/runtime\"`.\n *\n * Centralizing all issue emission here means schema codegen files don't carry\n * the inline/lean branching; they just call `tooSmall(g, ...)` etc.\n *\n * Message resolution mirrors Zod, which consults the error map of the\n * INSTANCE that created the issue:\n * - check-created issues (min/max/format/refine): per-check message only\n * (options.message, extracted from `.min(3, \"msg\")`)\n * - schema-created issues (invalid_type, enum/literal invalid_value, tuple\n * length, invalid_union, invalid_key): schema-level message (g.typeMsg,\n * from `z.string({ error: \"msg\" })`)\n * Helpers default per the most common call-site kind; size-issue emitters\n * accept `useTypeMsg: true` for node-level uses (tuple), and invalidValue\n * accepts `useTypeMsg: false` for check-level uses (file mime).\n * When no message lands, the __zcFin finalizer applies the locale default.\n */\n\nimport type { CodeGenContext } from \"./context.js\";\nimport { escapeString } from \"./context.js\";\n\n/** Common slim slice of SlowGen + FastGen needed for issue emission. */\ninterface IssueGen {\n readonly issues: string;\n readonly input: string;\n readonly path: string;\n readonly ctx: CodeGenContext;\n readonly typeMsg?: string | undefined;\n}\n\nfunction pushIssue(g: IssueGen, body: string): string {\n return `${g.issues}.push(${body});`;\n}\n\n/** Resolve the effective static message for an issue site. */\nfunction resolveMessage(\n g: IssueGen,\n explicit: string | undefined,\n useTypeMsg: boolean,\n): string | undefined {\n return explicit ?? (useTypeMsg ? g.typeMsg : undefined);\n}\n\n/** `,message:\"...\"` fragment for inline object literals (\"\" when no message). */\nfunction messageProp(m: string | undefined): string {\n return m === undefined ? \"\" : `,message:${escapeString(m)}`;\n}\n\n/** `,\"...\"` trailing argument fragment for lean factory calls (\"\" when no message). */\nfunction messageArg(m: string | undefined): string {\n return m === undefined ? \"\" : `,${escapeString(m)}`;\n}\n\nexport function tooSmall(\n g: IssueGen,\n minimum: string | number,\n origin: string,\n inclusive: boolean,\n options?: {\n exact?: boolean;\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set for node-level issues (tuple length) where schema error applies. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const exact = options?.exact === true;\n const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);\n if (g.ctx.mode === \"lean\") {\n if (exact) {\n g.ctx.usedHelpers.add(\"__zcTSx\");\n return pushIssue(\n g,\n `__zcTSx(${minimum},${escapeString(origin)},${input},${path}${messageArg(m)})`,\n );\n }\n g.ctx.usedHelpers.add(\"__zcTS\");\n return pushIssue(\n g,\n `__zcTS(${minimum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`,\n );\n }\n if (exact) {\n return pushIssue(\n g,\n `{code:\"too_small\",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`,\n );\n }\n return pushIssue(\n g,\n `{code:\"too_small\",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function tooBig(\n g: IssueGen,\n maximum: string | number,\n origin: string,\n inclusive: boolean,\n options?: {\n exact?: boolean;\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set for node-level issues (tuple length) where schema error applies. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const exact = options?.exact === true;\n const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);\n if (g.ctx.mode === \"lean\") {\n if (exact) {\n g.ctx.usedHelpers.add(\"__zcTBx\");\n return pushIssue(\n g,\n `__zcTBx(${maximum},${escapeString(origin)},${input},${path}${messageArg(m)})`,\n );\n }\n g.ctx.usedHelpers.add(\"__zcTB\");\n return pushIssue(\n g,\n `__zcTB(${maximum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`,\n );\n }\n if (exact) {\n return pushIssue(\n g,\n `{code:\"too_big\",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`,\n );\n }\n return pushIssue(\n g,\n `{code:\"too_big\",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidType(\n g: IssueGen,\n expected: string,\n options?: { input?: string; path?: string; extra?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // invalid_type is always created by the schema node — schema error applies.\n const m = resolveMessage(g, options?.message, true);\n if (g.ctx.mode === \"lean\" && !options?.extra) {\n g.ctx.usedHelpers.add(\"__zcIT\");\n return pushIssue(g, `__zcIT(${escapeString(expected)},${input},${path}${messageArg(m)})`);\n }\n const extra = options?.extra ? `,${options.extra}` : \"\";\n return pushIssue(\n g,\n `{code:\"invalid_type\",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidFormat(\n g: IssueGen,\n format: string | { expr: string },\n options?: { input?: string; path?: string; extra?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const formatExpr = typeof format === \"string\" ? escapeString(format) : format.expr;\n // Format issues are created by check instances — schema error never applies.\n const m = options?.message;\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcIF\");\n const extraArg = options?.extra ? `,{${options.extra}}` : m !== undefined ? \",undefined\" : \"\";\n return pushIssue(g, `__zcIF(${formatExpr},${input},${path}${extraArg}${messageArg(m)})`);\n }\n const extra = options?.extra ? `,${options.extra}` : \"\";\n return pushIssue(\n g,\n `{code:\"invalid_format\",format:${formatExpr}${extra}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function unrecognizedKeys(\n g: IssueGen,\n keysExpr: string,\n options?: { input?: string; path?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // unrecognized_keys is created by the object schema node — schema error applies.\n const m = resolveMessage(g, options?.message, true);\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcUK\");\n return pushIssue(g, `__zcUK(${keysExpr},${input},${path}${messageArg(m)})`);\n }\n return pushIssue(\n g,\n `{code:\"unrecognized_keys\",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidValue(\n g: IssueGen,\n valuesExpr: string,\n options?: {\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set to false for check-level issues (file mime) where schema error does not apply. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // Default: enum/literal invalid_value is created by the schema node.\n const m = resolveMessage(g, options?.message, options?.useTypeMsg !== false);\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcIV\");\n return pushIssue(g, `__zcIV(${valuesExpr},${input},${path}${messageArg(m)})`);\n }\n return pushIssue(\n g,\n `{code:\"invalid_value\",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
//#region src/core/codegen/emit.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Tagged template literal that strips newlines and leading whitespace.
|
|
3
4
|
* Allows writing generated code with readable indentation while producing minified output.
|
|
4
5
|
*
|
|
5
6
|
* Used exclusively by Slow Path generators (codegen/schemas/).
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
declare function emit(strings: TemplateStringsArray, ...values: (string | number | bigint | boolean)[]): string;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { emit };
|
|
8
11
|
//# sourceMappingURL=emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","
|
|
1
|
+
{"version":3,"file":"emit.d.ts","names":[],"sources":["../../../src/core/codegen/emit.ts"],"mappings":";;;;;;;iBAMgB,KACd,SAAS,yBACN"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
//#region src/core/codegen/emit.ts
|
|
1
2
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return result;
|
|
3
|
+
* Tagged template literal that strips newlines and leading whitespace.
|
|
4
|
+
* Allows writing generated code with readable indentation while producing minified output.
|
|
5
|
+
*
|
|
6
|
+
* Used exclusively by Slow Path generators (codegen/schemas/).
|
|
7
|
+
*/
|
|
8
|
+
function emit(strings, ...values) {
|
|
9
|
+
let result = "";
|
|
10
|
+
for (let i = 0; i < strings.length; i++) {
|
|
11
|
+
result += (strings[i] ?? "").replace(/\n\s*/g, "");
|
|
12
|
+
if (i < values.length) result += String(values[i]);
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
15
|
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { emit };
|
|
18
|
+
|
|
16
19
|
//# sourceMappingURL=emit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.js","
|
|
1
|
+
{"version":3,"file":"emit.js","names":[],"sources":["../../../src/core/codegen/emit.ts"],"sourcesContent":["/**\n * Tagged template literal that strips newlines and leading whitespace.\n * Allows writing generated code with readable indentation while producing minified output.\n *\n * Used exclusively by Slow Path generators (codegen/schemas/).\n */\nexport function emit(\n strings: TemplateStringsArray,\n ...values: (string | number | bigint | boolean)[]\n): string {\n let result = \"\";\n for (let i = 0; i < strings.length; i++) {\n result += (strings[i] ?? \"\").replace(/\\n\\s*/g, \"\");\n if (i < values.length) result += String(values[i]);\n }\n return result;\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,KACd,SACA,GAAG,QACK;CACR,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,WAAW,QAAQ,MAAM,GAAA,CAAI,QAAQ,UAAU,EAAE;EACjD,IAAI,IAAI,OAAO,QAAQ,UAAU,OAAO,OAAO,EAAE;CACnD;CACA,OAAO;AACT"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* safeParse can return success immediately without allocating an issues array.
|
|
5
|
-
*
|
|
6
|
-
* Returns `null` if the schema is not eligible for Fast Path (contains coerce,
|
|
7
|
-
* default, transform, or other non-pure constructs).
|
|
8
|
-
*/
|
|
9
|
-
import type { SchemaIR } from "../types.js";
|
|
10
|
-
import type { CodeGenContext, FastGen, FastScope } from "./context.js";
|
|
1
|
+
import { SchemaIR } from "../types.js";
|
|
2
|
+
import { CodeGenContext, FastGen, FastScope } from "./context.js";
|
|
3
|
+
//#region src/core/codegen/fast-path.d.ts
|
|
11
4
|
/**
|
|
12
5
|
* @param inputExpr the input expression this node validates
|
|
13
6
|
* @param ctx shared codegen context
|
|
@@ -18,7 +11,7 @@ import type { CodeGenContext, FastGen, FastScope } from "./context.js";
|
|
|
18
11
|
* @param discSkipKey discriminated-union option marker (see FastGen.discSkipKey);
|
|
19
12
|
* carried only on the option's own node, never auto-propagated to children
|
|
20
13
|
*/
|
|
21
|
-
|
|
14
|
+
declare function createFastGen(inputExpr: string, ctx: CodeGenContext, extractable?: boolean, scope?: FastScope, discSkipKey?: string): FastGen;
|
|
22
15
|
/**
|
|
23
16
|
* Generate a boolean expression string that validates input against the schema.
|
|
24
17
|
* Returns `null` if the schema (or any nested part) is not eligible for fast checking.
|
|
@@ -35,5 +28,7 @@ export declare function createFastGen(inputExpr: string, ctx: CodeGenContext, ex
|
|
|
35
28
|
* aggregates do split (still semantically identical — only the boolean's shape
|
|
36
29
|
* changes).
|
|
37
30
|
*/
|
|
38
|
-
|
|
31
|
+
declare function generateFast(ir: SchemaIR, g: FastGen): string | null;
|
|
32
|
+
//#endregion
|
|
33
|
+
export { createFastGen, generateFast };
|
|
39
34
|
//# sourceMappingURL=fast-path.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-path.d.ts","
|
|
1
|
+
{"version":3,"file":"fast-path.d.ts","names":[],"sources":["../../../src/core/codegen/fast-path.ts"],"mappings":";;;;;;;;;;;;;iBAsHgB,cACd,mBACA,KAAK,gBACL,uBACA,QAAO,WACP,uBACC;;;;;;;;;;;;;;;;;iBA8Ca,aAAa,IAAI,UAAU,GAAG"}
|