@rexeus/typeweaver 0.0.3 → 0.1.0
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 +404 -71
- package/dist/LICENSE +202 -0
- package/dist/NOTICE +4 -0
- package/dist/{acorn-rXlN7gk4.js → acorn-CJ4HNU11.js} +952 -853
- package/dist/angular-wXs0C_R2.js +2626 -0
- package/dist/{babel-DZgCLJ3w.js → babel-DNmSIBHM.js} +3300 -3055
- package/dist/{cli-CteKWdCY.js → cli-Cin8VieP.js} +2976 -5413
- package/dist/{estree-B92etQ3n.js → estree-BfVT8G2n.js} +1726 -1743
- package/dist/flow-DgzFy9Js.js +27138 -0
- package/dist/{glimmer-B-ODUU1A.js → glimmer-DiXjs4DB.js} +449 -482
- package/dist/{graphql-Cl6ZUrDI.js → graphql-DLJHmbDb.js} +216 -212
- package/dist/{html-D3ugDhTt.js → html-BwjSBi_v.js} +682 -642
- package/dist/index.d.ts +1 -1
- package/dist/index.js +9 -10
- package/dist/{markdown-Xi16tYTk.js → markdown-DWIPYE8e.js} +1709 -1668
- package/dist/meriyah-CbAY3E55.js +2603 -0
- package/dist/{postcss-DdgOJBTx.js → postcss-DUOVol6C.js} +1347 -1327
- package/dist/run-cli-with-tsx.js +9 -10
- package/dist/templates/Index.ejs +8 -0
- package/dist/{typescript-C4gnKzhB.js → typescript-DDNbhgng.js} +6047 -5963
- package/dist/{yaml-B0tq6Ttj.js → yaml-Bd8DkW_K.js} +934 -948
- package/package.json +32 -28
- package/dist/angular-D_XFD5k4.js +0 -2531
- package/dist/flow--vV0j3Y-.js +0 -26826
- package/dist/meriyah-DkEqawD_.js +0 -2456
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
for (var i in t)
|
|
8
|
-
},
|
|
9
|
-
if (t && typeof t == "object" || typeof t == "function") for (let r of
|
|
1
|
+
var wi = Object.create;
|
|
2
|
+
var Le = Object.defineProperty;
|
|
3
|
+
var Pi = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var Ii = Object.getOwnPropertyNames;
|
|
5
|
+
var Ni = Object.getPrototypeOf, Li = Object.prototype.hasOwnProperty;
|
|
6
|
+
var nt = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), Vi = (e, t) => {
|
|
7
|
+
for (var i in t) Le(e, i, { get: t[i], enumerable: true });
|
|
8
|
+
}, Ri = (e, t, i, s) => {
|
|
9
|
+
if (t && typeof t == "object" || typeof t == "function") for (let r of Ii(t)) !Li.call(e, r) && r !== i && Le(e, r, { get: () => t[r], enumerable: !(s = Pi(t, r)) || s.enumerable });
|
|
10
10
|
return e;
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
|
|
12
|
+
var ot = (e, t, i) => (i = e != null ? wi(Ni(e)) : {}, Ri(Le(i, "default", { value: e, enumerable: true }) , e));
|
|
13
|
+
var zt = nt((fr, Xt) => {
|
|
14
|
+
Xt.exports = {};
|
|
15
15
|
});
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
function
|
|
16
|
+
var Xe = nt((dr, We) => {
|
|
17
|
+
var bs = zt(), Ss = /^[\da-fA-F]+$/, _s = /^\d+$/, Qt = /* @__PURE__ */ new WeakMap();
|
|
18
|
+
function Yt(e) {
|
|
19
19
|
e = e.Parser.acorn || e;
|
|
20
|
-
let t =
|
|
20
|
+
let t = Qt.get(e);
|
|
21
21
|
if (!t) {
|
|
22
|
-
let i = e.tokTypes, s = e.TokContext, r = e.TokenType, n = new s("<tag", false), o = new s("</tag", false),
|
|
23
|
-
|
|
24
|
-
this.context.push(
|
|
25
|
-
},
|
|
26
|
-
let
|
|
27
|
-
|
|
28
|
-
}, t = { tokContexts:
|
|
22
|
+
let i = e.tokTypes, s = e.TokContext, r = e.TokenType, n = new s("<tag", false), o = new s("</tag", false), p = new s("<tag>...</tag>", true, true), u = { tc_oTag: n, tc_cTag: o, tc_expr: p }, c = { jsxName: new r("jsxName"), jsxText: new r("jsxText", { beforeExpr: true }), jsxTagStart: new r("jsxTagStart", { startsExpr: true }), jsxTagEnd: new r("jsxTagEnd") };
|
|
23
|
+
c.jsxTagStart.updateContext = function() {
|
|
24
|
+
this.context.push(p), this.context.push(n), this.exprAllowed = false;
|
|
25
|
+
}, c.jsxTagEnd.updateContext = function(f) {
|
|
26
|
+
let v = this.context.pop();
|
|
27
|
+
v === n && f === i.slash || v === o ? (this.context.pop(), this.exprAllowed = this.curContext() === p) : this.exprAllowed = true;
|
|
28
|
+
}, t = { tokContexts: u, tokTypes: c }, Qt.set(e, t);
|
|
29
29
|
}
|
|
30
30
|
return t;
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function pe(e) {
|
|
33
33
|
if (!e) return e;
|
|
34
34
|
if (e.type === "JSXIdentifier") return e.name;
|
|
35
35
|
if (e.type === "JSXNamespacedName") return e.namespace.name + ":" + e.name.name;
|
|
36
|
-
if (e.type === "JSXMemberExpression") return
|
|
36
|
+
if (e.type === "JSXMemberExpression") return pe(e.object) + "." + pe(e.property);
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
We.exports = function(e) {
|
|
39
39
|
return e = e || {}, function(t) {
|
|
40
|
-
return
|
|
40
|
+
return Ts({ allowNamespaces: e.allowNamespaces !== false, allowNamespacedObjects: !!e.allowNamespacedObjects }, t);
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
|
-
Object.defineProperty(
|
|
44
|
-
return
|
|
43
|
+
Object.defineProperty(We.exports, "tokTypes", { get: function() {
|
|
44
|
+
return Yt(void 0).tokTypes;
|
|
45
45
|
}, configurable: true, enumerable: true });
|
|
46
|
-
function
|
|
47
|
-
let i = t.acorn || void 0, s =
|
|
46
|
+
function Ts(e, t) {
|
|
47
|
+
let i = t.acorn || void 0, s = Yt(i), r = i.tokTypes, n = s.tokTypes, o = i.tokContexts, p = s.tokContexts.tc_oTag, u = s.tokContexts.tc_cTag, c = s.tokContexts.tc_expr, f = i.isNewLine, v = i.isIdentifierStart, T = i.isIdentifierChar;
|
|
48
48
|
return class extends t {
|
|
49
49
|
static get acornJsx() {
|
|
50
50
|
return s;
|
|
@@ -88,21 +88,21 @@ var Je = $e((Ys, Ge) => {
|
|
|
88
88
|
jsx_readEntity() {
|
|
89
89
|
let h = "", m = 0, x, g = this.input[this.pos];
|
|
90
90
|
g !== "&" && this.raise(this.pos, "Entity must start with an ampersand");
|
|
91
|
-
let
|
|
91
|
+
let N = ++this.pos;
|
|
92
92
|
for (; this.pos < this.input.length && m++ < 10; ) {
|
|
93
93
|
if (g = this.input[this.pos++], g === ";") {
|
|
94
|
-
h[0] === "#" ? h[1] === "x" ? (h = h.substr(2),
|
|
94
|
+
h[0] === "#" ? h[1] === "x" ? (h = h.substr(2), Ss.test(h) && (x = String.fromCharCode(parseInt(h, 16)))) : (h = h.substr(1), _s.test(h) && (x = String.fromCharCode(parseInt(h, 10)))) : x = bs[h];
|
|
95
95
|
break;
|
|
96
96
|
}
|
|
97
97
|
h += g;
|
|
98
98
|
}
|
|
99
|
-
return x || (this.pos =
|
|
99
|
+
return x || (this.pos = N, "&");
|
|
100
100
|
}
|
|
101
101
|
jsx_readWord() {
|
|
102
102
|
let h, m = this.pos;
|
|
103
103
|
do
|
|
104
104
|
h = this.input.charCodeAt(++this.pos);
|
|
105
|
-
while (
|
|
105
|
+
while (T(h) || h === 45);
|
|
106
106
|
return this.finishToken(n.jsxName, this.input.slice(m, this.pos));
|
|
107
107
|
}
|
|
108
108
|
jsx_parseIdentifier() {
|
|
@@ -160,12 +160,12 @@ var Je = $e((Ys, Ge) => {
|
|
|
160
160
|
return g && (x.name = g), this.expect(n.jsxTagEnd), this.finishNode(x, g ? "JSXClosingElement" : "JSXClosingFragment");
|
|
161
161
|
}
|
|
162
162
|
jsx_parseElementAt(h, m) {
|
|
163
|
-
let x = this.startNodeAt(h, m), g = [],
|
|
164
|
-
if (!
|
|
163
|
+
let x = this.startNodeAt(h, m), g = [], N = this.jsx_parseOpeningElementAt(h, m), le = null;
|
|
164
|
+
if (!N.selfClosing) {
|
|
165
165
|
e: for (; ; ) switch (this.type) {
|
|
166
166
|
case n.jsxTagStart:
|
|
167
167
|
if (h = this.start, m = this.startLoc, this.next(), this.eat(r.slash)) {
|
|
168
|
-
|
|
168
|
+
le = this.jsx_parseClosingElementAt(h, m);
|
|
169
169
|
break e;
|
|
170
170
|
}
|
|
171
171
|
g.push(this.jsx_parseElementAt(h, m));
|
|
@@ -179,10 +179,10 @@ var Je = $e((Ys, Ge) => {
|
|
|
179
179
|
default:
|
|
180
180
|
this.unexpected();
|
|
181
181
|
}
|
|
182
|
-
|
|
182
|
+
pe(le.name) !== pe(N.name) && this.raise(le.start, "Expected corresponding JSX closing tag for <" + pe(N.name) + ">");
|
|
183
183
|
}
|
|
184
|
-
let
|
|
185
|
-
return x["opening" +
|
|
184
|
+
let Ne = N.name ? "Element" : "Fragment";
|
|
185
|
+
return x["opening" + Ne] = N, x["closing" + Ne] = le, x.children = g, this.type === r.relational && this.value === "<" && this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"), this.finishNode(x, "JSX" + Ne);
|
|
186
186
|
}
|
|
187
187
|
jsx_parseText() {
|
|
188
188
|
let h = this.parseLiteral(this.value);
|
|
@@ -197,28 +197,28 @@ var Je = $e((Ys, Ge) => {
|
|
|
197
197
|
}
|
|
198
198
|
readToken(h) {
|
|
199
199
|
let m = this.curContext();
|
|
200
|
-
if (m ===
|
|
201
|
-
if (m ===
|
|
202
|
-
if (
|
|
200
|
+
if (m === c) return this.jsx_readToken();
|
|
201
|
+
if (m === p || m === u) {
|
|
202
|
+
if (v(h)) return this.jsx_readWord();
|
|
203
203
|
if (h == 62) return ++this.pos, this.finishToken(n.jsxTagEnd);
|
|
204
|
-
if ((h === 34 || h === 39) && m ==
|
|
204
|
+
if ((h === 34 || h === 39) && m == p) return this.jsx_readString(h);
|
|
205
205
|
}
|
|
206
206
|
return h === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33 ? (++this.pos, this.finishToken(n.jsxTagStart)) : super.readToken(h);
|
|
207
207
|
}
|
|
208
208
|
updateContext(h) {
|
|
209
209
|
if (this.type == r.braceL) {
|
|
210
210
|
var m = this.curContext();
|
|
211
|
-
m ==
|
|
212
|
-
} else if (this.type === r.slash && h === n.jsxTagStart) this.context.length -= 2, this.context.push(
|
|
211
|
+
m == p ? this.context.push(o.b_expr) : m == c ? this.context.push(o.b_tmpl) : super.updateContext(h), this.exprAllowed = true;
|
|
212
|
+
} else if (this.type === r.slash && h === n.jsxTagStart) this.context.length -= 2, this.context.push(u), this.exprAllowed = false;
|
|
213
213
|
else return super.updateContext(h);
|
|
214
214
|
}
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
217
|
});
|
|
218
|
-
var
|
|
219
|
-
|
|
220
|
-
var Si = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239], nt = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], Ci = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", ot = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC", Ae = { 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", 5: "class enum extends super const export import", 6: "enum", strict: "implements interface let package private protected public static yield", strictBind: "eval arguments" }, Pe = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this", _i = { 5: Pe, "5module": Pe + " export import", 6: Pe + " const class extends export import super" }, Ti = /^in(stanceof)?$/, ki = new RegExp("[" + ot + "]"), Ei = new RegExp("[" + ot + Ci + "]");
|
|
221
|
-
function
|
|
218
|
+
var at = {};
|
|
219
|
+
Vi(at, { parsers: () => cr });
|
|
220
|
+
var Oi = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239], ft = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], Bi = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", dt = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC", Ve = { 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", 5: "class enum extends super const export import", 6: "enum", strict: "implements interface let package private protected public static yield", strictBind: "eval arguments" }, Re = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this", Di = { 5: Re, "5module": Re + " export import", 6: Re + " const class extends export import super" }, Fi = /^in(stanceof)?$/, Mi = new RegExp("[" + dt + "]"), ji = new RegExp("[" + dt + Bi + "]");
|
|
221
|
+
function Be(e, t) {
|
|
222
222
|
for (var i = 65536, s = 0; s < t.length; s += 2) {
|
|
223
223
|
if (i += t[s], i > e) return false;
|
|
224
224
|
if (i += t[s + 1], i >= e) return true;
|
|
@@ -226,214 +226,217 @@ function Ne(e, t) {
|
|
|
226
226
|
return false;
|
|
227
227
|
}
|
|
228
228
|
function M(e, t) {
|
|
229
|
-
return e < 65 ? e === 36 : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 &&
|
|
229
|
+
return e < 65 ? e === 36 : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && Mi.test(String.fromCharCode(e)) : t === false ? false : Be(e, ft);
|
|
230
230
|
}
|
|
231
|
-
function
|
|
232
|
-
return e < 48 ? e === 36 : e < 58 ? true : e < 65 ? false : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 &&
|
|
231
|
+
function K(e, t) {
|
|
232
|
+
return e < 48 ? e === 36 : e < 58 ? true : e < 65 ? false : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && ji.test(String.fromCharCode(e)) : t === false ? false : Be(e, ft) || Be(e, Oi);
|
|
233
233
|
}
|
|
234
|
-
var
|
|
234
|
+
var _ = function(t, i) {
|
|
235
235
|
i === void 0 && (i = {}), this.label = t, this.keyword = i.keyword, this.beforeExpr = !!i.beforeExpr, this.startsExpr = !!i.startsExpr, this.isLoop = !!i.isLoop, this.isAssign = !!i.isAssign, this.prefix = !!i.prefix, this.postfix = !!i.postfix, this.binop = i.binop || null, this.updateContext = null;
|
|
236
236
|
};
|
|
237
|
-
function
|
|
238
|
-
return new
|
|
237
|
+
function R(e, t) {
|
|
238
|
+
return new _(e, { beforeExpr: true, binop: t });
|
|
239
239
|
}
|
|
240
|
-
var
|
|
241
|
-
function
|
|
242
|
-
return t === void 0 && (t = {}), t.keyword = e,
|
|
240
|
+
var O = { beforeExpr: true }, L = { startsExpr: true }, je = {};
|
|
241
|
+
function S(e, t) {
|
|
242
|
+
return t === void 0 && (t = {}), t.keyword = e, je[e] = new _(e, t);
|
|
243
243
|
}
|
|
244
|
-
var a = { num: new
|
|
245
|
-
function
|
|
244
|
+
var a = { num: new _("num", L), regexp: new _("regexp", L), string: new _("string", L), name: new _("name", L), privateId: new _("privateId", L), eof: new _("eof"), bracketL: new _("[", { beforeExpr: true, startsExpr: true }), bracketR: new _("]"), braceL: new _("{", { beforeExpr: true, startsExpr: true }), braceR: new _("}"), parenL: new _("(", { beforeExpr: true, startsExpr: true }), parenR: new _(")"), comma: new _(",", O), semi: new _(";", O), colon: new _(":", O), dot: new _("."), question: new _("?", O), questionDot: new _("?."), arrow: new _("=>", O), template: new _("template"), invalidTemplate: new _("invalidTemplate"), ellipsis: new _("...", O), backQuote: new _("`", L), dollarBraceL: new _("${", { beforeExpr: true, startsExpr: true }), eq: new _("=", { beforeExpr: true, isAssign: true }), assign: new _("_=", { beforeExpr: true, isAssign: true }), incDec: new _("++/--", { prefix: true, postfix: true, startsExpr: true }), prefix: new _("!/~", { beforeExpr: true, prefix: true, startsExpr: true }), logicalOR: R("||", 1), logicalAND: R("&&", 2), bitwiseOR: R("|", 3), bitwiseXOR: R("^", 4), bitwiseAND: R("&", 5), equality: R("==/!=/===/!==", 6), relational: R("</>/<=/>=", 7), bitShift: R("<</>>/>>>", 8), plusMin: new _("+/-", { beforeExpr: true, binop: 9, prefix: true, startsExpr: true }), modulo: R("%", 10), star: R("*", 10), slash: R("/", 10), starstar: new _("**", { beforeExpr: true }), coalesce: R("??", 1), _break: S("break"), _case: S("case", O), _catch: S("catch"), _continue: S("continue"), _debugger: S("debugger"), _default: S("default", O), _do: S("do", { isLoop: true, beforeExpr: true }), _else: S("else", O), _finally: S("finally"), _for: S("for", { isLoop: true }), _function: S("function", L), _if: S("if"), _return: S("return", O), _switch: S("switch"), _throw: S("throw", O), _try: S("try"), _var: S("var"), _const: S("const"), _while: S("while", { isLoop: true }), _with: S("with"), _new: S("new", { beforeExpr: true, startsExpr: true }), _this: S("this", L), _super: S("super", L), _class: S("class", L), _extends: S("extends", O), _export: S("export"), _import: S("import", L), _null: S("null", L), _true: S("true", L), _false: S("false", L), _in: S("in", { beforeExpr: true, binop: 7 }), _instanceof: S("instanceof", { beforeExpr: true, binop: 7 }), _typeof: S("typeof", { beforeExpr: true, prefix: true, startsExpr: true }), _void: S("void", { beforeExpr: true, prefix: true, startsExpr: true }), _delete: S("delete", { beforeExpr: true, prefix: true, startsExpr: true }) }, V = /\r\n?|\n|\u2028|\u2029/, Ui = new RegExp(V.source, "g");
|
|
245
|
+
function Y(e) {
|
|
246
246
|
return e === 10 || e === 13 || e === 8232 || e === 8233;
|
|
247
247
|
}
|
|
248
|
-
function
|
|
248
|
+
function mt(e, t, i) {
|
|
249
249
|
i === void 0 && (i = e.length);
|
|
250
250
|
for (var s = t; s < i; s++) {
|
|
251
251
|
var r = e.charCodeAt(s);
|
|
252
|
-
if (
|
|
252
|
+
if (Y(r)) return s < i - 1 && r === 13 && e.charCodeAt(s + 1) === 10 ? s + 2 : s + 1;
|
|
253
253
|
}
|
|
254
254
|
return -1;
|
|
255
255
|
}
|
|
256
|
-
var
|
|
257
|
-
return
|
|
258
|
-
},
|
|
259
|
-
return
|
|
260
|
-
},
|
|
261
|
-
function
|
|
262
|
-
return
|
|
256
|
+
var xt = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, A = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, yt = Object.prototype, Gi = yt.hasOwnProperty, qi = yt.toString, $ = Object.hasOwn || function(e, t) {
|
|
257
|
+
return Gi.call(e, t);
|
|
258
|
+
}, ut = Array.isArray || function(e) {
|
|
259
|
+
return qi.call(e) === "[object Array]";
|
|
260
|
+
}, pt = /* @__PURE__ */ Object.create(null);
|
|
261
|
+
function H(e) {
|
|
262
|
+
return pt[e] || (pt[e] = new RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
|
|
263
263
|
}
|
|
264
|
-
function
|
|
264
|
+
function G(e) {
|
|
265
265
|
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode((e >> 10) + 55296, (e & 1023) + 56320));
|
|
266
266
|
}
|
|
267
|
-
var
|
|
267
|
+
var Ji = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, ae = function(t, i) {
|
|
268
268
|
this.line = t, this.column = i;
|
|
269
269
|
};
|
|
270
|
-
|
|
271
|
-
return new
|
|
270
|
+
ae.prototype.offset = function(t) {
|
|
271
|
+
return new ae(this.line, this.column + t);
|
|
272
272
|
};
|
|
273
|
-
var
|
|
273
|
+
var ge = function(t, i, s) {
|
|
274
274
|
this.start = i, this.end = s, t.sourceFile !== null && (this.source = t.sourceFile);
|
|
275
275
|
};
|
|
276
|
-
function
|
|
276
|
+
function gt(e, t) {
|
|
277
277
|
for (var i = 1, s = 0; ; ) {
|
|
278
|
-
var r =
|
|
279
|
-
if (r < 0) return new
|
|
278
|
+
var r = mt(e, s, t);
|
|
279
|
+
if (r < 0) return new ae(i, t - s);
|
|
280
280
|
++i, s = r;
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
var
|
|
284
|
-
function
|
|
283
|
+
var De = { ecmaVersion: null, sourceType: "script", onInsertedSemicolon: null, onTrailingComma: null, allowReserved: null, allowReturnOutsideFunction: false, allowImportExportEverywhere: false, allowAwaitOutsideFunction: null, allowSuperOutsideMethod: null, allowHashBang: false, checkPrivateFields: true, locations: false, onToken: null, onComment: null, ranges: false, program: null, sourceFile: null, directSourceFile: null, preserveParens: false }, ht = false;
|
|
284
|
+
function Hi(e) {
|
|
285
285
|
var t = {};
|
|
286
|
-
for (var i in
|
|
287
|
-
if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!
|
|
288
|
-
Defaulting to 2020, but this will stop working in the future.`)), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved == null && (t.allowReserved = t.ecmaVersion < 5), (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14),
|
|
286
|
+
for (var i in De) t[i] = e && $(e, i) ? e[i] : De[i];
|
|
287
|
+
if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!ht && typeof console == "object" && console.warn && (ht = true, console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
|
|
288
|
+
Defaulting to 2020, but this will stop working in the future.`)), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved == null && (t.allowReserved = t.ecmaVersion < 5), (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), ut(t.onToken)) {
|
|
289
289
|
var s = t.onToken;
|
|
290
290
|
t.onToken = function(r) {
|
|
291
291
|
return s.push(r);
|
|
292
292
|
};
|
|
293
293
|
}
|
|
294
|
-
return
|
|
294
|
+
return ut(t.onComment) && (t.onComment = Ki(t, t.onComment)), t;
|
|
295
295
|
}
|
|
296
|
-
function
|
|
297
|
-
return function(i, s, r, n, o,
|
|
298
|
-
var
|
|
299
|
-
e.locations && (
|
|
296
|
+
function Ki(e, t) {
|
|
297
|
+
return function(i, s, r, n, o, p) {
|
|
298
|
+
var u = { type: i ? "Block" : "Line", value: s, start: r, end: n };
|
|
299
|
+
e.locations && (u.loc = new ge(this, o, p)), e.ranges && (u.range = [r, n]), t.push(u);
|
|
300
300
|
};
|
|
301
301
|
}
|
|
302
|
-
var
|
|
303
|
-
function
|
|
304
|
-
return Z | (e ?
|
|
302
|
+
var ne = 1, Z = 2, Ue = 4, vt = 8, Ge = 16, bt = 32, ve = 64, St = 128, X = 256, oe = 512, be = ne | Z | X;
|
|
303
|
+
function qe(e, t) {
|
|
304
|
+
return Z | (e ? Ue : 0) | (t ? vt : 0);
|
|
305
305
|
}
|
|
306
|
-
var
|
|
307
|
-
this.options = t =
|
|
306
|
+
var de = 0, Je = 1, J = 2, _t = 3, Tt = 4, Ct = 5, E = function(t, i, s) {
|
|
307
|
+
this.options = t = Hi(t), this.sourceFile = t.sourceFile, this.keywords = H(Di[t.ecmaVersion >= 6 ? 6 : t.sourceType === "module" ? "5module" : 5]);
|
|
308
308
|
var r = "";
|
|
309
|
-
t.allowReserved !== true && (r =
|
|
310
|
-
var n = (r ? r + " " : "") +
|
|
311
|
-
this.reservedWordsStrict =
|
|
312
|
-
`, s - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(
|
|
313
|
-
},
|
|
314
|
-
|
|
309
|
+
t.allowReserved !== true && (r = Ve[t.ecmaVersion >= 6 ? 6 : t.ecmaVersion === 5 ? 5 : 3], t.sourceType === "module" && (r += " await")), this.reservedWords = H(r);
|
|
310
|
+
var n = (r ? r + " " : "") + Ve.strict;
|
|
311
|
+
this.reservedWordsStrict = H(n), this.reservedWordsStrictBind = H(n + " " + Ve.strictBind), this.input = String(i), this.containsEsc = false, s ? (this.pos = s, this.lineStart = this.input.lastIndexOf(`
|
|
312
|
+
`, s - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(V).length) : (this.pos = this.lineStart = 0, this.curLine = 1), this.type = a.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = true, this.inModule = t.sourceType === "module", this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = false, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = /* @__PURE__ */ Object.create(null), this.pos === 0 && t.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(ne), this.regexpState = null, this.privateNameStack = [];
|
|
313
|
+
}, j = { inFunction: { configurable: true }, inGenerator: { configurable: true }, inAsync: { configurable: true }, canAwait: { configurable: true }, allowSuper: { configurable: true }, allowDirectSuper: { configurable: true }, treatFunctionsAsVar: { configurable: true }, allowNewDotTarget: { configurable: true }, inClassStaticBlock: { configurable: true } };
|
|
314
|
+
E.prototype.parse = function() {
|
|
315
315
|
var t = this.options.program || this.startNode();
|
|
316
316
|
return this.nextToken(), this.parseTopLevel(t);
|
|
317
317
|
};
|
|
318
|
-
|
|
318
|
+
j.inFunction.get = function() {
|
|
319
319
|
return (this.currentVarScope().flags & Z) > 0;
|
|
320
320
|
};
|
|
321
|
-
|
|
322
|
-
return (this.currentVarScope().flags &
|
|
321
|
+
j.inGenerator.get = function() {
|
|
322
|
+
return (this.currentVarScope().flags & vt) > 0;
|
|
323
323
|
};
|
|
324
|
-
|
|
325
|
-
return (this.currentVarScope().flags &
|
|
324
|
+
j.inAsync.get = function() {
|
|
325
|
+
return (this.currentVarScope().flags & Ue) > 0;
|
|
326
326
|
};
|
|
327
|
-
|
|
327
|
+
j.canAwait.get = function() {
|
|
328
328
|
for (var e = this.scopeStack.length - 1; e >= 0; e--) {
|
|
329
|
-
var t = this.scopeStack[e];
|
|
330
|
-
if (
|
|
331
|
-
if (
|
|
329
|
+
var t = this.scopeStack[e], i = t.flags;
|
|
330
|
+
if (i & (X | oe)) return false;
|
|
331
|
+
if (i & Z) return (i & Ue) > 0;
|
|
332
332
|
}
|
|
333
333
|
return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
|
|
334
334
|
};
|
|
335
|
-
|
|
336
|
-
var e = this.currentThisScope(), t = e.flags
|
|
337
|
-
return (t &
|
|
335
|
+
j.allowSuper.get = function() {
|
|
336
|
+
var e = this.currentThisScope(), t = e.flags;
|
|
337
|
+
return (t & ve) > 0 || this.options.allowSuperOutsideMethod;
|
|
338
338
|
};
|
|
339
|
-
|
|
340
|
-
return (this.currentThisScope().flags &
|
|
339
|
+
j.allowDirectSuper.get = function() {
|
|
340
|
+
return (this.currentThisScope().flags & St) > 0;
|
|
341
341
|
};
|
|
342
|
-
|
|
342
|
+
j.treatFunctionsAsVar.get = function() {
|
|
343
343
|
return this.treatFunctionsAsVarInScope(this.currentScope());
|
|
344
344
|
};
|
|
345
|
-
|
|
346
|
-
var e = this.
|
|
347
|
-
|
|
345
|
+
j.allowNewDotTarget.get = function() {
|
|
346
|
+
for (var e = this.scopeStack.length - 1; e >= 0; e--) {
|
|
347
|
+
var t = this.scopeStack[e], i = t.flags;
|
|
348
|
+
if (i & (X | oe) || i & Z && !(i & Ge)) return true;
|
|
349
|
+
}
|
|
350
|
+
return false;
|
|
348
351
|
};
|
|
349
|
-
|
|
350
|
-
return (this.currentVarScope().flags &
|
|
352
|
+
j.inClassStaticBlock.get = function() {
|
|
353
|
+
return (this.currentVarScope().flags & X) > 0;
|
|
351
354
|
};
|
|
352
|
-
|
|
355
|
+
E.extend = function() {
|
|
353
356
|
for (var t = [], i = arguments.length; i--; ) t[i] = arguments[i];
|
|
354
357
|
for (var s = this, r = 0; r < t.length; r++) s = t[r](s);
|
|
355
358
|
return s;
|
|
356
359
|
};
|
|
357
|
-
|
|
360
|
+
E.parse = function(t, i) {
|
|
358
361
|
return new this(i, t).parse();
|
|
359
362
|
};
|
|
360
|
-
|
|
363
|
+
E.parseExpressionAt = function(t, i, s) {
|
|
361
364
|
var r = new this(s, t, i);
|
|
362
365
|
return r.nextToken(), r.parseExpression();
|
|
363
366
|
};
|
|
364
|
-
|
|
367
|
+
E.tokenizer = function(t, i) {
|
|
365
368
|
return new this(i, t);
|
|
366
369
|
};
|
|
367
|
-
Object.defineProperties(
|
|
368
|
-
var
|
|
369
|
-
|
|
370
|
+
Object.defineProperties(E.prototype, j);
|
|
371
|
+
var P = E.prototype, Wi = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
|
|
372
|
+
P.strictDirective = function(e) {
|
|
370
373
|
if (this.options.ecmaVersion < 5) return false;
|
|
371
374
|
for (; ; ) {
|
|
372
|
-
|
|
373
|
-
var t =
|
|
375
|
+
A.lastIndex = e, e += A.exec(this.input)[0].length;
|
|
376
|
+
var t = Wi.exec(this.input.slice(e));
|
|
374
377
|
if (!t) return false;
|
|
375
378
|
if ((t[1] || t[2]) === "use strict") {
|
|
376
|
-
|
|
377
|
-
var i =
|
|
378
|
-
return r === ";" || r === "}" ||
|
|
379
|
+
A.lastIndex = e + t[0].length;
|
|
380
|
+
var i = A.exec(this.input), s = i.index + i[0].length, r = this.input.charAt(s);
|
|
381
|
+
return r === ";" || r === "}" || V.test(i[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r) || r === "!" && this.input.charAt(s + 1) === "=");
|
|
379
382
|
}
|
|
380
|
-
e += t[0].length,
|
|
383
|
+
e += t[0].length, A.lastIndex = e, e += A.exec(this.input)[0].length, this.input[e] === ";" && e++;
|
|
381
384
|
}
|
|
382
385
|
};
|
|
383
|
-
|
|
386
|
+
P.eat = function(e) {
|
|
384
387
|
return this.type === e ? (this.next(), true) : false;
|
|
385
388
|
};
|
|
386
|
-
|
|
389
|
+
P.isContextual = function(e) {
|
|
387
390
|
return this.type === a.name && this.value === e && !this.containsEsc;
|
|
388
391
|
};
|
|
389
|
-
|
|
392
|
+
P.eatContextual = function(e) {
|
|
390
393
|
return this.isContextual(e) ? (this.next(), true) : false;
|
|
391
394
|
};
|
|
392
|
-
|
|
395
|
+
P.expectContextual = function(e) {
|
|
393
396
|
this.eatContextual(e) || this.unexpected();
|
|
394
397
|
};
|
|
395
|
-
|
|
396
|
-
return this.type === a.eof || this.type === a.braceR ||
|
|
398
|
+
P.canInsertSemicolon = function() {
|
|
399
|
+
return this.type === a.eof || this.type === a.braceR || V.test(this.input.slice(this.lastTokEnd, this.start));
|
|
397
400
|
};
|
|
398
|
-
|
|
401
|
+
P.insertSemicolon = function() {
|
|
399
402
|
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), true;
|
|
400
403
|
};
|
|
401
|
-
|
|
404
|
+
P.semicolon = function() {
|
|
402
405
|
!this.eat(a.semi) && !this.insertSemicolon() && this.unexpected();
|
|
403
406
|
};
|
|
404
|
-
|
|
407
|
+
P.afterTrailingComma = function(e, t) {
|
|
405
408
|
if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), true;
|
|
406
409
|
};
|
|
407
|
-
|
|
410
|
+
P.expect = function(e) {
|
|
408
411
|
this.eat(e) || this.unexpected();
|
|
409
412
|
};
|
|
410
|
-
|
|
413
|
+
P.unexpected = function(e) {
|
|
411
414
|
this.raise(e ?? this.start, "Unexpected token");
|
|
412
415
|
};
|
|
413
|
-
var
|
|
416
|
+
var Se = function() {
|
|
414
417
|
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
|
|
415
418
|
};
|
|
416
|
-
|
|
419
|
+
P.checkPatternErrors = function(e, t) {
|
|
417
420
|
if (e) {
|
|
418
421
|
e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
|
|
419
422
|
var i = t ? e.parenthesizedAssign : e.parenthesizedBind;
|
|
420
423
|
i > -1 && this.raiseRecoverable(i, t ? "Assigning to rvalue" : "Parenthesized pattern");
|
|
421
424
|
}
|
|
422
425
|
};
|
|
423
|
-
|
|
426
|
+
P.checkExpressionErrors = function(e, t) {
|
|
424
427
|
if (!e) return false;
|
|
425
428
|
var i = e.shorthandAssign, s = e.doubleProto;
|
|
426
429
|
if (!t) return i >= 0 || s >= 0;
|
|
427
430
|
i >= 0 && this.raise(i, "Shorthand property assignments are valid only in destructuring patterns"), s >= 0 && this.raiseRecoverable(s, "Redefinition of __proto__ property");
|
|
428
431
|
};
|
|
429
|
-
|
|
432
|
+
P.checkYieldAwaitInDefaultParams = function() {
|
|
430
433
|
this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, "Yield expression cannot be a default value"), this.awaitPos && this.raise(this.awaitPos, "Await expression cannot be a default value");
|
|
431
434
|
};
|
|
432
|
-
|
|
435
|
+
P.isSimpleAssignTarget = function(e) {
|
|
433
436
|
return e.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(e.expression) : e.type === "Identifier" || e.type === "MemberExpression";
|
|
434
437
|
};
|
|
435
|
-
var
|
|
436
|
-
|
|
438
|
+
var d = E.prototype;
|
|
439
|
+
d.parseTopLevel = function(e) {
|
|
437
440
|
var t = /* @__PURE__ */ Object.create(null);
|
|
438
441
|
for (e.body || (e.body = []); this.type !== a.eof; ) {
|
|
439
442
|
var i = this.parseStatement(null, true, t);
|
|
@@ -445,29 +448,54 @@ l.parseTopLevel = function(e) {
|
|
|
445
448
|
}
|
|
446
449
|
return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType, this.finishNode(e, "Program");
|
|
447
450
|
};
|
|
448
|
-
var
|
|
449
|
-
|
|
451
|
+
var He = { kind: "loop" }, Xi = { kind: "switch" };
|
|
452
|
+
d.isLet = function(e) {
|
|
450
453
|
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return false;
|
|
451
|
-
|
|
452
|
-
var t =
|
|
454
|
+
A.lastIndex = this.pos;
|
|
455
|
+
var t = A.exec(this.input), i = this.pos + t[0].length, s = this.input.charCodeAt(i);
|
|
453
456
|
if (s === 91 || s === 92) return true;
|
|
454
457
|
if (e) return false;
|
|
455
458
|
if (s === 123 || s > 55295 && s < 56320) return true;
|
|
456
459
|
if (M(s, true)) {
|
|
457
|
-
for (var r = i + 1;
|
|
460
|
+
for (var r = i + 1; K(s = this.input.charCodeAt(r), true); ) ++r;
|
|
458
461
|
if (s === 92 || s > 55295 && s < 56320) return true;
|
|
459
462
|
var n = this.input.slice(i, r);
|
|
460
|
-
if (!
|
|
463
|
+
if (!Fi.test(n)) return true;
|
|
461
464
|
}
|
|
462
465
|
return false;
|
|
463
466
|
};
|
|
464
|
-
|
|
467
|
+
d.isAsyncFunction = function() {
|
|
465
468
|
if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return false;
|
|
466
|
-
|
|
467
|
-
var e =
|
|
468
|
-
return !
|
|
469
|
+
A.lastIndex = this.pos;
|
|
470
|
+
var e = A.exec(this.input), t = this.pos + e[0].length, i;
|
|
471
|
+
return !V.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(K(i = this.input.charCodeAt(t + 8)) || i > 55295 && i < 56320));
|
|
472
|
+
};
|
|
473
|
+
d.isUsingKeyword = function(e, t) {
|
|
474
|
+
if (this.options.ecmaVersion < 17 || !this.isContextual(e ? "await" : "using")) return false;
|
|
475
|
+
A.lastIndex = this.pos;
|
|
476
|
+
var i = A.exec(this.input), s = this.pos + i[0].length;
|
|
477
|
+
if (V.test(this.input.slice(this.pos, s))) return false;
|
|
478
|
+
if (e) {
|
|
479
|
+
var r = s + 5, n;
|
|
480
|
+
if (this.input.slice(s, r) !== "using" || r === this.input.length || K(n = this.input.charCodeAt(r)) || n > 55295 && n < 56320) return false;
|
|
481
|
+
A.lastIndex = r;
|
|
482
|
+
var o = A.exec(this.input);
|
|
483
|
+
if (o && V.test(this.input.slice(r, r + o[0].length))) return false;
|
|
484
|
+
}
|
|
485
|
+
if (t) {
|
|
486
|
+
var p = s + 2, u;
|
|
487
|
+
if (this.input.slice(s, p) === "of" && (p === this.input.length || !K(u = this.input.charCodeAt(p)) && !(u > 55295 && u < 56320))) return false;
|
|
488
|
+
}
|
|
489
|
+
var c = this.input.charCodeAt(s);
|
|
490
|
+
return M(c, true) || c === 92;
|
|
491
|
+
};
|
|
492
|
+
d.isAwaitUsing = function(e) {
|
|
493
|
+
return this.isUsingKeyword(true, e);
|
|
494
|
+
};
|
|
495
|
+
d.isUsing = function(e) {
|
|
496
|
+
return this.isUsingKeyword(false, e);
|
|
469
497
|
};
|
|
470
|
-
|
|
498
|
+
d.parseStatement = function(e, t, i) {
|
|
471
499
|
var s = this.type, r = this.startNode(), n;
|
|
472
500
|
switch (this.isLet(e) && (s = a._var, n = "let"), s) {
|
|
473
501
|
case a._break:
|
|
@@ -507,18 +535,20 @@ l.parseStatement = function(e, t, i) {
|
|
|
507
535
|
case a._export:
|
|
508
536
|
case a._import:
|
|
509
537
|
if (this.options.ecmaVersion > 10 && s === a._import) {
|
|
510
|
-
|
|
511
|
-
var o =
|
|
512
|
-
if (
|
|
538
|
+
A.lastIndex = this.pos;
|
|
539
|
+
var o = A.exec(this.input), p = this.pos + o[0].length, u = this.input.charCodeAt(p);
|
|
540
|
+
if (u === 40 || u === 46) return this.parseExpressionStatement(r, this.parseExpression());
|
|
513
541
|
}
|
|
514
542
|
return this.options.allowImportExportEverywhere || (t || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), s === a._import ? this.parseImport(r) : this.parseExport(r, i);
|
|
515
543
|
default:
|
|
516
544
|
if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(r, true, !e);
|
|
517
|
-
var
|
|
518
|
-
return
|
|
545
|
+
var c = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
|
|
546
|
+
if (c) return t && this.options.sourceType === "script" && this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`"), c === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(r, false, c), this.semicolon(), this.finishNode(r, "VariableDeclaration");
|
|
547
|
+
var f = this.value, v = this.parseExpression();
|
|
548
|
+
return s === a.name && v.type === "Identifier" && this.eat(a.colon) ? this.parseLabeledStatement(r, f, v, e) : this.parseExpressionStatement(r, v);
|
|
519
549
|
}
|
|
520
550
|
};
|
|
521
|
-
|
|
551
|
+
d.parseBreakContinueStatement = function(e, t) {
|
|
522
552
|
var i = t === "break";
|
|
523
553
|
this.next(), this.eat(a.semi) || this.insertSemicolon() ? e.label = null : this.type !== a.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
|
|
524
554
|
for (var s = 0; s < this.labels.length; ++s) {
|
|
@@ -527,204 +557,208 @@ l.parseBreakContinueStatement = function(e, t) {
|
|
|
527
557
|
}
|
|
528
558
|
return s === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, i ? "BreakStatement" : "ContinueStatement");
|
|
529
559
|
};
|
|
530
|
-
|
|
560
|
+
d.parseDebuggerStatement = function(e) {
|
|
531
561
|
return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
|
|
532
562
|
};
|
|
533
|
-
|
|
534
|
-
return this.next(), this.labels.push(
|
|
563
|
+
d.parseDoStatement = function(e) {
|
|
564
|
+
return this.next(), this.labels.push(He), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(a._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(a.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
|
|
535
565
|
};
|
|
536
|
-
|
|
566
|
+
d.parseForStatement = function(e) {
|
|
537
567
|
this.next();
|
|
538
568
|
var t = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
|
|
539
|
-
if (this.labels.push(
|
|
569
|
+
if (this.labels.push(He), this.enterScope(0), this.expect(a.parenL), this.type === a.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
|
|
540
570
|
var i = this.isLet();
|
|
541
571
|
if (this.type === a._var || this.type === a._const || i) {
|
|
542
572
|
var s = this.startNode(), r = i ? "let" : this.value;
|
|
543
|
-
return this.next(), this.parseVar(s, true, r), this.finishNode(s, "VariableDeclaration"),
|
|
573
|
+
return this.next(), this.parseVar(s, true, r), this.finishNode(s, "VariableDeclaration"), this.parseForAfterInit(e, s, t);
|
|
544
574
|
}
|
|
545
|
-
var n = this.isContextual("let"), o = false,
|
|
546
|
-
|
|
575
|
+
var n = this.isContextual("let"), o = false, p = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
|
|
576
|
+
if (p) {
|
|
577
|
+
var u = this.startNode();
|
|
578
|
+
return this.next(), p === "await using" && this.next(), this.parseVar(u, true, p), this.finishNode(u, "VariableDeclaration"), this.parseForAfterInit(e, u, t);
|
|
579
|
+
}
|
|
580
|
+
var c = this.containsEsc, f = new Se(), v = this.start, T = t > -1 ? this.parseExprSubscripts(f, "await") : this.parseExpression(true, f);
|
|
581
|
+
return this.type === a._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === a._in && this.unexpected(t), e.await = true) : o && this.options.ecmaVersion >= 8 && (T.start === v && !c && T.type === "Identifier" && T.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = false)), n && o && this.raise(T.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(T, false, f), this.checkLValPattern(T), this.parseForIn(e, T)) : (this.checkExpressionErrors(f, true), t > -1 && this.unexpected(t), this.parseFor(e, T));
|
|
582
|
+
};
|
|
583
|
+
d.parseForAfterInit = function(e, t, i) {
|
|
584
|
+
return (this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && t.declarations.length === 1 ? (this.options.ecmaVersion >= 9 && (this.type === a._in ? i > -1 && this.unexpected(i) : e.await = i > -1), this.parseForIn(e, t)) : (i > -1 && this.unexpected(i), this.parseFor(e, t));
|
|
547
585
|
};
|
|
548
|
-
|
|
549
|
-
return this.next(), this.parseFunction(e,
|
|
586
|
+
d.parseFunctionStatement = function(e, t, i) {
|
|
587
|
+
return this.next(), this.parseFunction(e, re | (i ? 0 : Fe), false, t);
|
|
550
588
|
};
|
|
551
|
-
|
|
589
|
+
d.parseIfStatement = function(e) {
|
|
552
590
|
return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(a._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement");
|
|
553
591
|
};
|
|
554
|
-
|
|
592
|
+
d.parseReturnStatement = function(e) {
|
|
555
593
|
return !this.inFunction && !this.options.allowReturnOutsideFunction && this.raise(this.start, "'return' outside of function"), this.next(), this.eat(a.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
|
|
556
594
|
};
|
|
557
|
-
|
|
558
|
-
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(a.braceL), this.labels.push(
|
|
595
|
+
d.parseSwitchStatement = function(e) {
|
|
596
|
+
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(a.braceL), this.labels.push(Xi), this.enterScope(0);
|
|
559
597
|
for (var t, i = false; this.type !== a.braceR; ) if (this.type === a._case || this.type === a._default) {
|
|
560
598
|
var s = this.type === a._case;
|
|
561
599
|
t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), s ? t.test = this.parseExpression() : (i && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), i = true, t.test = null), this.expect(a.colon);
|
|
562
600
|
} else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
|
|
563
601
|
return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement");
|
|
564
602
|
};
|
|
565
|
-
|
|
566
|
-
return this.next(),
|
|
603
|
+
d.parseThrowStatement = function(e) {
|
|
604
|
+
return this.next(), V.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e.argument = this.parseExpression(), this.semicolon(), this.finishNode(e, "ThrowStatement");
|
|
567
605
|
};
|
|
568
|
-
var
|
|
569
|
-
|
|
606
|
+
var zi = [];
|
|
607
|
+
d.parseCatchClauseParam = function() {
|
|
570
608
|
var e = this.parseBindingAtom(), t = e.type === "Identifier";
|
|
571
|
-
return this.enterScope(t ?
|
|
609
|
+
return this.enterScope(t ? bt : 0), this.checkLValPattern(e, t ? Tt : J), this.expect(a.parenR), e;
|
|
572
610
|
};
|
|
573
|
-
|
|
611
|
+
d.parseTryStatement = function(e) {
|
|
574
612
|
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === a._catch) {
|
|
575
613
|
var t = this.startNode();
|
|
576
614
|
this.next(), this.eat(a.parenL) ? t.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0)), t.body = this.parseBlock(false), this.exitScope(), e.handler = this.finishNode(t, "CatchClause");
|
|
577
615
|
}
|
|
578
616
|
return e.finalizer = this.eat(a._finally) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement");
|
|
579
617
|
};
|
|
580
|
-
|
|
618
|
+
d.parseVarStatement = function(e, t, i) {
|
|
581
619
|
return this.next(), this.parseVar(e, false, t, i), this.semicolon(), this.finishNode(e, "VariableDeclaration");
|
|
582
620
|
};
|
|
583
|
-
|
|
584
|
-
return this.next(), e.test = this.parseParenExpression(), this.labels.push(
|
|
621
|
+
d.parseWhileStatement = function(e) {
|
|
622
|
+
return this.next(), e.test = this.parseParenExpression(), this.labels.push(He), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
|
|
585
623
|
};
|
|
586
|
-
|
|
624
|
+
d.parseWithStatement = function(e) {
|
|
587
625
|
return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), e.object = this.parseParenExpression(), e.body = this.parseStatement("with"), this.finishNode(e, "WithStatement");
|
|
588
626
|
};
|
|
589
|
-
|
|
627
|
+
d.parseEmptyStatement = function(e) {
|
|
590
628
|
return this.next(), this.finishNode(e, "EmptyStatement");
|
|
591
629
|
};
|
|
592
|
-
|
|
630
|
+
d.parseLabeledStatement = function(e, t, i, s) {
|
|
593
631
|
for (var r = 0, n = this.labels; r < n.length; r += 1) {
|
|
594
632
|
var o = n[r];
|
|
595
633
|
o.name === t && this.raise(i.start, "Label '" + t + "' is already declared");
|
|
596
634
|
}
|
|
597
|
-
for (var
|
|
598
|
-
var
|
|
599
|
-
if (
|
|
635
|
+
for (var p = this.type.isLoop ? "loop" : this.type === a._switch ? "switch" : null, u = this.labels.length - 1; u >= 0; u--) {
|
|
636
|
+
var c = this.labels[u];
|
|
637
|
+
if (c.statementStart === e.start) c.statementStart = this.start, c.kind = p;
|
|
600
638
|
else break;
|
|
601
639
|
}
|
|
602
|
-
return this.labels.push({ name: t, kind:
|
|
640
|
+
return this.labels.push({ name: t, kind: p, statementStart: this.start }), e.body = this.parseStatement(s ? s.indexOf("label") === -1 ? s + "label" : s : "label"), this.labels.pop(), e.label = i, this.finishNode(e, "LabeledStatement");
|
|
603
641
|
};
|
|
604
|
-
|
|
642
|
+
d.parseExpressionStatement = function(e, t) {
|
|
605
643
|
return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement");
|
|
606
644
|
};
|
|
607
|
-
|
|
645
|
+
d.parseBlock = function(e, t, i) {
|
|
608
646
|
for (e === void 0 && (e = true), t === void 0 && (t = this.startNode()), t.body = [], this.expect(a.braceL), e && this.enterScope(0); this.type !== a.braceR; ) {
|
|
609
647
|
var s = this.parseStatement(null);
|
|
610
648
|
t.body.push(s);
|
|
611
649
|
}
|
|
612
650
|
return i && (this.strict = false), this.next(), e && this.exitScope(), this.finishNode(t, "BlockStatement");
|
|
613
651
|
};
|
|
614
|
-
|
|
652
|
+
d.parseFor = function(e, t) {
|
|
615
653
|
return e.init = t, this.expect(a.semi), e.test = this.type === a.semi ? null : this.parseExpression(), this.expect(a.semi), e.update = this.type === a.parenR ? null : this.parseExpression(), this.expect(a.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement");
|
|
616
654
|
};
|
|
617
|
-
|
|
655
|
+
d.parseForIn = function(e, t) {
|
|
618
656
|
var i = this.type === a._in;
|
|
619
657
|
return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!i || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (i ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = i ? this.parseExpression() : this.parseMaybeAssign(), this.expect(a.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
|
|
620
658
|
};
|
|
621
|
-
|
|
659
|
+
d.parseVar = function(e, t, i, s) {
|
|
622
660
|
for (e.declarations = [], e.kind = i; ; ) {
|
|
623
661
|
var r = this.startNode();
|
|
624
|
-
if (this.parseVarId(r, i), this.eat(a.eq) ? r.init = this.parseMaybeAssign(t) : !s && i === "const" && !(this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !s && r.id.type !== "Identifier" && !(t && (this.type === a._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : r.init = null, e.declarations.push(this.finishNode(r, "VariableDeclarator")), !this.eat(a.comma)) break;
|
|
662
|
+
if (this.parseVarId(r, i), this.eat(a.eq) ? r.init = this.parseMaybeAssign(t) : !s && i === "const" && !(this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !s && (i === "using" || i === "await using") && this.options.ecmaVersion >= 17 && this.type !== a._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + i + " declaration") : !s && r.id.type !== "Identifier" && !(t && (this.type === a._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : r.init = null, e.declarations.push(this.finishNode(r, "VariableDeclarator")), !this.eat(a.comma)) break;
|
|
625
663
|
}
|
|
626
664
|
return e;
|
|
627
665
|
};
|
|
628
|
-
|
|
629
|
-
e.id = this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ?
|
|
666
|
+
d.parseVarId = function(e, t) {
|
|
667
|
+
e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Je : J, false);
|
|
630
668
|
};
|
|
631
|
-
var
|
|
632
|
-
|
|
633
|
-
this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !s) && (this.type === a.star && t &
|
|
634
|
-
var n = this.yieldPos, o = this.awaitPos,
|
|
635
|
-
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(
|
|
669
|
+
var re = 1, Fe = 2, Et = 4;
|
|
670
|
+
d.parseFunction = function(e, t, i, s, r) {
|
|
671
|
+
this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !s) && (this.type === a.star && t & Fe && this.unexpected(), e.generator = this.eat(a.star)), this.options.ecmaVersion >= 8 && (e.async = !!s), t & re && (e.id = t & Et && this.type !== a.name ? null : this.parseIdent(), e.id && !(t & Fe) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Je : J : _t));
|
|
672
|
+
var n = this.yieldPos, o = this.awaitPos, p = this.awaitIdentPos;
|
|
673
|
+
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(qe(e.async, e.generator)), t & re || (e.id = this.type === a.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, i, false, r), this.yieldPos = n, this.awaitPos = o, this.awaitIdentPos = p, this.finishNode(e, t & re ? "FunctionDeclaration" : "FunctionExpression");
|
|
636
674
|
};
|
|
637
|
-
|
|
675
|
+
d.parseFunctionParams = function(e) {
|
|
638
676
|
this.expect(a.parenL), e.params = this.parseBindingList(a.parenR, false, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
|
|
639
677
|
};
|
|
640
|
-
|
|
678
|
+
d.parseClass = function(e, t) {
|
|
641
679
|
this.next();
|
|
642
680
|
var i = this.strict;
|
|
643
681
|
this.strict = true, this.parseClassId(e, t), this.parseClassSuper(e);
|
|
644
682
|
var s = this.enterClassBody(), r = this.startNode(), n = false;
|
|
645
683
|
for (r.body = [], this.expect(a.braceL); this.type !== a.braceR; ) {
|
|
646
684
|
var o = this.parseClassElement(e.superClass !== null);
|
|
647
|
-
o && (r.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (n && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), n = true) : o.key && o.key.type === "PrivateIdentifier" &&
|
|
685
|
+
o && (r.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (n && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), n = true) : o.key && o.key.type === "PrivateIdentifier" && Qi(s, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
|
|
648
686
|
}
|
|
649
687
|
return this.strict = i, this.next(), e.body = this.finishNode(r, "ClassBody"), this.exitClassBody(), this.finishNode(e, t ? "ClassDeclaration" : "ClassExpression");
|
|
650
688
|
};
|
|
651
|
-
|
|
689
|
+
d.parseClassElement = function(e) {
|
|
652
690
|
if (this.eat(a.semi)) return null;
|
|
653
|
-
var t = this.options.ecmaVersion, i = this.startNode(), s = "", r = false, n = false, o = "method",
|
|
691
|
+
var t = this.options.ecmaVersion, i = this.startNode(), s = "", r = false, n = false, o = "method", p = false;
|
|
654
692
|
if (this.eatContextual("static")) {
|
|
655
693
|
if (t >= 13 && this.eat(a.braceL)) return this.parseClassStaticBlock(i), i;
|
|
656
|
-
this.isClassElementNameStart() || this.type === a.star ?
|
|
694
|
+
this.isClassElementNameStart() || this.type === a.star ? p = true : s = "static";
|
|
657
695
|
}
|
|
658
|
-
if (i.static =
|
|
659
|
-
var
|
|
660
|
-
(this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o =
|
|
696
|
+
if (i.static = p, !s && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === a.star) && !this.canInsertSemicolon() ? n = true : s = "async"), !s && (t >= 9 || !n) && this.eat(a.star) && (r = true), !s && !n && !r) {
|
|
697
|
+
var u = this.value;
|
|
698
|
+
(this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o = u : s = u);
|
|
661
699
|
}
|
|
662
700
|
if (s ? (i.computed = false, i.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), i.key.name = s, this.finishNode(i.key, "Identifier")) : this.parseClassElementName(i), t < 13 || this.type === a.parenL || o !== "method" || r || n) {
|
|
663
|
-
var
|
|
664
|
-
|
|
701
|
+
var c = !i.static && me(i, "constructor"), f = c && e;
|
|
702
|
+
c && o !== "method" && this.raise(i.key.start, "Constructor can't have get/set modifier"), i.kind = c ? "constructor" : o, this.parseClassMethod(i, r, n, f);
|
|
665
703
|
} else this.parseClassField(i);
|
|
666
704
|
return i;
|
|
667
705
|
};
|
|
668
|
-
|
|
706
|
+
d.isClassElementNameStart = function() {
|
|
669
707
|
return this.type === a.name || this.type === a.privateId || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword;
|
|
670
708
|
};
|
|
671
|
-
|
|
709
|
+
d.parseClassElementName = function(e) {
|
|
672
710
|
this.type === a.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), e.computed = false, e.key = this.parsePrivateIdent()) : this.parsePropertyName(e);
|
|
673
711
|
};
|
|
674
|
-
|
|
712
|
+
d.parseClassMethod = function(e, t, i, s) {
|
|
675
713
|
var r = e.key;
|
|
676
|
-
e.kind === "constructor" ? (t && this.raise(r.start, "Constructor can't be a generator"), i && this.raise(r.start, "Constructor can't be an async method")) : e.static &&
|
|
714
|
+
e.kind === "constructor" ? (t && this.raise(r.start, "Constructor can't be a generator"), i && this.raise(r.start, "Constructor can't be an async method")) : e.static && me(e, "prototype") && this.raise(r.start, "Classes may not have a static property named prototype");
|
|
677
715
|
var n = e.value = this.parseMethod(t, i, s);
|
|
678
716
|
return e.kind === "get" && n.params.length !== 0 && this.raiseRecoverable(n.start, "getter should have no params"), e.kind === "set" && n.params.length !== 1 && this.raiseRecoverable(n.start, "setter should have exactly one param"), e.kind === "set" && n.params[0].type === "RestElement" && this.raiseRecoverable(n.params[0].start, "Setter cannot use rest params"), this.finishNode(e, "MethodDefinition");
|
|
679
717
|
};
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
var t = this.currentThisScope(), i = t.inClassFieldInit;
|
|
683
|
-
t.inClassFieldInit = true, e.value = this.parseMaybeAssign(), t.inClassFieldInit = i;
|
|
684
|
-
} else e.value = null;
|
|
685
|
-
return this.semicolon(), this.finishNode(e, "PropertyDefinition");
|
|
718
|
+
d.parseClassField = function(e) {
|
|
719
|
+
return me(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && me(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(a.eq) ? (this.enterScope(oe | ve), e.value = this.parseMaybeAssign(), this.exitScope()) : e.value = null, this.semicolon(), this.finishNode(e, "PropertyDefinition");
|
|
686
720
|
};
|
|
687
|
-
|
|
721
|
+
d.parseClassStaticBlock = function(e) {
|
|
688
722
|
e.body = [];
|
|
689
723
|
var t = this.labels;
|
|
690
|
-
for (this.labels = [], this.enterScope(
|
|
724
|
+
for (this.labels = [], this.enterScope(X | ve); this.type !== a.braceR; ) {
|
|
691
725
|
var i = this.parseStatement(null);
|
|
692
726
|
e.body.push(i);
|
|
693
727
|
}
|
|
694
728
|
return this.next(), this.exitScope(), this.labels = t, this.finishNode(e, "StaticBlock");
|
|
695
729
|
};
|
|
696
|
-
|
|
697
|
-
this.type === a.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id,
|
|
730
|
+
d.parseClassId = function(e, t) {
|
|
731
|
+
this.type === a.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, J, false)) : (t === true && this.unexpected(), e.id = null);
|
|
698
732
|
};
|
|
699
|
-
|
|
733
|
+
d.parseClassSuper = function(e) {
|
|
700
734
|
e.superClass = this.eat(a._extends) ? this.parseExprSubscripts(null, false) : null;
|
|
701
735
|
};
|
|
702
|
-
|
|
736
|
+
d.enterClassBody = function() {
|
|
703
737
|
var e = { declared: /* @__PURE__ */ Object.create(null), used: [] };
|
|
704
738
|
return this.privateNameStack.push(e), e.declared;
|
|
705
739
|
};
|
|
706
|
-
|
|
740
|
+
d.exitClassBody = function() {
|
|
707
741
|
var e = this.privateNameStack.pop(), t = e.declared, i = e.used;
|
|
708
742
|
if (this.options.checkPrivateFields) for (var s = this.privateNameStack.length, r = s === 0 ? null : this.privateNameStack[s - 1], n = 0; n < i.length; ++n) {
|
|
709
743
|
var o = i[n];
|
|
710
|
-
|
|
744
|
+
$(t, o.name) || (r ? r.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
|
|
711
745
|
}
|
|
712
746
|
};
|
|
713
|
-
function
|
|
747
|
+
function Qi(e, t) {
|
|
714
748
|
var i = t.key.name, s = e[i], r = "true";
|
|
715
749
|
return t.type === "MethodDefinition" && (t.kind === "get" || t.kind === "set") && (r = (t.static ? "s" : "i") + t.kind), s === "iget" && r === "iset" || s === "iset" && r === "iget" || s === "sget" && r === "sset" || s === "sset" && r === "sget" ? (e[i] = "true", false) : s ? true : (e[i] = r, false);
|
|
716
750
|
}
|
|
717
|
-
function
|
|
751
|
+
function me(e, t) {
|
|
718
752
|
var i = e.computed, s = e.key;
|
|
719
753
|
return !i && (s.type === "Identifier" && s.name === t || s.type === "Literal" && s.value === t);
|
|
720
754
|
}
|
|
721
|
-
|
|
755
|
+
d.parseExportAllDeclaration = function(e, t) {
|
|
722
756
|
return this.options.ecmaVersion >= 11 && (this.eatContextual("as") ? (e.exported = this.parseModuleExportName(), this.checkExport(t, e.exported, this.lastTokStart)) : e.exported = null), this.expectContextual("from"), this.type !== a.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
|
|
723
757
|
};
|
|
724
|
-
|
|
758
|
+
d.parseExport = function(e, t) {
|
|
725
759
|
if (this.next(), this.eat(a.star)) return this.parseExportAllDeclaration(e, t);
|
|
726
760
|
if (this.eat(a._default)) return this.checkExport(t, "default", this.lastTokStart), e.declaration = this.parseExportDefaultDeclaration(), this.finishNode(e, "ExportDefaultDeclaration");
|
|
727
|
-
if (this.shouldParseExportStatement()) e.declaration = this.parseExportDeclaration(e), e.declaration.type === "VariableDeclaration" ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id, e.declaration.id.start), e.specifiers = [], e.source = null;
|
|
761
|
+
if (this.shouldParseExportStatement()) e.declaration = this.parseExportDeclaration(e), e.declaration.type === "VariableDeclaration" ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id, e.declaration.id.start), e.specifiers = [], e.source = null, this.options.ecmaVersion >= 16 && (e.attributes = []);
|
|
728
762
|
else {
|
|
729
763
|
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== a.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause());
|
|
730
764
|
else {
|
|
@@ -732,20 +766,20 @@ l.parseExport = function(e, t) {
|
|
|
732
766
|
var r = s[i];
|
|
733
767
|
this.checkUnreserved(r.local), this.checkLocalExport(r.local), r.local.type === "Literal" && this.raise(r.local.start, "A string literal cannot be used as an exported binding without `from`.");
|
|
734
768
|
}
|
|
735
|
-
e.source = null;
|
|
769
|
+
e.source = null, this.options.ecmaVersion >= 16 && (e.attributes = []);
|
|
736
770
|
}
|
|
737
771
|
this.semicolon();
|
|
738
772
|
}
|
|
739
773
|
return this.finishNode(e, "ExportNamedDeclaration");
|
|
740
774
|
};
|
|
741
|
-
|
|
775
|
+
d.parseExportDeclaration = function(e) {
|
|
742
776
|
return this.parseStatement(null);
|
|
743
777
|
};
|
|
744
|
-
|
|
778
|
+
d.parseExportDefaultDeclaration = function() {
|
|
745
779
|
var e;
|
|
746
780
|
if (this.type === a._function || (e = this.isAsyncFunction())) {
|
|
747
781
|
var t = this.startNode();
|
|
748
|
-
return this.next(), e && this.next(), this.parseFunction(t,
|
|
782
|
+
return this.next(), e && this.next(), this.parseFunction(t, re | Et, false, e);
|
|
749
783
|
} else if (this.type === a._class) {
|
|
750
784
|
var i = this.startNode();
|
|
751
785
|
return this.parseClass(i, "nullableID");
|
|
@@ -754,36 +788,36 @@ l.parseExportDefaultDeclaration = function() {
|
|
|
754
788
|
return this.semicolon(), s;
|
|
755
789
|
}
|
|
756
790
|
};
|
|
757
|
-
|
|
758
|
-
e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value),
|
|
791
|
+
d.checkExport = function(e, t, i) {
|
|
792
|
+
e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), $(e, t) && this.raiseRecoverable(i, "Duplicate export '" + t + "'"), e[t] = true);
|
|
759
793
|
};
|
|
760
|
-
|
|
794
|
+
d.checkPatternExport = function(e, t) {
|
|
761
795
|
var i = t.type;
|
|
762
796
|
if (i === "Identifier") this.checkExport(e, t, t.start);
|
|
763
797
|
else if (i === "ObjectPattern") for (var s = 0, r = t.properties; s < r.length; s += 1) {
|
|
764
798
|
var n = r[s];
|
|
765
799
|
this.checkPatternExport(e, n);
|
|
766
800
|
}
|
|
767
|
-
else if (i === "ArrayPattern") for (var o = 0,
|
|
768
|
-
var
|
|
769
|
-
|
|
801
|
+
else if (i === "ArrayPattern") for (var o = 0, p = t.elements; o < p.length; o += 1) {
|
|
802
|
+
var u = p[o];
|
|
803
|
+
u && this.checkPatternExport(e, u);
|
|
770
804
|
}
|
|
771
805
|
else i === "Property" ? this.checkPatternExport(e, t.value) : i === "AssignmentPattern" ? this.checkPatternExport(e, t.left) : i === "RestElement" && this.checkPatternExport(e, t.argument);
|
|
772
806
|
};
|
|
773
|
-
|
|
807
|
+
d.checkVariableExport = function(e, t) {
|
|
774
808
|
if (e) for (var i = 0, s = t; i < s.length; i += 1) {
|
|
775
809
|
var r = s[i];
|
|
776
810
|
this.checkPatternExport(e, r.id);
|
|
777
811
|
}
|
|
778
812
|
};
|
|
779
|
-
|
|
813
|
+
d.shouldParseExportStatement = function() {
|
|
780
814
|
return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
|
|
781
815
|
};
|
|
782
|
-
|
|
816
|
+
d.parseExportSpecifier = function(e) {
|
|
783
817
|
var t = this.startNode();
|
|
784
818
|
return t.local = this.parseModuleExportName(), t.exported = this.eatContextual("as") ? this.parseModuleExportName() : t.local, this.checkExport(e, t.exported, t.exported.start), this.finishNode(t, "ExportSpecifier");
|
|
785
819
|
};
|
|
786
|
-
|
|
820
|
+
d.parseExportSpecifiers = function(e) {
|
|
787
821
|
var t = [], i = true;
|
|
788
822
|
for (this.expect(a.braceL); !this.eat(a.braceR); ) {
|
|
789
823
|
if (i) i = false;
|
|
@@ -792,22 +826,22 @@ l.parseExportSpecifiers = function(e) {
|
|
|
792
826
|
}
|
|
793
827
|
return t;
|
|
794
828
|
};
|
|
795
|
-
|
|
796
|
-
return this.next(), this.type === a.string ? (e.specifiers =
|
|
829
|
+
d.parseImport = function(e) {
|
|
830
|
+
return this.next(), this.type === a.string ? (e.specifiers = zi, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === a.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
|
|
797
831
|
};
|
|
798
|
-
|
|
832
|
+
d.parseImportSpecifier = function() {
|
|
799
833
|
var e = this.startNode();
|
|
800
|
-
return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local,
|
|
834
|
+
return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportSpecifier");
|
|
801
835
|
};
|
|
802
|
-
|
|
836
|
+
d.parseImportDefaultSpecifier = function() {
|
|
803
837
|
var e = this.startNode();
|
|
804
|
-
return e.local = this.parseIdent(), this.checkLValSimple(e.local,
|
|
838
|
+
return e.local = this.parseIdent(), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportDefaultSpecifier");
|
|
805
839
|
};
|
|
806
|
-
|
|
840
|
+
d.parseImportNamespaceSpecifier = function() {
|
|
807
841
|
var e = this.startNode();
|
|
808
|
-
return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local,
|
|
842
|
+
return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportNamespaceSpecifier");
|
|
809
843
|
};
|
|
810
|
-
|
|
844
|
+
d.parseImportSpecifiers = function() {
|
|
811
845
|
var e = [], t = true;
|
|
812
846
|
if (this.type === a.name && (e.push(this.parseImportDefaultSpecifier()), !this.eat(a.comma))) return e;
|
|
813
847
|
if (this.type === a.star) return e.push(this.parseImportNamespaceSpecifier()), e;
|
|
@@ -818,7 +852,7 @@ l.parseImportSpecifiers = function() {
|
|
|
818
852
|
}
|
|
819
853
|
return e;
|
|
820
854
|
};
|
|
821
|
-
|
|
855
|
+
d.parseWithClause = function() {
|
|
822
856
|
var e = [];
|
|
823
857
|
if (!this.eat(a._with)) return e;
|
|
824
858
|
this.expect(a.braceL);
|
|
@@ -826,29 +860,29 @@ l.parseWithClause = function() {
|
|
|
826
860
|
if (i) i = false;
|
|
827
861
|
else if (this.expect(a.comma), this.afterTrailingComma(a.braceR)) break;
|
|
828
862
|
var s = this.parseImportAttribute(), r = s.key.type === "Identifier" ? s.key.name : s.key.value;
|
|
829
|
-
|
|
863
|
+
$(t, r) && this.raiseRecoverable(s.key.start, "Duplicate attribute key '" + r + "'"), t[r] = true, e.push(s);
|
|
830
864
|
}
|
|
831
865
|
return e;
|
|
832
866
|
};
|
|
833
|
-
|
|
867
|
+
d.parseImportAttribute = function() {
|
|
834
868
|
var e = this.startNode();
|
|
835
869
|
return e.key = this.type === a.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(a.colon), this.type !== a.string && this.unexpected(), e.value = this.parseExprAtom(), this.finishNode(e, "ImportAttribute");
|
|
836
870
|
};
|
|
837
|
-
|
|
871
|
+
d.parseModuleExportName = function() {
|
|
838
872
|
if (this.options.ecmaVersion >= 13 && this.type === a.string) {
|
|
839
873
|
var e = this.parseLiteral(this.value);
|
|
840
|
-
return
|
|
874
|
+
return Ji.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
|
|
841
875
|
}
|
|
842
876
|
return this.parseIdent(true);
|
|
843
877
|
};
|
|
844
|
-
|
|
878
|
+
d.adaptDirectivePrologue = function(e) {
|
|
845
879
|
for (var t = 0; t < e.length && this.isDirectiveCandidate(e[t]); ++t) e[t].directive = e[t].expression.raw.slice(1, -1);
|
|
846
880
|
};
|
|
847
|
-
|
|
881
|
+
d.isDirectiveCandidate = function(e) {
|
|
848
882
|
return this.options.ecmaVersion >= 5 && e.type === "ExpressionStatement" && e.expression.type === "Literal" && typeof e.expression.value == "string" && (this.input[e.start] === '"' || this.input[e.start] === "'");
|
|
849
883
|
};
|
|
850
|
-
var
|
|
851
|
-
|
|
884
|
+
var D = E.prototype;
|
|
885
|
+
D.toAssignable = function(e, t, i) {
|
|
852
886
|
if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
|
|
853
887
|
case "Identifier":
|
|
854
888
|
this.inAsync && e.name === "await" && this.raise(e.start, "Cannot use 'await' as identifier inside an async function");
|
|
@@ -891,7 +925,7 @@ R.toAssignable = function(e, t, i) {
|
|
|
891
925
|
else i && this.checkPatternErrors(i, true);
|
|
892
926
|
return e;
|
|
893
927
|
};
|
|
894
|
-
|
|
928
|
+
D.toAssignableList = function(e, t) {
|
|
895
929
|
for (var i = e.length, s = 0; s < i; s++) {
|
|
896
930
|
var r = e[s];
|
|
897
931
|
r && this.toAssignable(r, t);
|
|
@@ -902,15 +936,15 @@ R.toAssignableList = function(e, t) {
|
|
|
902
936
|
}
|
|
903
937
|
return e;
|
|
904
938
|
};
|
|
905
|
-
|
|
939
|
+
D.parseSpread = function(e) {
|
|
906
940
|
var t = this.startNode();
|
|
907
941
|
return this.next(), t.argument = this.parseMaybeAssign(false, e), this.finishNode(t, "SpreadElement");
|
|
908
942
|
};
|
|
909
|
-
|
|
943
|
+
D.parseRestBinding = function() {
|
|
910
944
|
var e = this.startNode();
|
|
911
945
|
return this.next(), this.options.ecmaVersion === 6 && this.type !== a.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
|
|
912
946
|
};
|
|
913
|
-
|
|
947
|
+
D.parseBindingAtom = function() {
|
|
914
948
|
if (this.options.ecmaVersion >= 6) switch (this.type) {
|
|
915
949
|
case a.bracketL:
|
|
916
950
|
var e = this.startNode();
|
|
@@ -920,7 +954,7 @@ R.parseBindingAtom = function() {
|
|
|
920
954
|
}
|
|
921
955
|
return this.parseIdent();
|
|
922
956
|
};
|
|
923
|
-
|
|
957
|
+
D.parseBindingList = function(e, t, i, s) {
|
|
924
958
|
for (var r = [], n = true; !this.eat(e); ) if (n ? n = false : this.expect(a.comma), t && this.type === a.comma) r.push(null);
|
|
925
959
|
else {
|
|
926
960
|
if (i && this.afterTrailingComma(e)) break;
|
|
@@ -932,24 +966,24 @@ R.parseBindingList = function(e, t, i, s) {
|
|
|
932
966
|
}
|
|
933
967
|
return r;
|
|
934
968
|
};
|
|
935
|
-
|
|
969
|
+
D.parseAssignableListItem = function(e) {
|
|
936
970
|
var t = this.parseMaybeDefault(this.start, this.startLoc);
|
|
937
971
|
return this.parseBindingListItem(t), t;
|
|
938
972
|
};
|
|
939
|
-
|
|
973
|
+
D.parseBindingListItem = function(e) {
|
|
940
974
|
return e;
|
|
941
975
|
};
|
|
942
|
-
|
|
976
|
+
D.parseMaybeDefault = function(e, t, i) {
|
|
943
977
|
if (i = i || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(a.eq)) return i;
|
|
944
978
|
var s = this.startNodeAt(e, t);
|
|
945
979
|
return s.left = i, s.right = this.parseMaybeAssign(), this.finishNode(s, "AssignmentPattern");
|
|
946
980
|
};
|
|
947
|
-
|
|
948
|
-
t === void 0 && (t =
|
|
949
|
-
var s = t !==
|
|
981
|
+
D.checkLValSimple = function(e, t, i) {
|
|
982
|
+
t === void 0 && (t = de);
|
|
983
|
+
var s = t !== de;
|
|
950
984
|
switch (e.type) {
|
|
951
985
|
case "Identifier":
|
|
952
|
-
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (s ? "Binding " : "Assigning to ") + e.name + " in strict mode"), s && (t ===
|
|
986
|
+
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (s ? "Binding " : "Assigning to ") + e.name + " in strict mode"), s && (t === J && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), i && ($(i, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), i[e.name] = true), t !== Ct && this.declareName(e.name, t, e.start));
|
|
953
987
|
break;
|
|
954
988
|
case "ChainExpression":
|
|
955
989
|
this.raiseRecoverable(e.start, "Optional chaining cannot appear in left-hand side");
|
|
@@ -963,8 +997,8 @@ R.checkLValSimple = function(e, t, i) {
|
|
|
963
997
|
this.raise(e.start, (s ? "Binding" : "Assigning to") + " rvalue");
|
|
964
998
|
}
|
|
965
999
|
};
|
|
966
|
-
|
|
967
|
-
switch (t === void 0 && (t =
|
|
1000
|
+
D.checkLValPattern = function(e, t, i) {
|
|
1001
|
+
switch (t === void 0 && (t = de), e.type) {
|
|
968
1002
|
case "ObjectPattern":
|
|
969
1003
|
for (var s = 0, r = e.properties; s < r.length; s += 1) {
|
|
970
1004
|
var n = r[s];
|
|
@@ -972,17 +1006,17 @@ R.checkLValPattern = function(e, t, i) {
|
|
|
972
1006
|
}
|
|
973
1007
|
break;
|
|
974
1008
|
case "ArrayPattern":
|
|
975
|
-
for (var o = 0,
|
|
976
|
-
var
|
|
977
|
-
|
|
1009
|
+
for (var o = 0, p = e.elements; o < p.length; o += 1) {
|
|
1010
|
+
var u = p[o];
|
|
1011
|
+
u && this.checkLValInnerPattern(u, t, i);
|
|
978
1012
|
}
|
|
979
1013
|
break;
|
|
980
1014
|
default:
|
|
981
1015
|
this.checkLValSimple(e, t, i);
|
|
982
1016
|
}
|
|
983
1017
|
};
|
|
984
|
-
|
|
985
|
-
switch (t === void 0 && (t =
|
|
1018
|
+
D.checkLValInnerPattern = function(e, t, i) {
|
|
1019
|
+
switch (t === void 0 && (t = de), e.type) {
|
|
986
1020
|
case "Property":
|
|
987
1021
|
this.checkLValInnerPattern(e.value, t, i);
|
|
988
1022
|
break;
|
|
@@ -996,33 +1030,33 @@ R.checkLValInnerPattern = function(e, t, i) {
|
|
|
996
1030
|
this.checkLValPattern(e, t, i);
|
|
997
1031
|
}
|
|
998
1032
|
};
|
|
999
|
-
var
|
|
1033
|
+
var F = function(t, i, s, r, n) {
|
|
1000
1034
|
this.token = t, this.isExpr = !!i, this.preserveSpace = !!s, this.override = r, this.generator = !!n;
|
|
1001
|
-
},
|
|
1035
|
+
}, C = { b_stat: new F("{", false), b_expr: new F("{", true), b_tmpl: new F("${", false), p_stat: new F("(", false), p_expr: new F("(", true), q_tmpl: new F("`", true, true, function(e) {
|
|
1002
1036
|
return e.tryReadTemplateToken();
|
|
1003
|
-
}), f_stat: new
|
|
1004
|
-
|
|
1005
|
-
return [
|
|
1037
|
+
}), f_stat: new F("function", false), f_expr: new F("function", true), f_expr_gen: new F("function", true, false, null, true), f_gen: new F("function", false, false, null, true) }, ee = E.prototype;
|
|
1038
|
+
ee.initialContext = function() {
|
|
1039
|
+
return [C.b_stat];
|
|
1006
1040
|
};
|
|
1007
|
-
|
|
1041
|
+
ee.curContext = function() {
|
|
1008
1042
|
return this.context[this.context.length - 1];
|
|
1009
1043
|
};
|
|
1010
|
-
|
|
1044
|
+
ee.braceIsBlock = function(e) {
|
|
1011
1045
|
var t = this.curContext();
|
|
1012
|
-
return t ===
|
|
1046
|
+
return t === C.f_expr || t === C.f_stat ? true : e === a.colon && (t === C.b_stat || t === C.b_expr) ? !t.isExpr : e === a._return || e === a.name && this.exprAllowed ? V.test(this.input.slice(this.lastTokEnd, this.start)) : e === a._else || e === a.semi || e === a.eof || e === a.parenR || e === a.arrow ? true : e === a.braceL ? t === C.b_stat : e === a._var || e === a._const || e === a.name ? false : !this.exprAllowed;
|
|
1013
1047
|
};
|
|
1014
|
-
|
|
1048
|
+
ee.inGeneratorContext = function() {
|
|
1015
1049
|
for (var e = this.context.length - 1; e >= 1; e--) {
|
|
1016
1050
|
var t = this.context[e];
|
|
1017
1051
|
if (t.token === "function") return t.generator;
|
|
1018
1052
|
}
|
|
1019
1053
|
return false;
|
|
1020
1054
|
};
|
|
1021
|
-
|
|
1055
|
+
ee.updateContext = function(e) {
|
|
1022
1056
|
var t, i = this.type;
|
|
1023
1057
|
i.keyword && e === a.dot ? this.exprAllowed = false : (t = i.updateContext) ? t.call(this, e) : this.exprAllowed = i.beforeExpr;
|
|
1024
1058
|
};
|
|
1025
|
-
|
|
1059
|
+
ee.overrideContext = function(e) {
|
|
1026
1060
|
this.curContext() !== e && (this.context[this.context.length - 1] = e);
|
|
1027
1061
|
};
|
|
1028
1062
|
a.parenR.updateContext = a.braceR.updateContext = function() {
|
|
@@ -1031,33 +1065,33 @@ a.parenR.updateContext = a.braceR.updateContext = function() {
|
|
|
1031
1065
|
return;
|
|
1032
1066
|
}
|
|
1033
1067
|
var e = this.context.pop();
|
|
1034
|
-
e ===
|
|
1068
|
+
e === C.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
|
|
1035
1069
|
};
|
|
1036
1070
|
a.braceL.updateContext = function(e) {
|
|
1037
|
-
this.context.push(this.braceIsBlock(e) ?
|
|
1071
|
+
this.context.push(this.braceIsBlock(e) ? C.b_stat : C.b_expr), this.exprAllowed = true;
|
|
1038
1072
|
};
|
|
1039
1073
|
a.dollarBraceL.updateContext = function() {
|
|
1040
|
-
this.context.push(
|
|
1074
|
+
this.context.push(C.b_tmpl), this.exprAllowed = true;
|
|
1041
1075
|
};
|
|
1042
1076
|
a.parenL.updateContext = function(e) {
|
|
1043
1077
|
var t = e === a._if || e === a._for || e === a._with || e === a._while;
|
|
1044
|
-
this.context.push(t ?
|
|
1078
|
+
this.context.push(t ? C.p_stat : C.p_expr), this.exprAllowed = true;
|
|
1045
1079
|
};
|
|
1046
1080
|
a.incDec.updateContext = function() {
|
|
1047
1081
|
};
|
|
1048
1082
|
a._function.updateContext = a._class.updateContext = function(e) {
|
|
1049
|
-
e.beforeExpr && e !== a._else && !(e === a.semi && this.curContext() !==
|
|
1083
|
+
e.beforeExpr && e !== a._else && !(e === a.semi && this.curContext() !== C.p_stat) && !(e === a._return && V.test(this.input.slice(this.lastTokEnd, this.start))) && !((e === a.colon || e === a.braceL) && this.curContext() === C.b_stat) ? this.context.push(C.f_expr) : this.context.push(C.f_stat), this.exprAllowed = false;
|
|
1050
1084
|
};
|
|
1051
1085
|
a.colon.updateContext = function() {
|
|
1052
1086
|
this.curContext().token === "function" && this.context.pop(), this.exprAllowed = true;
|
|
1053
1087
|
};
|
|
1054
1088
|
a.backQuote.updateContext = function() {
|
|
1055
|
-
this.curContext() ===
|
|
1089
|
+
this.curContext() === C.q_tmpl ? this.context.pop() : this.context.push(C.q_tmpl), this.exprAllowed = false;
|
|
1056
1090
|
};
|
|
1057
1091
|
a.star.updateContext = function(e) {
|
|
1058
1092
|
if (e === a._function) {
|
|
1059
1093
|
var t = this.context.length - 1;
|
|
1060
|
-
this.context[t] ===
|
|
1094
|
+
this.context[t] === C.f_expr ? this.context[t] = C.f_expr_gen : this.context[t] = C.f_gen;
|
|
1061
1095
|
}
|
|
1062
1096
|
this.exprAllowed = true;
|
|
1063
1097
|
};
|
|
@@ -1065,7 +1099,7 @@ a.name.updateContext = function(e) {
|
|
|
1065
1099
|
var t = false;
|
|
1066
1100
|
this.options.ecmaVersion >= 6 && e !== a.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (t = true), this.exprAllowed = t;
|
|
1067
1101
|
};
|
|
1068
|
-
var y =
|
|
1102
|
+
var y = E.prototype;
|
|
1069
1103
|
y.checkPropClash = function(e, t, i) {
|
|
1070
1104
|
if (!(this.options.ecmaVersion >= 9 && e.type === "SpreadElement") && !(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
|
|
1071
1105
|
var s = e.key, r;
|
|
@@ -1087,8 +1121,8 @@ y.checkPropClash = function(e, t, i) {
|
|
|
1087
1121
|
r = "$" + r;
|
|
1088
1122
|
var o = t[r];
|
|
1089
1123
|
if (o) {
|
|
1090
|
-
var
|
|
1091
|
-
n === "init" ?
|
|
1124
|
+
var p;
|
|
1125
|
+
n === "init" ? p = this.strict && o.init || o.get || o.set : p = o.init || o[n], p && this.raiseRecoverable(s.start, "Redefinition of property");
|
|
1092
1126
|
} else o = t[r] = { init: false, get: false, set: false };
|
|
1093
1127
|
o[n] = true;
|
|
1094
1128
|
}
|
|
@@ -1108,15 +1142,15 @@ y.parseMaybeAssign = function(e, t, i) {
|
|
|
1108
1142
|
this.exprAllowed = false;
|
|
1109
1143
|
}
|
|
1110
1144
|
var s = false, r = -1, n = -1, o = -1;
|
|
1111
|
-
t ? (r = t.parenthesizedAssign, n = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new
|
|
1112
|
-
var
|
|
1145
|
+
t ? (r = t.parenthesizedAssign, n = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new Se(), s = true);
|
|
1146
|
+
var p = this.start, u = this.startLoc;
|
|
1113
1147
|
(this.type === a.parenL || this.type === a.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = e === "await");
|
|
1114
|
-
var
|
|
1115
|
-
if (i && (
|
|
1116
|
-
var f = this.startNodeAt(
|
|
1117
|
-
return f.operator = this.value, this.type === a.eq && (
|
|
1148
|
+
var c = this.parseMaybeConditional(e, t);
|
|
1149
|
+
if (i && (c = i.call(this, c, p, u)), this.type.isAssign) {
|
|
1150
|
+
var f = this.startNodeAt(p, u);
|
|
1151
|
+
return f.operator = this.value, this.type === a.eq && (c = this.toAssignable(c, false, t)), s || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= c.start && (t.shorthandAssign = -1), this.type === a.eq ? this.checkLValPattern(c) : this.checkLValSimple(c), f.left = c, this.next(), f.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(f, "AssignmentExpression");
|
|
1118
1152
|
} else s && this.checkExpressionErrors(t, true);
|
|
1119
|
-
return r > -1 && (t.parenthesizedAssign = r), n > -1 && (t.trailingComma = n),
|
|
1153
|
+
return r > -1 && (t.parenthesizedAssign = r), n > -1 && (t.trailingComma = n), c;
|
|
1120
1154
|
};
|
|
1121
1155
|
y.parseMaybeConditional = function(e, t) {
|
|
1122
1156
|
var i = this.start, s = this.startLoc, r = this.parseExprOps(e, t);
|
|
@@ -1134,12 +1168,12 @@ y.parseExprOps = function(e, t) {
|
|
|
1134
1168
|
y.parseExprOp = function(e, t, i, s, r) {
|
|
1135
1169
|
var n = this.type.binop;
|
|
1136
1170
|
if (n != null && (!r || this.type !== a._in) && n > s) {
|
|
1137
|
-
var o = this.type === a.logicalOR || this.type === a.logicalAND,
|
|
1138
|
-
|
|
1139
|
-
var
|
|
1171
|
+
var o = this.type === a.logicalOR || this.type === a.logicalAND, p = this.type === a.coalesce;
|
|
1172
|
+
p && (n = a.logicalAND.binop);
|
|
1173
|
+
var u = this.value;
|
|
1140
1174
|
this.next();
|
|
1141
|
-
var
|
|
1142
|
-
return (o && this.type === a.coalesce ||
|
|
1175
|
+
var c = this.start, f = this.startLoc, v = this.parseExprOp(this.parseMaybeUnary(null, false, false, r), c, f, n, r), T = this.buildBinary(t, i, e, v, u, o || p);
|
|
1176
|
+
return (o && this.type === a.coalesce || p && (this.type === a.logicalOR || this.type === a.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(T, t, i, s, r);
|
|
1143
1177
|
}
|
|
1144
1178
|
return e;
|
|
1145
1179
|
};
|
|
@@ -1152,25 +1186,25 @@ y.parseMaybeUnary = function(e, t, i, s) {
|
|
|
1152
1186
|
var r = this.start, n = this.startLoc, o;
|
|
1153
1187
|
if (this.isContextual("await") && this.canAwait) o = this.parseAwait(s), t = true;
|
|
1154
1188
|
else if (this.type.prefix) {
|
|
1155
|
-
var
|
|
1156
|
-
|
|
1189
|
+
var p = this.startNode(), u = this.type === a.incDec;
|
|
1190
|
+
p.operator = this.value, p.prefix = true, this.next(), p.argument = this.parseMaybeUnary(null, true, u, s), this.checkExpressionErrors(e, true), u ? this.checkLValSimple(p.argument) : this.strict && p.operator === "delete" && kt(p.argument) ? this.raiseRecoverable(p.start, "Deleting local variable in strict mode") : p.operator === "delete" && Me(p.argument) ? this.raiseRecoverable(p.start, "Private fields can not be deleted") : t = true, o = this.finishNode(p, u ? "UpdateExpression" : "UnaryExpression");
|
|
1157
1191
|
} else if (!t && this.type === a.privateId) (s || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), o = this.parsePrivateIdent(), this.type !== a._in && this.unexpected();
|
|
1158
1192
|
else {
|
|
1159
1193
|
if (o = this.parseExprSubscripts(e, s), this.checkExpressionErrors(e)) return o;
|
|
1160
1194
|
for (; this.type.postfix && !this.canInsertSemicolon(); ) {
|
|
1161
|
-
var
|
|
1162
|
-
|
|
1195
|
+
var c = this.startNodeAt(r, n);
|
|
1196
|
+
c.operator = this.value, c.prefix = false, c.argument = o, this.checkLValSimple(o), this.next(), o = this.finishNode(c, "UpdateExpression");
|
|
1163
1197
|
}
|
|
1164
1198
|
}
|
|
1165
1199
|
if (!i && this.eat(a.starstar)) if (t) this.unexpected(this.lastTokStart);
|
|
1166
1200
|
else return this.buildBinary(r, n, o, this.parseMaybeUnary(null, false, false, s), "**", false);
|
|
1167
1201
|
else return o;
|
|
1168
1202
|
};
|
|
1169
|
-
function
|
|
1170
|
-
return e.type === "Identifier" || e.type === "ParenthesizedExpression" &&
|
|
1203
|
+
function kt(e) {
|
|
1204
|
+
return e.type === "Identifier" || e.type === "ParenthesizedExpression" && kt(e.expression);
|
|
1171
1205
|
}
|
|
1172
|
-
function
|
|
1173
|
-
return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" &&
|
|
1206
|
+
function Me(e) {
|
|
1207
|
+
return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Me(e.expression) || e.type === "ParenthesizedExpression" && Me(e.expression);
|
|
1174
1208
|
}
|
|
1175
1209
|
y.parseExprSubscripts = function(e, t) {
|
|
1176
1210
|
var i = this.start, s = this.startLoc, r = this.parseExprAtom(e, t);
|
|
@@ -1180,15 +1214,15 @@ y.parseExprSubscripts = function(e, t) {
|
|
|
1180
1214
|
};
|
|
1181
1215
|
y.parseSubscripts = function(e, t, i, s, r) {
|
|
1182
1216
|
for (var n = this.options.ecmaVersion >= 8 && e.type === "Identifier" && e.name === "async" && this.lastTokEnd === e.end && !this.canInsertSemicolon() && e.end - e.start === 5 && this.potentialArrowAt === e.start, o = false; ; ) {
|
|
1183
|
-
var
|
|
1184
|
-
if (
|
|
1217
|
+
var p = this.parseSubscript(e, t, i, s, n, o, r);
|
|
1218
|
+
if (p.optional && (o = true), p === e || p.type === "ArrowFunctionExpression") {
|
|
1185
1219
|
if (o) {
|
|
1186
|
-
var
|
|
1187
|
-
|
|
1220
|
+
var u = this.startNodeAt(t, i);
|
|
1221
|
+
u.expression = p, p = this.finishNode(u, "ChainExpression");
|
|
1188
1222
|
}
|
|
1189
|
-
return
|
|
1223
|
+
return p;
|
|
1190
1224
|
}
|
|
1191
|
-
e =
|
|
1225
|
+
e = p;
|
|
1192
1226
|
}
|
|
1193
1227
|
};
|
|
1194
1228
|
y.shouldParseAsyncArrow = function() {
|
|
@@ -1198,24 +1232,24 @@ y.parseSubscriptAsyncArrow = function(e, t, i, s) {
|
|
|
1198
1232
|
return this.parseArrowExpression(this.startNodeAt(e, t), i, true, s);
|
|
1199
1233
|
};
|
|
1200
1234
|
y.parseSubscript = function(e, t, i, s, r, n, o) {
|
|
1201
|
-
var
|
|
1202
|
-
s &&
|
|
1203
|
-
var
|
|
1204
|
-
if (
|
|
1235
|
+
var p = this.options.ecmaVersion >= 11, u = p && this.eat(a.questionDot);
|
|
1236
|
+
s && u && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
|
|
1237
|
+
var c = this.eat(a.bracketL);
|
|
1238
|
+
if (c || u && this.type !== a.parenL && this.type !== a.backQuote || this.eat(a.dot)) {
|
|
1205
1239
|
var f = this.startNodeAt(t, i);
|
|
1206
|
-
f.object = e,
|
|
1240
|
+
f.object = e, c ? (f.property = this.parseExpression(), this.expect(a.bracketR)) : this.type === a.privateId && e.type !== "Super" ? f.property = this.parsePrivateIdent() : f.property = this.parseIdent(this.options.allowReserved !== "never"), f.computed = !!c, p && (f.optional = u), e = this.finishNode(f, "MemberExpression");
|
|
1207
1241
|
} else if (!s && this.eat(a.parenL)) {
|
|
1208
|
-
var
|
|
1242
|
+
var v = new Se(), T = this.yieldPos, h = this.awaitPos, m = this.awaitIdentPos;
|
|
1209
1243
|
this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
|
|
1210
|
-
var x = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false,
|
|
1211
|
-
if (r && !
|
|
1212
|
-
this.checkExpressionErrors(
|
|
1244
|
+
var x = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false, v);
|
|
1245
|
+
if (r && !u && this.shouldParseAsyncArrow()) return this.checkPatternErrors(v, false), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = T, this.awaitPos = h, this.awaitIdentPos = m, this.parseSubscriptAsyncArrow(t, i, x, o);
|
|
1246
|
+
this.checkExpressionErrors(v, true), this.yieldPos = T || this.yieldPos, this.awaitPos = h || this.awaitPos, this.awaitIdentPos = m || this.awaitIdentPos;
|
|
1213
1247
|
var g = this.startNodeAt(t, i);
|
|
1214
|
-
g.callee = e, g.arguments = x,
|
|
1248
|
+
g.callee = e, g.arguments = x, p && (g.optional = u), e = this.finishNode(g, "CallExpression");
|
|
1215
1249
|
} else if (this.type === a.backQuote) {
|
|
1216
|
-
(
|
|
1217
|
-
var
|
|
1218
|
-
|
|
1250
|
+
(u || n) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
|
|
1251
|
+
var N = this.startNodeAt(t, i);
|
|
1252
|
+
N.tag = e, N.quasi = this.parseTemplate({ isTagged: true }), e = this.finishNode(N, "TaggedTemplateExpression");
|
|
1219
1253
|
}
|
|
1220
1254
|
return e;
|
|
1221
1255
|
};
|
|
@@ -1228,16 +1262,16 @@ y.parseExprAtom = function(e, t, i) {
|
|
|
1228
1262
|
case a._this:
|
|
1229
1263
|
return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
|
|
1230
1264
|
case a.name:
|
|
1231
|
-
var n = this.start, o = this.startLoc,
|
|
1232
|
-
if (this.options.ecmaVersion >= 8 && !
|
|
1265
|
+
var n = this.start, o = this.startLoc, p = this.containsEsc, u = this.parseIdent(false);
|
|
1266
|
+
if (this.options.ecmaVersion >= 8 && !p && u.name === "async" && !this.canInsertSemicolon() && this.eat(a._function)) return this.overrideContext(C.f_expr), this.parseFunction(this.startNodeAt(n, o), 0, false, true, t);
|
|
1233
1267
|
if (r && !this.canInsertSemicolon()) {
|
|
1234
|
-
if (this.eat(a.arrow)) return this.parseArrowExpression(this.startNodeAt(n, o), [
|
|
1235
|
-
if (this.options.ecmaVersion >= 8 &&
|
|
1268
|
+
if (this.eat(a.arrow)) return this.parseArrowExpression(this.startNodeAt(n, o), [u], false, t);
|
|
1269
|
+
if (this.options.ecmaVersion >= 8 && u.name === "async" && this.type === a.name && !p && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return u = this.parseIdent(false), (this.canInsertSemicolon() || !this.eat(a.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(n, o), [u], true, t);
|
|
1236
1270
|
}
|
|
1237
|
-
return
|
|
1271
|
+
return u;
|
|
1238
1272
|
case a.regexp:
|
|
1239
|
-
var
|
|
1240
|
-
return s = this.parseLiteral(
|
|
1273
|
+
var c = this.value;
|
|
1274
|
+
return s = this.parseLiteral(c.value), s.regex = { pattern: c.pattern, flags: c.flags }, s;
|
|
1241
1275
|
case a.num:
|
|
1242
1276
|
case a.string:
|
|
1243
1277
|
return this.parseLiteral(this.value);
|
|
@@ -1246,12 +1280,12 @@ y.parseExprAtom = function(e, t, i) {
|
|
|
1246
1280
|
case a._false:
|
|
1247
1281
|
return s = this.startNode(), s.value = this.type === a._null ? null : this.type === a._true, s.raw = this.type.keyword, this.next(), this.finishNode(s, "Literal");
|
|
1248
1282
|
case a.parenL:
|
|
1249
|
-
var f = this.start,
|
|
1250
|
-
return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(
|
|
1283
|
+
var f = this.start, v = this.parseParenAndDistinguishExpression(r, t);
|
|
1284
|
+
return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(v) && (e.parenthesizedAssign = f), e.parenthesizedBind < 0 && (e.parenthesizedBind = f)), v;
|
|
1251
1285
|
case a.bracketL:
|
|
1252
1286
|
return s = this.startNode(), this.next(), s.elements = this.parseExprList(a.bracketR, true, true, e), this.finishNode(s, "ArrayExpression");
|
|
1253
1287
|
case a.braceL:
|
|
1254
|
-
return this.overrideContext(
|
|
1288
|
+
return this.overrideContext(C.b_expr), this.parseObj(false, e);
|
|
1255
1289
|
case a._function:
|
|
1256
1290
|
return s = this.startNode(), this.next(), this.parseFunction(s, 0);
|
|
1257
1291
|
case a._class:
|
|
@@ -1292,7 +1326,7 @@ y.parseImportMeta = function(e) {
|
|
|
1292
1326
|
};
|
|
1293
1327
|
y.parseLiteral = function(e) {
|
|
1294
1328
|
var t = this.startNode();
|
|
1295
|
-
return t.value = e, t.raw = this.input.slice(this.start, this.end), t.raw.charCodeAt(t.raw.length - 1) === 110 && (t.bigint = t.raw.slice(0, -1).replace(/_/g, "")), this.next(), this.finishNode(t, "Literal");
|
|
1329
|
+
return t.value = e, t.raw = this.input.slice(this.start, this.end), t.raw.charCodeAt(t.raw.length - 1) === 110 && (t.bigint = t.value != null ? t.value.toString() : t.raw.slice(0, -1).replace(/_/g, "")), this.next(), this.finishNode(t, "Literal");
|
|
1296
1330
|
};
|
|
1297
1331
|
y.parseParenExpression = function() {
|
|
1298
1332
|
this.expect(a.parenL);
|
|
@@ -1306,21 +1340,21 @@ y.parseParenAndDistinguishExpression = function(e, t) {
|
|
|
1306
1340
|
var i = this.start, s = this.startLoc, r, n = this.options.ecmaVersion >= 8;
|
|
1307
1341
|
if (this.options.ecmaVersion >= 6) {
|
|
1308
1342
|
this.next();
|
|
1309
|
-
var o = this.start,
|
|
1310
|
-
for (this.yieldPos = 0, this.awaitPos = 0; this.type !== a.parenR; ) if (
|
|
1343
|
+
var o = this.start, p = this.startLoc, u = [], c = true, f = false, v = new Se(), T = this.yieldPos, h = this.awaitPos, m;
|
|
1344
|
+
for (this.yieldPos = 0, this.awaitPos = 0; this.type !== a.parenR; ) if (c ? c = false : this.expect(a.comma), n && this.afterTrailingComma(a.parenR, true)) {
|
|
1311
1345
|
f = true;
|
|
1312
1346
|
break;
|
|
1313
1347
|
} else if (this.type === a.ellipsis) {
|
|
1314
|
-
m = this.start,
|
|
1348
|
+
m = this.start, u.push(this.parseParenItem(this.parseRestBinding())), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
|
|
1315
1349
|
break;
|
|
1316
|
-
} else
|
|
1350
|
+
} else u.push(this.parseMaybeAssign(false, v, this.parseParenItem));
|
|
1317
1351
|
var x = this.lastTokEnd, g = this.lastTokEndLoc;
|
|
1318
|
-
if (this.expect(a.parenR), e && this.shouldParseArrow(
|
|
1319
|
-
(!
|
|
1352
|
+
if (this.expect(a.parenR), e && this.shouldParseArrow(u) && this.eat(a.arrow)) return this.checkPatternErrors(v, false), this.checkYieldAwaitInDefaultParams(), this.yieldPos = T, this.awaitPos = h, this.parseParenArrowList(i, s, u, t);
|
|
1353
|
+
(!u.length || f) && this.unexpected(this.lastTokStart), m && this.unexpected(m), this.checkExpressionErrors(v, true), this.yieldPos = T || this.yieldPos, this.awaitPos = h || this.awaitPos, u.length > 1 ? (r = this.startNodeAt(o, p), r.expressions = u, this.finishNodeAt(r, "SequenceExpression", x, g)) : r = u[0];
|
|
1320
1354
|
} else r = this.parseParenExpression();
|
|
1321
1355
|
if (this.options.preserveParens) {
|
|
1322
|
-
var
|
|
1323
|
-
return
|
|
1356
|
+
var N = this.startNodeAt(i, s);
|
|
1357
|
+
return N.expression = r, this.finishNode(N, "ParenthesizedExpression");
|
|
1324
1358
|
} else return r;
|
|
1325
1359
|
};
|
|
1326
1360
|
y.parseParenItem = function(e) {
|
|
@@ -1329,7 +1363,7 @@ y.parseParenItem = function(e) {
|
|
|
1329
1363
|
y.parseParenArrowList = function(e, t, i, s) {
|
|
1330
1364
|
return this.parseArrowExpression(this.startNodeAt(e, t), i, false, s);
|
|
1331
1365
|
};
|
|
1332
|
-
var
|
|
1366
|
+
var Yi = [];
|
|
1333
1367
|
y.parseNew = function() {
|
|
1334
1368
|
this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword new");
|
|
1335
1369
|
var e = this.startNode();
|
|
@@ -1340,7 +1374,7 @@ y.parseNew = function() {
|
|
|
1340
1374
|
return e.property = this.parseIdent(true), e.property.name !== "target" && this.raiseRecoverable(e.property.start, "The only valid meta property for new is 'new.target'"), i && this.raiseRecoverable(e.start, "'new.target' must not contain escaped characters"), this.allowNewDotTarget || this.raiseRecoverable(e.start, "'new.target' can only be used in functions and class static block"), this.finishNode(e, "MetaProperty");
|
|
1341
1375
|
}
|
|
1342
1376
|
var s = this.start, r = this.startLoc;
|
|
1343
|
-
return e.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), s, r, true, false), this.eat(a.parenL) ? e.arguments = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false) : e.arguments =
|
|
1377
|
+
return e.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), s, r, true, false), this.eat(a.parenL) ? e.arguments = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false) : e.arguments = Yi, this.finishNode(e, "NewExpression");
|
|
1344
1378
|
};
|
|
1345
1379
|
y.parseTemplateElement = function(e) {
|
|
1346
1380
|
var t = e.isTagged, i = this.startNode();
|
|
@@ -1359,7 +1393,7 @@ y.parseTemplate = function(e) {
|
|
|
1359
1393
|
return this.next(), this.finishNode(i, "TemplateLiteral");
|
|
1360
1394
|
};
|
|
1361
1395
|
y.isAsyncProp = function(e) {
|
|
1362
|
-
return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type === a.name || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === a.star) && !
|
|
1396
|
+
return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type === a.name || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === a.star) && !V.test(this.input.slice(this.lastTokEnd, this.start));
|
|
1363
1397
|
};
|
|
1364
1398
|
y.parseObj = function(e, t) {
|
|
1365
1399
|
var i = this.startNode(), s = true, r = {};
|
|
@@ -1375,19 +1409,20 @@ y.parseProperty = function(e, t) {
|
|
|
1375
1409
|
var i = this.startNode(), s, r, n, o;
|
|
1376
1410
|
if (this.options.ecmaVersion >= 9 && this.eat(a.ellipsis)) return e ? (i.argument = this.parseIdent(false), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(i, "RestElement")) : (i.argument = this.parseMaybeAssign(false, t), this.type === a.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(i, "SpreadElement"));
|
|
1377
1411
|
this.options.ecmaVersion >= 6 && (i.method = false, i.shorthand = false, (e || t) && (n = this.start, o = this.startLoc), e || (s = this.eat(a.star)));
|
|
1378
|
-
var
|
|
1379
|
-
return this.parsePropertyName(i), !e && !
|
|
1412
|
+
var p = this.containsEsc;
|
|
1413
|
+
return this.parsePropertyName(i), !e && !p && this.options.ecmaVersion >= 8 && !s && this.isAsyncProp(i) ? (r = true, s = this.options.ecmaVersion >= 9 && this.eat(a.star), this.parsePropertyName(i)) : r = false, this.parsePropertyValue(i, e, s, r, n, o, t, p), this.finishNode(i, "Property");
|
|
1380
1414
|
};
|
|
1381
1415
|
y.parseGetterSetter = function(e) {
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1416
|
+
var t = e.key.name;
|
|
1417
|
+
this.parsePropertyName(e), e.value = this.parseMethod(false), e.kind = t;
|
|
1418
|
+
var i = e.kind === "get" ? 0 : 1;
|
|
1419
|
+
if (e.value.params.length !== i) {
|
|
1420
|
+
var s = e.value.start;
|
|
1421
|
+
e.kind === "get" ? this.raiseRecoverable(s, "getter should have no params") : this.raiseRecoverable(s, "setter should have exactly one param");
|
|
1387
1422
|
} else e.kind === "set" && e.value.params[0].type === "RestElement" && this.raiseRecoverable(e.value.params[0].start, "Setter cannot use rest params");
|
|
1388
1423
|
};
|
|
1389
|
-
y.parsePropertyValue = function(e, t, i, s, r, n, o,
|
|
1390
|
-
(i || s) && this.type === a.colon && this.unexpected(), this.eat(a.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === a.parenL ? (t && this.unexpected(), e.
|
|
1424
|
+
y.parsePropertyValue = function(e, t, i, s, r, n, o, p) {
|
|
1425
|
+
(i || s) && this.type === a.colon && this.unexpected(), this.eat(a.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === a.parenL ? (t && this.unexpected(), e.method = true, e.value = this.parseMethod(i, s), e.kind = "init") : !t && !p && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== a.comma && this.type !== a.braceR && this.type !== a.eq ? ((i || s) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((i || s) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = r), t ? e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key)) : this.type === a.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.kind = "init", e.shorthand = true) : this.unexpected();
|
|
1391
1426
|
};
|
|
1392
1427
|
y.parsePropertyName = function(e) {
|
|
1393
1428
|
if (this.options.ecmaVersion >= 6) {
|
|
@@ -1401,20 +1436,20 @@ y.initFunction = function(e) {
|
|
|
1401
1436
|
};
|
|
1402
1437
|
y.parseMethod = function(e, t, i) {
|
|
1403
1438
|
var s = this.startNode(), r = this.yieldPos, n = this.awaitPos, o = this.awaitIdentPos;
|
|
1404
|
-
return this.initFunction(s), this.options.ecmaVersion >= 6 && (s.generator = e), this.options.ecmaVersion >= 8 && (s.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(
|
|
1439
|
+
return this.initFunction(s), this.options.ecmaVersion >= 6 && (s.generator = e), this.options.ecmaVersion >= 8 && (s.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(qe(t, s.generator) | ve | (i ? St : 0)), this.expect(a.parenL), s.params = this.parseBindingList(a.parenR, false, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(s, false, true, false), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(s, "FunctionExpression");
|
|
1405
1440
|
};
|
|
1406
1441
|
y.parseArrowExpression = function(e, t, i, s) {
|
|
1407
1442
|
var r = this.yieldPos, n = this.awaitPos, o = this.awaitIdentPos;
|
|
1408
|
-
return this.enterScope(
|
|
1443
|
+
return this.enterScope(qe(i, false) | Ge), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!i), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, true), this.parseFunctionBody(e, true, false, s), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
|
|
1409
1444
|
};
|
|
1410
1445
|
y.parseFunctionBody = function(e, t, i, s) {
|
|
1411
1446
|
var r = t && this.type !== a.braceL, n = this.strict, o = false;
|
|
1412
1447
|
if (r) e.body = this.parseMaybeAssign(s), e.expression = true, this.checkParams(e, false);
|
|
1413
1448
|
else {
|
|
1414
|
-
var
|
|
1415
|
-
(!n ||
|
|
1416
|
-
var
|
|
1417
|
-
this.labels = [], o && (this.strict = true), this.checkParams(e, !n && !o && !t && !i && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id,
|
|
1449
|
+
var p = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
|
|
1450
|
+
(!n || p) && (o = this.strictDirective(this.end), o && p && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
|
|
1451
|
+
var u = this.labels;
|
|
1452
|
+
this.labels = [], o && (this.strict = true), this.checkParams(e, !n && !o && !t && !i && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, Ct), e.body = this.parseBlock(false, void 0, o && !n), e.expression = false, this.adaptDirectivePrologue(e.body.body), this.labels = u;
|
|
1418
1453
|
}
|
|
1419
1454
|
this.exitScope();
|
|
1420
1455
|
};
|
|
@@ -1428,7 +1463,7 @@ y.isSimpleParamList = function(e) {
|
|
|
1428
1463
|
y.checkParams = function(e, t) {
|
|
1429
1464
|
for (var i = /* @__PURE__ */ Object.create(null), s = 0, r = e.params; s < r.length; s += 1) {
|
|
1430
1465
|
var n = r[s];
|
|
1431
|
-
this.checkLValInnerPattern(n,
|
|
1466
|
+
this.checkLValInnerPattern(n, Je, t ? null : i);
|
|
1432
1467
|
}
|
|
1433
1468
|
};
|
|
1434
1469
|
y.parseExprList = function(e, t, i, s) {
|
|
@@ -1442,7 +1477,7 @@ y.parseExprList = function(e, t, i, s) {
|
|
|
1442
1477
|
};
|
|
1443
1478
|
y.checkUnreserved = function(e) {
|
|
1444
1479
|
var t = e.start, i = e.end, s = e.name;
|
|
1445
|
-
if (this.inGenerator && s === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), this.currentThisScope().
|
|
1480
|
+
if (this.inGenerator && s === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & be) && s === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (s === "arguments" || s === "await") && this.raise(t, "Cannot use " + s + " in class static initialization block"), this.keywords.test(s) && this.raise(t, "Unexpected keyword '" + s + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, i).indexOf("\\") !== -1)) {
|
|
1446
1481
|
var r = this.strict ? this.reservedWordsStrict : this.reservedWords;
|
|
1447
1482
|
r.test(s) && (!this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + s + "' is reserved"));
|
|
1448
1483
|
}
|
|
@@ -1469,47 +1504,47 @@ y.parseAwait = function(e) {
|
|
|
1469
1504
|
var t = this.startNode();
|
|
1470
1505
|
return this.next(), t.argument = this.parseMaybeUnary(null, true, false, e), this.finishNode(t, "AwaitExpression");
|
|
1471
1506
|
};
|
|
1472
|
-
var
|
|
1473
|
-
|
|
1474
|
-
var i =
|
|
1475
|
-
t += " (" + i.line + ":" + i.column + ")";
|
|
1507
|
+
var xe = E.prototype;
|
|
1508
|
+
xe.raise = function(e, t) {
|
|
1509
|
+
var i = gt(this.input, e);
|
|
1510
|
+
t += " (" + i.line + ":" + i.column + ")", this.sourceFile && (t += " in " + this.sourceFile);
|
|
1476
1511
|
var s = new SyntaxError(t);
|
|
1477
1512
|
throw s.pos = e, s.loc = i, s.raisedAt = this.pos, s;
|
|
1478
1513
|
};
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
if (this.options.locations) return new
|
|
1514
|
+
xe.raiseRecoverable = xe.raise;
|
|
1515
|
+
xe.curPosition = function() {
|
|
1516
|
+
if (this.options.locations) return new ae(this.curLine, this.pos - this.lineStart);
|
|
1482
1517
|
};
|
|
1483
|
-
var W =
|
|
1484
|
-
this.flags = t, this.var = [], this.lexical = [], this.functions = []
|
|
1518
|
+
var W = E.prototype, $i = function(t) {
|
|
1519
|
+
this.flags = t, this.var = [], this.lexical = [], this.functions = [];
|
|
1485
1520
|
};
|
|
1486
1521
|
W.enterScope = function(e) {
|
|
1487
|
-
this.scopeStack.push(new
|
|
1522
|
+
this.scopeStack.push(new $i(e));
|
|
1488
1523
|
};
|
|
1489
1524
|
W.exitScope = function() {
|
|
1490
1525
|
this.scopeStack.pop();
|
|
1491
1526
|
};
|
|
1492
1527
|
W.treatFunctionsAsVarInScope = function(e) {
|
|
1493
|
-
return e.flags & Z || !this.inModule && e.flags &
|
|
1528
|
+
return e.flags & Z || !this.inModule && e.flags & ne;
|
|
1494
1529
|
};
|
|
1495
1530
|
W.declareName = function(e, t, i) {
|
|
1496
1531
|
var s = false;
|
|
1497
|
-
if (t ===
|
|
1532
|
+
if (t === J) {
|
|
1498
1533
|
var r = this.currentScope();
|
|
1499
|
-
s = r.lexical.indexOf(e) > -1 || r.functions.indexOf(e) > -1 || r.var.indexOf(e) > -1, r.lexical.push(e), this.inModule && r.flags &
|
|
1500
|
-
} else if (t ===
|
|
1534
|
+
s = r.lexical.indexOf(e) > -1 || r.functions.indexOf(e) > -1 || r.var.indexOf(e) > -1, r.lexical.push(e), this.inModule && r.flags & ne && delete this.undefinedExports[e];
|
|
1535
|
+
} else if (t === Tt) {
|
|
1501
1536
|
var n = this.currentScope();
|
|
1502
1537
|
n.lexical.push(e);
|
|
1503
|
-
} else if (t ===
|
|
1538
|
+
} else if (t === _t) {
|
|
1504
1539
|
var o = this.currentScope();
|
|
1505
1540
|
this.treatFunctionsAsVar ? s = o.lexical.indexOf(e) > -1 : s = o.lexical.indexOf(e) > -1 || o.var.indexOf(e) > -1, o.functions.push(e);
|
|
1506
|
-
} else for (var
|
|
1507
|
-
var
|
|
1508
|
-
if (
|
|
1541
|
+
} else for (var p = this.scopeStack.length - 1; p >= 0; --p) {
|
|
1542
|
+
var u = this.scopeStack[p];
|
|
1543
|
+
if (u.lexical.indexOf(e) > -1 && !(u.flags & bt && u.lexical[0] === e) || !this.treatFunctionsAsVarInScope(u) && u.functions.indexOf(e) > -1) {
|
|
1509
1544
|
s = true;
|
|
1510
1545
|
break;
|
|
1511
1546
|
}
|
|
1512
|
-
if (
|
|
1547
|
+
if (u.var.push(e), this.inModule && u.flags & ne && delete this.undefinedExports[e], u.flags & be) break;
|
|
1513
1548
|
}
|
|
1514
1549
|
s && this.raiseRecoverable(i, "Identifier '" + e + "' has already been declared");
|
|
1515
1550
|
};
|
|
@@ -1522,65 +1557,65 @@ W.currentScope = function() {
|
|
|
1522
1557
|
W.currentVarScope = function() {
|
|
1523
1558
|
for (var e = this.scopeStack.length - 1; ; e--) {
|
|
1524
1559
|
var t = this.scopeStack[e];
|
|
1525
|
-
if (t.flags &
|
|
1560
|
+
if (t.flags & (be | oe | X)) return t;
|
|
1526
1561
|
}
|
|
1527
1562
|
};
|
|
1528
1563
|
W.currentThisScope = function() {
|
|
1529
1564
|
for (var e = this.scopeStack.length - 1; ; e--) {
|
|
1530
1565
|
var t = this.scopeStack[e];
|
|
1531
|
-
if (t.flags &
|
|
1566
|
+
if (t.flags & (be | oe | X) && !(t.flags & Ge)) return t;
|
|
1532
1567
|
}
|
|
1533
1568
|
};
|
|
1534
|
-
var
|
|
1535
|
-
this.type = "", this.start = i, this.end = 0, t.options.locations && (this.loc = new
|
|
1536
|
-
},
|
|
1537
|
-
|
|
1538
|
-
return new
|
|
1569
|
+
var _e = function(t, i, s) {
|
|
1570
|
+
this.type = "", this.start = i, this.end = 0, t.options.locations && (this.loc = new ge(t, s)), t.options.directSourceFile && (this.sourceFile = t.options.directSourceFile), t.options.ranges && (this.range = [i, 0]);
|
|
1571
|
+
}, ue = E.prototype;
|
|
1572
|
+
ue.startNode = function() {
|
|
1573
|
+
return new _e(this, this.start, this.startLoc);
|
|
1539
1574
|
};
|
|
1540
|
-
|
|
1541
|
-
return new
|
|
1575
|
+
ue.startNodeAt = function(e, t) {
|
|
1576
|
+
return new _e(this, e, t);
|
|
1542
1577
|
};
|
|
1543
|
-
function
|
|
1578
|
+
function At(e, t, i, s) {
|
|
1544
1579
|
return e.type = t, e.end = i, this.options.locations && (e.loc.end = s), this.options.ranges && (e.range[1] = i), e;
|
|
1545
1580
|
}
|
|
1546
|
-
|
|
1547
|
-
return
|
|
1581
|
+
ue.finishNode = function(e, t) {
|
|
1582
|
+
return At.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
|
|
1548
1583
|
};
|
|
1549
|
-
|
|
1550
|
-
return
|
|
1584
|
+
ue.finishNodeAt = function(e, t, i, s) {
|
|
1585
|
+
return At.call(this, e, t, i, s);
|
|
1551
1586
|
};
|
|
1552
|
-
|
|
1553
|
-
var t = new
|
|
1587
|
+
ue.copyNode = function(e) {
|
|
1588
|
+
var t = new _e(this, e.start, this.startLoc);
|
|
1554
1589
|
for (var i in e) t[i] = e[i];
|
|
1555
1590
|
return t;
|
|
1556
1591
|
};
|
|
1557
|
-
var
|
|
1558
|
-
function
|
|
1559
|
-
var t =
|
|
1592
|
+
var Zi = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz", wt = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS", Pt = wt + " Extended_Pictographic", It = Pt, Nt = It + " EBase EComp EMod EPres ExtPict", Lt = Nt, es = Lt, ts = { 9: wt, 10: Pt, 11: It, 12: Nt, 13: Lt, 14: es }, is = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji", ss = { 9: "", 10: "", 11: "", 12: "", 13: "", 14: is }, ct = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu", Vt = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb", Rt = Vt + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", Ot = Rt + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", Bt = Ot + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", Dt = Bt + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", rs = Dt + " " + Zi, as = { 9: Vt, 10: Rt, 11: Ot, 12: Bt, 13: Dt, 14: rs }, Ft = {};
|
|
1593
|
+
function ns(e) {
|
|
1594
|
+
var t = Ft[e] = { binary: H(ts[e] + " " + ct), binaryOfStrings: H(ss[e]), nonBinary: { General_Category: H(ct), Script: H(as[e]) } };
|
|
1560
1595
|
t.nonBinary.Script_Extensions = t.nonBinary.Script, t.nonBinary.gc = t.nonBinary.General_Category, t.nonBinary.sc = t.nonBinary.Script, t.nonBinary.scx = t.nonBinary.Script_Extensions;
|
|
1561
1596
|
}
|
|
1562
|
-
for (
|
|
1563
|
-
var
|
|
1597
|
+
for (fe = 0, Oe = [9, 10, 11, 12, 13, 14]; fe < Oe.length; fe += 1) lt = Oe[fe], ns(lt);
|
|
1598
|
+
var lt, fe, Oe, l = E.prototype, ye = function(t, i) {
|
|
1564
1599
|
this.parent = t, this.base = i || this;
|
|
1565
1600
|
};
|
|
1566
|
-
|
|
1601
|
+
ye.prototype.separatedFrom = function(t) {
|
|
1567
1602
|
for (var i = this; i; i = i.parent) for (var s = t; s; s = s.parent) if (i.base === s.base && i !== s) return true;
|
|
1568
1603
|
return false;
|
|
1569
1604
|
};
|
|
1570
|
-
|
|
1571
|
-
return new
|
|
1605
|
+
ye.prototype.sibling = function() {
|
|
1606
|
+
return new ye(this.parent, this.base);
|
|
1572
1607
|
};
|
|
1573
|
-
var
|
|
1574
|
-
this.parser = t, this.validFlags = "gim" + (t.options.ecmaVersion >= 6 ? "uy" : "") + (t.options.ecmaVersion >= 9 ? "s" : "") + (t.options.ecmaVersion >= 13 ? "d" : "") + (t.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties =
|
|
1608
|
+
var U = function(t) {
|
|
1609
|
+
this.parser = t, this.validFlags = "gim" + (t.options.ecmaVersion >= 6 ? "uy" : "") + (t.options.ecmaVersion >= 9 ? "s" : "") + (t.options.ecmaVersion >= 13 ? "d" : "") + (t.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties = Ft[t.options.ecmaVersion >= 14 ? 14 : t.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = false, this.switchV = false, this.switchN = false, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = false, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = /* @__PURE__ */ Object.create(null), this.backReferenceNames = [], this.branchID = null;
|
|
1575
1610
|
};
|
|
1576
|
-
|
|
1611
|
+
U.prototype.reset = function(t, i, s) {
|
|
1577
1612
|
var r = s.indexOf("v") !== -1, n = s.indexOf("u") !== -1;
|
|
1578
1613
|
this.start = t | 0, this.source = i + "", this.flags = s, r && this.parser.options.ecmaVersion >= 15 ? (this.switchU = true, this.switchV = true, this.switchN = true) : (this.switchU = n && this.parser.options.ecmaVersion >= 6, this.switchV = false, this.switchN = n && this.parser.options.ecmaVersion >= 9);
|
|
1579
1614
|
};
|
|
1580
|
-
|
|
1615
|
+
U.prototype.raise = function(t) {
|
|
1581
1616
|
this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + t);
|
|
1582
1617
|
};
|
|
1583
|
-
|
|
1618
|
+
U.prototype.at = function(t, i) {
|
|
1584
1619
|
i === void 0 && (i = false);
|
|
1585
1620
|
var s = this.source, r = s.length;
|
|
1586
1621
|
if (t >= r) return -1;
|
|
@@ -1589,67 +1624,67 @@ j.prototype.at = function(t, i) {
|
|
|
1589
1624
|
var o = s.charCodeAt(t + 1);
|
|
1590
1625
|
return o >= 56320 && o <= 57343 ? (n << 10) + o - 56613888 : n;
|
|
1591
1626
|
};
|
|
1592
|
-
|
|
1627
|
+
U.prototype.nextIndex = function(t, i) {
|
|
1593
1628
|
i === void 0 && (i = false);
|
|
1594
1629
|
var s = this.source, r = s.length;
|
|
1595
1630
|
if (t >= r) return r;
|
|
1596
1631
|
var n = s.charCodeAt(t), o;
|
|
1597
1632
|
return !(i || this.switchU) || n <= 55295 || n >= 57344 || t + 1 >= r || (o = s.charCodeAt(t + 1)) < 56320 || o > 57343 ? t + 1 : t + 2;
|
|
1598
1633
|
};
|
|
1599
|
-
|
|
1634
|
+
U.prototype.current = function(t) {
|
|
1600
1635
|
return t === void 0 && (t = false), this.at(this.pos, t);
|
|
1601
1636
|
};
|
|
1602
|
-
|
|
1637
|
+
U.prototype.lookahead = function(t) {
|
|
1603
1638
|
return t === void 0 && (t = false), this.at(this.nextIndex(this.pos, t), t);
|
|
1604
1639
|
};
|
|
1605
|
-
|
|
1640
|
+
U.prototype.advance = function(t) {
|
|
1606
1641
|
t === void 0 && (t = false), this.pos = this.nextIndex(this.pos, t);
|
|
1607
1642
|
};
|
|
1608
|
-
|
|
1643
|
+
U.prototype.eat = function(t, i) {
|
|
1609
1644
|
return i === void 0 && (i = false), this.current(i) === t ? (this.advance(i), true) : false;
|
|
1610
1645
|
};
|
|
1611
|
-
|
|
1646
|
+
U.prototype.eatChars = function(t, i) {
|
|
1612
1647
|
i === void 0 && (i = false);
|
|
1613
1648
|
for (var s = this.pos, r = 0, n = t; r < n.length; r += 1) {
|
|
1614
|
-
var o = n[r],
|
|
1615
|
-
if (
|
|
1649
|
+
var o = n[r], p = this.at(s, i);
|
|
1650
|
+
if (p === -1 || p !== o) return false;
|
|
1616
1651
|
s = this.nextIndex(s, i);
|
|
1617
1652
|
}
|
|
1618
1653
|
return this.pos = s, true;
|
|
1619
1654
|
};
|
|
1620
|
-
|
|
1655
|
+
l.validateRegExpFlags = function(e) {
|
|
1621
1656
|
for (var t = e.validFlags, i = e.flags, s = false, r = false, n = 0; n < i.length; n++) {
|
|
1622
1657
|
var o = i.charAt(n);
|
|
1623
1658
|
t.indexOf(o) === -1 && this.raise(e.start, "Invalid regular expression flag"), i.indexOf(o, n + 1) > -1 && this.raise(e.start, "Duplicate regular expression flag"), o === "u" && (s = true), o === "v" && (r = true);
|
|
1624
1659
|
}
|
|
1625
1660
|
this.options.ecmaVersion >= 15 && s && r && this.raise(e.start, "Invalid regular expression flag");
|
|
1626
1661
|
};
|
|
1627
|
-
function
|
|
1662
|
+
function os(e) {
|
|
1628
1663
|
for (var t in e) return true;
|
|
1629
1664
|
return false;
|
|
1630
1665
|
}
|
|
1631
|
-
|
|
1632
|
-
this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 &&
|
|
1666
|
+
l.validateRegExpPattern = function(e) {
|
|
1667
|
+
this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && os(e.groupNames) && (e.switchN = true, this.regexp_pattern(e));
|
|
1633
1668
|
};
|
|
1634
|
-
|
|
1669
|
+
l.regexp_pattern = function(e) {
|
|
1635
1670
|
e.pos = 0, e.lastIntValue = 0, e.lastStringValue = "", e.lastAssertionIsQuantifiable = false, e.numCapturingParens = 0, e.maxBackReference = 0, e.groupNames = /* @__PURE__ */ Object.create(null), e.backReferenceNames.length = 0, e.branchID = null, this.regexp_disjunction(e), e.pos !== e.source.length && (e.eat(41) && e.raise("Unmatched ')'"), (e.eat(93) || e.eat(125)) && e.raise("Lone quantifier brackets")), e.maxBackReference > e.numCapturingParens && e.raise("Invalid escape");
|
|
1636
1671
|
for (var t = 0, i = e.backReferenceNames; t < i.length; t += 1) {
|
|
1637
1672
|
var s = i[t];
|
|
1638
1673
|
e.groupNames[s] || e.raise("Invalid named capture referenced");
|
|
1639
1674
|
}
|
|
1640
1675
|
};
|
|
1641
|
-
|
|
1676
|
+
l.regexp_disjunction = function(e) {
|
|
1642
1677
|
var t = this.options.ecmaVersion >= 16;
|
|
1643
|
-
for (t && (e.branchID = new
|
|
1678
|
+
for (t && (e.branchID = new ye(e.branchID, null)), this.regexp_alternative(e); e.eat(124); ) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
|
|
1644
1679
|
t && (e.branchID = e.branchID.parent), this.regexp_eatQuantifier(e, true) && e.raise("Nothing to repeat"), e.eat(123) && e.raise("Lone quantifier brackets");
|
|
1645
1680
|
};
|
|
1646
|
-
|
|
1681
|
+
l.regexp_alternative = function(e) {
|
|
1647
1682
|
for (; e.pos < e.source.length && this.regexp_eatTerm(e); ) ;
|
|
1648
1683
|
};
|
|
1649
|
-
|
|
1684
|
+
l.regexp_eatTerm = function(e) {
|
|
1650
1685
|
return this.regexp_eatAssertion(e) ? (e.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(e) && e.switchU && e.raise("Invalid quantifier"), true) : (e.switchU ? this.regexp_eatAtom(e) : this.regexp_eatExtendedAtom(e)) ? (this.regexp_eatQuantifier(e), true) : false;
|
|
1651
1686
|
};
|
|
1652
|
-
|
|
1687
|
+
l.regexp_eatAssertion = function(e) {
|
|
1653
1688
|
var t = e.pos;
|
|
1654
1689
|
if (e.lastAssertionIsQuantifiable = false, e.eat(94) || e.eat(36)) return true;
|
|
1655
1690
|
if (e.eat(92)) {
|
|
@@ -1662,13 +1697,13 @@ c.regexp_eatAssertion = function(e) {
|
|
|
1662
1697
|
}
|
|
1663
1698
|
return e.pos = t, false;
|
|
1664
1699
|
};
|
|
1665
|
-
|
|
1700
|
+
l.regexp_eatQuantifier = function(e, t) {
|
|
1666
1701
|
return t === void 0 && (t = false), this.regexp_eatQuantifierPrefix(e, t) ? (e.eat(63), true) : false;
|
|
1667
1702
|
};
|
|
1668
|
-
|
|
1703
|
+
l.regexp_eatQuantifierPrefix = function(e, t) {
|
|
1669
1704
|
return e.eat(42) || e.eat(43) || e.eat(63) || this.regexp_eatBracedQuantifier(e, t);
|
|
1670
1705
|
};
|
|
1671
|
-
|
|
1706
|
+
l.regexp_eatBracedQuantifier = function(e, t) {
|
|
1672
1707
|
var i = e.pos;
|
|
1673
1708
|
if (e.eat(123)) {
|
|
1674
1709
|
var s = 0, r = -1;
|
|
@@ -1677,10 +1712,10 @@ c.regexp_eatBracedQuantifier = function(e, t) {
|
|
|
1677
1712
|
}
|
|
1678
1713
|
return false;
|
|
1679
1714
|
};
|
|
1680
|
-
|
|
1715
|
+
l.regexp_eatAtom = function(e) {
|
|
1681
1716
|
return this.regexp_eatPatternCharacters(e) || e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e);
|
|
1682
1717
|
};
|
|
1683
|
-
|
|
1718
|
+
l.regexp_eatReverseSolidusAtomEscape = function(e) {
|
|
1684
1719
|
var t = e.pos;
|
|
1685
1720
|
if (e.eat(92)) {
|
|
1686
1721
|
if (this.regexp_eatAtomEscape(e)) return true;
|
|
@@ -1688,7 +1723,7 @@ c.regexp_eatReverseSolidusAtomEscape = function(e) {
|
|
|
1688
1723
|
}
|
|
1689
1724
|
return false;
|
|
1690
1725
|
};
|
|
1691
|
-
|
|
1726
|
+
l.regexp_eatUncapturingGroup = function(e) {
|
|
1692
1727
|
var t = e.pos;
|
|
1693
1728
|
if (e.eat(40)) {
|
|
1694
1729
|
if (e.eat(63)) {
|
|
@@ -1702,9 +1737,9 @@ c.regexp_eatUncapturingGroup = function(e) {
|
|
|
1702
1737
|
if (s) {
|
|
1703
1738
|
var o = this.regexp_eatModifiers(e);
|
|
1704
1739
|
!i && !o && e.current() === 58 && e.raise("Invalid regular expression modifiers");
|
|
1705
|
-
for (var
|
|
1706
|
-
var
|
|
1707
|
-
(o.indexOf(
|
|
1740
|
+
for (var p = 0; p < o.length; p++) {
|
|
1741
|
+
var u = o.charAt(p);
|
|
1742
|
+
(o.indexOf(u, p + 1) > -1 || i.indexOf(u) > -1) && e.raise("Duplicate regular expression modifiers");
|
|
1708
1743
|
}
|
|
1709
1744
|
}
|
|
1710
1745
|
}
|
|
@@ -1718,42 +1753,42 @@ c.regexp_eatUncapturingGroup = function(e) {
|
|
|
1718
1753
|
}
|
|
1719
1754
|
return false;
|
|
1720
1755
|
};
|
|
1721
|
-
|
|
1756
|
+
l.regexp_eatCapturingGroup = function(e) {
|
|
1722
1757
|
if (e.eat(40)) {
|
|
1723
1758
|
if (this.options.ecmaVersion >= 9 ? this.regexp_groupSpecifier(e) : e.current() === 63 && e.raise("Invalid group"), this.regexp_disjunction(e), e.eat(41)) return e.numCapturingParens += 1, true;
|
|
1724
1759
|
e.raise("Unterminated group");
|
|
1725
1760
|
}
|
|
1726
1761
|
return false;
|
|
1727
1762
|
};
|
|
1728
|
-
|
|
1729
|
-
for (var t = "", i = 0; (i = e.current()) !== -1 &&
|
|
1763
|
+
l.regexp_eatModifiers = function(e) {
|
|
1764
|
+
for (var t = "", i = 0; (i = e.current()) !== -1 && us(i); ) t += G(i), e.advance();
|
|
1730
1765
|
return t;
|
|
1731
1766
|
};
|
|
1732
|
-
function
|
|
1767
|
+
function us(e) {
|
|
1733
1768
|
return e === 105 || e === 109 || e === 115;
|
|
1734
1769
|
}
|
|
1735
|
-
|
|
1770
|
+
l.regexp_eatExtendedAtom = function(e) {
|
|
1736
1771
|
return e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e) || this.regexp_eatInvalidBracedQuantifier(e) || this.regexp_eatExtendedPatternCharacter(e);
|
|
1737
1772
|
};
|
|
1738
|
-
|
|
1773
|
+
l.regexp_eatInvalidBracedQuantifier = function(e) {
|
|
1739
1774
|
return this.regexp_eatBracedQuantifier(e, true) && e.raise("Nothing to repeat"), false;
|
|
1740
1775
|
};
|
|
1741
|
-
|
|
1776
|
+
l.regexp_eatSyntaxCharacter = function(e) {
|
|
1742
1777
|
var t = e.current();
|
|
1743
|
-
return
|
|
1778
|
+
return Mt(t) ? (e.lastIntValue = t, e.advance(), true) : false;
|
|
1744
1779
|
};
|
|
1745
|
-
function
|
|
1780
|
+
function Mt(e) {
|
|
1746
1781
|
return e === 36 || e >= 40 && e <= 43 || e === 46 || e === 63 || e >= 91 && e <= 94 || e >= 123 && e <= 125;
|
|
1747
1782
|
}
|
|
1748
|
-
|
|
1749
|
-
for (var t = e.pos, i = 0; (i = e.current()) !== -1 && !
|
|
1783
|
+
l.regexp_eatPatternCharacters = function(e) {
|
|
1784
|
+
for (var t = e.pos, i = 0; (i = e.current()) !== -1 && !Mt(i); ) e.advance();
|
|
1750
1785
|
return e.pos !== t;
|
|
1751
1786
|
};
|
|
1752
|
-
|
|
1787
|
+
l.regexp_eatExtendedPatternCharacter = function(e) {
|
|
1753
1788
|
var t = e.current();
|
|
1754
1789
|
return t !== -1 && t !== 36 && !(t >= 40 && t <= 43) && t !== 46 && t !== 63 && t !== 91 && t !== 94 && t !== 124 ? (e.advance(), true) : false;
|
|
1755
1790
|
};
|
|
1756
|
-
|
|
1791
|
+
l.regexp_groupSpecifier = function(e) {
|
|
1757
1792
|
if (e.eat(63)) {
|
|
1758
1793
|
this.regexp_eatGroupName(e) || e.raise("Invalid group");
|
|
1759
1794
|
var t = this.options.ecmaVersion >= 16, i = e.groupNames[e.lastStringValue];
|
|
@@ -1765,38 +1800,38 @@ c.regexp_groupSpecifier = function(e) {
|
|
|
1765
1800
|
t ? (i || (e.groupNames[e.lastStringValue] = [])).push(e.branchID) : e.groupNames[e.lastStringValue] = true;
|
|
1766
1801
|
}
|
|
1767
1802
|
};
|
|
1768
|
-
|
|
1803
|
+
l.regexp_eatGroupName = function(e) {
|
|
1769
1804
|
if (e.lastStringValue = "", e.eat(60)) {
|
|
1770
1805
|
if (this.regexp_eatRegExpIdentifierName(e) && e.eat(62)) return true;
|
|
1771
1806
|
e.raise("Invalid capture group name");
|
|
1772
1807
|
}
|
|
1773
1808
|
return false;
|
|
1774
1809
|
};
|
|
1775
|
-
|
|
1810
|
+
l.regexp_eatRegExpIdentifierName = function(e) {
|
|
1776
1811
|
if (e.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(e)) {
|
|
1777
|
-
for (e.lastStringValue +=
|
|
1812
|
+
for (e.lastStringValue += G(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e); ) e.lastStringValue += G(e.lastIntValue);
|
|
1778
1813
|
return true;
|
|
1779
1814
|
}
|
|
1780
1815
|
return false;
|
|
1781
1816
|
};
|
|
1782
|
-
|
|
1817
|
+
l.regexp_eatRegExpIdentifierStart = function(e) {
|
|
1783
1818
|
var t = e.pos, i = this.options.ecmaVersion >= 11, s = e.current(i);
|
|
1784
|
-
return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue),
|
|
1819
|
+
return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), ps(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
|
|
1785
1820
|
};
|
|
1786
|
-
function
|
|
1821
|
+
function ps(e) {
|
|
1787
1822
|
return M(e, true) || e === 36 || e === 95;
|
|
1788
1823
|
}
|
|
1789
|
-
|
|
1824
|
+
l.regexp_eatRegExpIdentifierPart = function(e) {
|
|
1790
1825
|
var t = e.pos, i = this.options.ecmaVersion >= 11, s = e.current(i);
|
|
1791
|
-
return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue),
|
|
1826
|
+
return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), hs(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
|
|
1792
1827
|
};
|
|
1793
|
-
function
|
|
1794
|
-
return
|
|
1828
|
+
function hs(e) {
|
|
1829
|
+
return K(e, true) || e === 36 || e === 95 || e === 8204 || e === 8205;
|
|
1795
1830
|
}
|
|
1796
|
-
|
|
1831
|
+
l.regexp_eatAtomEscape = function(e) {
|
|
1797
1832
|
return this.regexp_eatBackReference(e) || this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e) || e.switchN && this.regexp_eatKGroupName(e) ? true : (e.switchU && (e.current() === 99 && e.raise("Invalid unicode escape"), e.raise("Invalid escape")), false);
|
|
1798
1833
|
};
|
|
1799
|
-
|
|
1834
|
+
l.regexp_eatBackReference = function(e) {
|
|
1800
1835
|
var t = e.pos;
|
|
1801
1836
|
if (this.regexp_eatDecimalEscape(e)) {
|
|
1802
1837
|
var i = e.lastIntValue;
|
|
@@ -1806,17 +1841,17 @@ c.regexp_eatBackReference = function(e) {
|
|
|
1806
1841
|
}
|
|
1807
1842
|
return false;
|
|
1808
1843
|
};
|
|
1809
|
-
|
|
1844
|
+
l.regexp_eatKGroupName = function(e) {
|
|
1810
1845
|
if (e.eat(107)) {
|
|
1811
1846
|
if (this.regexp_eatGroupName(e)) return e.backReferenceNames.push(e.lastStringValue), true;
|
|
1812
1847
|
e.raise("Invalid named reference");
|
|
1813
1848
|
}
|
|
1814
1849
|
return false;
|
|
1815
1850
|
};
|
|
1816
|
-
|
|
1851
|
+
l.regexp_eatCharacterEscape = function(e) {
|
|
1817
1852
|
return this.regexp_eatControlEscape(e) || this.regexp_eatCControlLetter(e) || this.regexp_eatZero(e) || this.regexp_eatHexEscapeSequence(e) || this.regexp_eatRegExpUnicodeEscapeSequence(e, false) || !e.switchU && this.regexp_eatLegacyOctalEscapeSequence(e) || this.regexp_eatIdentityEscape(e);
|
|
1818
1853
|
};
|
|
1819
|
-
|
|
1854
|
+
l.regexp_eatCControlLetter = function(e) {
|
|
1820
1855
|
var t = e.pos;
|
|
1821
1856
|
if (e.eat(99)) {
|
|
1822
1857
|
if (this.regexp_eatControlLetter(e)) return true;
|
|
@@ -1824,21 +1859,21 @@ c.regexp_eatCControlLetter = function(e) {
|
|
|
1824
1859
|
}
|
|
1825
1860
|
return false;
|
|
1826
1861
|
};
|
|
1827
|
-
|
|
1828
|
-
return e.current() === 48 && !
|
|
1862
|
+
l.regexp_eatZero = function(e) {
|
|
1863
|
+
return e.current() === 48 && !Te(e.lookahead()) ? (e.lastIntValue = 0, e.advance(), true) : false;
|
|
1829
1864
|
};
|
|
1830
|
-
|
|
1865
|
+
l.regexp_eatControlEscape = function(e) {
|
|
1831
1866
|
var t = e.current();
|
|
1832
1867
|
return t === 116 ? (e.lastIntValue = 9, e.advance(), true) : t === 110 ? (e.lastIntValue = 10, e.advance(), true) : t === 118 ? (e.lastIntValue = 11, e.advance(), true) : t === 102 ? (e.lastIntValue = 12, e.advance(), true) : t === 114 ? (e.lastIntValue = 13, e.advance(), true) : false;
|
|
1833
1868
|
};
|
|
1834
|
-
|
|
1869
|
+
l.regexp_eatControlLetter = function(e) {
|
|
1835
1870
|
var t = e.current();
|
|
1836
|
-
return
|
|
1871
|
+
return jt(t) ? (e.lastIntValue = t % 32, e.advance(), true) : false;
|
|
1837
1872
|
};
|
|
1838
|
-
function
|
|
1873
|
+
function jt(e) {
|
|
1839
1874
|
return e >= 65 && e <= 90 || e >= 97 && e <= 122;
|
|
1840
1875
|
}
|
|
1841
|
-
|
|
1876
|
+
l.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
|
|
1842
1877
|
t === void 0 && (t = false);
|
|
1843
1878
|
var i = e.pos, s = t || e.switchU;
|
|
1844
1879
|
if (e.eat(117)) {
|
|
@@ -1854,20 +1889,20 @@ c.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
|
|
|
1854
1889
|
}
|
|
1855
1890
|
return true;
|
|
1856
1891
|
}
|
|
1857
|
-
if (s && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) &&
|
|
1892
|
+
if (s && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && cs(e.lastIntValue)) return true;
|
|
1858
1893
|
s && e.raise("Invalid unicode escape"), e.pos = i;
|
|
1859
1894
|
}
|
|
1860
1895
|
return false;
|
|
1861
1896
|
};
|
|
1862
|
-
function
|
|
1897
|
+
function cs(e) {
|
|
1863
1898
|
return e >= 0 && e <= 1114111;
|
|
1864
1899
|
}
|
|
1865
|
-
|
|
1900
|
+
l.regexp_eatIdentityEscape = function(e) {
|
|
1866
1901
|
if (e.switchU) return this.regexp_eatSyntaxCharacter(e) ? true : e.eat(47) ? (e.lastIntValue = 47, true) : false;
|
|
1867
1902
|
var t = e.current();
|
|
1868
1903
|
return t !== 99 && (!e.switchN || t !== 107) ? (e.lastIntValue = t, e.advance(), true) : false;
|
|
1869
1904
|
};
|
|
1870
|
-
|
|
1905
|
+
l.regexp_eatDecimalEscape = function(e) {
|
|
1871
1906
|
e.lastIntValue = 0;
|
|
1872
1907
|
var t = e.current();
|
|
1873
1908
|
if (t >= 49 && t <= 57) {
|
|
@@ -1878,23 +1913,23 @@ c.regexp_eatDecimalEscape = function(e) {
|
|
|
1878
1913
|
}
|
|
1879
1914
|
return false;
|
|
1880
1915
|
};
|
|
1881
|
-
var
|
|
1882
|
-
|
|
1916
|
+
var Ut = 0, q = 1, B = 2;
|
|
1917
|
+
l.regexp_eatCharacterClassEscape = function(e) {
|
|
1883
1918
|
var t = e.current();
|
|
1884
|
-
if (
|
|
1919
|
+
if (ls(t)) return e.lastIntValue = -1, e.advance(), q;
|
|
1885
1920
|
var i = false;
|
|
1886
1921
|
if (e.switchU && this.options.ecmaVersion >= 9 && ((i = t === 80) || t === 112)) {
|
|
1887
1922
|
e.lastIntValue = -1, e.advance();
|
|
1888
1923
|
var s;
|
|
1889
|
-
if (e.eat(123) && (s = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return i && s ===
|
|
1924
|
+
if (e.eat(123) && (s = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return i && s === B && e.raise("Invalid property name"), s;
|
|
1890
1925
|
e.raise("Invalid property name");
|
|
1891
1926
|
}
|
|
1892
|
-
return
|
|
1927
|
+
return Ut;
|
|
1893
1928
|
};
|
|
1894
|
-
function
|
|
1929
|
+
function ls(e) {
|
|
1895
1930
|
return e === 100 || e === 68 || e === 115 || e === 83 || e === 119 || e === 87;
|
|
1896
1931
|
}
|
|
1897
|
-
|
|
1932
|
+
l.regexp_eatUnicodePropertyValueExpression = function(e) {
|
|
1898
1933
|
var t = e.pos;
|
|
1899
1934
|
if (this.regexp_eatUnicodePropertyName(e) && e.eat(61)) {
|
|
1900
1935
|
var i = e.lastStringValue;
|
|
@@ -1907,46 +1942,46 @@ c.regexp_eatUnicodePropertyValueExpression = function(e) {
|
|
|
1907
1942
|
var r = e.lastStringValue;
|
|
1908
1943
|
return this.regexp_validateUnicodePropertyNameOrValue(e, r);
|
|
1909
1944
|
}
|
|
1910
|
-
return
|
|
1945
|
+
return Ut;
|
|
1911
1946
|
};
|
|
1912
|
-
|
|
1913
|
-
|
|
1947
|
+
l.regexp_validateUnicodePropertyNameAndValue = function(e, t, i) {
|
|
1948
|
+
$(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(i) || e.raise("Invalid property value");
|
|
1914
1949
|
};
|
|
1915
|
-
|
|
1950
|
+
l.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
|
|
1916
1951
|
if (e.unicodeProperties.binary.test(t)) return q;
|
|
1917
|
-
if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return
|
|
1952
|
+
if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return B;
|
|
1918
1953
|
e.raise("Invalid property name");
|
|
1919
1954
|
};
|
|
1920
|
-
|
|
1955
|
+
l.regexp_eatUnicodePropertyName = function(e) {
|
|
1921
1956
|
var t = 0;
|
|
1922
|
-
for (e.lastStringValue = "";
|
|
1957
|
+
for (e.lastStringValue = ""; Gt(t = e.current()); ) e.lastStringValue += G(t), e.advance();
|
|
1923
1958
|
return e.lastStringValue !== "";
|
|
1924
1959
|
};
|
|
1925
|
-
function
|
|
1926
|
-
return
|
|
1960
|
+
function Gt(e) {
|
|
1961
|
+
return jt(e) || e === 95;
|
|
1927
1962
|
}
|
|
1928
|
-
|
|
1963
|
+
l.regexp_eatUnicodePropertyValue = function(e) {
|
|
1929
1964
|
var t = 0;
|
|
1930
|
-
for (e.lastStringValue = "";
|
|
1965
|
+
for (e.lastStringValue = ""; fs(t = e.current()); ) e.lastStringValue += G(t), e.advance();
|
|
1931
1966
|
return e.lastStringValue !== "";
|
|
1932
1967
|
};
|
|
1933
|
-
function
|
|
1934
|
-
return
|
|
1968
|
+
function fs(e) {
|
|
1969
|
+
return Gt(e) || Te(e);
|
|
1935
1970
|
}
|
|
1936
|
-
|
|
1971
|
+
l.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
1937
1972
|
return this.regexp_eatUnicodePropertyValue(e);
|
|
1938
1973
|
};
|
|
1939
|
-
|
|
1974
|
+
l.regexp_eatCharacterClass = function(e) {
|
|
1940
1975
|
if (e.eat(91)) {
|
|
1941
1976
|
var t = e.eat(94), i = this.regexp_classContents(e);
|
|
1942
|
-
return e.eat(93) || e.raise("Unterminated character class"), t && i ===
|
|
1977
|
+
return e.eat(93) || e.raise("Unterminated character class"), t && i === B && e.raise("Negated character class may contain strings"), true;
|
|
1943
1978
|
}
|
|
1944
1979
|
return false;
|
|
1945
1980
|
};
|
|
1946
|
-
|
|
1981
|
+
l.regexp_classContents = function(e) {
|
|
1947
1982
|
return e.current() === 93 ? q : e.switchV ? this.regexp_classSetExpression(e) : (this.regexp_nonEmptyClassRanges(e), q);
|
|
1948
1983
|
};
|
|
1949
|
-
|
|
1984
|
+
l.regexp_nonEmptyClassRanges = function(e) {
|
|
1950
1985
|
for (; this.regexp_eatClassAtom(e); ) {
|
|
1951
1986
|
var t = e.lastIntValue;
|
|
1952
1987
|
if (e.eat(45) && this.regexp_eatClassAtom(e)) {
|
|
@@ -1955,20 +1990,20 @@ c.regexp_nonEmptyClassRanges = function(e) {
|
|
|
1955
1990
|
}
|
|
1956
1991
|
}
|
|
1957
1992
|
};
|
|
1958
|
-
|
|
1993
|
+
l.regexp_eatClassAtom = function(e) {
|
|
1959
1994
|
var t = e.pos;
|
|
1960
1995
|
if (e.eat(92)) {
|
|
1961
1996
|
if (this.regexp_eatClassEscape(e)) return true;
|
|
1962
1997
|
if (e.switchU) {
|
|
1963
1998
|
var i = e.current();
|
|
1964
|
-
(i === 99 ||
|
|
1999
|
+
(i === 99 || Ht(i)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
|
|
1965
2000
|
}
|
|
1966
2001
|
e.pos = t;
|
|
1967
2002
|
}
|
|
1968
2003
|
var s = e.current();
|
|
1969
2004
|
return s !== 93 ? (e.lastIntValue = s, e.advance(), true) : false;
|
|
1970
2005
|
};
|
|
1971
|
-
|
|
2006
|
+
l.regexp_eatClassEscape = function(e) {
|
|
1972
2007
|
var t = e.pos;
|
|
1973
2008
|
if (e.eat(98)) return e.lastIntValue = 8, true;
|
|
1974
2009
|
if (e.switchU && e.eat(45)) return e.lastIntValue = 45, true;
|
|
@@ -1978,13 +2013,13 @@ c.regexp_eatClassEscape = function(e) {
|
|
|
1978
2013
|
}
|
|
1979
2014
|
return this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e);
|
|
1980
2015
|
};
|
|
1981
|
-
|
|
2016
|
+
l.regexp_classSetExpression = function(e) {
|
|
1982
2017
|
var t = q, i;
|
|
1983
2018
|
if (!this.regexp_eatClassSetRange(e)) if (i = this.regexp_eatClassSetOperand(e)) {
|
|
1984
|
-
i ===
|
|
2019
|
+
i === B && (t = B);
|
|
1985
2020
|
for (var s = e.pos; e.eatChars([38, 38]); ) {
|
|
1986
2021
|
if (e.current() !== 38 && (i = this.regexp_eatClassSetOperand(e))) {
|
|
1987
|
-
i !==
|
|
2022
|
+
i !== B && (t = q);
|
|
1988
2023
|
continue;
|
|
1989
2024
|
}
|
|
1990
2025
|
e.raise("Invalid character in character class");
|
|
@@ -1995,10 +2030,10 @@ c.regexp_classSetExpression = function(e) {
|
|
|
1995
2030
|
} else e.raise("Invalid character in character class");
|
|
1996
2031
|
for (; ; ) if (!this.regexp_eatClassSetRange(e)) {
|
|
1997
2032
|
if (i = this.regexp_eatClassSetOperand(e), !i) return t;
|
|
1998
|
-
i ===
|
|
2033
|
+
i === B && (t = B);
|
|
1999
2034
|
}
|
|
2000
2035
|
};
|
|
2001
|
-
|
|
2036
|
+
l.regexp_eatClassSetRange = function(e) {
|
|
2002
2037
|
var t = e.pos;
|
|
2003
2038
|
if (this.regexp_eatClassSetCharacter(e)) {
|
|
2004
2039
|
var i = e.lastIntValue;
|
|
@@ -2010,14 +2045,14 @@ c.regexp_eatClassSetRange = function(e) {
|
|
|
2010
2045
|
}
|
|
2011
2046
|
return false;
|
|
2012
2047
|
};
|
|
2013
|
-
|
|
2048
|
+
l.regexp_eatClassSetOperand = function(e) {
|
|
2014
2049
|
return this.regexp_eatClassSetCharacter(e) ? q : this.regexp_eatClassStringDisjunction(e) || this.regexp_eatNestedClass(e);
|
|
2015
2050
|
};
|
|
2016
|
-
|
|
2051
|
+
l.regexp_eatNestedClass = function(e) {
|
|
2017
2052
|
var t = e.pos;
|
|
2018
2053
|
if (e.eat(91)) {
|
|
2019
2054
|
var i = e.eat(94), s = this.regexp_classContents(e);
|
|
2020
|
-
if (e.eat(93)) return i && s ===
|
|
2055
|
+
if (e.eat(93)) return i && s === B && e.raise("Negated character class may contain strings"), s;
|
|
2021
2056
|
e.pos = t;
|
|
2022
2057
|
}
|
|
2023
2058
|
if (e.eat(92)) {
|
|
@@ -2027,7 +2062,7 @@ c.regexp_eatNestedClass = function(e) {
|
|
|
2027
2062
|
}
|
|
2028
2063
|
return null;
|
|
2029
2064
|
};
|
|
2030
|
-
|
|
2065
|
+
l.regexp_eatClassStringDisjunction = function(e) {
|
|
2031
2066
|
var t = e.pos;
|
|
2032
2067
|
if (e.eatChars([92, 113])) {
|
|
2033
2068
|
if (e.eat(123)) {
|
|
@@ -2038,38 +2073,38 @@ c.regexp_eatClassStringDisjunction = function(e) {
|
|
|
2038
2073
|
}
|
|
2039
2074
|
return null;
|
|
2040
2075
|
};
|
|
2041
|
-
|
|
2042
|
-
for (var t = this.regexp_classString(e); e.eat(124); ) this.regexp_classString(e) ===
|
|
2076
|
+
l.regexp_classStringDisjunctionContents = function(e) {
|
|
2077
|
+
for (var t = this.regexp_classString(e); e.eat(124); ) this.regexp_classString(e) === B && (t = B);
|
|
2043
2078
|
return t;
|
|
2044
2079
|
};
|
|
2045
|
-
|
|
2080
|
+
l.regexp_classString = function(e) {
|
|
2046
2081
|
for (var t = 0; this.regexp_eatClassSetCharacter(e); ) t++;
|
|
2047
|
-
return t === 1 ? q :
|
|
2082
|
+
return t === 1 ? q : B;
|
|
2048
2083
|
};
|
|
2049
|
-
|
|
2084
|
+
l.regexp_eatClassSetCharacter = function(e) {
|
|
2050
2085
|
var t = e.pos;
|
|
2051
2086
|
if (e.eat(92)) return this.regexp_eatCharacterEscape(e) || this.regexp_eatClassSetReservedPunctuator(e) ? true : e.eat(98) ? (e.lastIntValue = 8, true) : (e.pos = t, false);
|
|
2052
2087
|
var i = e.current();
|
|
2053
|
-
return i < 0 || i === e.lookahead() &&
|
|
2088
|
+
return i < 0 || i === e.lookahead() && ds(i) || ms(i) ? false : (e.advance(), e.lastIntValue = i, true);
|
|
2054
2089
|
};
|
|
2055
|
-
function
|
|
2090
|
+
function ds(e) {
|
|
2056
2091
|
return e === 33 || e >= 35 && e <= 38 || e >= 42 && e <= 44 || e === 46 || e >= 58 && e <= 64 || e === 94 || e === 96 || e === 126;
|
|
2057
2092
|
}
|
|
2058
|
-
function
|
|
2093
|
+
function ms(e) {
|
|
2059
2094
|
return e === 40 || e === 41 || e === 45 || e === 47 || e >= 91 && e <= 93 || e >= 123 && e <= 125;
|
|
2060
2095
|
}
|
|
2061
|
-
|
|
2096
|
+
l.regexp_eatClassSetReservedPunctuator = function(e) {
|
|
2062
2097
|
var t = e.current();
|
|
2063
|
-
return
|
|
2098
|
+
return xs(t) ? (e.lastIntValue = t, e.advance(), true) : false;
|
|
2064
2099
|
};
|
|
2065
|
-
function
|
|
2100
|
+
function xs(e) {
|
|
2066
2101
|
return e === 33 || e === 35 || e === 37 || e === 38 || e === 44 || e === 45 || e >= 58 && e <= 62 || e === 64 || e === 96 || e === 126;
|
|
2067
2102
|
}
|
|
2068
|
-
|
|
2103
|
+
l.regexp_eatClassControlLetter = function(e) {
|
|
2069
2104
|
var t = e.current();
|
|
2070
|
-
return
|
|
2105
|
+
return Te(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), true) : false;
|
|
2071
2106
|
};
|
|
2072
|
-
|
|
2107
|
+
l.regexp_eatHexEscapeSequence = function(e) {
|
|
2073
2108
|
var t = e.pos;
|
|
2074
2109
|
if (e.eat(120)) {
|
|
2075
2110
|
if (this.regexp_eatFixedHexDigits(e, 2)) return true;
|
|
@@ -2077,26 +2112,26 @@ c.regexp_eatHexEscapeSequence = function(e) {
|
|
|
2077
2112
|
}
|
|
2078
2113
|
return false;
|
|
2079
2114
|
};
|
|
2080
|
-
|
|
2115
|
+
l.regexp_eatDecimalDigits = function(e) {
|
|
2081
2116
|
var t = e.pos, i = 0;
|
|
2082
|
-
for (e.lastIntValue = 0;
|
|
2117
|
+
for (e.lastIntValue = 0; Te(i = e.current()); ) e.lastIntValue = 10 * e.lastIntValue + (i - 48), e.advance();
|
|
2083
2118
|
return e.pos !== t;
|
|
2084
2119
|
};
|
|
2085
|
-
function
|
|
2120
|
+
function Te(e) {
|
|
2086
2121
|
return e >= 48 && e <= 57;
|
|
2087
2122
|
}
|
|
2088
|
-
|
|
2123
|
+
l.regexp_eatHexDigits = function(e) {
|
|
2089
2124
|
var t = e.pos, i = 0;
|
|
2090
|
-
for (e.lastIntValue = 0;
|
|
2125
|
+
for (e.lastIntValue = 0; qt(i = e.current()); ) e.lastIntValue = 16 * e.lastIntValue + Jt(i), e.advance();
|
|
2091
2126
|
return e.pos !== t;
|
|
2092
2127
|
};
|
|
2093
|
-
function
|
|
2128
|
+
function qt(e) {
|
|
2094
2129
|
return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102;
|
|
2095
2130
|
}
|
|
2096
|
-
function
|
|
2131
|
+
function Jt(e) {
|
|
2097
2132
|
return e >= 65 && e <= 70 ? 10 + (e - 65) : e >= 97 && e <= 102 ? 10 + (e - 97) : e - 48;
|
|
2098
2133
|
}
|
|
2099
|
-
|
|
2134
|
+
l.regexp_eatLegacyOctalEscapeSequence = function(e) {
|
|
2100
2135
|
if (this.regexp_eatOctalDigit(e)) {
|
|
2101
2136
|
var t = e.lastIntValue;
|
|
2102
2137
|
if (this.regexp_eatOctalDigit(e)) {
|
|
@@ -2107,64 +2142,64 @@ c.regexp_eatLegacyOctalEscapeSequence = function(e) {
|
|
|
2107
2142
|
}
|
|
2108
2143
|
return false;
|
|
2109
2144
|
};
|
|
2110
|
-
|
|
2145
|
+
l.regexp_eatOctalDigit = function(e) {
|
|
2111
2146
|
var t = e.current();
|
|
2112
|
-
return
|
|
2147
|
+
return Ht(t) ? (e.lastIntValue = t - 48, e.advance(), true) : (e.lastIntValue = 0, false);
|
|
2113
2148
|
};
|
|
2114
|
-
function
|
|
2149
|
+
function Ht(e) {
|
|
2115
2150
|
return e >= 48 && e <= 55;
|
|
2116
2151
|
}
|
|
2117
|
-
|
|
2152
|
+
l.regexp_eatFixedHexDigits = function(e, t) {
|
|
2118
2153
|
var i = e.pos;
|
|
2119
2154
|
e.lastIntValue = 0;
|
|
2120
2155
|
for (var s = 0; s < t; ++s) {
|
|
2121
2156
|
var r = e.current();
|
|
2122
|
-
if (!
|
|
2123
|
-
e.lastIntValue = 16 * e.lastIntValue +
|
|
2157
|
+
if (!qt(r)) return e.pos = i, false;
|
|
2158
|
+
e.lastIntValue = 16 * e.lastIntValue + Jt(r), e.advance();
|
|
2124
2159
|
}
|
|
2125
2160
|
return true;
|
|
2126
2161
|
};
|
|
2127
|
-
var
|
|
2128
|
-
this.type = t.type, this.value = t.value, this.start = t.start, this.end = t.end, t.options.locations && (this.loc = new
|
|
2129
|
-
},
|
|
2130
|
-
|
|
2131
|
-
!e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new
|
|
2162
|
+
var Ke = function(t) {
|
|
2163
|
+
this.type = t.type, this.value = t.value, this.start = t.start, this.end = t.end, t.options.locations && (this.loc = new ge(t, t.startLoc, t.endLoc)), t.options.ranges && (this.range = [t.start, t.end]);
|
|
2164
|
+
}, b = E.prototype;
|
|
2165
|
+
b.next = function(e) {
|
|
2166
|
+
!e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new Ke(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
|
|
2132
2167
|
};
|
|
2133
|
-
|
|
2134
|
-
return this.next(), new
|
|
2168
|
+
b.getToken = function() {
|
|
2169
|
+
return this.next(), new Ke(this);
|
|
2135
2170
|
};
|
|
2136
|
-
typeof Symbol < "u" && (
|
|
2171
|
+
typeof Symbol < "u" && (b[Symbol.iterator] = function() {
|
|
2137
2172
|
var e = this;
|
|
2138
2173
|
return { next: function() {
|
|
2139
2174
|
var t = e.getToken();
|
|
2140
2175
|
return { done: t.type === a.eof, value: t };
|
|
2141
2176
|
} };
|
|
2142
2177
|
});
|
|
2143
|
-
|
|
2178
|
+
b.nextToken = function() {
|
|
2144
2179
|
var e = this.curContext();
|
|
2145
2180
|
if ((!e || !e.preserveSpace) && this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length) return this.finishToken(a.eof);
|
|
2146
2181
|
if (e.override) return e.override(this);
|
|
2147
2182
|
this.readToken(this.fullCharCodeAtPos());
|
|
2148
2183
|
};
|
|
2149
|
-
|
|
2184
|
+
b.readToken = function(e) {
|
|
2150
2185
|
return M(e, this.options.ecmaVersion >= 6) || e === 92 ? this.readWord() : this.getTokenFromCode(e);
|
|
2151
2186
|
};
|
|
2152
|
-
|
|
2187
|
+
b.fullCharCodeAtPos = function() {
|
|
2153
2188
|
var e = this.input.charCodeAt(this.pos);
|
|
2154
2189
|
if (e <= 55295 || e >= 56320) return e;
|
|
2155
2190
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
2156
2191
|
return t <= 56319 || t >= 57344 ? e : (e << 10) + t - 56613888;
|
|
2157
2192
|
};
|
|
2158
|
-
|
|
2193
|
+
b.skipBlockComment = function() {
|
|
2159
2194
|
var e = this.options.onComment && this.curPosition(), t = this.pos, i = this.input.indexOf("*/", this.pos += 2);
|
|
2160
|
-
if (i === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = i + 2, this.options.locations) for (var s = void 0, r = t; (s =
|
|
2195
|
+
if (i === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = i + 2, this.options.locations) for (var s = void 0, r = t; (s = mt(this.input, r, this.pos)) > -1; ) ++this.curLine, r = this.lineStart = s;
|
|
2161
2196
|
this.options.onComment && this.options.onComment(true, this.input.slice(t + 2, i), t, this.pos, e, this.curPosition());
|
|
2162
2197
|
};
|
|
2163
|
-
|
|
2164
|
-
for (var t = this.pos, i = this.options.onComment && this.curPosition(), s = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !
|
|
2198
|
+
b.skipLineComment = function(e) {
|
|
2199
|
+
for (var t = this.pos, i = this.options.onComment && this.curPosition(), s = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Y(s); ) s = this.input.charCodeAt(++this.pos);
|
|
2165
2200
|
this.options.onComment && this.options.onComment(false, this.input.slice(t + e, this.pos), t, this.pos, i, this.curPosition());
|
|
2166
2201
|
};
|
|
2167
|
-
|
|
2202
|
+
b.skipSpace = function() {
|
|
2168
2203
|
e: for (; this.pos < this.input.length; ) {
|
|
2169
2204
|
var e = this.input.charCodeAt(this.pos);
|
|
2170
2205
|
switch (e) {
|
|
@@ -2192,31 +2227,31 @@ v.skipSpace = function() {
|
|
|
2192
2227
|
}
|
|
2193
2228
|
break;
|
|
2194
2229
|
default:
|
|
2195
|
-
if (e > 8 && e < 14 || e >= 5760 &&
|
|
2230
|
+
if (e > 8 && e < 14 || e >= 5760 && xt.test(String.fromCharCode(e))) ++this.pos;
|
|
2196
2231
|
else break e;
|
|
2197
2232
|
}
|
|
2198
2233
|
}
|
|
2199
2234
|
};
|
|
2200
|
-
|
|
2235
|
+
b.finishToken = function(e, t) {
|
|
2201
2236
|
this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
|
|
2202
2237
|
var i = this.type;
|
|
2203
2238
|
this.type = e, this.value = t, this.updateContext(i);
|
|
2204
2239
|
};
|
|
2205
|
-
|
|
2240
|
+
b.readToken_dot = function() {
|
|
2206
2241
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
2207
2242
|
if (e >= 48 && e <= 57) return this.readNumber(true);
|
|
2208
2243
|
var t = this.input.charCodeAt(this.pos + 2);
|
|
2209
2244
|
return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(a.ellipsis)) : (++this.pos, this.finishToken(a.dot));
|
|
2210
2245
|
};
|
|
2211
|
-
|
|
2246
|
+
b.readToken_slash = function() {
|
|
2212
2247
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
2213
2248
|
return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.slash, 1);
|
|
2214
2249
|
};
|
|
2215
|
-
|
|
2250
|
+
b.readToken_mult_modulo_exp = function(e) {
|
|
2216
2251
|
var t = this.input.charCodeAt(this.pos + 1), i = 1, s = e === 42 ? a.star : a.modulo;
|
|
2217
2252
|
return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++i, s = a.starstar, t = this.input.charCodeAt(this.pos + 2)), t === 61 ? this.finishOp(a.assign, i + 1) : this.finishOp(s, i);
|
|
2218
2253
|
};
|
|
2219
|
-
|
|
2254
|
+
b.readToken_pipe_amp = function(e) {
|
|
2220
2255
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
2221
2256
|
if (t === e) {
|
|
2222
2257
|
if (this.options.ecmaVersion >= 12) {
|
|
@@ -2227,23 +2262,23 @@ v.readToken_pipe_amp = function(e) {
|
|
|
2227
2262
|
}
|
|
2228
2263
|
return t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(e === 124 ? a.bitwiseOR : a.bitwiseAND, 1);
|
|
2229
2264
|
};
|
|
2230
|
-
|
|
2265
|
+
b.readToken_caret = function() {
|
|
2231
2266
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
2232
2267
|
return e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.bitwiseXOR, 1);
|
|
2233
2268
|
};
|
|
2234
|
-
|
|
2269
|
+
b.readToken_plus_min = function(e) {
|
|
2235
2270
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
2236
|
-
return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 ||
|
|
2271
|
+
return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || V.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(a.incDec, 2) : t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.plusMin, 1);
|
|
2237
2272
|
};
|
|
2238
|
-
|
|
2273
|
+
b.readToken_lt_gt = function(e) {
|
|
2239
2274
|
var t = this.input.charCodeAt(this.pos + 1), i = 1;
|
|
2240
2275
|
return t === e ? (i = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + i) === 61 ? this.finishOp(a.assign, i + 1) : this.finishOp(a.bitShift, i)) : t === 33 && e === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45 ? (this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (t === 61 && (i = 2), this.finishOp(a.relational, i));
|
|
2241
2276
|
};
|
|
2242
|
-
|
|
2277
|
+
b.readToken_eq_excl = function(e) {
|
|
2243
2278
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
2244
2279
|
return t === 61 ? this.finishOp(a.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : e === 61 && t === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(a.arrow)) : this.finishOp(e === 61 ? a.eq : a.prefix, 1);
|
|
2245
2280
|
};
|
|
2246
|
-
|
|
2281
|
+
b.readToken_question = function() {
|
|
2247
2282
|
var e = this.options.ecmaVersion;
|
|
2248
2283
|
if (e >= 11) {
|
|
2249
2284
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
@@ -2261,12 +2296,12 @@ v.readToken_question = function() {
|
|
|
2261
2296
|
}
|
|
2262
2297
|
return this.finishOp(a.question, 1);
|
|
2263
2298
|
};
|
|
2264
|
-
|
|
2299
|
+
b.readToken_numberSign = function() {
|
|
2265
2300
|
var e = this.options.ecmaVersion, t = 35;
|
|
2266
2301
|
if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), M(t, true) || t === 92)) return this.finishToken(a.privateId, this.readWord1());
|
|
2267
|
-
this.raise(this.pos, "Unexpected character '" +
|
|
2302
|
+
this.raise(this.pos, "Unexpected character '" + G(t) + "'");
|
|
2268
2303
|
};
|
|
2269
|
-
|
|
2304
|
+
b.getTokenFromCode = function(e) {
|
|
2270
2305
|
switch (e) {
|
|
2271
2306
|
case 46:
|
|
2272
2307
|
return this.readToken_dot();
|
|
@@ -2337,17 +2372,17 @@ v.getTokenFromCode = function(e) {
|
|
|
2337
2372
|
case 35:
|
|
2338
2373
|
return this.readToken_numberSign();
|
|
2339
2374
|
}
|
|
2340
|
-
this.raise(this.pos, "Unexpected character '" +
|
|
2375
|
+
this.raise(this.pos, "Unexpected character '" + G(e) + "'");
|
|
2341
2376
|
};
|
|
2342
|
-
|
|
2377
|
+
b.finishOp = function(e, t) {
|
|
2343
2378
|
var i = this.input.slice(this.pos, this.pos + t);
|
|
2344
2379
|
return this.pos += t, this.finishToken(e, i);
|
|
2345
2380
|
};
|
|
2346
|
-
|
|
2381
|
+
b.readRegexp = function() {
|
|
2347
2382
|
for (var e, t, i = this.pos; ; ) {
|
|
2348
2383
|
this.pos >= this.input.length && this.raise(i, "Unterminated regular expression");
|
|
2349
2384
|
var s = this.input.charAt(this.pos);
|
|
2350
|
-
if (
|
|
2385
|
+
if (V.test(s) && this.raise(i, "Unterminated regular expression"), e) e = false;
|
|
2351
2386
|
else {
|
|
2352
2387
|
if (s === "[") t = true;
|
|
2353
2388
|
else if (s === "]" && t) t = false;
|
|
@@ -2360,54 +2395,54 @@ v.readRegexp = function() {
|
|
|
2360
2395
|
++this.pos;
|
|
2361
2396
|
var n = this.pos, o = this.readWord1();
|
|
2362
2397
|
this.containsEsc && this.unexpected(n);
|
|
2363
|
-
var
|
|
2364
|
-
|
|
2365
|
-
var
|
|
2398
|
+
var p = this.regexpState || (this.regexpState = new U(this));
|
|
2399
|
+
p.reset(i, r, o), this.validateRegExpFlags(p), this.validateRegExpPattern(p);
|
|
2400
|
+
var u = null;
|
|
2366
2401
|
try {
|
|
2367
|
-
|
|
2402
|
+
u = new RegExp(r, o);
|
|
2368
2403
|
} catch {
|
|
2369
2404
|
}
|
|
2370
|
-
return this.finishToken(a.regexp, { pattern: r, flags: o, value:
|
|
2405
|
+
return this.finishToken(a.regexp, { pattern: r, flags: o, value: u });
|
|
2371
2406
|
};
|
|
2372
|
-
|
|
2373
|
-
for (var s = this.options.ecmaVersion >= 12 && t === void 0, r = i && this.input.charCodeAt(this.pos) === 48, n = this.pos, o = 0,
|
|
2374
|
-
var f = this.input.charCodeAt(this.pos),
|
|
2407
|
+
b.readInt = function(e, t, i) {
|
|
2408
|
+
for (var s = this.options.ecmaVersion >= 12 && t === void 0, r = i && this.input.charCodeAt(this.pos) === 48, n = this.pos, o = 0, p = 0, u = 0, c = t ?? 1 / 0; u < c; ++u, ++this.pos) {
|
|
2409
|
+
var f = this.input.charCodeAt(this.pos), v = void 0;
|
|
2375
2410
|
if (s && f === 95) {
|
|
2376
|
-
r && this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"),
|
|
2411
|
+
r && this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"), p === 95 && this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"), u === 0 && this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"), p = f;
|
|
2377
2412
|
continue;
|
|
2378
2413
|
}
|
|
2379
|
-
if (f >= 97 ?
|
|
2380
|
-
|
|
2414
|
+
if (f >= 97 ? v = f - 97 + 10 : f >= 65 ? v = f - 65 + 10 : f >= 48 && f <= 57 ? v = f - 48 : v = 1 / 0, v >= e) break;
|
|
2415
|
+
p = f, o = o * e + v;
|
|
2381
2416
|
}
|
|
2382
|
-
return s &&
|
|
2417
|
+
return s && p === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === n || t != null && this.pos - n !== t ? null : o;
|
|
2383
2418
|
};
|
|
2384
|
-
function
|
|
2419
|
+
function ys(e, t) {
|
|
2385
2420
|
return t ? parseInt(e, 8) : parseFloat(e.replace(/_/g, ""));
|
|
2386
2421
|
}
|
|
2387
|
-
function
|
|
2422
|
+
function Kt(e) {
|
|
2388
2423
|
return typeof BigInt != "function" ? null : BigInt(e.replace(/_/g, ""));
|
|
2389
2424
|
}
|
|
2390
|
-
|
|
2425
|
+
b.readRadixNumber = function(e) {
|
|
2391
2426
|
var t = this.pos;
|
|
2392
2427
|
this.pos += 2;
|
|
2393
2428
|
var i = this.readInt(e);
|
|
2394
|
-
return i == null && this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (i =
|
|
2429
|
+
return i == null && this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (i = Kt(this.input.slice(t, this.pos)), ++this.pos) : M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, i);
|
|
2395
2430
|
};
|
|
2396
|
-
|
|
2431
|
+
b.readNumber = function(e) {
|
|
2397
2432
|
var t = this.pos;
|
|
2398
2433
|
!e && this.readInt(10, void 0, true) === null && this.raise(t, "Invalid number");
|
|
2399
2434
|
var i = this.pos - t >= 2 && this.input.charCodeAt(t) === 48;
|
|
2400
2435
|
i && this.strict && this.raise(t, "Invalid number");
|
|
2401
2436
|
var s = this.input.charCodeAt(this.pos);
|
|
2402
2437
|
if (!i && !e && this.options.ecmaVersion >= 11 && s === 110) {
|
|
2403
|
-
var r =
|
|
2438
|
+
var r = Kt(this.input.slice(t, this.pos));
|
|
2404
2439
|
return ++this.pos, M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, r);
|
|
2405
2440
|
}
|
|
2406
2441
|
i && /[89]/.test(this.input.slice(t, this.pos)) && (i = false), s === 46 && !i && (++this.pos, this.readInt(10), s = this.input.charCodeAt(this.pos)), (s === 69 || s === 101) && !i && (s = this.input.charCodeAt(++this.pos), (s === 43 || s === 45) && ++this.pos, this.readInt(10) === null && this.raise(t, "Invalid number")), M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
|
|
2407
|
-
var n =
|
|
2442
|
+
var n = ys(this.input.slice(t, this.pos), i);
|
|
2408
2443
|
return this.finishToken(a.num, n);
|
|
2409
2444
|
};
|
|
2410
|
-
|
|
2445
|
+
b.readCodePoint = function() {
|
|
2411
2446
|
var e = this.input.charCodeAt(this.pos), t;
|
|
2412
2447
|
if (e === 123) {
|
|
2413
2448
|
this.options.ecmaVersion < 6 && this.unexpected();
|
|
@@ -2416,37 +2451,37 @@ v.readCodePoint = function() {
|
|
|
2416
2451
|
} else t = this.readHexChar(4);
|
|
2417
2452
|
return t;
|
|
2418
2453
|
};
|
|
2419
|
-
|
|
2454
|
+
b.readString = function(e) {
|
|
2420
2455
|
for (var t = "", i = ++this.pos; ; ) {
|
|
2421
2456
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
|
|
2422
2457
|
var s = this.input.charCodeAt(this.pos);
|
|
2423
2458
|
if (s === e) break;
|
|
2424
|
-
s === 92 ? (t += this.input.slice(i, this.pos), t += this.readEscapedChar(false), i = this.pos) : s === 8232 || s === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (
|
|
2459
|
+
s === 92 ? (t += this.input.slice(i, this.pos), t += this.readEscapedChar(false), i = this.pos) : s === 8232 || s === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Y(s) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
|
|
2425
2460
|
}
|
|
2426
2461
|
return t += this.input.slice(i, this.pos++), this.finishToken(a.string, t);
|
|
2427
2462
|
};
|
|
2428
|
-
var
|
|
2429
|
-
|
|
2463
|
+
var Wt = {};
|
|
2464
|
+
b.tryReadTemplateToken = function() {
|
|
2430
2465
|
this.inTemplateElement = true;
|
|
2431
2466
|
try {
|
|
2432
2467
|
this.readTmplToken();
|
|
2433
2468
|
} catch (e) {
|
|
2434
|
-
if (e ===
|
|
2469
|
+
if (e === Wt) this.readInvalidTemplateToken();
|
|
2435
2470
|
else throw e;
|
|
2436
2471
|
}
|
|
2437
2472
|
this.inTemplateElement = false;
|
|
2438
2473
|
};
|
|
2439
|
-
|
|
2440
|
-
if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw
|
|
2474
|
+
b.invalidStringToken = function(e, t) {
|
|
2475
|
+
if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Wt;
|
|
2441
2476
|
this.raise(e, t);
|
|
2442
2477
|
};
|
|
2443
|
-
|
|
2478
|
+
b.readTmplToken = function() {
|
|
2444
2479
|
for (var e = "", t = this.pos; ; ) {
|
|
2445
2480
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
|
|
2446
2481
|
var i = this.input.charCodeAt(this.pos);
|
|
2447
2482
|
if (i === 96 || i === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === a.template || this.type === a.invalidTemplate) ? i === 36 ? (this.pos += 2, this.finishToken(a.dollarBraceL)) : (++this.pos, this.finishToken(a.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(a.template, e));
|
|
2448
2483
|
if (i === 92) e += this.input.slice(t, this.pos), e += this.readEscapedChar(true), t = this.pos;
|
|
2449
|
-
else if (
|
|
2484
|
+
else if (Y(i)) {
|
|
2450
2485
|
switch (e += this.input.slice(t, this.pos), ++this.pos, i) {
|
|
2451
2486
|
case 13:
|
|
2452
2487
|
this.input.charCodeAt(this.pos) === 10 && ++this.pos;
|
|
@@ -2462,7 +2497,7 @@ v.readTmplToken = function() {
|
|
|
2462
2497
|
} else ++this.pos;
|
|
2463
2498
|
}
|
|
2464
2499
|
};
|
|
2465
|
-
|
|
2500
|
+
b.readInvalidTemplateToken = function() {
|
|
2466
2501
|
for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
|
|
2467
2502
|
case "\\":
|
|
2468
2503
|
++this.pos;
|
|
@@ -2483,7 +2518,7 @@ v.readInvalidTemplateToken = function() {
|
|
|
2483
2518
|
}
|
|
2484
2519
|
this.raise(this.start, "Unterminated template");
|
|
2485
2520
|
};
|
|
2486
|
-
|
|
2521
|
+
b.readEscapedChar = function(e) {
|
|
2487
2522
|
var t = this.input.charCodeAt(++this.pos);
|
|
2488
2523
|
switch (++this.pos, t) {
|
|
2489
2524
|
case 110:
|
|
@@ -2494,7 +2529,7 @@ v.readEscapedChar = function(e) {
|
|
|
2494
2529
|
case 120:
|
|
2495
2530
|
return String.fromCharCode(this.readHexChar(2));
|
|
2496
2531
|
case 117:
|
|
2497
|
-
return
|
|
2532
|
+
return G(this.readCodePoint());
|
|
2498
2533
|
case 116:
|
|
2499
2534
|
return " ";
|
|
2500
2535
|
case 98:
|
|
@@ -2518,42 +2553,42 @@ v.readEscapedChar = function(e) {
|
|
|
2518
2553
|
var s = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0], r = parseInt(s, 8);
|
|
2519
2554
|
return r > 255 && (s = s.slice(0, -1), r = parseInt(s, 8)), this.pos += s.length - 1, t = this.input.charCodeAt(this.pos), (s !== "0" || t === 56 || t === 57) && (this.strict || e) && this.invalidStringToken(this.pos - 1 - s.length, e ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(r);
|
|
2520
2555
|
}
|
|
2521
|
-
return
|
|
2556
|
+
return Y(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
|
|
2522
2557
|
}
|
|
2523
2558
|
};
|
|
2524
|
-
|
|
2559
|
+
b.readHexChar = function(e) {
|
|
2525
2560
|
var t = this.pos, i = this.readInt(16, e);
|
|
2526
2561
|
return i === null && this.invalidStringToken(t, "Bad character escape sequence"), i;
|
|
2527
2562
|
};
|
|
2528
|
-
|
|
2563
|
+
b.readWord1 = function() {
|
|
2529
2564
|
this.containsEsc = false;
|
|
2530
2565
|
for (var e = "", t = true, i = this.pos, s = this.options.ecmaVersion >= 6; this.pos < this.input.length; ) {
|
|
2531
2566
|
var r = this.fullCharCodeAtPos();
|
|
2532
|
-
if (
|
|
2567
|
+
if (K(r, s)) this.pos += r <= 65535 ? 1 : 2;
|
|
2533
2568
|
else if (r === 92) {
|
|
2534
2569
|
this.containsEsc = true, e += this.input.slice(i, this.pos);
|
|
2535
2570
|
var n = this.pos;
|
|
2536
2571
|
this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
|
|
2537
2572
|
var o = this.readCodePoint();
|
|
2538
|
-
(t ? M :
|
|
2573
|
+
(t ? M : K)(o, s) || this.invalidStringToken(n, "Invalid Unicode escape"), e += G(o), i = this.pos;
|
|
2539
2574
|
} else break;
|
|
2540
2575
|
t = false;
|
|
2541
2576
|
}
|
|
2542
2577
|
return e + this.input.slice(i, this.pos);
|
|
2543
2578
|
};
|
|
2544
|
-
|
|
2579
|
+
b.readWord = function() {
|
|
2545
2580
|
var e = this.readWord1(), t = a.name;
|
|
2546
|
-
return this.keywords.test(e) && (t =
|
|
2581
|
+
return this.keywords.test(e) && (t = je[e]), this.finishToken(t, e);
|
|
2547
2582
|
};
|
|
2548
|
-
var
|
|
2549
|
-
|
|
2550
|
-
var
|
|
2551
|
-
function
|
|
2583
|
+
var gs = "8.15.0";
|
|
2584
|
+
E.acorn = { Parser: E, version: gs, defaultOptions: De, Position: ae, SourceLocation: ge, getLineInfo: gt, Node: _e, TokenType: _, tokTypes: a, keywordTypes: je, TokContext: F, tokContexts: C, isIdentifierChar: K, isIdentifierStart: M, Token: Ke, isNewLine: Y, lineBreak: V, lineBreakG: Ui, nonASCIIwhitespace: xt };
|
|
2585
|
+
var bi = ot(Xe());
|
|
2586
|
+
function Cs(e, t) {
|
|
2552
2587
|
let i = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
|
|
2553
2588
|
return Object.assign(i, t);
|
|
2554
2589
|
}
|
|
2555
|
-
var
|
|
2556
|
-
function
|
|
2590
|
+
var Ce = Cs;
|
|
2591
|
+
function Es(e) {
|
|
2557
2592
|
let t = [];
|
|
2558
2593
|
for (let i of e) try {
|
|
2559
2594
|
return i();
|
|
@@ -2562,54 +2597,91 @@ function cs(e) {
|
|
|
2562
2597
|
}
|
|
2563
2598
|
throw Object.assign(new Error("All combinations failed"), { errors: t });
|
|
2564
2599
|
}
|
|
2565
|
-
var
|
|
2566
|
-
var
|
|
2600
|
+
var Ee = Es;
|
|
2601
|
+
var ks = (e, t, i) => {
|
|
2602
|
+
if (!(e && t == null)) {
|
|
2603
|
+
if (t.findLast) return t.findLast(i);
|
|
2604
|
+
for (let s = t.length - 1; s >= 0; s--) {
|
|
2605
|
+
let r = t[s];
|
|
2606
|
+
if (i(r, s, t)) return r;
|
|
2607
|
+
}
|
|
2608
|
+
}
|
|
2609
|
+
}, $t = ks;
|
|
2610
|
+
var As = (e, t, i) => {
|
|
2567
2611
|
if (!(e && t == null)) return Array.isArray(t) || typeof t == "string" ? t[i < 0 ? t.length + i : i] : t.at(i);
|
|
2568
|
-
},
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
var Wt = fs;
|
|
2573
|
-
function O(e) {
|
|
2612
|
+
}, te = As;
|
|
2613
|
+
var ws = new Proxy(() => {
|
|
2614
|
+
}, { get: () => ws });
|
|
2615
|
+
function w(e) {
|
|
2574
2616
|
var s, r, n;
|
|
2575
2617
|
let t = ((s = e.range) == null ? void 0 : s[0]) ?? e.start, i = (n = ((r = e.declaration) == null ? void 0 : r.decorators) ?? e.decorators) == null ? void 0 : n[0];
|
|
2576
|
-
return i ? Math.min(
|
|
2618
|
+
return i ? Math.min(w(i), t) : t;
|
|
2577
2619
|
}
|
|
2578
|
-
function
|
|
2579
|
-
var
|
|
2580
|
-
return ((
|
|
2620
|
+
function k(e) {
|
|
2621
|
+
var i;
|
|
2622
|
+
return ((i = e.range) == null ? void 0 : i[1]) ?? e.end;
|
|
2581
2623
|
}
|
|
2582
|
-
function
|
|
2624
|
+
function Ps(e) {
|
|
2583
2625
|
let t = new Set(e);
|
|
2584
2626
|
return (i) => t.has(i == null ? void 0 : i.type);
|
|
2585
2627
|
}
|
|
2586
|
-
var
|
|
2587
|
-
|
|
2588
|
-
|
|
2628
|
+
var ie = Ps;
|
|
2629
|
+
function Is(e, t, i) {
|
|
2630
|
+
let s = e.originalText.slice(t, i);
|
|
2631
|
+
for (let r of e[Symbol.for("comments")]) {
|
|
2632
|
+
let n = w(r);
|
|
2633
|
+
if (n > i) break;
|
|
2634
|
+
let o = k(r);
|
|
2635
|
+
if (o < t) continue;
|
|
2636
|
+
let p = o - n;
|
|
2637
|
+
s = s.slice(0, n - t) + " ".repeat(p) + s.slice(o - t);
|
|
2638
|
+
}
|
|
2639
|
+
return s;
|
|
2640
|
+
}
|
|
2641
|
+
var Zt = Is;
|
|
2642
|
+
var Ns = ie(["Block", "CommentBlock", "MultiLine"]), z = Ns;
|
|
2643
|
+
var Ls = ie(["Line", "CommentLine", "SingleLine", "HashbangComment", "HTMLOpen", "HTMLClose", "Hashbang", "InterpreterDirective"]), ze = Ls;
|
|
2644
|
+
var Qe = /* @__PURE__ */ new WeakMap();
|
|
2645
|
+
function Vs(e) {
|
|
2646
|
+
return Qe.has(e) || Qe.set(e, z(e) && e.value[0] === "*" && /@(?:type|satisfies)\b/u.test(e.value)), Qe.get(e);
|
|
2647
|
+
}
|
|
2648
|
+
var ei = Vs;
|
|
2649
|
+
function Rs(e) {
|
|
2650
|
+
if (!z(e)) return false;
|
|
2589
2651
|
let t = `*${e.value}*`.split(`
|
|
2590
2652
|
`);
|
|
2591
2653
|
return t.length > 1 && t.every((i) => i.trimStart()[0] === "*");
|
|
2592
2654
|
}
|
|
2593
|
-
var
|
|
2594
|
-
function
|
|
2595
|
-
return
|
|
2596
|
-
}
|
|
2597
|
-
var
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
}
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2655
|
+
var Ye = /* @__PURE__ */ new WeakMap();
|
|
2656
|
+
function Os(e) {
|
|
2657
|
+
return Ye.has(e) || Ye.set(e, Rs(e)), Ye.get(e);
|
|
2658
|
+
}
|
|
2659
|
+
var $e = Os;
|
|
2660
|
+
function Bs(e) {
|
|
2661
|
+
if (e.length < 2) return;
|
|
2662
|
+
let t;
|
|
2663
|
+
for (let i = e.length - 1; i >= 0; i--) {
|
|
2664
|
+
let s = e[i];
|
|
2665
|
+
if (t && k(s) === w(t) && $e(s) && $e(t) && (e.splice(i + 1, 1), s.value += "*//*" + t.value, s.range = [w(s), k(t)]), !ze(s) && !z(s)) throw new TypeError(`Unknown comment type: "${s.type}".`);
|
|
2666
|
+
t = s;
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
var ti = Bs;
|
|
2670
|
+
var he = null;
|
|
2671
|
+
function ce(e) {
|
|
2672
|
+
if (he !== null && typeof he.property) {
|
|
2673
|
+
let t = he;
|
|
2674
|
+
return he = ce.prototype = null, t;
|
|
2675
|
+
}
|
|
2676
|
+
return he = ce.prototype = e ?? /* @__PURE__ */ Object.create(null), new ce();
|
|
2677
|
+
}
|
|
2678
|
+
var Ds = 10;
|
|
2679
|
+
for (let e = 0; e <= Ds; e++) ce();
|
|
2680
|
+
function Ze(e) {
|
|
2681
|
+
return ce(e);
|
|
2682
|
+
}
|
|
2683
|
+
function Fs(e, t = "type") {
|
|
2684
|
+
Ze(e);
|
|
2613
2685
|
function i(s) {
|
|
2614
2686
|
let r = s[t], n = e[r];
|
|
2615
2687
|
if (!Array.isArray(n)) throw Object.assign(new Error(`Missing visitor keys for '${r}'.`), { node: s });
|
|
@@ -2617,186 +2689,213 @@ function vs(e, t = "type") {
|
|
|
2617
2689
|
}
|
|
2618
2690
|
return i;
|
|
2619
2691
|
}
|
|
2620
|
-
var
|
|
2621
|
-
var Qt = { ArrayExpression: ["elements"], AssignmentExpression: ["left", "right"], BinaryExpression: ["left", "right"], InterpreterDirective: [], Directive: ["value"], DirectiveLiteral: [], BlockStatement: ["directives", "body"], BreakStatement: ["label"], CallExpression: ["callee", "arguments", "typeParameters", "typeArguments"], CatchClause: ["param", "body"], ConditionalExpression: ["test", "consequent", "alternate"], ContinueStatement: ["label"], DebuggerStatement: [], DoWhileStatement: ["body", "test"], EmptyStatement: [], ExpressionStatement: ["expression"], File: ["program"], ForInStatement: ["left", "right", "body"], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: ["id", "typeParameters", "params", "predicate", "returnType", "body"], FunctionExpression: ["id", "typeParameters", "params", "returnType", "body"], Identifier: ["typeAnnotation", "decorators"], IfStatement: ["test", "consequent", "alternate"], LabeledStatement: ["label", "body"], StringLiteral: [], NumericLiteral: [], NullLiteral: [], BooleanLiteral: [], RegExpLiteral: [], LogicalExpression: ["left", "right"], MemberExpression: ["object", "property"], NewExpression: ["callee", "arguments", "typeParameters", "typeArguments"], Program: ["directives", "body"], ObjectExpression: ["properties"], ObjectMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectProperty: ["key", "value", "decorators"], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: ["argument"], SequenceExpression: ["expressions"], ParenthesizedExpression: ["expression"], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], ThisExpression: [], ThrowStatement: ["argument"], TryStatement: ["block", "handler", "finalizer"], UnaryExpression: ["argument"], UpdateExpression: ["argument"], VariableDeclaration: ["declarations"], VariableDeclarator: ["id", "init"], WhileStatement: ["test", "body"], WithStatement: ["object", "body"], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], ClassBody: ["body"], ClassExpression: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ClassDeclaration: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportNamedDeclaration: ["declaration", "specifiers", "source", "attributes"], ExportSpecifier: ["local", "exported"], ForOfStatement: ["left", "right", "body"], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: ["local"], ImportNamespaceSpecifier: ["local"], ImportSpecifier: ["imported", "local"], ImportExpression: ["source", "options"], MetaProperty: ["meta", "property"], ClassMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectPattern: ["properties", "typeAnnotation", "decorators"], SpreadElement: ["argument"], Super: [], TaggedTemplateExpression: ["tag", "typeParameters", "quasi", "typeArguments"], TemplateElement: [], TemplateLiteral: ["quasis", "expressions"], YieldExpression: ["argument"], AwaitExpression: ["argument"], BigIntLiteral: [], ExportNamespaceSpecifier: ["exported"], OptionalMemberExpression: ["object", "property"], OptionalCallExpression: ["callee", "arguments", "typeParameters", "typeArguments"], ClassProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassAccessorProperty: ["decorators", "key", "typeAnnotation", "value"], ClassPrivateProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassPrivateMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], PrivateName: ["id"], StaticBlock: ["body"], AnyTypeAnnotation: [], ArrayTypeAnnotation: ["elementType"], BooleanTypeAnnotation: [], BooleanLiteralTypeAnnotation: [], NullLiteralTypeAnnotation: [], ClassImplements: ["id", "typeParameters"], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareFunction: ["id", "predicate"], DeclareInterface: ["id", "typeParameters", "extends", "body"], DeclareModule: ["id", "body"], DeclareModuleExports: ["typeAnnotation"], DeclareTypeAlias: ["id", "typeParameters", "right"], DeclareOpaqueType: ["id", "typeParameters", "supertype"], DeclareVariable: ["id"], DeclareExportDeclaration: ["declaration", "specifiers", "source", "attributes"], DeclareExportAllDeclaration: ["source", "attributes"], DeclaredPredicate: ["value"], ExistsTypeAnnotation: [], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: ["name", "typeAnnotation"], GenericTypeAnnotation: ["id", "typeParameters"], InferredPredicate: [], InterfaceExtends: ["id", "typeParameters"], InterfaceDeclaration: ["id", "typeParameters", "extends", "body"], InterfaceTypeAnnotation: ["extends", "body"], IntersectionTypeAnnotation: ["types"], MixedTypeAnnotation: [], EmptyTypeAnnotation: [], NullableTypeAnnotation: ["typeAnnotation"], NumberLiteralTypeAnnotation: [], NumberTypeAnnotation: [], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeCallProperty: ["value"], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: ["argument"], OpaqueType: ["id", "typeParameters", "supertype", "impltype"], QualifiedTypeIdentifier: ["qualification", "id"], StringLiteralTypeAnnotation: [], StringTypeAnnotation: [], SymbolTypeAnnotation: [], ThisTypeAnnotation: [], TupleTypeAnnotation: ["types", "elementTypes"], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeAlias: ["id", "typeParameters", "right"], TypeAnnotation: ["typeAnnotation"], TypeCastExpression: ["expression", "typeAnnotation"], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: ["params"], TypeParameterInstantiation: ["params"], UnionTypeAnnotation: ["types"], Variance: [], VoidTypeAnnotation: [], EnumDeclaration: ["id", "body"], EnumBooleanBody: ["members"], EnumNumberBody: ["members"], EnumStringBody: ["members"], EnumSymbolBody: ["members"], EnumBooleanMember: ["id", "init"], EnumNumberMember: ["id", "init"], EnumStringMember: ["id", "init"], EnumDefaultedMember: ["id"], IndexedAccessType: ["objectType", "indexType"], OptionalIndexedAccessType: ["objectType", "indexType"], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: [], JSXExpressionContainer: ["expression"], JSXSpreadChild: ["expression"], JSXIdentifier: [], JSXMemberExpression: ["object", "property"], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeParameters", "typeArguments", "attributes"], JSXSpreadAttribute: ["argument"], JSXText: [], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXOpeningFragment: [], JSXClosingFragment: [], Noop: [], Placeholder: [], V8IntrinsicIdentifier: [], ArgumentPlaceholder: [], BindExpression: ["object", "callee"], ImportAttribute: ["key", "value"], Decorator: ["expression"], DoExpression: ["body"], ExportDefaultSpecifier: ["exported"], RecordExpression: ["properties"], TupleExpression: ["elements"], ModuleExpression: ["body"], TopicReference: [], PipelineTopicExpression: ["expression"], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: [], TSParameterProperty: ["parameter", "decorators"], TSDeclareFunction: ["id", "typeParameters", "params", "returnType", "body"], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSQualifiedName: ["left", "right"], TSCallSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSPropertySignature: ["key", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSIndexSignature: ["parameters", "typeAnnotation"], TSAnyKeyword: [], TSBooleanKeyword: [], TSBigIntKeyword: [], TSIntrinsicKeyword: [], TSNeverKeyword: [], TSNullKeyword: [], TSNumberKeyword: [], TSObjectKeyword: [], TSStringKeyword: [], TSSymbolKeyword: [], TSUndefinedKeyword: [], TSUnknownKeyword: [], TSVoidKeyword: [], TSThisType: [], TSFunctionType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructorType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSTypeReference: ["typeName", "typeParameters", "typeArguments"], TSTypePredicate: ["parameterName", "typeAnnotation"], TSTypeQuery: ["exprName", "typeParameters", "typeArguments"], TSTypeLiteral: ["members"], TSArrayType: ["elementType"], TSTupleType: ["elementTypes"], TSOptionalType: ["typeAnnotation"], TSRestType: ["typeAnnotation"], TSNamedTupleMember: ["label", "elementType"], TSUnionType: ["types"], TSIntersectionType: ["types"], TSConditionalType: ["checkType", "extendsType", "trueType", "falseType"], TSInferType: ["typeParameter"], TSParenthesizedType: ["typeAnnotation"], TSTypeOperator: ["typeAnnotation"], TSIndexedAccessType: ["objectType", "indexType"], TSMappedType: ["typeParameter", "nameType", "typeAnnotation"], TSTemplateLiteralType: ["quasis", "types"], TSLiteralType: ["literal"], TSExpressionWithTypeArguments: ["expression", "typeParameters"], TSInterfaceDeclaration: ["id", "typeParameters", "extends", "body"], TSInterfaceBody: ["body"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSInstantiationExpression: ["expression", "typeParameters", "typeArguments"], TSAsExpression: ["expression", "typeAnnotation"], TSSatisfiesExpression: ["expression", "typeAnnotation"], TSTypeAssertion: ["typeAnnotation", "expression"], TSEnumBody: ["members"], TSEnumDeclaration: ["id", "members"], TSEnumMember: ["id", "initializer"], TSModuleDeclaration: ["id", "body"], TSModuleBlock: ["body"], TSImportType: ["argument", "options", "qualifier", "typeParameters", "typeArguments"], TSImportEqualsDeclaration: ["id", "moduleReference"], TSExternalModuleReference: ["expression"], TSNonNullExpression: ["expression"], TSExportAssignment: ["expression"], TSNamespaceExportDeclaration: ["id"], TSTypeAnnotation: ["typeAnnotation"], TSTypeParameterInstantiation: ["params"], TSTypeParameterDeclaration: ["params"], TSTypeParameter: ["constraint", "default", "name"], ChainExpression: ["expression"], ExperimentalRestProperty: ["argument"], ExperimentalSpreadProperty: ["argument"], Literal: [], MethodDefinition: ["decorators", "key", "value"], PrivateIdentifier: [], Property: ["key", "value"], PropertyDefinition: ["decorators", "key", "typeAnnotation", "value", "variance"], AccessorProperty: ["decorators", "key", "typeAnnotation", "value"], TSAbstractAccessorProperty: ["decorators", "key", "typeAnnotation"], TSAbstractKeyword: [], TSAbstractMethodDefinition: ["key", "value"], TSAbstractPropertyDefinition: ["decorators", "key", "typeAnnotation"], TSAsyncKeyword: [], TSClassImplements: ["expression", "typeArguments", "typeParameters"], TSDeclareKeyword: [], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSExportKeyword: [], TSInterfaceHeritage: ["expression", "typeArguments", "typeParameters"], TSPrivateKeyword: [], TSProtectedKeyword: [], TSPublicKeyword: [], TSReadonlyKeyword: [], TSStaticKeyword: [], AsConstExpression: ["expression"], AsExpression: ["expression", "typeAnnotation"], BigIntLiteralTypeAnnotation: [], BigIntTypeAnnotation: [], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: ["name", "typeAnnotation"], ConditionalTypeAnnotation: ["checkType", "extendsType", "trueType", "falseType"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclareEnum: ["id", "body"], DeclareHook: ["id"], DeclareNamespace: ["id", "body"], EnumBigIntBody: ["members"], EnumBigIntMember: ["id", "init"], HookDeclaration: ["id", "params", "body", "typeParameters", "returnType"], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], InferTypeAnnotation: ["typeParameter"], KeyofTypeAnnotation: ["argument"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], QualifiedTypeofIdentifier: ["qualification", "id"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeOperator: ["typeAnnotation"], TypePredicate: ["parameterName", "typeAnnotation", "asserts"], NGRoot: ["node"], NGPipeExpression: ["left", "right", "arguments"], NGChainedExpression: ["expressions"], NGEmptyExpression: [], NGMicrosyntax: ["body"], NGMicrosyntaxKey: [], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: ["key", "value"], NGMicrosyntaxAs: ["key", "alias"], JsExpressionRoot: ["node"], JsonRoot: ["node"], TSJSDocAllType: [], TSJSDocUnknownType: [], TSJSDocNullableType: ["typeAnnotation"], TSJSDocNonNullableType: ["typeAnnotation"], NeverTypeAnnotation: [], UndefinedTypeAnnotation: [], UnknownTypeAnnotation: [], SatisfiesExpression: ["expression", "typeAnnotation"] };
|
|
2622
|
-
var
|
|
2623
|
-
function
|
|
2692
|
+
var ii = Fs;
|
|
2693
|
+
var si = { ArrayExpression: ["elements"], AssignmentExpression: ["left", "right"], BinaryExpression: ["left", "right"], InterpreterDirective: [], Directive: ["value"], DirectiveLiteral: [], BlockStatement: ["directives", "body"], BreakStatement: ["label"], CallExpression: ["callee", "typeParameters", "typeArguments", "arguments"], CatchClause: ["param", "body"], ConditionalExpression: ["test", "consequent", "alternate"], ContinueStatement: ["label"], DebuggerStatement: [], DoWhileStatement: ["body", "test"], EmptyStatement: [], ExpressionStatement: ["expression"], File: ["program"], ForInStatement: ["left", "right", "body"], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: ["id", "typeParameters", "params", "predicate", "returnType", "body"], FunctionExpression: ["id", "typeParameters", "params", "returnType", "body"], Identifier: ["typeAnnotation", "decorators"], IfStatement: ["test", "consequent", "alternate"], LabeledStatement: ["label", "body"], StringLiteral: [], NumericLiteral: [], NullLiteral: [], BooleanLiteral: [], RegExpLiteral: [], LogicalExpression: ["left", "right"], MemberExpression: ["object", "property"], NewExpression: ["callee", "typeParameters", "typeArguments", "arguments"], Program: ["directives", "body"], ObjectExpression: ["properties"], ObjectMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectProperty: ["decorators", "key", "value"], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: ["argument"], SequenceExpression: ["expressions"], ParenthesizedExpression: ["expression"], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], ThisExpression: [], ThrowStatement: ["argument"], TryStatement: ["block", "handler", "finalizer"], UnaryExpression: ["argument"], UpdateExpression: ["argument"], VariableDeclaration: ["declarations"], VariableDeclarator: ["id", "init"], WhileStatement: ["test", "body"], WithStatement: ["object", "body"], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], ClassBody: ["body"], ClassExpression: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ClassDeclaration: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportNamedDeclaration: ["declaration", "specifiers", "source", "attributes"], ExportSpecifier: ["local", "exported"], ForOfStatement: ["left", "right", "body"], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: ["local"], ImportNamespaceSpecifier: ["local"], ImportSpecifier: ["imported", "local"], ImportExpression: ["source", "options"], MetaProperty: ["meta", "property"], ClassMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectPattern: ["decorators", "properties", "typeAnnotation"], SpreadElement: ["argument"], Super: [], TaggedTemplateExpression: ["tag", "typeParameters", "quasi", "typeArguments"], TemplateElement: [], TemplateLiteral: ["quasis", "expressions"], YieldExpression: ["argument"], AwaitExpression: ["argument"], BigIntLiteral: [], ExportNamespaceSpecifier: ["exported"], OptionalMemberExpression: ["object", "property"], OptionalCallExpression: ["callee", "typeParameters", "typeArguments", "arguments"], ClassProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassAccessorProperty: ["decorators", "key", "typeAnnotation", "value"], ClassPrivateProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassPrivateMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], PrivateName: ["id"], StaticBlock: ["body"], ImportAttribute: ["key", "value"], AnyTypeAnnotation: [], ArrayTypeAnnotation: ["elementType"], BooleanTypeAnnotation: [], BooleanLiteralTypeAnnotation: [], NullLiteralTypeAnnotation: [], ClassImplements: ["id", "typeParameters"], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareFunction: ["id", "predicate"], DeclareInterface: ["id", "typeParameters", "extends", "body"], DeclareModule: ["id", "body"], DeclareModuleExports: ["typeAnnotation"], DeclareTypeAlias: ["id", "typeParameters", "right"], DeclareOpaqueType: ["id", "typeParameters", "supertype"], DeclareVariable: ["id"], DeclareExportDeclaration: ["declaration", "specifiers", "source", "attributes"], DeclareExportAllDeclaration: ["source", "attributes"], DeclaredPredicate: ["value"], ExistsTypeAnnotation: [], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: ["name", "typeAnnotation"], GenericTypeAnnotation: ["id", "typeParameters"], InferredPredicate: [], InterfaceExtends: ["id", "typeParameters"], InterfaceDeclaration: ["id", "typeParameters", "extends", "body"], InterfaceTypeAnnotation: ["extends", "body"], IntersectionTypeAnnotation: ["types"], MixedTypeAnnotation: [], EmptyTypeAnnotation: [], NullableTypeAnnotation: ["typeAnnotation"], NumberLiteralTypeAnnotation: [], NumberTypeAnnotation: [], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeCallProperty: ["value"], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: ["argument"], OpaqueType: ["id", "typeParameters", "supertype", "impltype"], QualifiedTypeIdentifier: ["qualification", "id"], StringLiteralTypeAnnotation: [], StringTypeAnnotation: [], SymbolTypeAnnotation: [], ThisTypeAnnotation: [], TupleTypeAnnotation: ["types", "elementTypes"], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeAlias: ["id", "typeParameters", "right"], TypeAnnotation: ["typeAnnotation"], TypeCastExpression: ["expression", "typeAnnotation"], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: ["params"], TypeParameterInstantiation: ["params"], UnionTypeAnnotation: ["types"], Variance: [], VoidTypeAnnotation: [], EnumDeclaration: ["id", "body"], EnumBooleanBody: ["members"], EnumNumberBody: ["members"], EnumStringBody: ["members"], EnumSymbolBody: ["members"], EnumBooleanMember: ["id", "init"], EnumNumberMember: ["id", "init"], EnumStringMember: ["id", "init"], EnumDefaultedMember: ["id"], IndexedAccessType: ["objectType", "indexType"], OptionalIndexedAccessType: ["objectType", "indexType"], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: [], JSXExpressionContainer: ["expression"], JSXSpreadChild: ["expression"], JSXIdentifier: [], JSXMemberExpression: ["object", "property"], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeParameters", "typeArguments", "attributes"], JSXSpreadAttribute: ["argument"], JSXText: [], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXOpeningFragment: [], JSXClosingFragment: [], Noop: [], Placeholder: [], V8IntrinsicIdentifier: [], ArgumentPlaceholder: [], BindExpression: ["object", "callee"], Decorator: ["expression"], DoExpression: ["body"], ExportDefaultSpecifier: ["exported"], ModuleExpression: ["body"], TopicReference: [], PipelineTopicExpression: ["expression"], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: [], TSParameterProperty: ["parameter", "decorators"], TSDeclareFunction: ["id", "typeParameters", "params", "returnType", "body"], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSQualifiedName: ["left", "right"], TSCallSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSPropertySignature: ["key", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSIndexSignature: ["parameters", "typeAnnotation"], TSAnyKeyword: [], TSBooleanKeyword: [], TSBigIntKeyword: [], TSIntrinsicKeyword: [], TSNeverKeyword: [], TSNullKeyword: [], TSNumberKeyword: [], TSObjectKeyword: [], TSStringKeyword: [], TSSymbolKeyword: [], TSUndefinedKeyword: [], TSUnknownKeyword: [], TSVoidKeyword: [], TSThisType: [], TSFunctionType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructorType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSTypeReference: ["typeName", "typeParameters", "typeArguments"], TSTypePredicate: ["parameterName", "typeAnnotation"], TSTypeQuery: ["exprName", "typeParameters", "typeArguments"], TSTypeLiteral: ["members"], TSArrayType: ["elementType"], TSTupleType: ["elementTypes"], TSOptionalType: ["typeAnnotation"], TSRestType: ["typeAnnotation"], TSNamedTupleMember: ["label", "elementType"], TSUnionType: ["types"], TSIntersectionType: ["types"], TSConditionalType: ["checkType", "extendsType", "trueType", "falseType"], TSInferType: ["typeParameter"], TSParenthesizedType: ["typeAnnotation"], TSTypeOperator: ["typeAnnotation"], TSIndexedAccessType: ["objectType", "indexType"], TSMappedType: ["nameType", "typeAnnotation", "key", "constraint"], TSTemplateLiteralType: ["quasis", "types"], TSLiteralType: ["literal"], TSExpressionWithTypeArguments: ["expression", "typeParameters"], TSInterfaceDeclaration: ["id", "typeParameters", "extends", "body"], TSInterfaceBody: ["body"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSInstantiationExpression: ["expression", "typeParameters", "typeArguments"], TSAsExpression: ["expression", "typeAnnotation"], TSSatisfiesExpression: ["expression", "typeAnnotation"], TSTypeAssertion: ["typeAnnotation", "expression"], TSEnumBody: ["members"], TSEnumDeclaration: ["id", "body"], TSEnumMember: ["id", "initializer"], TSModuleDeclaration: ["id", "body"], TSModuleBlock: ["body"], TSImportType: ["argument", "options", "qualifier", "typeParameters", "typeArguments"], TSImportEqualsDeclaration: ["id", "moduleReference"], TSExternalModuleReference: ["expression"], TSNonNullExpression: ["expression"], TSExportAssignment: ["expression"], TSNamespaceExportDeclaration: ["id"], TSTypeAnnotation: ["typeAnnotation"], TSTypeParameterInstantiation: ["params"], TSTypeParameterDeclaration: ["params"], TSTypeParameter: ["constraint", "default", "name"], ChainExpression: ["expression"], ExperimentalRestProperty: ["argument"], ExperimentalSpreadProperty: ["argument"], Literal: [], MethodDefinition: ["decorators", "key", "value"], PrivateIdentifier: [], Property: ["key", "value"], PropertyDefinition: ["decorators", "key", "typeAnnotation", "value", "variance"], AccessorProperty: ["decorators", "key", "typeAnnotation", "value"], TSAbstractAccessorProperty: ["decorators", "key", "typeAnnotation"], TSAbstractKeyword: [], TSAbstractMethodDefinition: ["key", "value"], TSAbstractPropertyDefinition: ["decorators", "key", "typeAnnotation"], TSAsyncKeyword: [], TSClassImplements: ["expression", "typeArguments", "typeParameters"], TSDeclareKeyword: [], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSExportKeyword: [], TSInterfaceHeritage: ["expression", "typeArguments", "typeParameters"], TSPrivateKeyword: [], TSProtectedKeyword: [], TSPublicKeyword: [], TSReadonlyKeyword: [], TSStaticKeyword: [], AsConstExpression: ["expression"], AsExpression: ["expression", "typeAnnotation"], BigIntLiteralTypeAnnotation: [], BigIntTypeAnnotation: [], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: ["name", "typeAnnotation"], ConditionalTypeAnnotation: ["checkType", "extendsType", "trueType", "falseType"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclareEnum: ["id", "body"], DeclareHook: ["id"], DeclareNamespace: ["id", "body"], EnumBigIntBody: ["members"], EnumBigIntMember: ["id", "init"], HookDeclaration: ["id", "params", "body", "typeParameters", "returnType"], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], InferTypeAnnotation: ["typeParameter"], KeyofTypeAnnotation: ["argument"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], QualifiedTypeofIdentifier: ["qualification", "id"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeOperator: ["typeAnnotation"], TypePredicate: ["parameterName", "typeAnnotation", "asserts"], NGChainedExpression: ["expressions"], NGEmptyExpression: [], NGPipeExpression: ["left", "right", "arguments"], NGMicrosyntax: ["body"], NGMicrosyntaxAs: ["key", "alias"], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKey: [], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: ["key", "value"], NGRoot: ["node"], JsExpressionRoot: ["node"], JsonRoot: ["node"], TSJSDocAllType: [], TSJSDocUnknownType: [], TSJSDocNullableType: ["typeAnnotation"], TSJSDocNonNullableType: ["typeAnnotation"], NeverTypeAnnotation: [], SatisfiesExpression: ["expression", "typeAnnotation"], UndefinedTypeAnnotation: [], UnknownTypeAnnotation: [] };
|
|
2694
|
+
var Ms = ii(si), ri = Ms;
|
|
2695
|
+
function et(e, t) {
|
|
2624
2696
|
if (!(e !== null && typeof e == "object")) return e;
|
|
2625
2697
|
if (Array.isArray(e)) {
|
|
2626
|
-
for (let s = 0; s < e.length; s++) e[s] =
|
|
2698
|
+
for (let s = 0; s < e.length; s++) e[s] = et(e[s], t);
|
|
2627
2699
|
return e;
|
|
2628
2700
|
}
|
|
2629
|
-
let i =
|
|
2630
|
-
for (let s = 0; s < i.length; s++) e[i[s]] =
|
|
2701
|
+
let i = ri(e);
|
|
2702
|
+
for (let s = 0; s < i.length; s++) e[i[s]] = et(e[i[s]], t);
|
|
2631
2703
|
return t(e) || e;
|
|
2632
2704
|
}
|
|
2633
|
-
var
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2705
|
+
var ai = et;
|
|
2706
|
+
ie(["RegExpLiteral", "BigIntLiteral", "NumericLiteral", "StringLiteral", "DirectiveLiteral", "Literal", "JSXText", "TemplateElement", "StringLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation"]);
|
|
2707
|
+
function js(e, t) {
|
|
2708
|
+
let { parser: i, text: s } = t, { comments: r } = e, n = i === "oxc" && t.oxcAstType === "ts";
|
|
2709
|
+
ti(r);
|
|
2710
|
+
let o;
|
|
2711
|
+
e = ai(e, (u) => {
|
|
2712
|
+
switch (u.type) {
|
|
2713
|
+
case "ParenthesizedExpression": {
|
|
2714
|
+
let { expression: c } = u, f = w(u);
|
|
2715
|
+
if (c.type === "TypeCastExpression") return c.range = [f, k(u)], c;
|
|
2716
|
+
let v = false;
|
|
2717
|
+
if (!n) {
|
|
2718
|
+
if (!o) {
|
|
2719
|
+
o = [];
|
|
2720
|
+
for (let h of r) ei(h) && o.push(k(h));
|
|
2721
|
+
}
|
|
2722
|
+
let T = $t(false, o, (h) => h <= f);
|
|
2723
|
+
v = T && s.slice(T, f).trim().length === 0;
|
|
2724
|
+
}
|
|
2725
|
+
if (!v) return c.extra = { ...c.extra, parenthesized: true }, c;
|
|
2726
|
+
break;
|
|
2651
2727
|
}
|
|
2652
|
-
});
|
|
2653
|
-
}
|
|
2654
|
-
if (e = Ce(e, (r) => {
|
|
2655
|
-
switch (r.type) {
|
|
2656
2728
|
case "LogicalExpression":
|
|
2657
|
-
if (
|
|
2729
|
+
if (oi(u)) return tt(u);
|
|
2730
|
+
break;
|
|
2731
|
+
case "TemplateLiteral":
|
|
2732
|
+
if (u.expressions.length !== u.quasis.length - 1) throw new Error("Malformed template literal.");
|
|
2733
|
+
break;
|
|
2734
|
+
case "TemplateElement":
|
|
2735
|
+
if (i === "flow" || i === "hermes" || i === "espree" || i === "typescript" || n) {
|
|
2736
|
+
let c = w(u) + 1, f = k(u) - (u.tail ? 1 : 2);
|
|
2737
|
+
u.range = [c, f];
|
|
2738
|
+
}
|
|
2658
2739
|
break;
|
|
2659
2740
|
case "VariableDeclaration": {
|
|
2660
|
-
let
|
|
2661
|
-
|
|
2741
|
+
let c = te(false, u.declarations, -1);
|
|
2742
|
+
c != null && c.init && s[k(c)] !== ";" && (u.range = [w(u), k(c)]);
|
|
2662
2743
|
break;
|
|
2663
2744
|
}
|
|
2664
2745
|
case "TSParenthesizedType":
|
|
2665
|
-
return
|
|
2746
|
+
return u.typeAnnotation;
|
|
2666
2747
|
case "TSTypeParameter":
|
|
2667
|
-
|
|
2668
|
-
let n = O(r);
|
|
2669
|
-
r.name = { type: "Identifier", name: r.name, range: [n, n + r.name.length] };
|
|
2670
|
-
}
|
|
2748
|
+
ni(u);
|
|
2671
2749
|
break;
|
|
2672
2750
|
case "TopicReference":
|
|
2673
2751
|
e.extra = { ...e.extra, __isUsingHackPipeline: true };
|
|
2674
2752
|
break;
|
|
2675
2753
|
case "TSUnionType":
|
|
2676
2754
|
case "TSIntersectionType":
|
|
2677
|
-
if (
|
|
2755
|
+
if (u.types.length === 1) return u.types[0];
|
|
2756
|
+
break;
|
|
2757
|
+
case "TSMappedType":
|
|
2758
|
+
if (!u.constraint && !u.key) {
|
|
2759
|
+
let { name: c, constraint: f } = ni(u.typeParameter);
|
|
2760
|
+
u.constraint = f, u.key = c, delete u.typeParameter;
|
|
2761
|
+
}
|
|
2762
|
+
break;
|
|
2763
|
+
case "TSEnumDeclaration":
|
|
2764
|
+
if (!u.body) {
|
|
2765
|
+
let c = k(u.id), { members: f } = u, v = Zt({ originalText: s, [Symbol.for("comments")]: r }, c, f[0] ? w(f[0]) : k(u)), T = c + v.indexOf("{");
|
|
2766
|
+
u.body = { type: "TSEnumBody", members: f, range: [T, k(u)] }, delete u.members;
|
|
2767
|
+
}
|
|
2768
|
+
break;
|
|
2769
|
+
case "ImportExpression":
|
|
2770
|
+
i === "hermes" && u.attributes && !u.options && (u.options = u.attributes);
|
|
2678
2771
|
break;
|
|
2679
2772
|
}
|
|
2680
|
-
})
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2773
|
+
});
|
|
2774
|
+
let p = e.type === "File" ? e.program : e;
|
|
2775
|
+
return p.interpreter && (r.unshift(p.interpreter), delete p.interpreter), n && e.hashbang && (r.unshift(e.hashbang), delete e.hashbang), e.type === "Program" && (e.range = [0, s.length]), e;
|
|
2776
|
+
}
|
|
2777
|
+
function ni(e) {
|
|
2778
|
+
if (e.type === "TSTypeParameter" && typeof e.name == "string") {
|
|
2779
|
+
let t = w(e);
|
|
2780
|
+
e.name = { type: "Identifier", name: e.name, range: [t, t + e.name.length] };
|
|
2686
2781
|
}
|
|
2687
|
-
return e
|
|
2782
|
+
return e;
|
|
2688
2783
|
}
|
|
2689
|
-
function
|
|
2784
|
+
function oi(e) {
|
|
2690
2785
|
return e.type === "LogicalExpression" && e.right.type === "LogicalExpression" && e.operator === e.right.operator;
|
|
2691
2786
|
}
|
|
2692
|
-
function
|
|
2693
|
-
return
|
|
2787
|
+
function tt(e) {
|
|
2788
|
+
return oi(e) ? tt({ type: "LogicalExpression", operator: e.operator, left: tt({ type: "LogicalExpression", operator: e.operator, left: e.left, right: e.right.left, range: [w(e.left), k(e.right.left)] }), right: e.right.right, range: [w(e), k(e)] }) : e;
|
|
2694
2789
|
}
|
|
2695
|
-
var
|
|
2696
|
-
var
|
|
2790
|
+
var ke = js;
|
|
2791
|
+
var Us = (e, t, i, s) => {
|
|
2697
2792
|
if (!(e && t == null)) return t.replaceAll ? t.replaceAll(i, s) : i.global ? t.replace(i, s) : t.split(i).join(s);
|
|
2698
|
-
},
|
|
2699
|
-
var
|
|
2700
|
-
function
|
|
2701
|
-
let t = e.match(
|
|
2793
|
+
}, se = Us;
|
|
2794
|
+
var Gs = /\*\/$/, qs = /^\/\*\*?/, Js = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/, Hs = /(^|\s+)\/\/([^\n\r]*)/g, ui = /^(\r?\n)+/, Ks = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g, pi = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g, Ws = /(\r?\n|^) *\* ?/g, Xs = [];
|
|
2795
|
+
function hi(e) {
|
|
2796
|
+
let t = e.match(Js);
|
|
2702
2797
|
return t ? t[0].trimStart() : "";
|
|
2703
2798
|
}
|
|
2704
|
-
function
|
|
2799
|
+
function ci(e) {
|
|
2705
2800
|
let t = `
|
|
2706
2801
|
`;
|
|
2707
|
-
e =
|
|
2802
|
+
e = se(false, e.replace(qs, "").replace(Gs, ""), Ws, "$1");
|
|
2708
2803
|
let i = "";
|
|
2709
|
-
for (; i !== e; ) i = e, e =
|
|
2710
|
-
e = e.replace(
|
|
2711
|
-
let s = /* @__PURE__ */ Object.create(null), r =
|
|
2712
|
-
for (; n =
|
|
2713
|
-
let o =
|
|
2804
|
+
for (; i !== e; ) i = e, e = se(false, e, Ks, `${t}$1 $2${t}`);
|
|
2805
|
+
e = e.replace(ui, "").trimEnd();
|
|
2806
|
+
let s = /* @__PURE__ */ Object.create(null), r = se(false, e, pi, "").replace(ui, "").trimEnd(), n;
|
|
2807
|
+
for (; n = pi.exec(e); ) {
|
|
2808
|
+
let o = se(false, n[2], Hs, "");
|
|
2714
2809
|
if (typeof s[n[1]] == "string" || Array.isArray(s[n[1]])) {
|
|
2715
|
-
let
|
|
2716
|
-
s[n[1]] = [...
|
|
2810
|
+
let p = s[n[1]];
|
|
2811
|
+
s[n[1]] = [...Xs, ...Array.isArray(p) ? p : [p], o];
|
|
2717
2812
|
} else s[n[1]] = o;
|
|
2718
2813
|
}
|
|
2719
2814
|
return { comments: r, pragmas: s };
|
|
2720
2815
|
}
|
|
2721
|
-
|
|
2816
|
+
var li = ["noformat", "noprettier"], fi = ["format", "prettier"];
|
|
2817
|
+
function zs(e) {
|
|
2722
2818
|
if (!e.startsWith("#!")) return "";
|
|
2723
2819
|
let t = e.indexOf(`
|
|
2724
2820
|
`);
|
|
2725
2821
|
return t === -1 ? e : e.slice(0, t);
|
|
2726
2822
|
}
|
|
2727
|
-
var
|
|
2728
|
-
function
|
|
2729
|
-
let t =
|
|
2823
|
+
var di = zs;
|
|
2824
|
+
function mi(e) {
|
|
2825
|
+
let t = di(e);
|
|
2730
2826
|
t && (e = e.slice(t.length + 1));
|
|
2731
|
-
let i =
|
|
2827
|
+
let i = hi(e), { pragmas: s, comments: r } = ci(i);
|
|
2732
2828
|
return { shebang: t, text: e, pragmas: s, comments: r };
|
|
2733
2829
|
}
|
|
2734
|
-
function
|
|
2735
|
-
let { pragmas: t } =
|
|
2736
|
-
return
|
|
2830
|
+
function xi(e) {
|
|
2831
|
+
let { pragmas: t } = mi(e);
|
|
2832
|
+
return fi.some((i) => Object.prototype.hasOwnProperty.call(t, i));
|
|
2737
2833
|
}
|
|
2738
|
-
function
|
|
2739
|
-
|
|
2834
|
+
function yi(e) {
|
|
2835
|
+
let { pragmas: t } = mi(e);
|
|
2836
|
+
return li.some((i) => Object.prototype.hasOwnProperty.call(t, i));
|
|
2740
2837
|
}
|
|
2741
|
-
|
|
2742
|
-
function
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2838
|
+
function Qs(e) {
|
|
2839
|
+
return e = typeof e == "function" ? { parse: e } : e, { astFormat: "estree", hasPragma: xi, hasIgnorePragma: yi, locStart: w, locEnd: k, ...e };
|
|
2840
|
+
}
|
|
2841
|
+
var Ae = Qs;
|
|
2842
|
+
var we = "module", gi = "script", Pe = [we, gi];
|
|
2843
|
+
function Ie(e) {
|
|
2844
|
+
if (typeof e == "string") {
|
|
2845
|
+
if (e = e.toLowerCase(), /\.(?:mjs|mts)$/iu.test(e)) return we;
|
|
2846
|
+
if (/\.(?:cjs|cts)$/iu.test(e)) return gi;
|
|
2747
2847
|
}
|
|
2748
2848
|
}
|
|
2749
|
-
var
|
|
2750
|
-
|
|
2751
|
-
function Os(e) {
|
|
2849
|
+
var Ys = { ecmaVersion: "latest", allowReserved: true, allowReturnOutsideFunction: true, allowSuperOutsideMethod: true, checkPrivateFields: false, locations: false, ranges: true, preserveParens: true };
|
|
2850
|
+
function $s(e) {
|
|
2752
2851
|
let { message: t, loc: i } = e;
|
|
2753
2852
|
if (!i) return e;
|
|
2754
2853
|
let { line: s, column: r } = i;
|
|
2755
|
-
return
|
|
2854
|
+
return Ce(t.replace(/ \(\d+:\d+\)$/u, ""), { loc: { start: { line: s, column: r + 1 } }, cause: e });
|
|
2756
2855
|
}
|
|
2757
|
-
var
|
|
2758
|
-
function
|
|
2759
|
-
let i =
|
|
2760
|
-
return
|
|
2856
|
+
var vi, Zs = () => (vi ?? (vi = E.extend((0, bi.default)())), vi);
|
|
2857
|
+
function er(e, t) {
|
|
2858
|
+
let i = Zs(), s = [], r = i.parse(e, { ...Ys, sourceType: t, allowImportExportEverywhere: t === we, onComment: s });
|
|
2859
|
+
return r.comments = s, r;
|
|
2761
2860
|
}
|
|
2762
|
-
function
|
|
2763
|
-
let i =
|
|
2861
|
+
function tr(e, t) {
|
|
2862
|
+
let i = Ie(t == null ? void 0 : t.filepath), s = (i ? [i] : Pe).map((n) => () => er(e, n)), r;
|
|
2764
2863
|
try {
|
|
2765
|
-
r =
|
|
2864
|
+
r = Ee(s);
|
|
2766
2865
|
} catch ({ errors: [n] }) {
|
|
2767
|
-
throw
|
|
2866
|
+
throw $s(n);
|
|
2768
2867
|
}
|
|
2769
|
-
return
|
|
2868
|
+
return ke(r, { text: e });
|
|
2770
2869
|
}
|
|
2771
|
-
var
|
|
2772
|
-
var
|
|
2773
|
-
var
|
|
2774
|
-
function
|
|
2775
|
-
let i = e[0], s =
|
|
2870
|
+
var Si = Ae(tr);
|
|
2871
|
+
var Ei = ot(Xe());
|
|
2872
|
+
var I = { Boolean: "Boolean", Identifier: "Identifier", PrivateIdentifier: "PrivateIdentifier", Keyword: "Keyword", Null: "Null", Numeric: "Numeric", Punctuator: "Punctuator", String: "String", RegularExpression: "RegularExpression", Template: "Template", JSXIdentifier: "JSXIdentifier", JSXText: "JSXText" };
|
|
2873
|
+
function ir(e, t) {
|
|
2874
|
+
let i = e[0], s = te(false, e, -1), r = { type: I.Template, value: t.slice(i.start, s.end) };
|
|
2776
2875
|
return i.loc && (r.loc = { start: i.loc.start, end: s.loc.end }), i.range && (r.start = i.range[0], r.end = s.range[1], r.range = [r.start, r.end]), r;
|
|
2777
2876
|
}
|
|
2778
|
-
function
|
|
2877
|
+
function it(e, t) {
|
|
2779
2878
|
this._acornTokTypes = e, this._tokens = [], this._curlyBrace = null, this._code = t;
|
|
2780
2879
|
}
|
|
2781
|
-
|
|
2880
|
+
it.prototype = { constructor: it, translate(e, t) {
|
|
2782
2881
|
let i = e.type, s = this._acornTokTypes;
|
|
2783
|
-
if (i === s.name) e.type =
|
|
2784
|
-
else if (i === s.privateId) e.type =
|
|
2785
|
-
else if (i === s.semi || i === s.comma || i === s.parenL || i === s.parenR || i === s.braceL || i === s.braceR || i === s.dot || i === s.bracketL || i === s.colon || i === s.question || i === s.bracketR || i === s.ellipsis || i === s.arrow || i === s.jsxTagStart || i === s.incDec || i === s.starstar || i === s.jsxTagEnd || i === s.prefix || i === s.questionDot || i.binop && !i.keyword || i.isAssign) e.type =
|
|
2786
|
-
else if (i === s.jsxName) e.type =
|
|
2787
|
-
else if (i.label === "jsxText" || i === s.jsxAttrValueToken) e.type =
|
|
2788
|
-
else if (i.keyword) i.keyword === "true" || i.keyword === "false" ? e.type =
|
|
2789
|
-
else if (i === s.num) e.type =
|
|
2790
|
-
else if (i === s.string) t.jsxAttrValueToken ? (t.jsxAttrValueToken = false, e.type =
|
|
2882
|
+
if (i === s.name) e.type = I.Identifier, e.value === "static" && (e.type = I.Keyword), t.ecmaVersion > 5 && (e.value === "yield" || e.value === "let") && (e.type = I.Keyword);
|
|
2883
|
+
else if (i === s.privateId) e.type = I.PrivateIdentifier;
|
|
2884
|
+
else if (i === s.semi || i === s.comma || i === s.parenL || i === s.parenR || i === s.braceL || i === s.braceR || i === s.dot || i === s.bracketL || i === s.colon || i === s.question || i === s.bracketR || i === s.ellipsis || i === s.arrow || i === s.jsxTagStart || i === s.incDec || i === s.starstar || i === s.jsxTagEnd || i === s.prefix || i === s.questionDot || i.binop && !i.keyword || i.isAssign) e.type = I.Punctuator, e.value = this._code.slice(e.start, e.end);
|
|
2885
|
+
else if (i === s.jsxName) e.type = I.JSXIdentifier;
|
|
2886
|
+
else if (i.label === "jsxText" || i === s.jsxAttrValueToken) e.type = I.JSXText;
|
|
2887
|
+
else if (i.keyword) i.keyword === "true" || i.keyword === "false" ? e.type = I.Boolean : i.keyword === "null" ? e.type = I.Null : e.type = I.Keyword;
|
|
2888
|
+
else if (i === s.num) e.type = I.Numeric, e.value = this._code.slice(e.start, e.end);
|
|
2889
|
+
else if (i === s.string) t.jsxAttrValueToken ? (t.jsxAttrValueToken = false, e.type = I.JSXText) : e.type = I.String, e.value = this._code.slice(e.start, e.end);
|
|
2791
2890
|
else if (i === s.regexp) {
|
|
2792
|
-
e.type =
|
|
2891
|
+
e.type = I.RegularExpression;
|
|
2793
2892
|
let r = e.value;
|
|
2794
2893
|
e.regex = { flags: r.flags, pattern: r.pattern }, e.value = `/${r.pattern}/${r.flags}`;
|
|
2795
2894
|
}
|
|
2796
2895
|
return e;
|
|
2797
2896
|
}, onToken(e, t) {
|
|
2798
2897
|
let i = this._acornTokTypes, s = t.tokens, r = this._tokens, n = () => {
|
|
2799
|
-
s.push(
|
|
2898
|
+
s.push(ir(this._tokens, this._code)), this._tokens = [];
|
|
2800
2899
|
};
|
|
2801
2900
|
if (e.type === i.eof) {
|
|
2802
2901
|
this._curlyBrace && s.push(this.translate(this._curlyBrace, t));
|
|
@@ -2820,81 +2919,81 @@ He.prototype = { constructor: He, translate(e, t) {
|
|
|
2820
2919
|
}
|
|
2821
2920
|
this._curlyBrace && (s.push(this.translate(this._curlyBrace, t)), this._curlyBrace = null), s.push(this.translate(e, t));
|
|
2822
2921
|
} };
|
|
2823
|
-
var
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
2922
|
+
var _i = it;
|
|
2923
|
+
var Ti = [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];
|
|
2924
|
+
function sr() {
|
|
2925
|
+
return te(false, Ti, -1);
|
|
2827
2926
|
}
|
|
2828
|
-
function
|
|
2829
|
-
let t = e === "latest" ?
|
|
2927
|
+
function rr(e = 5) {
|
|
2928
|
+
let t = e === "latest" ? sr() : e;
|
|
2830
2929
|
if (typeof t != "number") throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof e} instead.`);
|
|
2831
|
-
if (t >= 2015 && (t -= 2009), !
|
|
2930
|
+
if (t >= 2015 && (t -= 2009), !Ti.includes(t)) throw new Error("Invalid ecmaVersion.");
|
|
2832
2931
|
return t;
|
|
2833
2932
|
}
|
|
2834
|
-
function
|
|
2933
|
+
function ar(e = "script") {
|
|
2835
2934
|
if (e === "script" || e === "module") return e;
|
|
2836
2935
|
if (e === "commonjs") return "script";
|
|
2837
2936
|
throw new Error("Invalid sourceType.");
|
|
2838
2937
|
}
|
|
2839
|
-
function
|
|
2840
|
-
let t =
|
|
2938
|
+
function Ci(e) {
|
|
2939
|
+
let t = rr(e.ecmaVersion), i = ar(e.sourceType), s = e.range === true, r = e.loc === true;
|
|
2841
2940
|
if (t !== 3 && e.allowReserved) throw new Error("`allowReserved` is only supported when ecmaVersion is 3");
|
|
2842
2941
|
if (typeof e.allowReserved < "u" && typeof e.allowReserved != "boolean") throw new Error("`allowReserved`, when present, must be `true` or `false`");
|
|
2843
|
-
let n = t === 3 ? e.allowReserved || "never" : false, o = e.ecmaFeatures || {},
|
|
2942
|
+
let n = t === 3 ? e.allowReserved || "never" : false, o = e.ecmaFeatures || {}, p = e.sourceType === "commonjs" || !!o.globalReturn;
|
|
2844
2943
|
if (i === "module" && t < 6) throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");
|
|
2845
|
-
return Object.assign({}, e, { ecmaVersion: t, sourceType: i, ranges: s, locations: r, allowReserved: n, allowReturnOutsideFunction:
|
|
2944
|
+
return Object.assign({}, e, { ecmaVersion: t, sourceType: i, ranges: s, locations: r, allowReserved: n, allowReturnOutsideFunction: p });
|
|
2846
2945
|
}
|
|
2847
|
-
var
|
|
2848
|
-
function
|
|
2849
|
-
let
|
|
2850
|
-
e ?
|
|
2851
|
-
let
|
|
2852
|
-
return typeof i == "number" && (
|
|
2946
|
+
var Q = Symbol("espree's internal state"), st = Symbol("espree's esprimaFinishNode");
|
|
2947
|
+
function nr(e, t, i, s, r, n, o) {
|
|
2948
|
+
let p;
|
|
2949
|
+
e ? p = "Block" : o.slice(i, i + 2) === "#!" ? p = "Hashbang" : p = "Line";
|
|
2950
|
+
let u = { type: p, value: t };
|
|
2951
|
+
return typeof i == "number" && (u.start = i, u.end = s, u.range = [i, s]), typeof r == "object" && (u.loc = { start: r, end: n }), u;
|
|
2853
2952
|
}
|
|
2854
|
-
var
|
|
2953
|
+
var rt = () => (e) => {
|
|
2855
2954
|
let t = Object.assign({}, e.acorn.tokTypes);
|
|
2856
2955
|
return e.acornJsx && Object.assign(t, e.acornJsx.tokTypes), class extends e {
|
|
2857
2956
|
constructor(s, r) {
|
|
2858
2957
|
(typeof s != "object" || s === null) && (s = {}), typeof r != "string" && !(r instanceof String) && (r = String(r));
|
|
2859
|
-
let n = s.sourceType, o =
|
|
2958
|
+
let n = s.sourceType, o = Ci(s), p = o.ecmaFeatures || {}, u = o.tokens === true ? new _i(t, r) : null, c = { originalSourceType: n || o.sourceType, tokens: u ? [] : null, comments: o.comment === true ? [] : null, impliedStrict: p.impliedStrict === true && o.ecmaVersion >= 5, ecmaVersion: o.ecmaVersion, jsxAttrValueToken: false, lastToken: null, templateElements: [] };
|
|
2860
2959
|
super({ ecmaVersion: o.ecmaVersion, sourceType: o.sourceType, ranges: o.ranges, locations: o.locations, allowReserved: o.allowReserved, allowReturnOutsideFunction: o.allowReturnOutsideFunction, onToken(f) {
|
|
2861
|
-
|
|
2862
|
-
}, onComment(f,
|
|
2863
|
-
if (
|
|
2864
|
-
let g =
|
|
2865
|
-
|
|
2960
|
+
u && u.onToken(f, c), f.type !== t.eof && (c.lastToken = f);
|
|
2961
|
+
}, onComment(f, v, T, h, m, x) {
|
|
2962
|
+
if (c.comments) {
|
|
2963
|
+
let g = nr(f, v, T, h, m, x, r);
|
|
2964
|
+
c.comments.push(g);
|
|
2866
2965
|
}
|
|
2867
|
-
} }, r), this[
|
|
2966
|
+
} }, r), this[Q] = c;
|
|
2868
2967
|
}
|
|
2869
2968
|
tokenize() {
|
|
2870
2969
|
do
|
|
2871
2970
|
this.next();
|
|
2872
2971
|
while (this.type !== t.eof);
|
|
2873
2972
|
this.next();
|
|
2874
|
-
let s = this[
|
|
2973
|
+
let s = this[Q], r = s.tokens;
|
|
2875
2974
|
return s.comments && (r.comments = s.comments), r;
|
|
2876
2975
|
}
|
|
2877
2976
|
finishNode(...s) {
|
|
2878
2977
|
let r = super.finishNode(...s);
|
|
2879
|
-
return this[
|
|
2978
|
+
return this[st](r);
|
|
2880
2979
|
}
|
|
2881
2980
|
finishNodeAt(...s) {
|
|
2882
2981
|
let r = super.finishNodeAt(...s);
|
|
2883
|
-
return this[
|
|
2982
|
+
return this[st](r);
|
|
2884
2983
|
}
|
|
2885
2984
|
parse() {
|
|
2886
|
-
let s = this[
|
|
2985
|
+
let s = this[Q], r = super.parse();
|
|
2887
2986
|
if (r.sourceType = s.originalSourceType, s.comments && (r.comments = s.comments), s.tokens && (r.tokens = s.tokens), r.body.length) {
|
|
2888
2987
|
let [n] = r.body;
|
|
2889
2988
|
r.range && (r.range[0] = n.range[0]), r.loc && (r.loc.start = n.loc.start), r.start = n.start;
|
|
2890
2989
|
}
|
|
2891
|
-
return s.lastToken && (r.range && (r.range[1] = s.lastToken.range[1]), r.loc && (r.loc.end = s.lastToken.loc.end), r.end = s.lastToken.end), this[
|
|
2892
|
-
let
|
|
2893
|
-
n.start += -1, n.end +=
|
|
2990
|
+
return s.lastToken && (r.range && (r.range[1] = s.lastToken.range[1]), r.loc && (r.loc.end = s.lastToken.loc.end), r.end = s.lastToken.end), this[Q].templateElements.forEach((n) => {
|
|
2991
|
+
let p = n.tail ? 1 : 2;
|
|
2992
|
+
n.start += -1, n.end += p, n.range && (n.range[0] += -1, n.range[1] += p), n.loc && (n.loc.start.column += -1, n.loc.end.column += p);
|
|
2894
2993
|
}), r;
|
|
2895
2994
|
}
|
|
2896
2995
|
parseTopLevel(s) {
|
|
2897
|
-
return this[
|
|
2996
|
+
return this[Q].impliedStrict && (this.strict = true), super.parseTopLevel(s);
|
|
2898
2997
|
}
|
|
2899
2998
|
raise(s, r) {
|
|
2900
2999
|
let n = e.acorn.getLineInfo(this.input, s), o = new SyntaxError(r);
|
|
@@ -2914,40 +3013,40 @@ var Ye = () => (e) => {
|
|
|
2914
3013
|
}
|
|
2915
3014
|
jsx_readString(s) {
|
|
2916
3015
|
let r = super.jsx_readString(s);
|
|
2917
|
-
return this.type === t.string && (this[
|
|
3016
|
+
return this.type === t.string && (this[Q].jsxAttrValueToken = true), r;
|
|
2918
3017
|
}
|
|
2919
|
-
[
|
|
2920
|
-
return s.type === "TemplateElement" && this[
|
|
3018
|
+
[st](s) {
|
|
3019
|
+
return s.type === "TemplateElement" && this[Q].templateElements.push(s), s.type.includes("Function") && !s.generator && (s.generator = false), s;
|
|
2921
3020
|
}
|
|
2922
3021
|
};
|
|
2923
3022
|
};
|
|
2924
|
-
var
|
|
2925
|
-
return this._regular === null && (this._regular =
|
|
3023
|
+
var or = { _regular: null, _jsx: null, get regular() {
|
|
3024
|
+
return this._regular === null && (this._regular = E.extend(rt())), this._regular;
|
|
2926
3025
|
}, get jsx() {
|
|
2927
|
-
return this._jsx === null && (this._jsx =
|
|
3026
|
+
return this._jsx === null && (this._jsx = E.extend((0, Ei.default)(), rt())), this._jsx;
|
|
2928
3027
|
}, get(e) {
|
|
2929
3028
|
return !!(e && e.ecmaFeatures && e.ecmaFeatures.jsx) ? this.jsx : this.regular;
|
|
2930
3029
|
} };
|
|
2931
|
-
function
|
|
2932
|
-
let i =
|
|
3030
|
+
function ki(e, t) {
|
|
3031
|
+
let i = or.get(t);
|
|
2933
3032
|
return new i(t, e).parse();
|
|
2934
3033
|
}
|
|
2935
|
-
var
|
|
2936
|
-
function
|
|
3034
|
+
var ur = { ecmaVersion: "latest", range: true, loc: false, comment: true, tokens: false, ecmaFeatures: { jsx: true, globalReturn: true, impliedStrict: false } };
|
|
3035
|
+
function pr(e) {
|
|
2937
3036
|
let { message: t, lineNumber: i, column: s } = e;
|
|
2938
|
-
return typeof i != "number" ? e :
|
|
3037
|
+
return typeof i != "number" ? e : Ce(t, { loc: { start: { line: i, column: s } }, cause: e });
|
|
2939
3038
|
}
|
|
2940
|
-
function
|
|
2941
|
-
let i =
|
|
3039
|
+
function hr(e, t) {
|
|
3040
|
+
let i = Ie(t == null ? void 0 : t.filepath), s = (i ? [i] : Pe).map((n) => () => ki(e, { ...ur, sourceType: n })), r;
|
|
2942
3041
|
try {
|
|
2943
|
-
r =
|
|
3042
|
+
r = Ee(s);
|
|
2944
3043
|
} catch ({ errors: [n] }) {
|
|
2945
|
-
throw
|
|
3044
|
+
throw pr(n);
|
|
2946
3045
|
}
|
|
2947
|
-
return
|
|
3046
|
+
return ke(r, { parser: "espree", text: e });
|
|
2948
3047
|
}
|
|
2949
|
-
var
|
|
2950
|
-
var
|
|
2951
|
-
var
|
|
3048
|
+
var Ai = Ae(hr);
|
|
3049
|
+
var cr = { acorn: Si, espree: Ai };
|
|
3050
|
+
var cn = at;
|
|
2952
3051
|
|
|
2953
|
-
export {
|
|
3052
|
+
export { cn as default, cr as parsers };
|