@cbortech/cbor 0.26.8 → 0.27.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.
Files changed (60) hide show
  1. package/README.ja.md +193 -28
  2. package/README.md +196 -29
  3. package/dist/ast/CborAppSeqResult.d.ts +58 -3
  4. package/dist/ast/CborArray.d.ts +2 -2
  5. package/dist/ast/CborByteString.d.ts +17 -1
  6. package/dist/ast/CborEmbeddedCBOR.d.ts +2 -2
  7. package/dist/ast/CborFloat.d.ts +2 -2
  8. package/dist/ast/CborIndefiniteByteString.d.ts +25 -1
  9. package/dist/ast/CborIndefiniteTextString.d.ts +17 -1
  10. package/dist/ast/CborItem.d.ts +340 -10
  11. package/dist/ast/CborMap.d.ts +2 -2
  12. package/dist/ast/CborNint.d.ts +1 -1
  13. package/dist/ast/CborTag.d.ts +30 -3
  14. package/dist/ast/CborTextString.d.ts +3 -2
  15. package/dist/ast/CborUint.d.ts +1 -1
  16. package/dist/ast/CborUnresolvedAppExt.d.ts +2 -2
  17. package/dist/ast/index.cjs +1 -1
  18. package/dist/ast/index.js +2 -2
  19. package/dist/cddl/index.cjs +1 -1
  20. package/dist/cddl/index.js +1 -1
  21. package/dist/cdn/index.cjs +2 -2
  22. package/dist/cdn/index.cjs.map +1 -1
  23. package/dist/cdn/index.js +18 -18
  24. package/dist/cdn/index.js.map +1 -1
  25. package/dist/cdn/serialize-utils.d.ts +237 -10
  26. package/dist/cdn/tokenizer.d.ts +12 -11
  27. package/dist/extensions/builtins.d.ts +5 -5
  28. package/dist/extensions/cri.d.ts +4 -4
  29. package/dist/extensions/dt.d.ts +4 -4
  30. package/dist/extensions/ip.d.ts +4 -4
  31. package/dist/extensions/types.d.ts +44 -5
  32. package/dist/index.cjs +3 -3
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +158 -158
  36. package/dist/index.js.map +1 -1
  37. package/dist/{mapEntries-Ci_dppP6.js → mapEntries-CCLaJSaJ.js} +1599 -1275
  38. package/dist/mapEntries-CCLaJSaJ.js.map +1 -0
  39. package/dist/mapEntries-CZZJScaj.cjs +13 -0
  40. package/dist/mapEntries-CZZJScaj.cjs.map +1 -0
  41. package/dist/{schema-y8G5mDIS.js → schema-DN9inJny.js} +294 -294
  42. package/dist/{schema-y8G5mDIS.js.map → schema-DN9inJny.js.map} +1 -1
  43. package/dist/schema-zsg5yCPK.cjs +63 -0
  44. package/dist/{schema-DgnkH0P6.cjs.map → schema-zsg5yCPK.cjs.map} +1 -1
  45. package/dist/serialize-utils-DhlW61ZX.cjs +37 -0
  46. package/dist/serialize-utils-DhlW61ZX.cjs.map +1 -0
  47. package/dist/{tokenizer-N-vAvRdj.js → serialize-utils-h-CVB9rg.js} +636 -358
  48. package/dist/serialize-utils-h-CVB9rg.js.map +1 -0
  49. package/dist/types.d.ts +508 -58
  50. package/dist/utils/base64.d.ts +1 -1
  51. package/dist/utils/hexfloat.d.ts +11 -3
  52. package/dist/utils/strip-comments.d.ts +1 -1
  53. package/package.json +13 -12
  54. package/dist/mapEntries-BJzyBUH5.cjs +0 -13
  55. package/dist/mapEntries-BJzyBUH5.cjs.map +0 -1
  56. package/dist/mapEntries-Ci_dppP6.js.map +0 -1
  57. package/dist/schema-DgnkH0P6.cjs +0 -63
  58. package/dist/tokenizer-BD08xbyd.cjs +0 -36
  59. package/dist/tokenizer-BD08xbyd.cjs.map +0 -1
  60. package/dist/tokenizer-N-vAvRdj.js.map +0 -1
@@ -41,344 +41,47 @@ function u(e) {
41
41
  return t;
42
42
  }
43
43
  //#endregion
44
- //#region src/cdn/serialize-utils.ts
45
- function d(e) {
46
- let t = e?.indent;
47
- if (t === void 0) return null;
48
- let n = typeof t == "number" ? " ".repeat(t) : t;
49
- return n === "" ? null : n;
50
- }
51
- function f(e, t) {
52
- return e.repeat(t);
53
- }
54
- function p(e, t, n, r) {
55
- if (t === null) return e.join(" + ");
56
- let i = f(t, n + 1), a = e[0];
57
- for (let t = 1; t < e.length; t++) {
58
- a += " +\n";
59
- for (let e of r?.[t - 1] ?? []) a += `${i}${e}\n`;
60
- a += i + e[t];
44
+ //#region src/utils/base64.ts
45
+ function d(e, t) {
46
+ let n = e.indexOf("="), r = n >= 0 ? e.slice(0, n) : e, i = n >= 0 ? e.slice(n) : "";
47
+ if (/[^A-Za-z0-9+/\-_]/.test(r)) {
48
+ let e = [...r].find((e) => !/[A-Za-z0-9+/\-_]/.test(e)) ?? "";
49
+ throw SyntaxError(`invalid character ${JSON.stringify(e)} in base64 data`);
61
50
  }
62
- return a;
63
- }
64
- function m(e) {
65
- return !!(e.comments?.leading?.length || e.comments?.trailing?.length || e.comments?.dangling?.length);
66
- }
67
- function h(e) {
68
- return !!e.comments?.dangling?.length;
69
- }
70
- function g(e, t) {
71
- if (!t) return e.text;
72
- let { marker: n, text: r } = e;
73
- if (t === "c-style") return n === "#" ? "//" + r.slice(1) : n === "/" ? "/*" + r.slice(1, -1) + "*/" : r;
74
- if (n === "//") return "#" + r.slice(2);
75
- if (n === "/*") {
76
- let e = r.slice(2, -2);
77
- return e.includes("/") ? r : "/" + (e.startsWith("*") || e.startsWith("/") ? " " + e : e) + "/";
51
+ if (i && !/^=+$/.test(i)) throw SyntaxError("invalid character after base64 '=' padding");
52
+ let a = r.length % 4;
53
+ if (a === 1) throw SyntaxError(`invalid base64 length: ${r.length} data characters (length mod 4 = 1 is never valid)`);
54
+ let o = a === 0 ? 0 : 4 - a;
55
+ if (i.length > o) {
56
+ let e = `base64 has ${i.length} '=' character${i.length > 1 ? "s" : ""} but the data length (${r.length}) requires at most ${o}`;
57
+ if (t) t(e);
58
+ else throw SyntaxError(e);
78
59
  }
79
- return r;
80
- }
81
- function _(e, t, n) {
82
- if (!e || e.length === 0 || !t || t.length < 2) return;
83
- let r = t.slice(1).map(() => []), i = !1;
84
- for (let a of e) for (let e = 0; e < t.length - 1; e++) {
85
- let o = t[e].end, s = t[e + 1].start;
86
- if (o !== void 0 && s !== void 0 && a.start >= o && a.end <= s) {
87
- r[e].push(g(a, n)), i = !0;
88
- break;
89
- }
60
+ if (i.length > 0 && i.length < o) {
61
+ let e = `base64 has ${i.length} '=' character${i.length > 1 ? "s" : ""} but needs exactly ${o} — use full padding or no padding at all`;
62
+ if (t) t(e);
63
+ else throw SyntaxError(e);
90
64
  }
91
- return i ? r : void 0;
92
- }
93
- function v(e, t, n) {
94
- let r = e.comments?.leading ?? [], i = r.length;
95
- for (; i > 0 && r[i - 1].sameLine;) i--;
96
- return {
97
- ownLines: r.slice(0, i).map((e) => t + g(e, n)),
98
- inlinePrefix: r.slice(i).map((e) => g(e, n) + " ").join("")
99
- };
100
- }
101
- function y(e, t) {
102
- let n = e.comments?.trailing ?? [];
103
- return n.length === 0 ? "" : " " + n.map((e) => g(e, t)).join(" ");
104
- }
105
- function b(e, t, n) {
106
- return (e.comments?.dangling ?? []).map((e) => t + g(e, n));
107
- }
108
- function x(e, t = !1) {
109
- let n = e?.commas ?? "comma", r = n !== "none";
110
- return {
111
- inlineSep: r ? t ? "," : ", " : " ",
112
- multilineSep: r ? "," : "",
113
- trailSep: n === "trailing" ? "," : "",
114
- colSep: t ? ":" : ": "
115
- };
116
- }
117
- function S(e) {
118
- let { options: t, depth: n, openChar: r, closeChar: i, count: a } = e, o = d(t), s = t?.preserveComments, c = typeof s == "string" ? s : void 0, l = o !== null && s && (h(e.node) || e.hasEntryComments()), u = o !== null && !!t?.preserveBlankLines, p = !1;
119
- if (u) {
120
- for (let t = 0; t < a; t++) if (e.entryLeadingNode(t).blankLineBefore) {
121
- p = !0;
122
- break;
65
+ if (a !== 0 && r.length > 0) {
66
+ let e = r[r.length - 1].replace("-", "+").replace("_", "/"), n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e);
67
+ if (n >= 0 && n & (a === 2 ? 15 : 3)) {
68
+ let e = "base64 has non-zero trailing bits in the final quantum (RFC 4648 §3.5)";
69
+ if (t) t(e);
70
+ else throw SyntaxError(e);
123
71
  }
124
72
  }
125
- let { inlineSep: m, multilineSep: g, trailSep: _, colSep: y } = x(t, o === null), S = e.eiPosition ?? "open", C = e.indefiniteLength ? "" : G(t, e.encodingWidth, () => W(e.canonicalCount ? e.canonicalCount() : BigInt(a))), w = S === "open" && C ? C + " " : "", T = S === "close" ? C : "", E = e.indefiniteLength && (t?.encodingIndicators ?? "auto") !== "never", D = (t) => e.indefiniteLength ? E ? a === 0 ? `${r}_ ${i}` : `${r}_ ${t}${i}` : `${r}${t}${i}` : `${r}${w}${t}${i}${T}`;
126
- if (o === null || a === 0 && !l) {
127
- let t = "";
128
- for (let n = 0; n < a; n++) n > 0 && (t += m), t += e.renderEntry(n, y);
129
- return D(t);
130
- }
131
- let O = null;
132
- if (t?.inlineLeafContainers && a > 0 && !l && !p) {
133
- let t = [], n = !0;
134
- for (let r = 0; r < a; r++) {
135
- if (e.entryIsLeaf && !e.entryIsLeaf(r)) {
136
- n = !1;
137
- break;
138
- }
139
- let i = e.renderEntry(r, y);
140
- if (t.push(i), i.includes("\n")) {
141
- n = !1;
142
- break;
143
- }
144
- }
145
- if (n) return D(t.join(m));
146
- O = t;
147
- }
148
- let k = f(o, n + 1), A = f(o, n), j = e.indefiniteLength ? E ? `${r}_ ` : r : `${r}${w}`, M = [];
149
- for (let t = 0; t < a; t++) {
150
- u && e.entryLeadingNode(t).blankLineBefore && M.push("");
151
- let n = "";
152
- if (s) {
153
- let { ownLines: r, inlinePrefix: i } = v(e.entryLeadingNode(t), k, c);
154
- M.push(...r), n = i;
155
- }
156
- let r = t < a - 1 ? g : _, i = O?.[t] ?? e.renderEntry(t, y);
157
- M.push(`${k}${n}${i}${r}${s ? e.entryTrailing(t, c) : ""}`);
158
- }
159
- return s && M.push(...b(e.node, k, c)), `${j}\n${M.join("\n")}\n${A}${i}${T}`;
160
- }
161
- function C(e, t, n, r, i, a, o) {
162
- let s = d(n), c = n?.preserveComments;
163
- if (!(s !== null && c && (m(e) || h(t)))) return `${a}${i(r)}${o}`;
164
- let l = typeof c == "string" ? c : void 0, u = f(s, r + 1), p = f(s, r), { ownLines: g, inlinePrefix: _ } = v(e, u, l);
165
- return `${a}\n${[
166
- ...g,
167
- `${u}${_}${i(r + 1)}${y(e, l)}`,
168
- ...b(t, u, l)
169
- ].join("\n")}\n${p}${o}`;
170
- }
171
- var w = typeof (/* @__PURE__ */ new Uint8Array()).toBase64 == "function";
172
- function T(e) {
173
- if (w) return e.toBase64({ omitPadding: !0 });
174
- let t = "";
175
- for (let n of e) t += String.fromCharCode(n);
176
- return btoa(t).replace(/=/g, "");
177
- }
178
- function E(e) {
179
- if (w) return e.toBase64({
180
- alphabet: "base64url",
181
- omitPadding: !0
73
+ let s = r.replace(/-/g, "+").replace(/_/g, "/") + "=".repeat(o);
74
+ if (typeof Uint8Array.fromBase64 == "function") return Uint8Array.fromBase64(s, {
75
+ alphabet: "base64",
76
+ lastChunkHandling: "loose"
182
77
  });
183
- let t = "";
184
- for (let n of e) t += String.fromCharCode(n);
185
- return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
186
- }
187
- var D = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", O = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
188
- function k(e, t) {
189
- let n = "", r = 0, i = 0;
190
- for (let a of e) for (r = r << 8 | a, i += 8; i >= 5;) i -= 5, n += t[r >> i & 31];
191
- return i > 0 && (n += t[r << 5 - i & 31]), n;
192
- }
193
- function A(e) {
194
- for (let t of e) {
195
- let e = t.codePointAt(0);
196
- if (e < 32 || e === 127) return !0;
197
- }
198
- return !1;
199
- }
200
- function j(e, t, n) {
201
- if (n === "string") {
202
- let t = I(e);
203
- if (t != null) return z(t);
204
- }
205
- if (n === "printable-string" || n === void 0) {
206
- let t = I(e);
207
- if (t != null && !A(t)) return z(t);
208
- }
209
- switch (t) {
210
- case "base64": return `b64'${T(e)}'`;
211
- case "base64url": return `b64'${E(e)}'`;
212
- case "base32": return `b32'${k(e, D)}'`;
213
- case "base32hex": return `h32'${k(e, O)}'`;
214
- default: return `h'${o(e)}'`;
215
- }
216
- }
217
- function M(e, t) {
218
- let n = 0;
219
- for (; n < e.length && e[n] !== "'" && e[n] !== "`";) n++;
220
- if (n >= e.length) return e;
221
- let r = e[n], i = e.lastIndexOf(r);
222
- if (i <= n) return e;
223
- let a = e.slice(n + 1, i), o = t === "hash-only" ? N(a) : P(a);
224
- return e.slice(0, n + 1) + o + e.slice(i);
225
- }
226
- function N(e) {
227
- let t = "", n = 0;
228
- for (; n < e.length;) {
229
- if (e[n] === "#") {
230
- for (; n < e.length && e[n] !== "\n";) n += e[n] === "\\" && n + 1 < e.length ? 2 : 1;
231
- continue;
232
- }
233
- t += e[n], n++;
234
- }
235
- return t;
236
- }
237
- function P(e) {
238
- let t = "", n = 0;
239
- for (; n < e.length;) {
240
- let r = e[n], i = e[n + 1];
241
- if (r === "#" || r === "/" && i === "/") {
242
- for (n += r === "#" ? 1 : 2; n < e.length && e[n] !== "\n";) n += e[n] === "\\" && n + 1 < e.length ? 2 : 1;
243
- continue;
244
- }
245
- if (r === "/" && i === "*") {
246
- let t = e.indexOf("*/", n + 2);
247
- n = t === -1 ? e.length : t + 2;
248
- continue;
249
- }
250
- if (r === "/") {
251
- let t = n + 1;
252
- for (; t < e.length && e[t] !== "/";) t += e[t] === "\\" && t + 1 < e.length ? 2 : 1;
253
- n = t < e.length ? t + 1 : e.length;
254
- continue;
255
- }
256
- t += r, n++;
257
- }
258
- return t;
259
- }
260
- var F = new TextDecoder("utf-8", { fatal: !0 });
261
- function I(e) {
262
- try {
263
- return F.decode(e);
264
- } catch {
265
- return null;
266
- }
267
- }
268
- function L(e, t) {
269
- for (let n = 0; n < e.length; n++) {
270
- let r = e.charCodeAt(n);
271
- if (r === t || r === 92 || r < 32 || r === 127 || r >= 8192 && (r === 8232 || r === 8233 || r >= 8203 && r <= 8205 || r === 65279)) return !0;
272
- }
273
- return !1;
274
- }
275
- function R(e, t) {
276
- let n = t.codePointAt(0);
277
- if (!L(e, n)) return t + e + t;
278
- let r = t;
279
- for (let i of e) {
280
- let e = i.codePointAt(0);
281
- switch (e) {
282
- case n:
283
- r += `\\${t}`;
284
- break;
285
- case 92:
286
- r += "\\\\";
287
- break;
288
- case 10:
289
- r += "\\n";
290
- break;
291
- case 13:
292
- r += "\\r";
293
- break;
294
- case 9:
295
- r += "\\t";
296
- break;
297
- default: e < 32 || e === 127 || e === 8232 || e === 8233 || e === 8203 || e === 8204 || e === 8205 || e === 65279 ? r += `\\u${e.toString(16).padStart(4, "0")}` : r += i;
298
- }
299
- }
300
- return r + t;
301
- }
302
- function z(e) {
303
- return R(e, "'");
304
- }
305
- function B(e) {
306
- return R(e, "'");
307
- }
308
- function V(e) {
309
- return R(e, "\"");
310
- }
311
- function H(e) {
312
- if (isNaN(e)) return "NaN";
313
- if (!isFinite(e)) return e > 0 ? "Infinity" : "-Infinity";
314
- if (Object.is(e, -0)) return "-0.0";
315
- let t = e.toString();
316
- return t.includes(".") || t.includes("e") ? t : t + ".0";
317
- }
318
- function U(e, t, n, r) {
319
- if (r === "never") return "";
320
- let i = t ?? n;
321
- return r === "always" ? i === "half" ? "_1" : i === "single" ? "_2" : "_3" : t === void 0 || t === n ? "" : t === "half" ? "_1" : t === "single" ? "_2" : "_3";
322
- }
323
- function W(e) {
324
- return e <= 23n ? "i" : e <= 255n ? 0 : e <= 65535n ? 1 : e <= 4294967295n ? 2 : 3;
325
- }
326
- function G(e, t, n) {
327
- let r = e?.encodingIndicators ?? "auto";
328
- return r === "never" ? "" : r === "always" ? `_${t ?? n()}` : t === void 0 ? "" : `_${t}`;
329
- }
330
- function K(e, t, n, r, i) {
331
- if (!e?.preserveAppSequence || t === void 0 || d(e) === null && /[\r\n]/.test(t)) return "normal";
332
- if (n === void 0) return r?.byteString && e?.preserveByteString === !1 || r?.textString && e?.preserveTextString === !1 || r?.rawString && e?.preserveRawString === !1 || r?.concatenation && e?.preserveConcatenation === !1 ? "normal" : "adjusted";
333
- let a = e?.preserveComments === !1 || typeof e?.preserveComments == "string" || e?.preserveComments === !0 && d(e) === null, o = e?.encodingIndicators ?? "auto";
334
- return e?.preserveNumberFormat === !1 || r?.byteString && e?.preserveByteString === !1 || r?.textString && e?.preserveTextString === !1 || r?.rawString && e?.preserveRawString === !1 || r?.concatenation && e?.preserveConcatenation === !1 || o !== "auto" && i === !1 ? "structural" : o !== "auto" || a ? "source" : "verbatim";
335
- }
336
- function q(e, t, n) {
337
- let r = t > 0 ? e[t - 1] : "", i = n < e.length ? e[n] : "", a = (e) => e !== "" && !/[\s,]/.test(e);
338
- return a(r) && a(i) ? " " : "";
339
- }
340
- function J(e, t, n, r) {
341
- let i = t?.preserveComments;
342
- if (i === void 0 || !n?.length) return e;
343
- let a = i === !1 || d(t) === null, o = typeof i == "string" ? i : void 0, s = e, c = [...n].sort((e, t) => t.start - e.start);
344
- for (let e of c) {
345
- let t = r !== void 0 && e.start >= r ? -2 : 0, n = e.start + t, i = e.end + t, c = a ? q(s, n, i) : g(e, o);
346
- s = s.slice(0, n) + c + s.slice(i);
347
- }
348
- return s;
349
- }
350
- function Y(e, t, n, r) {
351
- let i = [], a = t?.preserveComments;
352
- if (a !== void 0 && n?.length) {
353
- let r = a === !1 || d(t) === null, o = typeof a == "string" ? a : void 0;
354
- for (let t of n) i.push({
355
- start: t.start,
356
- end: t.end,
357
- replacement: r ? q(e, t.start, t.end) : g(t, o)
358
- });
359
- }
360
- let o = t?.encodingIndicators ?? "auto";
361
- if (o !== "auto" && r) for (let e of r) i.push({
362
- start: e.start,
363
- end: e.end,
364
- replacement: o === "always" ? e.always : e.never
365
- });
366
- i.sort((e, t) => t.start - e.start || t.end - e.end);
367
- let s = e;
368
- for (let e of i) s = s.slice(0, e.start) + e.replacement + s.slice(e.end);
369
- return s;
370
- }
371
- function X(e, t, n, r, i) {
372
- let a = e, o;
373
- if ((n?.encodingIndicators ?? "auto") === "never" && r !== void 0) {
374
- let e = a.slice(0, r);
375
- /_[0-3i]$/.test(e) && (o = r - 2, a = e.slice(0, -2) + a.slice(r));
376
- }
377
- return a = J(a, n, i, o), a.replace(/_[0-3i]$/, "") + t;
78
+ let c = atob(s), l = new Uint8Array(c.length);
79
+ for (let e = 0; e < c.length; e++) l[e] = c.charCodeAt(e);
80
+ return l;
378
81
  }
379
82
  //#endregion
380
83
  //#region src/cdn/tokenizer.ts
381
- function Z(e, t, n) {
84
+ function f(e, t, n) {
382
85
  let r = 1, i = 1;
383
86
  for (let a = 0; a < e.length; a++) {
384
87
  if (r === t && i === n) return a;
@@ -386,7 +89,7 @@ function Z(e, t, n) {
386
89
  }
387
90
  return e.length;
388
91
  }
389
- function Q(e, t) {
92
+ function p(e, t) {
390
93
  let n = 1, r = 1;
391
94
  for (let i = 0; i < t; i++) e[i] === "\n" ? (n++, r = 1) : r++;
392
95
  return {
@@ -394,10 +97,10 @@ function Q(e, t) {
394
97
  col: r
395
98
  };
396
99
  }
397
- function $(e) {
100
+ function m(e) {
398
101
  return e >= 48 && e <= 57 || e >= 97 && e <= 102 || e >= 65 && e <= 70;
399
102
  }
400
- var ee = new TextEncoder(), te = class {
103
+ var h = new TextEncoder(), g = class {
401
104
  input;
402
105
  pos;
403
106
  line;
@@ -411,7 +114,7 @@ var ee = new TextEncoder(), te = class {
411
114
  this.input = e;
412
115
  let n = t?.offset ?? 0;
413
116
  if (this.skipRS = t?.skipRS ?? !1, !Number.isInteger(n) || n < 0 || n > e.length) throw RangeError(`EDN parse offset must be an integer between 0 and ${e.length}`);
414
- let r = Q(e, n);
117
+ let r = p(e, n);
415
118
  this.pos = n, this.line = r.line, this.col = r.col, this._lastConsumedEndOffset = n;
416
119
  }
417
120
  peek() {
@@ -438,7 +141,7 @@ var ee = new TextEncoder(), te = class {
438
141
  return e === "\n" ? (this.line++, this.col = 1) : this.col++, e;
439
142
  }
440
143
  _fail(t, n = this.line, r = this.col) {
441
- let i = n === this.line && r === this.col ? this.pos : Z(this.input, n, r);
144
+ let i = n === this.line && r === this.col ? this.pos : f(this.input, n, r);
442
145
  throw new e(t, {
443
146
  offset: i,
444
147
  line: n,
@@ -679,7 +382,7 @@ var ee = new TextEncoder(), te = class {
679
382
  break;
680
383
  }
681
384
  if (a === "/") {
682
- e === "'" && this._fail("\\/ is not a valid escape in single-quoted byte strings (§5.1)", n, i), r += "/";
385
+ e === "'" && this._fail("\\/ is not a valid escape in single-quoted byte strings (§6.1)", n, i), r += "/";
683
386
  break;
684
387
  }
685
388
  if (this.onEscapeWarning) {
@@ -718,7 +421,7 @@ var ee = new TextEncoder(), te = class {
718
421
  _readUnicodeEscape(e, t, n, r) {
719
422
  let i = this.line, a = this.col, o = (o) => {
720
423
  if (e === "'" && o >= 32 && o <= 126) {
721
- let e = `\\u escape for printable ASCII U+${o.toString(16).padStart(4, "0").toUpperCase()} is not allowed in single-quoted strings (§5.1 hexchar-s)`;
424
+ let e = `\\u escape for printable ASCII U+${o.toString(16).padStart(4, "0").toUpperCase()} is not allowed in single-quoted strings (§6.1 hexchar-s)`;
722
425
  if (this.onEscapeWarning) {
723
426
  this.onEscapeWarning(e, t ?? this.pos, n ?? i, r ?? a, this.pos);
724
427
  return;
@@ -782,11 +485,11 @@ var ee = new TextEncoder(), te = class {
782
485
  if (l === "`") {
783
486
  let i = 0, o = this.line, s = this.col;
784
487
  for (; !this._eof() && this._ch() === "`";) this._advance(), i++;
785
- if (i === n) return !r && a.length >= 2 && a.startsWith(" ") && a.endsWith(" ") && (a = a.slice(1, -1)), a === "" && this._fail("raw string must not be empty (§2.5.4)", e, t), a;
488
+ if (i === n) return !r && a.length >= 2 && a.startsWith(" ") && a.endsWith(" ") && (a = a.slice(1, -1)), a === "" && this._fail("raw string must not be empty (§2.3.3)", e, t), a;
786
489
  i > n && this._fail(`raw string contains a run of ${i} backquotes, longer than the ${n}-backquote delimiter; use longer delimiters`, o, s), a += "`".repeat(i);
787
490
  } else {
788
491
  let e = l.codePointAt(0);
789
- e < 32 && e !== 10 && e !== 13 && this._fail(`raw string content must not contain control character U+${e.toString(16).toUpperCase().padStart(4, "0")} (§2.5.4)`, this.line, this.col), e === 127 && this._fail("raw string content must not contain DEL (U+007F) (§2.5.4)", this.line, this.col), a += this._advance();
492
+ e < 32 && e !== 10 && e !== 13 && this._fail(`raw string content must not contain control character U+${e.toString(16).toUpperCase().padStart(4, "0")} (§2.3.3)`, this.line, this.col), e === 127 && this._fail("raw string content must not contain DEL (U+007F) (§2.3.3)", this.line, this.col), a += this._advance();
790
493
  }
791
494
  }
792
495
  this._fail("unterminated raw string literal", e, t);
@@ -799,7 +502,7 @@ var ee = new TextEncoder(), te = class {
799
502
  a++;
800
503
  continue;
801
504
  }
802
- o === " " && this._fail("horizontal tab (HT) is not allowed inside h`` raw byte string literals (§5.3.3)", t, n);
505
+ o === " " && this._fail("horizontal tab (HT) is not allowed inside h`` raw byte string literals (§6.3.3)", t, n);
803
506
  let s = this._skipRawComment(e, a, "h`` raw byte string", t, n);
804
507
  if (s !== -1) {
805
508
  a = s;
@@ -810,9 +513,9 @@ var ee = new TextEncoder(), te = class {
810
513
  r += "...", i = !0;
811
514
  continue;
812
515
  }
813
- if ($(e.charCodeAt(a))) {
516
+ if (m(e.charCodeAt(a))) {
814
517
  let t = a;
815
- for (; a < e.length && $(e.charCodeAt(a));) a++;
518
+ for (; a < e.length && m(e.charCodeAt(a));) a++;
816
519
  r += e.slice(t, a);
817
520
  continue;
818
521
  }
@@ -831,7 +534,7 @@ var ee = new TextEncoder(), te = class {
831
534
  i++;
832
535
  continue;
833
536
  }
834
- if (a === " " && this._fail("horizontal tab (HT) is not allowed inside b64`` raw byte string literals (§5.3.4)", t, n), a === "#") {
537
+ if (a === " " && this._fail("horizontal tab (HT) is not allowed inside b64`` raw byte string literals (§6.3.4)", t, n), a === "#") {
835
538
  for (; i < e.length && e[i] !== "\n";) i++;
836
539
  continue;
837
540
  }
@@ -858,7 +561,7 @@ var ee = new TextEncoder(), te = class {
858
561
  this._advance();
859
562
  continue;
860
563
  }
861
- if (n === " " && this._fail("horizontal tab (HT) is not allowed inside byte string literals (§5.2.2)", this.line, this.col), n === "#") {
564
+ if (n === " " && this._fail("horizontal tab (HT) is not allowed inside byte string literals (§6.2.2)", this.line, this.col), n === "#") {
862
565
  for (; !this._eof() && this._ch() !== "\n";) {
863
566
  if (this._ch() === "\\") {
864
567
  this._advance(), !this._eof() && this._ch() !== "\n" && this._advance();
@@ -881,26 +584,26 @@ var ee = new TextEncoder(), te = class {
881
584
  }
882
585
  _readHexByteContentElisionAware(e) {
883
586
  this._advance();
884
- let t = "", n = !1;
587
+ let t = "", n = !1, r = !1;
885
588
  for (; !this._eof() && this._ch() !== e;) {
886
- let r = this._ch();
887
- if (r === "\n" || r === " " || r === "\r") {
589
+ let i = this._ch();
590
+ if (i === "\n" || i === " " || i === "\r") {
888
591
  this._advance();
889
592
  continue;
890
593
  }
891
- if (r === " " && this._fail("horizontal tab (HT) is not allowed inside hex byte string literals (§5.2.1)", this.line, this.col), !this._skipByteStringComment(e)) {
892
- if (r === "." && (this.input[this.pos + 1] ?? "") === "." && (this.input[this.pos + 2] ?? "") === ".") {
594
+ if (i === " " && this._fail("horizontal tab (HT) is not allowed inside hex byte string literals (§6.2.1)", this.line, this.col), !this._skipByteStringComment(e)) {
595
+ if (i === "." && (this.input[this.pos + 1] ?? "") === "." && (this.input[this.pos + 2] ?? "") === ".") {
893
596
  for (this._advance(), this._advance(), this._advance(); !this._eof() && this._ch() === ".";) this._advance();
894
- t.endsWith("...") || (t += "..."), n = !0;
597
+ r || (t += "..."), n = !0, r = !0;
895
598
  continue;
896
599
  }
897
- if ($(r.charCodeAt(0))) {
898
- let e = this.pos, n = this.pos, r = this.input.length;
899
- for (; n < r && $(this.input.charCodeAt(n));) n++;
900
- this.col += n - e, this.pos = n, t += this.input.slice(e, n);
600
+ if (m(i.charCodeAt(0))) {
601
+ let e = this.pos, n = this.pos, i = this.input.length;
602
+ for (; n < i && m(this.input.charCodeAt(n));) n++;
603
+ this.col += n - e, this.pos = n, t += this.input.slice(e, n), r = !1;
901
604
  continue;
902
605
  }
903
- this._fail(`unexpected character ${JSON.stringify(r)} in hex byte string`);
606
+ this._fail(`unexpected character ${JSON.stringify(i)} in hex byte string`);
904
607
  }
905
608
  }
906
609
  return this._eof() && this._fail("unterminated hex byte string literal"), this._advance(), {
@@ -967,7 +670,7 @@ var ee = new TextEncoder(), te = class {
967
670
  }
968
671
  case "'": {
969
672
  if ((this.input[this.pos + 1] ?? "") === "'" && (this.input[this.pos + 2] ?? "") === "_" && !/[0-7i]/.test(this.input[this.pos + 3] ?? "")) return this._advance(), this._advance(), this._advance(), this._tok("EMPTY_INDEF_BYTES", "", e, t);
970
- let n = this._readStringContent("'"), r = ee.encode(n), i = this._tok("SQSTR", o(r), e, t);
673
+ let n = this._readStringContent("'"), r = h.encode(n), i = this._tok("SQSTR", o(r), e, t);
971
674
  return Object.defineProperty(i, "_sqstrBytes", { value: r }), i;
972
675
  }
973
676
  }
@@ -997,7 +700,7 @@ var ee = new TextEncoder(), te = class {
997
700
  }
998
701
  _skipHexDigits() {
999
702
  let e = this.pos, t = this.input.length;
1000
- for (; e < t && $(this.input.charCodeAt(e));) e++;
703
+ for (; e < t && m(this.input.charCodeAt(e));) e++;
1001
704
  this.col += e - this.pos, this.pos = e;
1002
705
  }
1003
706
  _skipDecimalDigits() {
@@ -1140,6 +843,581 @@ var ee = new TextEncoder(), te = class {
1140
843
  }
1141
844
  };
1142
845
  //#endregion
1143
- export { c as C, e as D, u as E, M as S, l as T, G as _, g as a, S as b, B as c, H as d, y as f, C as g, p as h, W as i, V as l, f as m, X as n, _ as o, m as p, Y as r, K as s, te as t, U as u, d as v, o as w, v as x, j as y };
846
+ //#region src/cdn/serialize-utils.ts
847
+ function _(e, t) {
848
+ for (let n of t) e.push(n);
849
+ }
850
+ function v(e) {
851
+ let t = e?.indent;
852
+ if (t === void 0) return null;
853
+ let n = typeof t == "number" ? " ".repeat(t) : t;
854
+ return n === "" ? null : n;
855
+ }
856
+ function y(e, t) {
857
+ return e.repeat(t);
858
+ }
859
+ function b(e, t, n, r) {
860
+ if (t === null) return e.join(" + ");
861
+ let i = y(t, n + 1), a = e[0];
862
+ for (let t = 1; t < e.length; t++) {
863
+ a += " +\n";
864
+ for (let e of r?.[t - 1] ?? []) a += `${i}${e}\n`;
865
+ a += i + e[t];
866
+ }
867
+ return a;
868
+ }
869
+ function x(e, t, n, r, i, a) {
870
+ let o = a?.some((e) => e.length > 0) ?? !1;
871
+ if (r === null || !o) return `${e}<<${t.join(", ")}>>${n}`;
872
+ let s = y(r, i + 1), c = y(r, i), l = [];
873
+ for (let e = 0; e < t.length; e++) {
874
+ let n = e < t.length - 1 ? "," : "";
875
+ l.push(`${s}${t[e]}${n}`);
876
+ for (let t of a?.[e] ?? []) l.push(`${s}${t}`);
877
+ }
878
+ return `${e}<<\n${l.join("\n")}\n${c}>>${n}`;
879
+ }
880
+ function S(e) {
881
+ return !!(e.comments?.leading?.length || e.comments?.trailing?.length || e.comments?.dangling?.length);
882
+ }
883
+ function C(e) {
884
+ return !!e.comments?.dangling?.length;
885
+ }
886
+ function w(e) {
887
+ return e?.preserveComments === !0 || typeof e?.preserveComments == "string" || e?.comments !== void 0 && e.comments !== "strip";
888
+ }
889
+ function T(e) {
890
+ if (e?.preserveComments === !0) return;
891
+ if (typeof e?.preserveComments == "string") return e.preserveComments;
892
+ let t = e?.comments;
893
+ return t === "strip" ? void 0 : t;
894
+ }
895
+ function E(e, t) {
896
+ if (!t) return e.text;
897
+ let { marker: n, text: r } = e;
898
+ if (t === "c-style") return n === "#" ? "//" + r.slice(1) : n === "/" ? "/*" + r.slice(1, -1) + "*/" : r;
899
+ if (n === "//") return "#" + r.slice(2);
900
+ if (n === "/*") {
901
+ let e = r.slice(2, -2);
902
+ return e.includes("/") ? r : "/" + (e.startsWith("*") || e.startsWith("/") ? " " + e : e) + "/";
903
+ }
904
+ return r;
905
+ }
906
+ function D(e, t, n) {
907
+ if (!e || e.length === 0 || !t || t.length < 2) return;
908
+ let r = t.slice(1).map(() => []), i = !1;
909
+ for (let a of e) for (let e = 0; e < t.length - 1; e++) {
910
+ let o = t[e].end, s = t[e + 1].start;
911
+ if (o !== void 0 && s !== void 0 && a.start >= o && a.end <= s) {
912
+ r[e].push(E(a, n)), i = !0;
913
+ break;
914
+ }
915
+ }
916
+ return i ? r : void 0;
917
+ }
918
+ function O(e, t, n) {
919
+ let r = e.comments?.leading ?? [], i = r.length;
920
+ for (; i > 0 && r[i - 1].sameLine;) i--;
921
+ return {
922
+ ownLines: r.slice(0, i).map((e) => t + E(e, n)),
923
+ inlinePrefix: r.slice(i).map((e) => E(e, n) + " ").join("")
924
+ };
925
+ }
926
+ function k(e, t) {
927
+ let n = e.comments?.trailing ?? [];
928
+ return n.length === 0 ? "" : " " + n.map((e) => E(e, t)).join(" ");
929
+ }
930
+ function A(e, t, n) {
931
+ return (e.comments?.dangling ?? []).map((e) => t + E(e, n));
932
+ }
933
+ function ee(e, t = !1) {
934
+ let n = e?.commas ?? "comma", r = n !== "none";
935
+ return {
936
+ inlineSep: r ? t ? "," : ", " : " ",
937
+ multilineSep: r ? "," : "",
938
+ trailSep: n === "trailing" ? "," : "",
939
+ colSep: t ? ":" : ": "
940
+ };
941
+ }
942
+ function j(e) {
943
+ let { options: t, depth: n, openChar: r, closeChar: i, count: a } = e, o = v(t), s = w(t), c = T(t), l = !1;
944
+ if (o !== null) {
945
+ for (let n = 0; n < a; n++) if (e.hasEntryComments(n) && w(e.entryOptions ? e.entryOptions(n) : t)) {
946
+ l = !0;
947
+ break;
948
+ }
949
+ }
950
+ let u = o !== null && (s && C(e.node) || l), d = o !== null && !!t?.preserveBlankLines, f = !1;
951
+ if (d) {
952
+ for (let t = 0; t < a; t++) if (e.entryLeadingNode(t).blankLineBefore) {
953
+ f = !0;
954
+ break;
955
+ }
956
+ }
957
+ let { inlineSep: p, multilineSep: m, trailSep: h, colSep: g } = ee(t, o === null), b = e.eiPosition ?? "open", x = e.indefiniteLength ? "" : Y(t, e.encodingWidth, () => J(e.canonicalCount ? e.canonicalCount() : BigInt(a))), S = b === "open" && x ? x + " " : "", E = b === "close" ? x : "", D = e.indefiniteLength && (e.indefiniteMarker ?? !0) && (t?.encodingIndicators ?? "auto") !== "never", k = (t) => e.indefiniteLength ? D ? a === 0 ? `${r}_ ${i}` : `${r}_ ${t}${i}` : `${r}${t}${i}` : `${r}${S}${t}${i}${E}`;
958
+ if (o === null || a === 0 && !u) {
959
+ let t = "";
960
+ for (let n = 0; n < a; n++) n > 0 && (t += p), t += e.renderEntry(n, g);
961
+ return k(t);
962
+ }
963
+ let j = null;
964
+ if ((t?.inlineLeafContainers || e.alwaysInlineLeaf) && a > 0 && !u && !f) {
965
+ let t = !!e.entryIsLeaf, n = [], r = !0;
966
+ for (let i = 0; i < a; i++) {
967
+ if (e.entryIsLeaf && !e.entryIsLeaf(i)) {
968
+ r = !1;
969
+ break;
970
+ }
971
+ if (e.entryIsMultiWordText?.(i)) {
972
+ r = !1;
973
+ break;
974
+ }
975
+ let a = e.renderEntry(i, g);
976
+ if (n.push(a), a.includes("\n")) {
977
+ r = !1;
978
+ break;
979
+ }
980
+ if (t && R(a)) {
981
+ r = !1;
982
+ break;
983
+ }
984
+ }
985
+ if (r) return k(n.join(p));
986
+ j = n;
987
+ }
988
+ let M = y(o, n + 1), N = y(o, n), P = e.indefiniteLength ? D ? `${r}_ ` : r : `${r}${S}`, F = [];
989
+ for (let n = 0; n < a; n++) {
990
+ d && e.entryLeadingNode(n).blankLineBefore && F.push("");
991
+ let r = w(e.entryOptions ? e.entryOptions(n) : t), i = T(e.entryOptions ? e.entryOptions(n) : t), o = "";
992
+ if (r) {
993
+ let { ownLines: t, inlinePrefix: r } = O(e.entryLeadingNode(n), M, i);
994
+ _(F, t), o = r;
995
+ }
996
+ let s = n < a - 1 ? m : h, c = j?.[n] ?? e.renderEntry(n, g);
997
+ F.push(`${M}${o}${c}${s}${r ? e.entryTrailing(n, i) : ""}`);
998
+ }
999
+ return s && _(F, A(e.node, M, c)), `${P}\n${F.join("\n")}\n${N}${i}${E}`;
1000
+ }
1001
+ function M(e, t, n, r, i, a, o, s) {
1002
+ let c = v(n), l = w(n), u = w(r);
1003
+ if (!(c !== null && (u && S(e) || l && C(t)))) return `${o}${a(i)}${s}`;
1004
+ let d = T(n), f = T(r), p = y(c, i + 1), m = y(c, i), { ownLines: h, inlinePrefix: g } = u ? O(e, p, f) : {
1005
+ ownLines: [],
1006
+ inlinePrefix: ""
1007
+ };
1008
+ return `${o}\n${[
1009
+ ...h,
1010
+ `${p}${g}${a(i + 1)}${u ? k(e, f) : ""}`,
1011
+ ...l ? A(t, p, d) : []
1012
+ ].join("\n")}\n${m}${s}`;
1013
+ }
1014
+ var N = typeof (/* @__PURE__ */ new Uint8Array()).toBase64 == "function";
1015
+ function P(e) {
1016
+ if (N) return e.toBase64({ omitPadding: !0 });
1017
+ let t = "";
1018
+ for (let n of e) t += String.fromCharCode(n);
1019
+ return btoa(t).replace(/=/g, "");
1020
+ }
1021
+ function F(e) {
1022
+ if (N) return e.toBase64({
1023
+ alphabet: "base64url",
1024
+ omitPadding: !0
1025
+ });
1026
+ let t = "";
1027
+ for (let n of e) t += String.fromCharCode(n);
1028
+ return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
1029
+ }
1030
+ var te = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", ne = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
1031
+ function I(e, t) {
1032
+ let n = "", r = 0, i = 0;
1033
+ for (let a of e) for (r = r << 8 | a, i += 8; i >= 5;) i -= 5, n += t[r >> i & 31];
1034
+ return i > 0 && (n += t[r << 5 - i & 31]), n;
1035
+ }
1036
+ function re(e) {
1037
+ for (let t of e) {
1038
+ let e = t.codePointAt(0);
1039
+ if (e < 32 || e === 127) return !0;
1040
+ }
1041
+ return !1;
1042
+ }
1043
+ function L(e, t) {
1044
+ if (t === "string") {
1045
+ let t = G(e);
1046
+ if (t != null) return t;
1047
+ }
1048
+ if (t === "printable-string" || t === void 0) {
1049
+ let t = G(e);
1050
+ if (t != null && !re(t)) return t;
1051
+ }
1052
+ return null;
1053
+ }
1054
+ function ie(e, t, n) {
1055
+ let r = L(e, n);
1056
+ if (r !== null) return ye(r);
1057
+ switch (t) {
1058
+ case "base64": return `b64'${P(e)}'`;
1059
+ case "base64url": return `b64'${F(e)}'`;
1060
+ case "base32": return `b32'${I(e, te)}'`;
1061
+ case "base32hex": return `h32'${I(e, ne)}'`;
1062
+ default: return `h'${o(e)}'`;
1063
+ }
1064
+ }
1065
+ function ae(e, t) {
1066
+ let n = L(e, t);
1067
+ return n !== null && q(n);
1068
+ }
1069
+ var oe = /^[A-Za-z][A-Za-z0-9-]*['`]/;
1070
+ function R(e) {
1071
+ return oe.test(e);
1072
+ }
1073
+ var z = new TextDecoder();
1074
+ function se(e, t) {
1075
+ let n;
1076
+ try {
1077
+ n = ce(e);
1078
+ } catch {
1079
+ return !1;
1080
+ }
1081
+ return W(n, 0, n.length, t);
1082
+ }
1083
+ function ce(e) {
1084
+ let t = new g(e), n = [];
1085
+ for (;;) {
1086
+ let e = t.consume();
1087
+ if (e.type === "EOF") return n;
1088
+ n.push(e);
1089
+ }
1090
+ }
1091
+ var B = /* @__PURE__ */ new Set([
1092
+ "LPAREN",
1093
+ "LBRACKET",
1094
+ "LBRACE",
1095
+ "LT_LT",
1096
+ "APP_SEQUENCE"
1097
+ ]), le = /* @__PURE__ */ new Set([
1098
+ "RPAREN",
1099
+ "RBRACKET",
1100
+ "RBRACE",
1101
+ "GT_GT"
1102
+ ]), V = /* @__PURE__ */ new Set([
1103
+ "TSTR",
1104
+ "RAWSTRING",
1105
+ "SQSTR",
1106
+ "BYTES_HEX",
1107
+ "BYTES_HEX_ELIDED",
1108
+ "BYTES_B64",
1109
+ "ELLIPSIS"
1110
+ ]);
1111
+ function H(e, t, n) {
1112
+ let r = 1;
1113
+ for (let i = t + 1; i < n; i++) {
1114
+ let t = e[i].type;
1115
+ if (B.has(t)) r++;
1116
+ else if (le.has(t) && (r--, r === 0)) return i;
1117
+ }
1118
+ return null;
1119
+ }
1120
+ function U(e, t, n) {
1121
+ if (t >= n) return null;
1122
+ if (e[t].type === "INTEGER") {
1123
+ let r = t + 1;
1124
+ if (r < n && e[r].type === "ENCODING_INDICATOR" && r++, r < n && e[r].type === "LPAREN") {
1125
+ let t = H(e, r, n);
1126
+ return t === null ? null : t + 1;
1127
+ }
1128
+ return r;
1129
+ }
1130
+ if (B.has(e[t].type)) {
1131
+ let r = H(e, t, n);
1132
+ if (r === null) return null;
1133
+ let i = r + 1;
1134
+ return i < n && e[i].type === "ENCODING_INDICATOR" && i++, i;
1135
+ }
1136
+ let r = t + 1;
1137
+ if (r < n && e[r].type === "ENCODING_INDICATOR" && r++, e[t].type === "ELLIPSIS") {
1138
+ for (; r < n && e[r].type === "PLUS";) {
1139
+ let t = U(e, r + 1, n);
1140
+ if (t === null) return null;
1141
+ r = t;
1142
+ }
1143
+ return r;
1144
+ }
1145
+ let i = V.has(e[t].type);
1146
+ for (; i && r < n && e[r].type === "PLUS";) {
1147
+ let t = r + 1;
1148
+ if (t >= n || !V.has(e[t].type)) return null;
1149
+ r = t + 1, r < n && e[r].type === "ENCODING_INDICATOR" && r++;
1150
+ }
1151
+ return r;
1152
+ }
1153
+ function ue(e, t, n) {
1154
+ let r = [], i = t;
1155
+ for (; i < n;) {
1156
+ let t = U(e, i, n);
1157
+ if (t === null) return [];
1158
+ r.push([i, t]), i = t, i < n && e[i].type === "COMMA" && i++;
1159
+ }
1160
+ return r;
1161
+ }
1162
+ function W(e, t, n, r) {
1163
+ if (n <= t) return !1;
1164
+ let i = n;
1165
+ if (e[i - 1].type === "ENCODING_INDICATOR" && i--, e[t].type === "INTEGER") {
1166
+ let n = t + 1;
1167
+ if (n < i && e[n].type === "ENCODING_INDICATOR" && n++, n < i && e[n].type === "LPAREN") {
1168
+ let t = H(e, n, i);
1169
+ if (t !== null && t + 1 === i) return W(e, n + 1, t, r);
1170
+ }
1171
+ }
1172
+ if (e[t].type === "APP_SEQUENCE") {
1173
+ let n = H(e, t, i);
1174
+ if (n !== null && n + 1 === i) {
1175
+ for (let [r, i] of ue(e, t + 1, n)) if (W(e, r, i, !1)) return !0;
1176
+ return !1;
1177
+ }
1178
+ }
1179
+ if (i - t > 1 && de(e, t, i)) {
1180
+ if (e[t].type === "TSTR" || e[t].type === "RAWSTRING" || e[t].type === "SQSTR" || e[t].type === "ELLIPSIS") {
1181
+ let n = fe(e, t, i);
1182
+ return n !== null && q(n);
1183
+ }
1184
+ return r;
1185
+ }
1186
+ if (i - t !== 1) return !1;
1187
+ let a = e[t];
1188
+ switch (a.type) {
1189
+ case "TSTR":
1190
+ case "RAWSTRING": return q(a.value);
1191
+ case "SQSTR": {
1192
+ let e = a._sqstrBytes;
1193
+ return e !== void 0 && q(z.decode(e));
1194
+ }
1195
+ case "BYTES_HEX":
1196
+ case "BYTES_HEX_ELIDED":
1197
+ case "BYTES_B64":
1198
+ case "APP_STRING": return r;
1199
+ default: return !1;
1200
+ }
1201
+ }
1202
+ function de(e, t, n) {
1203
+ return V.has(e[t].type) && U(e, t, n) === n;
1204
+ }
1205
+ function fe(e, t, n) {
1206
+ let r = "", i = t;
1207
+ for (;;) {
1208
+ let t = pe(e[i]);
1209
+ if (t === null) return null;
1210
+ if (r += t, i++, i < n && e[i].type === "ENCODING_INDICATOR" && i++, i < n && e[i].type === "PLUS") {
1211
+ i++;
1212
+ continue;
1213
+ }
1214
+ break;
1215
+ }
1216
+ return i === n ? r : null;
1217
+ }
1218
+ function pe(e) {
1219
+ switch (e.type) {
1220
+ case "TSTR":
1221
+ case "RAWSTRING": return e.value;
1222
+ case "SQSTR": {
1223
+ let t = e._sqstrBytes;
1224
+ return t === void 0 ? null : z.decode(t);
1225
+ }
1226
+ case "BYTES_HEX": try {
1227
+ return z.decode(u(e.value));
1228
+ } catch {
1229
+ return null;
1230
+ }
1231
+ case "BYTES_B64": try {
1232
+ return z.decode(d(e.value));
1233
+ } catch {
1234
+ return null;
1235
+ }
1236
+ case "BYTES_HEX_ELIDED": return null;
1237
+ case "ELLIPSIS": return null;
1238
+ default: return null;
1239
+ }
1240
+ }
1241
+ function me(e, t) {
1242
+ let n = 0;
1243
+ for (; n < e.length && e[n] !== "'" && e[n] !== "`";) n++;
1244
+ if (n >= e.length) return e;
1245
+ let r = e[n], i = e.lastIndexOf(r);
1246
+ if (i <= n) return e;
1247
+ let a = e.slice(n + 1, i), o = t === "hash-only" ? he(a) : ge(a);
1248
+ return e.slice(0, n + 1) + o + e.slice(i);
1249
+ }
1250
+ function he(e) {
1251
+ let t = "", n = 0;
1252
+ for (; n < e.length;) {
1253
+ if (e[n] === "#") {
1254
+ for (; n < e.length && e[n] !== "\n";) n += e[n] === "\\" && n + 1 < e.length ? 2 : 1;
1255
+ continue;
1256
+ }
1257
+ t += e[n], n++;
1258
+ }
1259
+ return t;
1260
+ }
1261
+ function ge(e) {
1262
+ let t = "", n = 0;
1263
+ for (; n < e.length;) {
1264
+ let r = e[n], i = e[n + 1];
1265
+ if (r === "#" || r === "/" && i === "/") {
1266
+ for (n += r === "#" ? 1 : 2; n < e.length && e[n] !== "\n";) n += e[n] === "\\" && n + 1 < e.length ? 2 : 1;
1267
+ continue;
1268
+ }
1269
+ if (r === "/" && i === "*") {
1270
+ let t = e.indexOf("*/", n + 2);
1271
+ n = t === -1 ? e.length : t + 2;
1272
+ continue;
1273
+ }
1274
+ if (r === "/") {
1275
+ let t = n + 1;
1276
+ for (; t < e.length && e[t] !== "/";) t += e[t] === "\\" && t + 1 < e.length ? 2 : 1;
1277
+ n = t < e.length ? t + 1 : e.length;
1278
+ continue;
1279
+ }
1280
+ t += r, n++;
1281
+ }
1282
+ return t;
1283
+ }
1284
+ var _e = new TextDecoder("utf-8", { fatal: !0 });
1285
+ function G(e) {
1286
+ try {
1287
+ return _e.decode(e);
1288
+ } catch {
1289
+ return null;
1290
+ }
1291
+ }
1292
+ function ve(e, t) {
1293
+ for (let n = 0; n < e.length; n++) {
1294
+ let r = e.charCodeAt(n);
1295
+ if (r === t || r === 92 || r < 32 || r === 127 || r >= 8192 && (r === 8232 || r === 8233 || r >= 8203 && r <= 8205 || r === 65279)) return !0;
1296
+ }
1297
+ return !1;
1298
+ }
1299
+ function K(e, t) {
1300
+ let n = t.codePointAt(0);
1301
+ if (!ve(e, n)) return t + e + t;
1302
+ let r = t;
1303
+ for (let i of e) {
1304
+ let e = i.codePointAt(0);
1305
+ switch (e) {
1306
+ case n:
1307
+ r += `\\${t}`;
1308
+ break;
1309
+ case 92:
1310
+ r += "\\\\";
1311
+ break;
1312
+ case 10:
1313
+ r += "\\n";
1314
+ break;
1315
+ case 13:
1316
+ r += "\\r";
1317
+ break;
1318
+ case 9:
1319
+ r += "\\t";
1320
+ break;
1321
+ default: r += e < 32 || e === 127 || e === 8232 || e === 8233 || e === 8203 || e === 8204 || e === 8205 || e === 65279 ? `\\u${e.toString(16).padStart(4, "0")}` : i;
1322
+ }
1323
+ }
1324
+ return r + t;
1325
+ }
1326
+ function ye(e) {
1327
+ return K(e, "'");
1328
+ }
1329
+ function be(e) {
1330
+ return K(e, "'");
1331
+ }
1332
+ function xe(e) {
1333
+ return K(e, "\"");
1334
+ }
1335
+ var Se = new Intl.Segmenter("en", { granularity: "word" });
1336
+ function q(e) {
1337
+ let t = 0;
1338
+ for (let { isWordLike: n } of Se.segment(e)) if (n && (t++, t >= 2)) return !0;
1339
+ return !1;
1340
+ }
1341
+ function Ce(e) {
1342
+ if (isNaN(e)) return "NaN";
1343
+ if (!isFinite(e)) return e > 0 ? "Infinity" : "-Infinity";
1344
+ if (Object.is(e, -0)) return "-0.0";
1345
+ let t = e.toString();
1346
+ return t.includes(".") || t.includes("e") ? t : t + ".0";
1347
+ }
1348
+ function we(e, t, n, r) {
1349
+ if (r === "never") return "";
1350
+ let i = t ?? n;
1351
+ return r === "always" ? i === "half" ? "_1" : i === "single" ? "_2" : "_3" : t === void 0 || t === n ? "" : t === "half" ? "_1" : t === "single" ? "_2" : "_3";
1352
+ }
1353
+ function J(e) {
1354
+ return e <= 23n ? "i" : e <= 255n ? 0 : e <= 65535n ? 1 : e <= 4294967295n ? 2 : 3;
1355
+ }
1356
+ function Y(e, t, n) {
1357
+ let r = e?.encodingIndicators ?? "auto";
1358
+ return r === "never" ? "" : r === "always" ? `_${t ?? n()}` : t === void 0 ? "" : `_${t}`;
1359
+ }
1360
+ function X(e) {
1361
+ return e?.preserveComments !== void 0 || e?.comments !== void 0;
1362
+ }
1363
+ function Z(e) {
1364
+ return !X(e) || e?.preserveComments === !0 ? !1 : Q(e) === void 0;
1365
+ }
1366
+ function Q(e) {
1367
+ if (e?.preserveComments === !0) return;
1368
+ if (typeof e?.preserveComments == "string") return e.preserveComments;
1369
+ let t = e?.comments;
1370
+ return t === "strip" ? void 0 : t;
1371
+ }
1372
+ function Te(e, t, n, r, i) {
1373
+ if (!e?.preserveAppPrefix || t === void 0 || v(e) === null && /[\r\n]/.test(t)) return "normal";
1374
+ if (n === void 0) return r?.byteString && e?.preserveByteString === !1 || r?.textString && e?.preserveTextString === !1 || r?.rawString && e?.preserveRawString === !1 || r?.concatenation && e?.preserveConcatenation === !1 ? "normal" : "adjusted";
1375
+ let a = Z(e) || Q(e) !== void 0 || e?.preserveComments === !0 && v(e) === null, o = e?.encodingIndicators ?? "auto";
1376
+ return e?.preserveNumberFormat === !1 || r?.byteString && e?.preserveByteString === !1 || r?.textString && e?.preserveTextString === !1 || r?.rawString && e?.preserveRawString === !1 || r?.concatenation && e?.preserveConcatenation === !1 || o !== "auto" && i === !1 ? "structural" : o !== "auto" || a ? "source" : "verbatim";
1377
+ }
1378
+ function $(e, t, n) {
1379
+ let r = t > 0 ? e[t - 1] : "", i = n < e.length ? e[n] : "", a = (e) => e !== "" && !/[\s,]/.test(e);
1380
+ return a(r) && a(i) ? " " : "";
1381
+ }
1382
+ function Ee(e, t, n, r) {
1383
+ if (!X(t) || !n?.length) return e;
1384
+ let i = Z(t) || v(t) === null, a = Q(t), o = e, s = [...n].sort((e, t) => t.start - e.start);
1385
+ for (let e of s) {
1386
+ let t = r !== void 0 && e.start >= r ? -2 : 0, n = e.start + t, s = e.end + t, c = i ? $(o, n, s) : E(e, a);
1387
+ o = o.slice(0, n) + c + o.slice(s);
1388
+ }
1389
+ return o;
1390
+ }
1391
+ function De(e, t, n, r) {
1392
+ let i = [];
1393
+ if (X(t) && n?.length) {
1394
+ let r = Z(t) || v(t) === null, a = Q(t);
1395
+ for (let t of n) i.push({
1396
+ start: t.start,
1397
+ end: t.end,
1398
+ replacement: r ? $(e, t.start, t.end) : E(t, a)
1399
+ });
1400
+ }
1401
+ let a = t?.encodingIndicators ?? "auto";
1402
+ if (a !== "auto" && r) for (let e of r) i.push({
1403
+ start: e.start,
1404
+ end: e.end,
1405
+ replacement: a === "always" ? e.always : e.never
1406
+ });
1407
+ i.sort((e, t) => t.start - e.start || t.end - e.end);
1408
+ let o = e;
1409
+ for (let e of i) o = o.slice(0, e.start) + e.replacement + o.slice(e.end);
1410
+ return o;
1411
+ }
1412
+ function Oe(e, t, n, r, i) {
1413
+ let a = e, o;
1414
+ if ((n?.encodingIndicators ?? "auto") === "never" && r !== void 0) {
1415
+ let e = a.slice(0, r);
1416
+ /_[0-3i]$/.test(e) && (o = r - 2, a = e.slice(0, -2) + a.slice(r));
1417
+ }
1418
+ return a = Ee(a, n, i, o), a.replace(/_[0-3i]$/, "") + t;
1419
+ }
1420
+ //#endregion
1421
+ export { g as A, Y as C, w as D, j as E, u as F, e as I, c as M, o as N, O, l as P, T as S, ie as T, R as _, D as a, _ as b, xe as c, k as d, S as f, q as g, se as h, E as i, d as j, me as k, we as l, ae as m, De as n, Te as o, y as p, J as r, be as s, Oe as t, Ce as u, x as v, v as w, M as x, b as y };
1144
1422
 
1145
- //# sourceMappingURL=tokenizer-N-vAvRdj.js.map
1423
+ //# sourceMappingURL=serialize-utils-h-CVB9rg.js.map