zod-compiler 1.22.0 → 1.22.1
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 +150 -588
- package/dist/cli/commands/generate.d.ts +0 -2
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +0 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +0 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +0 -2
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/index.js +0 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/core/codegen/build-path.d.ts +40 -0
- package/dist/core/codegen/build-path.d.ts.map +1 -0
- package/dist/core/codegen/build-path.js +473 -0
- package/dist/core/codegen/build-path.js.map +1 -0
- package/dist/core/codegen/context.d.ts +77 -3
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +68 -33
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/dedupe.d.ts +7 -0
- package/dist/core/codegen/dedupe.d.ts.map +1 -1
- package/dist/core/codegen/dedupe.js +7 -0
- package/dist/core/codegen/dedupe.js.map +1 -1
- package/dist/core/codegen/fast-path.d.ts.map +1 -1
- package/dist/core/codegen/fast-path.js +11 -5
- package/dist/core/codegen/fast-path.js.map +1 -1
- package/dist/core/codegen/index.d.ts.map +1 -1
- package/dist/core/codegen/index.js +89 -5
- package/dist/core/codegen/index.js.map +1 -1
- package/dist/core/codegen/regex-unroll.d.ts +36 -0
- package/dist/core/codegen/regex-unroll.d.ts.map +1 -0
- package/dist/core/codegen/regex-unroll.js +231 -0
- package/dist/core/codegen/regex-unroll.js.map +1 -0
- package/dist/core/codegen/schemas/array.d.ts.map +1 -1
- package/dist/core/codegen/schemas/array.js +4 -3
- package/dist/core/codegen/schemas/array.js.map +1 -1
- package/dist/core/codegen/schemas/default.d.ts.map +1 -1
- package/dist/core/codegen/schemas/default.js +2 -4
- package/dist/core/codegen/schemas/default.js.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.js +3 -3
- package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
- package/dist/core/codegen/schemas/map.js +2 -2
- package/dist/core/codegen/schemas/map.js.map +1 -1
- package/dist/core/codegen/schemas/nullable.d.ts.map +1 -1
- package/dist/core/codegen/schemas/nullable.js +2 -4
- package/dist/core/codegen/schemas/nullable.js.map +1 -1
- package/dist/core/codegen/schemas/object.d.ts.map +1 -1
- package/dist/core/codegen/schemas/object.js +10 -9
- package/dist/core/codegen/schemas/object.js.map +1 -1
- package/dist/core/codegen/schemas/optional.d.ts.map +1 -1
- package/dist/core/codegen/schemas/optional.js +3 -5
- package/dist/core/codegen/schemas/optional.js.map +1 -1
- package/dist/core/codegen/schemas/record.js +2 -2
- package/dist/core/codegen/schemas/record.js.map +1 -1
- package/dist/core/codegen/schemas/set.d.ts.map +1 -1
- package/dist/core/codegen/schemas/set.js +4 -3
- package/dist/core/codegen/schemas/set.js.map +1 -1
- package/dist/core/codegen/schemas/string.d.ts.map +1 -1
- package/dist/core/codegen/schemas/string.js +2 -2
- package/dist/core/codegen/schemas/string.js.map +1 -1
- package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -1
- package/dist/core/codegen/schemas/template-literal.js +9 -1
- package/dist/core/codegen/schemas/template-literal.js.map +1 -1
- package/dist/core/codegen/schemas/tuple.d.ts.map +1 -1
- package/dist/core/codegen/schemas/tuple.js +4 -3
- package/dist/core/codegen/schemas/tuple.js.map +1 -1
- package/dist/core/codegen/well-known-regex.d.ts +22 -4
- package/dist/core/codegen/well-known-regex.d.ts.map +1 -1
- package/dist/core/codegen/well-known-regex.js +27 -5
- package/dist/core/codegen/well-known-regex.js.map +1 -1
- package/dist/core/extract/extractors/object.d.ts.map +1 -1
- package/dist/core/extract/extractors/object.js +11 -5
- package/dist/core/extract/extractors/object.js.map +1 -1
- package/dist/core/extract/index.d.ts +3 -3
- package/dist/core/extract/index.d.ts.map +1 -1
- package/dist/core/extract/index.js +2 -2
- package/dist/core/extract/index.js.map +1 -1
- package/dist/core/extract/registry.d.ts +2 -2
- package/dist/core/extract/registry.d.ts.map +1 -1
- package/dist/core/extract/registry.js +4 -5
- package/dist/core/extract/registry.js.map +1 -1
- package/dist/core/extract/types.d.ts +0 -11
- package/dist/core/extract/types.d.ts.map +1 -1
- package/dist/core/iife.d.ts.map +1 -1
- package/dist/core/iife.js +3 -2
- package/dist/core/iife.js.map +1 -1
- package/dist/core/pipeline.d.ts +0 -2
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +1 -3
- package/dist/core/pipeline.js.map +1 -1
- package/dist/swc.d.ts.map +1 -1
- package/dist/swc.js +0 -1
- package/dist/swc.js.map +1 -1
- package/dist/unplugin/hoist-compile.d.ts +1 -1
- package/dist/unplugin/hoist-compile.d.ts.map +1 -1
- package/dist/unplugin/hoist-compile.js +4 -4
- package/dist/unplugin/hoist-compile.js.map +1 -1
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +0 -3
- package/dist/unplugin/index.js.map +1 -1
- package/dist/unplugin/transform.d.ts.map +1 -1
- package/dist/unplugin/transform.js +1 -2
- package/dist/unplugin/transform.js.map +1 -1
- package/dist/unplugin/types.d.ts +0 -23
- package/dist/unplugin/types.d.ts.map +1 -1
- package/dist/unplugin/types.js.map +1 -1
- package/dist/unplugin/virtual.d.ts.map +1 -1
- package/dist/unplugin/virtual.js +11 -7
- package/dist/unplugin/virtual.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded-repeat unrolling for `.test()` regexes.
|
|
3
|
+
*
|
|
4
|
+
* V8's irregexp compiles a counted quantifier (`[0-9a-fA-F]{12}`) into a
|
|
5
|
+
* backtrack-capable loop carrying a counter register, but compiles the same
|
|
6
|
+
* atom written out (`[0-9a-fA-F][0-9a-fA-F]…`) into straight-line matching
|
|
7
|
+
* code. Rewriting one into the other is purely structural — the language the
|
|
8
|
+
* pattern accepts is unchanged — and is worth a lot on exactly the string
|
|
9
|
+
* formats everyday schemas lean on:
|
|
10
|
+
*
|
|
11
|
+
* z.uuid() 3.1x z.guid() 3.4x z.ksuid() 2.7x
|
|
12
|
+
* z.xid() 2.2x z.ulid() 2.1x z.base64() 2.1x
|
|
13
|
+
* z.nanoid() 1.9x z.e164() 1.5x z.iso.date() 1.3x
|
|
14
|
+
*
|
|
15
|
+
* Measured on V8 13.x (node 24). The win starts at `{4}` (1.28x) and grows
|
|
16
|
+
* with the count (2.7x at `{64}`); `{2}`/`{3}` are a wash, which is what
|
|
17
|
+
* {@link MIN_REPEAT} encodes.
|
|
18
|
+
*
|
|
19
|
+
* The rewrite applies only to quantifiers whose atom is a SINGLE CHARACTER
|
|
20
|
+
* matcher — a character class, an escape, or a literal character. A group's
|
|
21
|
+
* repeat is left alone: unrolling it would duplicate capture groups and
|
|
22
|
+
* renumber every backreference after it. Anything the scanner cannot account
|
|
23
|
+
* for exactly makes the whole transform bail (`null`), leaving the original
|
|
24
|
+
* pattern in place.
|
|
25
|
+
*
|
|
26
|
+
* Callers must keep reporting the ORIGINAL source in issues — the rewritten
|
|
27
|
+
* regex's `toString()` would otherwise leak into `pattern:` and diverge from
|
|
28
|
+
* zod. See `emitRegexSourceString`.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Smallest mandatory repeat count worth unrolling. Below this the counter loop
|
|
32
|
+
* and the straight-line form measure the same (0.97-1.00x), so leaving the
|
|
33
|
+
* pattern untouched keeps generated output smaller for no speed cost.
|
|
34
|
+
*/
|
|
35
|
+
const MIN_REPEAT = 4;
|
|
36
|
+
/**
|
|
37
|
+
* Largest repeat count unrolled. A `{500}` would expand to a pattern longer
|
|
38
|
+
* than anything it could save, so it keeps the counter loop.
|
|
39
|
+
*/
|
|
40
|
+
const MAX_REPEAT = 64;
|
|
41
|
+
/** Largest `max - min` optional tail expanded (`{6,14}` → 6 copies + 8 `?` copies). */
|
|
42
|
+
const MAX_OPTIONAL = 32;
|
|
43
|
+
/**
|
|
44
|
+
* Total characters the rewrite may add across a whole pattern. Once spent,
|
|
45
|
+
* later quantifiers are copied verbatim — the rewrite degrades gradually
|
|
46
|
+
* instead of failing, and emitted size stays bounded for hand-written patterns.
|
|
47
|
+
*/
|
|
48
|
+
const GROWTH_BUDGET = 2_048;
|
|
49
|
+
/** Characters that begin something other than a literal single-character atom. */
|
|
50
|
+
const NON_ATOM = new Set(["^", "$", "|", "(", ")", "*", "+", "?"]);
|
|
51
|
+
/**
|
|
52
|
+
* Rewrite bounded repeats of single-character atoms into explicit repetition.
|
|
53
|
+
* Returns `null` when nothing changed or the pattern could not be scanned
|
|
54
|
+
* exactly (in which case the caller keeps the original source).
|
|
55
|
+
*/
|
|
56
|
+
export function unrollRepeats(source) {
|
|
57
|
+
let out = "";
|
|
58
|
+
let index = 0;
|
|
59
|
+
/** Offset in `out` where the most recent atom starts, or -1 when the preceding construct is not a single-character atom. */
|
|
60
|
+
let atomOffset = -1;
|
|
61
|
+
let budget = GROWTH_BUDGET;
|
|
62
|
+
let changed = false;
|
|
63
|
+
while (index < source.length) {
|
|
64
|
+
const char = source[index];
|
|
65
|
+
if (char === "\\") {
|
|
66
|
+
const end = readEscape(source, index);
|
|
67
|
+
if (end === null)
|
|
68
|
+
return null;
|
|
69
|
+
atomOffset = out.length;
|
|
70
|
+
out += source.slice(index, end);
|
|
71
|
+
index = end;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (char === "[") {
|
|
75
|
+
const end = readClass(source, index);
|
|
76
|
+
if (end === null)
|
|
77
|
+
return null;
|
|
78
|
+
atomOffset = out.length;
|
|
79
|
+
out += source.slice(index, end);
|
|
80
|
+
index = end;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (char === "{") {
|
|
84
|
+
const quantifier = readQuantifier(source, index);
|
|
85
|
+
if (quantifier !== null) {
|
|
86
|
+
const expansion =
|
|
87
|
+
// A lazy quantifier (`{n,m}?`) prefers the shortest match; the
|
|
88
|
+
// unrolled form's `?` copies are greedy, so it is left alone.
|
|
89
|
+
source[quantifier.end] === "?" || atomOffset < 0
|
|
90
|
+
? null
|
|
91
|
+
: expand(out.slice(atomOffset), quantifier, budget);
|
|
92
|
+
if (expansion === null) {
|
|
93
|
+
out += source.slice(index, quantifier.end);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
budget -= expansion.length - (out.length - atomOffset);
|
|
97
|
+
out = out.slice(0, atomOffset) + expansion;
|
|
98
|
+
changed = true;
|
|
99
|
+
}
|
|
100
|
+
// A quantifier cannot itself be quantified, so whatever follows starts
|
|
101
|
+
// a fresh atom.
|
|
102
|
+
atomOffset = -1;
|
|
103
|
+
index = quantifier.end;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// Not a valid quantifier — an unescaped `{` is a literal in Annex B.
|
|
107
|
+
}
|
|
108
|
+
atomOffset = NON_ATOM.has(char) || isSurrogate(char) ? -1 : out.length;
|
|
109
|
+
out += char;
|
|
110
|
+
index += 1;
|
|
111
|
+
}
|
|
112
|
+
return changed ? out : null;
|
|
113
|
+
}
|
|
114
|
+
/** Repeated-atom form of `atom{min,max}`, or null when it is not worth (or safe to) expand. */
|
|
115
|
+
function expand(atom, { min, max }, budget) {
|
|
116
|
+
if (min < MIN_REPEAT || min > MAX_REPEAT)
|
|
117
|
+
return null;
|
|
118
|
+
const optional = max === Infinity ? 0 : max - min;
|
|
119
|
+
if (optional > MAX_OPTIONAL)
|
|
120
|
+
return null;
|
|
121
|
+
const mandatory = atom.repeat(min);
|
|
122
|
+
const tail = max === Infinity ? `${atom}*` : `${atom}?`.repeat(optional);
|
|
123
|
+
const expansion = mandatory + tail;
|
|
124
|
+
// `atom{min,max}` is being replaced by `expansion`; charge the difference.
|
|
125
|
+
if (expansion.length - atom.length > budget)
|
|
126
|
+
return null;
|
|
127
|
+
return expansion;
|
|
128
|
+
}
|
|
129
|
+
/** True for a lone UTF-16 surrogate code unit, which is never treated as its own atom. */
|
|
130
|
+
function isSurrogate(char) {
|
|
131
|
+
const code = char.charCodeAt(0);
|
|
132
|
+
return code >= 0xd8_00 && code <= 0xdf_ff;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* End offset (exclusive) of the escape sequence starting at `start`, or null
|
|
136
|
+
* when the sequence is not one whose extent is unambiguous.
|
|
137
|
+
*
|
|
138
|
+
* Everything here hinges on the caller only passing FLAG-LESS patterns, where
|
|
139
|
+
* Annex B's "identity escape" fallback makes several sequences mean something
|
|
140
|
+
* other than they would under `u`: `\p{L}` is the letter `p` followed by three
|
|
141
|
+
* literal characters, not a property escape, and `\uZZZZ` is `u` followed by
|
|
142
|
+
* four literal `Z`s. Consuming those as one atom would attach a following
|
|
143
|
+
* quantifier to the wrong character, so the well-formed fixed-width escapes
|
|
144
|
+
* are recognised exactly and every ambiguous form bails.
|
|
145
|
+
*/
|
|
146
|
+
function readEscape(source, start) {
|
|
147
|
+
const next = source[start + 1];
|
|
148
|
+
if (next === undefined)
|
|
149
|
+
return null;
|
|
150
|
+
// Property escapes and named backreferences read differently with and
|
|
151
|
+
// without the `u` flag — never worth resolving for the sake of a rewrite.
|
|
152
|
+
if (next === "p" || next === "P" || next === "k")
|
|
153
|
+
return null;
|
|
154
|
+
// `\12` may be backreference 12 or backreference 1 followed by a literal 2,
|
|
155
|
+
// depending on how many groups the pattern has.
|
|
156
|
+
if (next >= "0" && next <= "9") {
|
|
157
|
+
const after = source[start + 2];
|
|
158
|
+
return after !== undefined && after >= "0" && after <= "9" ? null : start + 2;
|
|
159
|
+
}
|
|
160
|
+
if (next === "u")
|
|
161
|
+
return fixedWidth(source, start, 4, isHexDigit);
|
|
162
|
+
if (next === "x")
|
|
163
|
+
return fixedWidth(source, start, 2, isHexDigit);
|
|
164
|
+
if (next === "c")
|
|
165
|
+
return fixedWidth(source, start, 1, isAsciiLetter);
|
|
166
|
+
// Character-class escapes (`\d`, `\w`, `\s`), control escapes (`\n`, `\t`)
|
|
167
|
+
// and identity escapes (`\.`, `\\`, `\{`) are all one character wide.
|
|
168
|
+
return start + 2;
|
|
169
|
+
}
|
|
170
|
+
/** End offset of `\<kind>` plus exactly `width` chars satisfying `valid`, or null. */
|
|
171
|
+
function fixedWidth(source, start, width, valid) {
|
|
172
|
+
const end = start + 2 + width;
|
|
173
|
+
if (end > source.length)
|
|
174
|
+
return null;
|
|
175
|
+
for (let index = start + 2; index < end; index++) {
|
|
176
|
+
if (!valid(source[index]))
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return end;
|
|
180
|
+
}
|
|
181
|
+
function isHexDigit(char) {
|
|
182
|
+
return /[0-9a-fA-F]/.test(char);
|
|
183
|
+
}
|
|
184
|
+
function isAsciiLetter(char) {
|
|
185
|
+
return /[a-zA-Z]/.test(char);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* End offset (exclusive) of the character class starting at `start`, or null
|
|
189
|
+
* when unterminated. The first unescaped `]` closes the class — `[]]` is an
|
|
190
|
+
* empty class followed by a literal `]`, not a class containing `]`.
|
|
191
|
+
*/
|
|
192
|
+
function readClass(source, start) {
|
|
193
|
+
let index = start + 1;
|
|
194
|
+
if (source[index] === "^")
|
|
195
|
+
index += 1;
|
|
196
|
+
while (index < source.length) {
|
|
197
|
+
const char = source[index];
|
|
198
|
+
if (char === "\\") {
|
|
199
|
+
const end = readEscape(source, index);
|
|
200
|
+
if (end === null)
|
|
201
|
+
return null;
|
|
202
|
+
index = end;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
// A `v`-mode nested class would need its own nesting rules; callers only
|
|
206
|
+
// pass flag-less patterns, where `[` inside a class is a literal.
|
|
207
|
+
if (char === "]")
|
|
208
|
+
return index + 1;
|
|
209
|
+
index += 1;
|
|
210
|
+
}
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Parse `{n}`, `{n,}` or `{n,m}` at `start`. Returns null when the braces do
|
|
215
|
+
* not form a quantifier, which Annex B treats as literal `{` characters.
|
|
216
|
+
*/
|
|
217
|
+
function readQuantifier(source, start) {
|
|
218
|
+
const close = source.indexOf("}", start);
|
|
219
|
+
if (close === -1)
|
|
220
|
+
return null;
|
|
221
|
+
const body = source.slice(start + 1, close);
|
|
222
|
+
const match = /^(\d+)(?:,(\d*))?$/.exec(body);
|
|
223
|
+
if (!match)
|
|
224
|
+
return null;
|
|
225
|
+
const min = Number(match[1]);
|
|
226
|
+
const max = match[2] === undefined ? min : match[2] === "" ? Infinity : Number(match[2]);
|
|
227
|
+
if (max < min)
|
|
228
|
+
return null;
|
|
229
|
+
return { end: close + 1, max, min };
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=regex-unroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-unroll.js","sourceRoot":"","sources":["../../../src/core/codegen/regex-unroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,uFAAuF;AACvF,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;;GAIG;AACH,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,kFAAkF;AAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,4HAA4H;IAC5H,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,MAAM,GAAG,aAAa,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAW,CAAC;QAErC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChC,KAAK,GAAG,GAAG,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChC,KAAK,GAAG,GAAG,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,SAAS;gBACb,+DAA+D;gBAC/D,8DAA8D;gBAC9D,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,UAAU,GAAG,CAAC;oBAC9C,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;oBACvD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;oBAC3C,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,uEAAuE;gBACvE,gBAAgB;gBAChB,UAAU,GAAG,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,qEAAqE;QACvE,CAAC;QAED,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACvE,GAAG,IAAI,IAAI,CAAC;QACZ,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,+FAA+F;AAC/F,SAAS,MAAM,CACb,IAAY,EACZ,EAAE,GAAG,EAAE,GAAG,EAAgC,EAC1C,MAAc;IAEd,IAAI,GAAG,GAAG,UAAU,IAAI,GAAG,GAAG,UAAU;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,QAAQ,GAAG,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IAClD,IAAI,QAAQ,GAAG,YAAY;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,2EAA2E;IAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0FAA0F;AAC1F,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEpC,sEAAsE;IACtE,0EAA0E;IAC1E,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAE9D,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAErE,2EAA2E;IAC3E,sEAAsE;IACtE,OAAO,KAAK,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,sFAAsF;AACtF,SAAS,UAAU,CACjB,MAAc,EACd,KAAa,EACb,KAAa,EACb,KAAgC;IAEhC,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAW,CAAC;YAAE,OAAO,IAAI,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,KAAa;IAC9C,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;QAAE,KAAK,IAAI,CAAC,CAAC;IACtC,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,KAAK,GAAG,GAAG,CAAC;YACZ,SAAS;QACX,CAAC;QACD,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GACP,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;IACzF,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYtD,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAyD9E;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA4ChE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkPriority, emitEffectCallable, extendPath, hasMutation } from "../context.js";
|
|
1
|
+
import { checkPriority, declareFastTemps, emitEffectCallable, extendPath, hasMutation, } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
|
|
4
4
|
import { refineCheck, superRefineCheck, superRefineFastTest } from "./effect.js";
|
|
@@ -77,12 +77,13 @@ export function fastArray(ir, g) {
|
|
|
77
77
|
// Element validation via preamble helper (avoids .every() closure allocation).
|
|
78
78
|
// Fresh scope: the helper is its own function, size-gated independently.
|
|
79
79
|
const elemVar = g.temp("ae");
|
|
80
|
-
const
|
|
80
|
+
const elemGen = g.scoped(elemVar);
|
|
81
|
+
const elemCheck = elemGen.visit(ir.element);
|
|
81
82
|
if (elemCheck === null)
|
|
82
83
|
return null;
|
|
83
84
|
if (elemCheck !== "true") {
|
|
84
85
|
const helperName = g.temp("af");
|
|
85
|
-
g.ctx.preamble.push(`function ${helperName}(a){for(var ${elemVar},i=0;i<a.length;i++){${elemVar}=a[i];if(!(${elemCheck})){return false;}}return true;}`);
|
|
86
|
+
g.ctx.preamble.push(`function ${helperName}(a){${declareFastTemps(elemGen.scope)}for(var ${elemVar},i=0;i<a.length;i++){${elemVar}=a[i];if(!(${elemCheck})){return false;}}return true;}`);
|
|
86
87
|
parts.push(`${helperName}(${x})`);
|
|
87
88
|
}
|
|
88
89
|
// Refine effect checks (appended last — run after cheap checks short-circuit)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAY7D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEpE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fastSentinelWrapper } from "../context.js";
|
|
1
2
|
import { emit } from "../emit.js";
|
|
2
3
|
export function slowDefault(ir, g) {
|
|
3
4
|
// For a defined value, zod runs the inner schema and returns its payload
|
|
@@ -13,9 +14,6 @@ export function slowDefault(ir, g) {
|
|
|
13
14
|
`;
|
|
14
15
|
}
|
|
15
16
|
export function fastDefault(ir, g) {
|
|
16
|
-
|
|
17
|
-
if (inner === null)
|
|
18
|
-
return null;
|
|
19
|
-
return `(${g.input}!==undefined&&(${inner}))`;
|
|
17
|
+
return fastSentinelWrapper(g, ir.inner, "!==undefined", "&&");
|
|
20
18
|
}
|
|
21
19
|
//# sourceMappingURL=default.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,OAAO,IAAI,CAAA;SACJ,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,QAAQ;;QAE5B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;GAEjF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,OAAO,IAAI,CAAA;SACJ,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,QAAQ;;QAE5B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;GAEjF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,OAAO,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYtD,+DAA+D;AAC/D,KAAK,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,EAC7C,CAAC,EAAE,OAAO,GACT,MAAM,CAsCR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,OAAO,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAC3B,MAAM,GAAG,IAAI,CAiDf;AAoCD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE1F;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAC3B;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CA2B9D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { emitConstant, escapeString, extendPath, hasMutation, literalToJs } from "../context.js";
|
|
1
|
+
import { declareFastTemps, emitConstant, escapeString, extendPath, hasMutation, literalToJs, } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType } from "../emit-issue.js";
|
|
4
4
|
export function slowDiscriminatedUnion(ir, g) {
|
|
@@ -71,7 +71,7 @@ export function emitFastDiscriminatedSwitch(g, discriminator, cases, options) {
|
|
|
71
71
|
return null;
|
|
72
72
|
caseStrs.push(`case ${literalToJs(value)}:return ${check};`);
|
|
73
73
|
}
|
|
74
|
-
g.ctx.preamble.push(`function ${helperName}(${helperParam}){switch(${helperParam}[${discKey}]){${caseStrs.join("")}default:return false;}}`);
|
|
74
|
+
g.ctx.preamble.push(`function ${helperName}(${helperParam}){${declareFastTemps(body.scope)}switch(${helperParam}[${discKey}]){${caseStrs.join("")}default:return false;}}`);
|
|
75
75
|
}
|
|
76
76
|
else {
|
|
77
77
|
// Dispatch through a string→ordinal table, then switch on the ordinal. V8
|
|
@@ -94,7 +94,7 @@ export function emitFastDiscriminatedSwitch(g, discriminator, cases, options) {
|
|
|
94
94
|
}
|
|
95
95
|
const tableVar = emitConstant(g.ctx, "dt", table.initializer);
|
|
96
96
|
const t = g.temp("dv");
|
|
97
|
-
g.ctx.preamble.push(`function ${helperName}(${helperParam}){var ${t}=${helperParam}[${discKey}];` +
|
|
97
|
+
g.ctx.preamble.push(`function ${helperName}(${helperParam}){${declareFastTemps(body.scope)}var ${t}=${helperParam}[${discKey}];` +
|
|
98
98
|
`switch(typeof ${t}==="string"?${tableVar}[${t}]:0){${caseStrs.join("")}default:return false;}}`);
|
|
99
99
|
}
|
|
100
100
|
return `typeof ${x}==="object"&&${x}!==null&&!Array.isArray(${x})&&${helperName}(${x})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { extendPath, hasMutation } from "../context.js";
|
|
1
|
+
import { declareFastTemps, extendPath, hasMutation } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType } from "../emit-issue.js";
|
|
4
4
|
export function slowMap(ir, g) {
|
|
@@ -41,7 +41,7 @@ export function fastMap(ir, g) {
|
|
|
41
41
|
if (keyCheck !== "true" || valCheck !== "true") {
|
|
42
42
|
const combined = [keyCheck, valCheck].filter((c) => c !== "true").join("&&");
|
|
43
43
|
const helperName = g.temp("mh");
|
|
44
|
-
g.ctx.preamble.push(`function ${helperName}(m){for(var ${entryVar} of m){if(!(${combined})){return false;}}return true;}`);
|
|
44
|
+
g.ctx.preamble.push(`function ${helperName}(m){${declareFastTemps(body.scope)}for(var ${entryVar} of m){if(!(${combined})){return false;}}return true;}`);
|
|
45
45
|
parts.push(`${helperName}(${x})`);
|
|
46
46
|
}
|
|
47
47
|
return parts.join("&&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/map.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/nullable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/nullable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAOpF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEtE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fastSentinelWrapper } from "../context.js";
|
|
1
2
|
import { emit } from "../emit.js";
|
|
2
3
|
export function slowNullable(ir, g) {
|
|
3
4
|
// Pass-through wrapper: forward the union abort flag (see slowOptional).
|
|
@@ -8,9 +9,6 @@ export function slowNullable(ir, g) {
|
|
|
8
9
|
`}\n`;
|
|
9
10
|
}
|
|
10
11
|
export function fastNullable(ir, g) {
|
|
11
|
-
|
|
12
|
-
if (inner === null)
|
|
13
|
-
return null;
|
|
14
|
-
return `(${g.input}===null||(${inner}))`;
|
|
12
|
+
return fastSentinelWrapper(g, ir.inner, "===null", "||");
|
|
15
13
|
}
|
|
16
14
|
//# sourceMappingURL=nullable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/nullable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,YAAY,CAAC,EAAmC,EAAE,CAAU;IAC1E,yEAAyE;IACzE,OAAO,GAAG,IAAI,CAAA;SACP,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;GAE9C,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,CAAU;IACrD,
|
|
1
|
+
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/nullable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,UAAU,YAAY,CAAC,EAAmC,EAAE,CAAU;IAC1E,yEAAyE;IACzE,OAAO,GAAG,IAAI,CAAA;SACP,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;GAE9C,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,CAAU;IACrD,OAAO,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgBtD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAkKhF;AAsFD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkBlE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { emitEffectCallable, escapeString, extendPath, extendStaticPath, hasMutation, keyMembershipTest, rejectsUndefined, } from "../context.js";
|
|
1
|
+
import { declareFastTemps, emitEffectCallable, escapeString, extendPath, extendStaticPath, hasMutation, keyMembershipTest, rejectsUndefined, } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType, unrecognizedKeys } from "../emit-issue.js";
|
|
4
4
|
import { orderByRuntimeCost } from "../fast-size.js";
|
|
@@ -210,13 +210,14 @@ function fastObjectBody(ir, g, skipKey) {
|
|
|
210
210
|
if (ir.catchall) {
|
|
211
211
|
const kv = g.temp("cak");
|
|
212
212
|
const vv = g.temp("cav");
|
|
213
|
-
const
|
|
213
|
+
const catchallGen = g.scoped(vv);
|
|
214
|
+
const valCheck = catchallGen.visit(ir.catchall, { input: vv });
|
|
214
215
|
if (valCheck === null)
|
|
215
216
|
return null;
|
|
216
217
|
if (valCheck !== "true") {
|
|
217
218
|
const fnName = g.temp("co");
|
|
218
219
|
const test = keyMembershipTest(g.ctx, Object.keys(ir.properties), kv);
|
|
219
|
-
g.ctx.preamble.push(`function ${fnName}(o){var ${kv},${vv};for(${kv} in o){if(!(${test})){${vv}=o[${kv}];if(!(${valCheck}))return false;}}return true;}`);
|
|
220
|
+
g.ctx.preamble.push(`function ${fnName}(o){${declareFastTemps(catchallGen.scope)}var ${kv},${vv};for(${kv} in o){if(!(${test})){${vv}=o[${kv}];if(!(${valCheck}))return false;}}return true;}`);
|
|
220
221
|
parts.push(`${fnName}(${x})`);
|
|
221
222
|
}
|
|
222
223
|
}
|
|
@@ -234,12 +235,12 @@ function fastObjectBody(ir, g, skipKey) {
|
|
|
234
235
|
return parts;
|
|
235
236
|
}
|
|
236
237
|
export function fastObject(ir, g) {
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
//
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
|
|
238
|
+
// A strip object still gets an expression. Stripping reshapes the OUTPUT, not
|
|
239
|
+
// the verdict, so this remains an exact acceptance predicate — which is what
|
|
240
|
+
// `.is()` installs, and what the build path reuses to validate the subtrees it
|
|
241
|
+
// passes through by reference. What it must NOT do is stand in for the parse
|
|
242
|
+
// result: generateValidator withholds the `data:input` shortcut whenever the
|
|
243
|
+
// schema rebuilds (see rebuildsOutput).
|
|
243
244
|
const x = g.input;
|
|
244
245
|
const body = fastObjectBody(ir, g, g.discSkipKey);
|
|
245
246
|
if (body === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/object.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,UAAU,UAAU,CAAC,EAAiC,EAAE,CAAU;IACtE,IAAI,IAAI,GAAG,IAAI,CAAA;gBACD,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC,KAAK;QACvE,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC;WACrB,CAAC;IAEV,4EAA4E;IAC5E,2EAA2E;IAC3E,8BAA8B;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,KAAK,IAAI,CAAC;IAC3C,MAAM,UAAU,GACd,KAAK;QACL,CAAC,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;IACtF,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,UAAU;QAAE,IAAI,IAAI,OAAO,UAAU,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC;IAEhE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAC5D,iFAAiF;IACjF,MAAM,KAAK,GAAyD,EAAE,CAAC;IAEvE,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,sEAAsE;QACtE,4EAA4E;QAC5E,0EAA0E;QAC1E,qEAAqE;QACrE,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,GAAG,CAAC;QAC/D,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxF,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,IAAI,CAAA;cACJ,SAAS,IAAI,CAAC,CAAC,MAAM;UACzB,QAAQ;eACH,MAAM,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,WAAW,SAAS;YAC1E,CAAC,CAAC,MAAM,WAAW,SAAS;UAC9B,CAAC;QACP,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,QAAQ,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,yEAAyE;QACzE,0EAA0E;QAC1E,kEAAkE;QAClE,2EAA2E;QAC3E,uEAAuE;QACvE,8CAA8C;QAC9C,EAAE;QACF,4EAA4E;QAC5E,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7C,SAAS;YACX,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,IAAI,IAAI,CAAC,MAAM;gBACpB,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG;gBAC5C,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;QAChH,CAAC;QACD,IAAI,IAAI,OAAO,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,mCAAmC;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,IAAI,CAAA;YACJ,KAAK;gBACD,IAAI,OAAO,CAAC,CAAC,KAAK;eACnB,IAAI,OAAO,KAAK,IAAI,KAAK,cAAc,IAAI;;WAE/C,KAAK;UACN,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC;QAC5B,CAAC;IACP,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,iDAAiD;IACjD,EAAE;IACF,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,IAAI,IAAI,CAAA;gBACA,IAAI,OAAO,CAAC,CAAC,KAAK;eACnB,IAAI;YACP,IAAI;YACJ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC;;QAEJ,CAAC;IACP,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,4CAA4C;IAC5C,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,CAAC,IAAI,KAAK,qBAAqB;oBAClC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACpC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,MAAM,CAAC,CAAC,MAAM,aAAa,UAAU,KAAK,OAAO,GAAG,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,EAAY,EAAE,CAAU;IACjD,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,EAAY,EAAE,CAAU,EAAE,OAAgB;IAChE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9C,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,iBAAiB;QACtD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CACjB,YAAY,MAAM,4BAA4B,IAAI,+BAA+B,CAClF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CACjB,YAAY,MAAM,OAAO,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,QAAQ,gCAAgC,CAC3K,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAY,EAAE,CAAU;IACjD,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/optional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/optional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAmBtD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAcpF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOtE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fastSentinelWrapper } from "../context.js";
|
|
1
2
|
import { emit } from "../emit.js";
|
|
2
3
|
/**
|
|
3
4
|
* Zod's `.optional()` short-circuits `undefined → undefined`, EXCEPT when its
|
|
@@ -30,15 +31,12 @@ export function slowOptional(ir, g) {
|
|
|
30
31
|
`}\n`;
|
|
31
32
|
}
|
|
32
33
|
export function fastOptional(ir, g) {
|
|
33
|
-
const inner = g.visit(ir.inner);
|
|
34
|
-
if (inner === null)
|
|
35
|
-
return null;
|
|
36
34
|
// Same rule as the slow path: an inner default needs undefined to reach it, so
|
|
37
35
|
// drop the `===undefined` shortcut (which would let safeParse return the raw
|
|
38
36
|
// undefined before the eager slow path applies the default). The inner
|
|
39
37
|
// fast-default expr already returns false on undefined, routing to the slow path.
|
|
40
38
|
if (innerAppliesDefaultOnUndefined(ir.inner))
|
|
41
|
-
return inner;
|
|
42
|
-
return
|
|
39
|
+
return g.visit(ir.inner);
|
|
40
|
+
return fastSentinelWrapper(g, ir.inner, "===undefined", "||");
|
|
43
41
|
}
|
|
44
42
|
//# sourceMappingURL=optional.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/optional.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;;;;GAQG;AACH,SAAS,8BAA8B,CAAC,EAAY;IAClD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3E,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAmC,EAAE,CAAU;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,8BAA8B,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,IAAI,CAAA;SACP,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;;GAE3B,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,CAAU;IACrD
|
|
1
|
+
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/optional.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;;;;GAQG;AACH,SAAS,8BAA8B,CAAC,EAAY;IAClD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3E,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAmC,EAAE,CAAU;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,8BAA8B,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,IAAI,CAAA;SACP,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;;GAE3B,IAAI,CAAC;AACR,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,CAAU;IACrD,+EAA+E;IAC/E,6EAA6E;IAC7E,uEAAuE;IACvE,kFAAkF;IAClF,IAAI,8BAA8B,CAAC,EAAE,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { emitRuntimeHelper, extendPath, hasMutation } from "../context.js";
|
|
1
|
+
import { declareFastTemps, emitRuntimeHelper, extendPath, hasMutation } from "../context.js";
|
|
2
2
|
import { emit } from "../emit.js";
|
|
3
3
|
import { invalidType } from "../emit-issue.js";
|
|
4
4
|
import { ZC_HOP_DECL } from "../issue-decls.js";
|
|
@@ -69,7 +69,7 @@ export function fastRecord(ir, g) {
|
|
|
69
69
|
// (5 keys) to 5.8x (20 keys) faster than the Object.keys form; the hoisted
|
|
70
70
|
// __zcHop.call inlines, making the guard ~free vs an unguarded for-in.
|
|
71
71
|
const hop = emitRuntimeHelper(g.ctx, "__zcHop", ZC_HOP_DECL);
|
|
72
|
-
g.ctx.preamble.push(`function ${helperName}(o){var ${kv},${vv};for(${kv} in o){if(${hop}.call(o,${kv})){${valAssign}if(!(${conditions.join("&&")})){return false;}}}return true;}`);
|
|
72
|
+
g.ctx.preamble.push(`function ${helperName}(o){${declareFastTemps(body.scope)}var ${kv},${vv};for(${kv} in o){if(${hop}.call(o,${kv})){${valAssign}if(!(${conditions.join("&&")})){return false;}}}return true;}`);
|
|
73
73
|
parts.push(`${helperName}(${x})`);
|
|
74
74
|
}
|
|
75
75
|
return parts.join("&&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/record.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/record.ts"],"names":[],"mappings":"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"}
|