@danielx/civet 0.6.89 → 0.6.91
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 +1 -2
- package/dist/astro.d.mts +15 -0
- package/dist/astro.d.ts +15 -0
- package/dist/astro.js +452 -0
- package/dist/astro.mjs +22 -0
- package/dist/browser.js +1263 -1097
- package/dist/main.js +1263 -1097
- package/dist/main.mjs +1263 -1097
- package/package.json +5 -1
package/dist/main.mjs
CHANGED
|
@@ -31,213 +31,596 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
31
|
mod
|
|
32
32
|
));
|
|
33
33
|
|
|
34
|
-
// source/parser/
|
|
35
|
-
function
|
|
36
|
-
if (
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return;
|
|
34
|
+
// source/parser/op.civet
|
|
35
|
+
function getPrecedence(op) {
|
|
36
|
+
if (typeof op === "string") {
|
|
37
|
+
return precedenceMap.get(op) ?? (() => {
|
|
38
|
+
throw new Error(`Unknown operator: ${op}`);
|
|
39
|
+
})();
|
|
40
|
+
} else if (typeof op.prec === "number") {
|
|
41
|
+
return op.prec;
|
|
42
|
+
} else {
|
|
43
|
+
return precedenceMap.get(op.prec ?? op.token) ?? (op.relational ? precedenceRelational : precedenceCustomDefault);
|
|
45
44
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
}
|
|
46
|
+
function processBinaryOpExpression($0) {
|
|
47
|
+
return recurse(expandChainedComparisons($0));
|
|
48
|
+
function recurse(expandedOps) {
|
|
49
|
+
let i = 2;
|
|
50
|
+
while (i < expandedOps.length) {
|
|
51
|
+
let op = expandedOps[i];
|
|
52
|
+
if (op.special) {
|
|
53
|
+
let advanceLeft2 = function(allowEqual) {
|
|
54
|
+
while (start >= 4) {
|
|
55
|
+
const prevPrec = getPrecedence(expandedOps[start - 2]);
|
|
56
|
+
if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
|
|
57
|
+
return prevPrec === prec;
|
|
58
|
+
}
|
|
59
|
+
start -= 4;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}, advanceRight2 = function(allowEqual) {
|
|
63
|
+
while (end + 4 < expandedOps.length) {
|
|
64
|
+
const nextPrec = getPrecedence(expandedOps[end + 2]);
|
|
65
|
+
if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
|
|
66
|
+
return nextPrec === prec;
|
|
67
|
+
}
|
|
68
|
+
end += 4;
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
};
|
|
72
|
+
var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
|
|
73
|
+
let start = i - 2, end = i + 2;
|
|
74
|
+
const prec = getPrecedence(op);
|
|
75
|
+
let error;
|
|
76
|
+
switch (op.assoc) {
|
|
77
|
+
case "left":
|
|
78
|
+
case void 0: {
|
|
79
|
+
advanceLeft2(true);
|
|
80
|
+
advanceRight2(false);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case "right": {
|
|
84
|
+
advanceLeft2(false);
|
|
85
|
+
advanceRight2(true);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case "non": {
|
|
89
|
+
if (advanceLeft2(false) || advanceRight2(false)) {
|
|
90
|
+
error = {
|
|
91
|
+
type: "Error",
|
|
92
|
+
message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case "arguments": {
|
|
99
|
+
if (advanceLeft2(false)) {
|
|
100
|
+
error = {
|
|
101
|
+
type: "Error",
|
|
102
|
+
message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
advanceRight2(true);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
default: {
|
|
109
|
+
throw new Error(`Unsupported associativity: ${op.assoc}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
|
|
113
|
+
let wsOp = expandedOps[i - 1];
|
|
114
|
+
let wsB = expandedOps[i + 1];
|
|
115
|
+
let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
|
|
116
|
+
if (op.assoc === "arguments") {
|
|
117
|
+
let i2 = 2;
|
|
118
|
+
while (i2 < b.length) {
|
|
119
|
+
if (prec === getPrecedence(b[i2])) {
|
|
120
|
+
if (!(b[i2].token === op.token)) {
|
|
121
|
+
error ??= {
|
|
122
|
+
type: "Error",
|
|
123
|
+
message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
b[i2] = ",";
|
|
127
|
+
}
|
|
128
|
+
i2 += 4;
|
|
129
|
+
}
|
|
130
|
+
} else {
|
|
131
|
+
b = recurse(b);
|
|
132
|
+
}
|
|
133
|
+
if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
|
|
134
|
+
a = ["typeof ", makeLeftHandSideExpression(a)];
|
|
135
|
+
if (op.negated) {
|
|
136
|
+
op = { ...op, token: "!==", negated: false };
|
|
137
|
+
} else {
|
|
138
|
+
op = { ...op, token: "===" };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (op.asConst) {
|
|
142
|
+
a = makeAsConst(a);
|
|
143
|
+
b = makeAsConst(b);
|
|
144
|
+
}
|
|
145
|
+
let children;
|
|
146
|
+
if (op.call) {
|
|
147
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
148
|
+
if (op.reversed) {
|
|
149
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
150
|
+
children = [wsOp, op.call, "(", wsB, b, ", ", a, ")", op.suffix];
|
|
151
|
+
} else {
|
|
152
|
+
children = [wsOp, op.call, "(", a, ",", wsB, b, ")", op.suffix];
|
|
153
|
+
}
|
|
154
|
+
} else if (op.method) {
|
|
155
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
156
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
157
|
+
if (op.reversed) {
|
|
158
|
+
if (end !== i + 2)
|
|
159
|
+
b = makeLeftHandSideExpression(b);
|
|
160
|
+
b = dotNumericLiteral(b);
|
|
161
|
+
children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
|
|
162
|
+
} else {
|
|
163
|
+
if (start !== i - 2 || a.type === "NumericLiteral") {
|
|
164
|
+
a = makeLeftHandSideExpression(a);
|
|
165
|
+
}
|
|
166
|
+
a = dotNumericLiteral(a);
|
|
167
|
+
children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
|
|
168
|
+
}
|
|
169
|
+
} else if (op.token) {
|
|
170
|
+
children = [a, wsOp, op, wsB, b];
|
|
171
|
+
if (op.negated)
|
|
172
|
+
children = ["(", ...children, ")"];
|
|
173
|
+
} else {
|
|
174
|
+
throw new Error("Unknown operator: " + JSON.stringify(op));
|
|
175
|
+
}
|
|
176
|
+
if (op.negated)
|
|
177
|
+
children.unshift("!");
|
|
178
|
+
if (error != null) {
|
|
179
|
+
children.push(error);
|
|
180
|
+
}
|
|
181
|
+
expandedOps.splice(start, end - start + 1, {
|
|
182
|
+
children
|
|
183
|
+
});
|
|
184
|
+
i = start + 2;
|
|
185
|
+
} else {
|
|
186
|
+
i += 4;
|
|
187
|
+
}
|
|
51
188
|
}
|
|
189
|
+
return expandedOps;
|
|
52
190
|
}
|
|
191
|
+
;
|
|
192
|
+
return recurse;
|
|
53
193
|
}
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
|
|
194
|
+
function dotNumericLiteral(literal) {
|
|
195
|
+
if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
|
|
196
|
+
literal.children.push(".");
|
|
197
|
+
literal.raw += ".";
|
|
198
|
+
}
|
|
199
|
+
return literal;
|
|
57
200
|
}
|
|
58
|
-
function
|
|
59
|
-
if (node
|
|
60
|
-
|
|
61
|
-
if (typeof node !== "object")
|
|
62
|
-
return;
|
|
63
|
-
if (Array.isArray(node)) {
|
|
64
|
-
for (const child of node) {
|
|
65
|
-
removeParentPointers(child);
|
|
66
|
-
}
|
|
67
|
-
return;
|
|
201
|
+
function makeAsConst(node) {
|
|
202
|
+
if (Array.isArray(node) && node.length === 1) {
|
|
203
|
+
node = node[0];
|
|
68
204
|
}
|
|
69
|
-
node.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
205
|
+
if (node.type === "Literal" && node.raw !== "null" || node.type === "ArrayExpression" || node.type === "ObjectExpression") {
|
|
206
|
+
return { ...node, children: [...node.children, asConst] };
|
|
207
|
+
} else {
|
|
208
|
+
return node;
|
|
74
209
|
}
|
|
75
210
|
}
|
|
76
|
-
function
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
function isFunction(node) {
|
|
83
|
-
const { type } = node;
|
|
84
|
-
return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
|
|
85
|
-
}
|
|
86
|
-
function isWhitespaceOrEmpty(node) {
|
|
87
|
-
if (!node)
|
|
88
|
-
return true;
|
|
89
|
-
if (node.type === "Ref")
|
|
90
|
-
return false;
|
|
91
|
-
if (node.token)
|
|
92
|
-
return node.token.match(/^\s*$/);
|
|
93
|
-
if (node.children)
|
|
94
|
-
node = node.children;
|
|
95
|
-
if (!node.length)
|
|
96
|
-
return true;
|
|
97
|
-
if (typeof node === "string")
|
|
98
|
-
return node.match(/^\s*$/);
|
|
99
|
-
if (Array.isArray(node))
|
|
100
|
-
return node.every(isWhitespaceOrEmpty);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
function isExit(node) {
|
|
104
|
-
return [
|
|
105
|
-
"ReturnStatement",
|
|
106
|
-
"ThrowStatement",
|
|
107
|
-
"BreakStatement",
|
|
108
|
-
"ContinueStatement"
|
|
109
|
-
].includes(node?.type);
|
|
110
|
-
}
|
|
111
|
-
function isComma(node) {
|
|
112
|
-
if (node?.token === ",") {
|
|
113
|
-
return node;
|
|
114
|
-
} else if (Array.isArray(node) && node.at(-1)?.token === ",") {
|
|
115
|
-
return node.at(-1);
|
|
211
|
+
function isExistence(exp) {
|
|
212
|
+
if (exp?.type === "ParenthesizedExpression" && exp.implicit) {
|
|
213
|
+
exp = exp.expression;
|
|
214
|
+
}
|
|
215
|
+
if (exp?.type === "Existence") {
|
|
216
|
+
return exp;
|
|
116
217
|
}
|
|
117
218
|
;
|
|
118
219
|
return;
|
|
119
220
|
}
|
|
120
|
-
function
|
|
121
|
-
|
|
122
|
-
|
|
221
|
+
function isRelationalOp(op) {
|
|
222
|
+
return op.relational || getPrecedence(op) === precedenceRelational;
|
|
223
|
+
}
|
|
224
|
+
function expandChainedComparisons([first, binops]) {
|
|
225
|
+
if (!binops.length) {
|
|
226
|
+
return [first];
|
|
123
227
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
228
|
+
const results = [];
|
|
229
|
+
let start = 0;
|
|
230
|
+
const chains = [];
|
|
231
|
+
var i = 0;
|
|
232
|
+
for (let i3 = 0, len2 = binops.length; i3 < len2; i3++) {
|
|
233
|
+
var i = i3;
|
|
234
|
+
var [, op] = binops[i3];
|
|
235
|
+
if (isRelationalOp(op)) {
|
|
236
|
+
chains.push(i);
|
|
237
|
+
} else if (getPrecedence(op) < precedenceRelational) {
|
|
238
|
+
processChains();
|
|
239
|
+
first = results.pop();
|
|
127
240
|
}
|
|
128
|
-
return target.map((e, i) => {
|
|
129
|
-
if (i === 0) {
|
|
130
|
-
return insertTrimmingSpace(e, c);
|
|
131
|
-
}
|
|
132
|
-
return e;
|
|
133
|
-
});
|
|
134
241
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
242
|
+
processChains();
|
|
243
|
+
return results;
|
|
244
|
+
function processChains() {
|
|
245
|
+
if (chains.length > 0) {
|
|
246
|
+
first = expandExistence(first);
|
|
247
|
+
for (let i4 = 0, len3 = chains.length; i4 < len3; i4++) {
|
|
248
|
+
const k = i4;
|
|
249
|
+
const index = chains[i4];
|
|
250
|
+
if (k > 0) {
|
|
251
|
+
results.push(" ", "&&", " ");
|
|
252
|
+
}
|
|
253
|
+
const binop = binops[index];
|
|
254
|
+
const exp = binop[3] = expandExistence(binop[3]);
|
|
255
|
+
results.push(first);
|
|
256
|
+
const endIndex = chains[k + 1] ?? i + 1;
|
|
257
|
+
results.push(...binops.slice(start, endIndex).flat());
|
|
258
|
+
first = [exp].concat(binops.slice(index + 1, endIndex));
|
|
259
|
+
start = endIndex;
|
|
260
|
+
}
|
|
261
|
+
} else {
|
|
262
|
+
results.push(first);
|
|
263
|
+
results.push(...binops.slice(start, i + 1).flat());
|
|
264
|
+
start = i + 1;
|
|
265
|
+
}
|
|
266
|
+
chains.length = 0;
|
|
140
267
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
268
|
+
function expandExistence(exp) {
|
|
269
|
+
let ref;
|
|
270
|
+
if (ref = isExistence(exp)) {
|
|
271
|
+
const existence = ref;
|
|
272
|
+
results.push(existence, " ", "&&", " ");
|
|
273
|
+
return existence.expression;
|
|
274
|
+
} else {
|
|
275
|
+
return exp;
|
|
276
|
+
}
|
|
146
277
|
}
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
function getTrimmingSpace(target) {
|
|
150
|
-
if (!target)
|
|
151
|
-
return;
|
|
152
|
-
if (Array.isArray(target))
|
|
153
|
-
return getTrimmingSpace(target[0]);
|
|
154
|
-
if (target.children)
|
|
155
|
-
return getTrimmingSpace(target.children[0]);
|
|
156
|
-
if (target.token)
|
|
157
|
-
return target.token.match(/^ ?/)[0];
|
|
158
|
-
return;
|
|
278
|
+
;
|
|
159
279
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
280
|
+
var precedenceOrder, precedenceMap, precedenceStep, precedenceRelational, precedenceCustomDefault, asConst;
|
|
281
|
+
var init_op = __esm({
|
|
282
|
+
"source/parser/op.civet"() {
|
|
283
|
+
"use strict";
|
|
284
|
+
init_util();
|
|
285
|
+
precedenceOrder = [
|
|
286
|
+
["||", "??"],
|
|
287
|
+
["^^"],
|
|
288
|
+
["&&"],
|
|
289
|
+
["|"],
|
|
290
|
+
["^"],
|
|
291
|
+
["&"],
|
|
292
|
+
// NOTE: Equality and inequality merged because of relational chaining
|
|
293
|
+
[
|
|
294
|
+
"==",
|
|
295
|
+
"!=",
|
|
296
|
+
"===",
|
|
297
|
+
"!==",
|
|
298
|
+
"<",
|
|
299
|
+
"<=",
|
|
300
|
+
">",
|
|
301
|
+
">=",
|
|
302
|
+
"in",
|
|
303
|
+
"instanceof"
|
|
304
|
+
],
|
|
305
|
+
// NOTE: Extra in-between level for default custom operators
|
|
306
|
+
["custom"],
|
|
307
|
+
["<<", ">>", ">>>"],
|
|
308
|
+
["+", "-"],
|
|
309
|
+
["*", "/", "%"],
|
|
310
|
+
["**"]
|
|
311
|
+
];
|
|
312
|
+
precedenceMap = /* @__PURE__ */ new Map();
|
|
313
|
+
for (let i1 = 0, len = precedenceOrder.length; i1 < len; i1++) {
|
|
314
|
+
const prec = i1;
|
|
315
|
+
const ops = precedenceOrder[i1];
|
|
316
|
+
for (let i2 = 0, len1 = ops.length; i2 < len1; i2++) {
|
|
317
|
+
const op = ops[i2];
|
|
318
|
+
precedenceMap.set(op, prec);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
precedenceStep = 1 / 64;
|
|
322
|
+
precedenceRelational = precedenceMap.get("==");
|
|
323
|
+
precedenceCustomDefault = precedenceMap.get("custom");
|
|
324
|
+
asConst = {
|
|
325
|
+
ts: true,
|
|
326
|
+
children: [" as const"]
|
|
327
|
+
};
|
|
172
328
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
// source/parser/unary.civet
|
|
332
|
+
function processUnaryExpression(pre, exp, post) {
|
|
333
|
+
if (!(pre.length || post))
|
|
334
|
+
return exp;
|
|
335
|
+
if (post?.token === "?") {
|
|
336
|
+
post = {
|
|
337
|
+
$loc: post.$loc,
|
|
338
|
+
token: " != null"
|
|
339
|
+
};
|
|
340
|
+
if (pre.length) {
|
|
341
|
+
const lastPre = pre.at(-1);
|
|
342
|
+
if (lastPre.token === "!") {
|
|
343
|
+
post.token = " == null";
|
|
344
|
+
pre = pre.slice(0, -1);
|
|
345
|
+
} else if (lastPre.length === 2 && lastPre[0].token === "!") {
|
|
346
|
+
post.token = " == null";
|
|
347
|
+
pre = pre.slice(0, -1);
|
|
191
348
|
}
|
|
192
349
|
}
|
|
193
|
-
|
|
350
|
+
const existence = {
|
|
351
|
+
type: "Existence",
|
|
352
|
+
expression: exp,
|
|
353
|
+
children: [exp, post],
|
|
354
|
+
parent: void 0
|
|
355
|
+
};
|
|
356
|
+
exp = makeLeftHandSideExpression(existence);
|
|
357
|
+
if (pre.length) {
|
|
358
|
+
return {
|
|
359
|
+
type: "UnaryExpression",
|
|
360
|
+
children: [...pre, exp]
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
return exp;
|
|
194
364
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
365
|
+
if (exp.type === "Literal") {
|
|
366
|
+
if (pre.length === 1) {
|
|
367
|
+
const { token } = pre[0];
|
|
368
|
+
if (token === "-" || token === "+") {
|
|
369
|
+
const children = [pre[0], ...exp.children];
|
|
370
|
+
if (post)
|
|
371
|
+
exp.children.push(post);
|
|
372
|
+
return {
|
|
373
|
+
type: "Literal",
|
|
374
|
+
children,
|
|
375
|
+
raw: `${token}${exp.raw}`
|
|
376
|
+
};
|
|
207
377
|
}
|
|
208
|
-
i++;
|
|
209
378
|
}
|
|
210
|
-
|
|
211
|
-
|
|
379
|
+
}
|
|
380
|
+
let ref;
|
|
381
|
+
while (ref = pre.length) {
|
|
382
|
+
const l = ref;
|
|
383
|
+
const last = pre[l - 1];
|
|
384
|
+
if (last.type === "Await") {
|
|
385
|
+
if (last.op) {
|
|
386
|
+
if (exp.type !== "ParenthesizedExpression") {
|
|
387
|
+
exp = ["(", exp, ")"];
|
|
388
|
+
}
|
|
389
|
+
exp = {
|
|
390
|
+
type: "CallExpression",
|
|
391
|
+
children: [...last.children, "Promise", last.op, exp]
|
|
392
|
+
};
|
|
393
|
+
pre = pre.slice(0, -1);
|
|
394
|
+
} else {
|
|
395
|
+
exp = {
|
|
396
|
+
type: "AwaitExpression",
|
|
397
|
+
children: [...last.children, exp]
|
|
398
|
+
};
|
|
399
|
+
pre = pre.slice(0, -1);
|
|
400
|
+
}
|
|
401
|
+
} else {
|
|
402
|
+
break;
|
|
212
403
|
}
|
|
213
404
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (typeof target === "string")
|
|
219
|
-
return value.test(target);
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
function hasAwait(exp) {
|
|
223
|
-
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Await").length > 0;
|
|
224
|
-
}
|
|
225
|
-
function hasYield(exp) {
|
|
226
|
-
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Yield").length > 0;
|
|
227
|
-
}
|
|
228
|
-
function hasImportDeclaration(exp) {
|
|
229
|
-
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "ImportDeclaration").length > 0;
|
|
405
|
+
return {
|
|
406
|
+
type: "UnaryExpression",
|
|
407
|
+
children: [...pre, exp, post]
|
|
408
|
+
};
|
|
230
409
|
}
|
|
231
|
-
|
|
410
|
+
var init_unary = __esm({
|
|
411
|
+
"source/parser/unary.civet"() {
|
|
412
|
+
"use strict";
|
|
413
|
+
init_util();
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
// source/parser/util.civet
|
|
418
|
+
function addParentPointers(node, parent) {
|
|
232
419
|
if (node == null)
|
|
233
|
-
return
|
|
420
|
+
return;
|
|
234
421
|
if (typeof node !== "object")
|
|
235
|
-
return
|
|
422
|
+
return;
|
|
236
423
|
if (Array.isArray(node)) {
|
|
237
|
-
|
|
424
|
+
for (const child of node) {
|
|
425
|
+
addParentPointers(child, parent);
|
|
426
|
+
}
|
|
427
|
+
return;
|
|
238
428
|
}
|
|
239
|
-
|
|
240
|
-
|
|
429
|
+
node = node;
|
|
430
|
+
node.parent = parent;
|
|
431
|
+
if (node.children) {
|
|
432
|
+
for (const child of node.children) {
|
|
433
|
+
addParentPointers(child, node);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
function clone(node) {
|
|
438
|
+
removeParentPointers(node);
|
|
439
|
+
return deepCopy(node);
|
|
440
|
+
}
|
|
441
|
+
function removeParentPointers(node) {
|
|
442
|
+
if (node == null)
|
|
443
|
+
return;
|
|
444
|
+
if (typeof node !== "object")
|
|
445
|
+
return;
|
|
446
|
+
if (Array.isArray(node)) {
|
|
447
|
+
for (const child of node) {
|
|
448
|
+
removeParentPointers(child);
|
|
449
|
+
}
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
node.parent = null;
|
|
453
|
+
if (node.children) {
|
|
454
|
+
for (const child of node.children) {
|
|
455
|
+
removeParentPointers(child);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
function isEmptyBareBlock(node) {
|
|
460
|
+
if (node?.type !== "BlockStatement")
|
|
461
|
+
return false;
|
|
462
|
+
const { bare, expressions } = node;
|
|
463
|
+
return bare && (expressions.length === 0 || expressions.length === 1 && expressions[0][1]?.type === "EmptyStatement");
|
|
464
|
+
}
|
|
465
|
+
function isFunction(node) {
|
|
466
|
+
const { type } = node;
|
|
467
|
+
return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
|
|
468
|
+
}
|
|
469
|
+
function isWhitespaceOrEmpty(node) {
|
|
470
|
+
if (!node)
|
|
471
|
+
return true;
|
|
472
|
+
if (node.type === "Ref")
|
|
473
|
+
return false;
|
|
474
|
+
if (node.token)
|
|
475
|
+
return node.token.match(/^\s*$/);
|
|
476
|
+
if (node.children)
|
|
477
|
+
node = node.children;
|
|
478
|
+
if (!node.length)
|
|
479
|
+
return true;
|
|
480
|
+
if (typeof node === "string")
|
|
481
|
+
return node.match(/^\s*$/);
|
|
482
|
+
if (Array.isArray(node))
|
|
483
|
+
return node.every(isWhitespaceOrEmpty);
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
function isExit(node) {
|
|
487
|
+
return [
|
|
488
|
+
"ReturnStatement",
|
|
489
|
+
"ThrowStatement",
|
|
490
|
+
"BreakStatement",
|
|
491
|
+
"ContinueStatement"
|
|
492
|
+
].includes(node?.type);
|
|
493
|
+
}
|
|
494
|
+
function isComma(node) {
|
|
495
|
+
if (node?.token === ",") {
|
|
496
|
+
return node;
|
|
497
|
+
} else if (Array.isArray(node) && node.at(-1)?.token === ",") {
|
|
498
|
+
return node.at(-1);
|
|
499
|
+
}
|
|
500
|
+
;
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
function insertTrimmingSpace(target, c) {
|
|
504
|
+
if (!target) {
|
|
505
|
+
return target;
|
|
506
|
+
}
|
|
507
|
+
if (Array.isArray(target)) {
|
|
508
|
+
if (target.length === 0) {
|
|
509
|
+
return c;
|
|
510
|
+
}
|
|
511
|
+
return target.map((e, i) => {
|
|
512
|
+
if (i === 0) {
|
|
513
|
+
return insertTrimmingSpace(e, c);
|
|
514
|
+
}
|
|
515
|
+
return e;
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
if (target.children) {
|
|
519
|
+
return {
|
|
520
|
+
...target,
|
|
521
|
+
children: insertTrimmingSpace(target.children, c)
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
if (target.token) {
|
|
525
|
+
return {
|
|
526
|
+
...target,
|
|
527
|
+
token: target.token.replace(/^ ?/, c)
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
return target;
|
|
531
|
+
}
|
|
532
|
+
function getTrimmingSpace(target) {
|
|
533
|
+
if (!target)
|
|
534
|
+
return;
|
|
535
|
+
if (Array.isArray(target))
|
|
536
|
+
return getTrimmingSpace(target[0]);
|
|
537
|
+
if (target.children)
|
|
538
|
+
return getTrimmingSpace(target.children[0]);
|
|
539
|
+
if (target.token)
|
|
540
|
+
return target.token.match(/^ ?/)[0];
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
function literalValue(literal) {
|
|
544
|
+
let { raw } = literal;
|
|
545
|
+
switch (raw) {
|
|
546
|
+
case "null":
|
|
547
|
+
return null;
|
|
548
|
+
case "true":
|
|
549
|
+
return true;
|
|
550
|
+
case "false":
|
|
551
|
+
return false;
|
|
552
|
+
}
|
|
553
|
+
if (raw.startsWith('"') && raw.endsWith('"') || raw.startsWith("'") && raw.endsWith("'")) {
|
|
554
|
+
return raw.slice(1, -1);
|
|
555
|
+
}
|
|
556
|
+
const numeric = literal.children.find(
|
|
557
|
+
(child) => child.type === "NumericLiteral"
|
|
558
|
+
);
|
|
559
|
+
if (numeric) {
|
|
560
|
+
raw = raw.replace(/_/g, "");
|
|
561
|
+
const { token } = numeric;
|
|
562
|
+
if (token.endsWith("n")) {
|
|
563
|
+
return BigInt(raw.slice(0, -1));
|
|
564
|
+
} else if (token.match(/[\.eE]/)) {
|
|
565
|
+
return parseFloat(raw);
|
|
566
|
+
} else if (token.startsWith("0")) {
|
|
567
|
+
switch (token.charAt(1).toLowerCase()) {
|
|
568
|
+
case "x":
|
|
569
|
+
return parseInt(raw.replace(/0[xX]/, ""), 16);
|
|
570
|
+
case "b":
|
|
571
|
+
return parseInt(raw.replace(/0[bB]/, ""), 2);
|
|
572
|
+
case "o":
|
|
573
|
+
return parseInt(raw.replace(/0[oO]/, ""), 8);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
return parseInt(raw, 10);
|
|
577
|
+
}
|
|
578
|
+
throw new Error("Unrecognized literal " + JSON.stringify(literal));
|
|
579
|
+
}
|
|
580
|
+
function startsWith(target, value) {
|
|
581
|
+
if (!target)
|
|
582
|
+
return;
|
|
583
|
+
if (Array.isArray(target)) {
|
|
584
|
+
let i = 0;
|
|
585
|
+
let l = target.length;
|
|
586
|
+
while (i < l) {
|
|
587
|
+
const t = target[i];
|
|
588
|
+
if (t && (t.length || t.token || t.children)) {
|
|
589
|
+
break;
|
|
590
|
+
}
|
|
591
|
+
i++;
|
|
592
|
+
}
|
|
593
|
+
if (i < l) {
|
|
594
|
+
return startsWith(target[i], value);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
if (target.children)
|
|
598
|
+
return startsWith(target.children, value);
|
|
599
|
+
if (target.token)
|
|
600
|
+
return value.test(target.token);
|
|
601
|
+
if (typeof target === "string")
|
|
602
|
+
return value.test(target);
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
function hasAwait(exp) {
|
|
606
|
+
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Await").length > 0;
|
|
607
|
+
}
|
|
608
|
+
function hasYield(exp) {
|
|
609
|
+
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Yield").length > 0;
|
|
610
|
+
}
|
|
611
|
+
function hasImportDeclaration(exp) {
|
|
612
|
+
return gatherRecursiveWithinFunction(exp, ({ type }) => type === "ImportDeclaration").length > 0;
|
|
613
|
+
}
|
|
614
|
+
function deepCopy(node) {
|
|
615
|
+
if (node == null)
|
|
616
|
+
return node;
|
|
617
|
+
if (typeof node !== "object")
|
|
618
|
+
return node;
|
|
619
|
+
if (Array.isArray(node)) {
|
|
620
|
+
return node.map(deepCopy);
|
|
621
|
+
}
|
|
622
|
+
return Object.fromEntries(
|
|
623
|
+
Object.entries(node).map(([key, value]) => {
|
|
241
624
|
return [key, deepCopy(value)];
|
|
242
625
|
})
|
|
243
626
|
);
|
|
@@ -266,6 +649,92 @@ function makeAmpersandFunction(bodyAfterRef = []) {
|
|
|
266
649
|
parameters
|
|
267
650
|
};
|
|
268
651
|
}
|
|
652
|
+
function makeAmpersandFunctionExpression(prefix, rhs) {
|
|
653
|
+
let ref, body, typeSuffix;
|
|
654
|
+
if (!rhs) {
|
|
655
|
+
body = ref = makeRef("$");
|
|
656
|
+
} else {
|
|
657
|
+
({ ref, typeSuffix } = rhs);
|
|
658
|
+
if (!ref) {
|
|
659
|
+
throw new Error("Could not find ref in ampersand shorthand block");
|
|
660
|
+
}
|
|
661
|
+
body = rhs;
|
|
662
|
+
}
|
|
663
|
+
if (prefix.length) {
|
|
664
|
+
body = {
|
|
665
|
+
type: "UnaryExpression",
|
|
666
|
+
children: [processUnaryExpression(prefix, body, void 0)]
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
const parameters = {
|
|
670
|
+
type: "Parameters",
|
|
671
|
+
children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
|
|
672
|
+
names: []
|
|
673
|
+
};
|
|
674
|
+
const expressions = [body];
|
|
675
|
+
const block = {
|
|
676
|
+
bare: true,
|
|
677
|
+
expressions,
|
|
678
|
+
children: [expressions]
|
|
679
|
+
};
|
|
680
|
+
const children = [parameters, " => ", block];
|
|
681
|
+
const async = hasAwait(body);
|
|
682
|
+
if (async) {
|
|
683
|
+
children.unshift("async ");
|
|
684
|
+
}
|
|
685
|
+
return {
|
|
686
|
+
type: "ArrowFunction",
|
|
687
|
+
signature: {
|
|
688
|
+
modifier: {
|
|
689
|
+
async
|
|
690
|
+
}
|
|
691
|
+
},
|
|
692
|
+
children,
|
|
693
|
+
ref,
|
|
694
|
+
body,
|
|
695
|
+
ampersandBlock: true,
|
|
696
|
+
block,
|
|
697
|
+
parameters
|
|
698
|
+
};
|
|
699
|
+
}
|
|
700
|
+
function makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS) {
|
|
701
|
+
const ref = makeRef("$");
|
|
702
|
+
let exp = {
|
|
703
|
+
type: "AmpersandRef",
|
|
704
|
+
children: [ref],
|
|
705
|
+
names: [],
|
|
706
|
+
ref
|
|
707
|
+
};
|
|
708
|
+
if (callExpRest) {
|
|
709
|
+
exp.children.push(...callExpRest[1]);
|
|
710
|
+
}
|
|
711
|
+
if (unaryPostfix) {
|
|
712
|
+
exp = processUnaryExpression([], exp, unaryPostfix);
|
|
713
|
+
}
|
|
714
|
+
if (assign) {
|
|
715
|
+
const [op1, more, rhs] = assign;
|
|
716
|
+
const lhs = [
|
|
717
|
+
[void 0, exp, ...op1],
|
|
718
|
+
...more.map((x) => [x[0], x[1], ...x[2]])
|
|
719
|
+
];
|
|
720
|
+
exp = {
|
|
721
|
+
type: "AssignmentExpression",
|
|
722
|
+
children: [lhs, rhs],
|
|
723
|
+
names: null,
|
|
724
|
+
lhs,
|
|
725
|
+
assigned: exp,
|
|
726
|
+
exp: rhs
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
if (binopRHS) {
|
|
730
|
+
exp = {
|
|
731
|
+
children: processBinaryOpExpression([exp, binopRHS[1]])
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
exp.ref = ref;
|
|
735
|
+
exp.typeSuffix = typeSuffix;
|
|
736
|
+
return exp;
|
|
737
|
+
}
|
|
269
738
|
function makeLeftHandSideExpression(expression) {
|
|
270
739
|
if (expression.parenthesized) {
|
|
271
740
|
return expression;
|
|
@@ -443,7 +912,9 @@ function wrapWithReturn(expression) {
|
|
|
443
912
|
const children = expression ? ["return ", expression] : ["return"];
|
|
444
913
|
return makeNode({
|
|
445
914
|
type: "ReturnStatement",
|
|
446
|
-
children
|
|
915
|
+
children,
|
|
916
|
+
expression,
|
|
917
|
+
parent: expression?.parent
|
|
447
918
|
});
|
|
448
919
|
}
|
|
449
920
|
var assert, typeNeedsNoParens;
|
|
@@ -451,6 +922,8 @@ var init_util = __esm({
|
|
|
451
922
|
"source/parser/util.civet"() {
|
|
452
923
|
"use strict";
|
|
453
924
|
init_traversal();
|
|
925
|
+
init_op();
|
|
926
|
+
init_unary();
|
|
454
927
|
assert = {
|
|
455
928
|
equal(a, b, msg) {
|
|
456
929
|
if (a !== b) {
|
|
@@ -684,503 +1157,200 @@ function insertHoistDec(block, node, dec) {
|
|
|
684
1157
|
const index = expressions.findIndex((exp) => {
|
|
685
1158
|
return exp === node || Array.isArray(exp) && exp[1] === node;
|
|
686
1159
|
});
|
|
687
|
-
if (index < 0) {
|
|
688
|
-
throw new Error("Couldn't find expression in block for hoistable declaration.");
|
|
689
|
-
}
|
|
690
|
-
const statement = [expressions[index][0], dec, ";"];
|
|
691
|
-
expressions[index][0] = "";
|
|
692
|
-
expressions.splice(index, 0, statement);
|
|
693
|
-
addParentPointers(dec, block);
|
|
694
|
-
}
|
|
695
|
-
function processBlocks(statements) {
|
|
696
|
-
insertSemicolon(statements);
|
|
697
|
-
gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(function({ expressions }) {
|
|
698
|
-
return processBlocks(expressions);
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
function insertSemicolon(statements) {
|
|
702
|
-
const l = statements.length;
|
|
703
|
-
for (let i1 = 0, len = statements.length; i1 < len; i1++) {
|
|
704
|
-
const i = i1;
|
|
705
|
-
const s = statements[i1];
|
|
706
|
-
if (i < l - 1) {
|
|
707
|
-
if (needsPrecedingSemicolon(statements[i + 1])) {
|
|
708
|
-
const delim = s[2];
|
|
709
|
-
if (!delim) {
|
|
710
|
-
s[2] = ";";
|
|
711
|
-
} else if (typeof delim === "string" && !delim.match(/;/)) {
|
|
712
|
-
s[2] = `;${delim}`;
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
function needsPrecedingSemicolon(exp) {
|
|
719
|
-
let following;
|
|
720
|
-
if (Array.isArray(exp)) {
|
|
721
|
-
[, following] = exp;
|
|
722
|
-
} else {
|
|
723
|
-
following = exp;
|
|
724
|
-
}
|
|
725
|
-
if (!following) {
|
|
726
|
-
return false;
|
|
727
|
-
}
|
|
728
|
-
if (Array.isArray(following)) {
|
|
729
|
-
return needsPrecedingSemicolon(following[0]);
|
|
730
|
-
}
|
|
731
|
-
switch (following.type) {
|
|
732
|
-
case "ParenthesizedExpression":
|
|
733
|
-
case "ArrayExpression":
|
|
734
|
-
case "ArrowFunction":
|
|
735
|
-
case "TemplateLiteral":
|
|
736
|
-
case "RegularExpressionLiteral":
|
|
737
|
-
case "RangeExpression": {
|
|
738
|
-
return true;
|
|
739
|
-
}
|
|
740
|
-
case "AssignmentExpression": {
|
|
741
|
-
return startsWith(following, /^(\[|\()/);
|
|
742
|
-
}
|
|
743
|
-
case "Literal": {
|
|
744
|
-
return following.raw?.startsWith("-") || following.raw?.startsWith("+");
|
|
745
|
-
}
|
|
746
|
-
case "PipelineExpression":
|
|
747
|
-
case "UnwrappedExpression": {
|
|
748
|
-
return needsPrecedingSemicolon(following.children[1]);
|
|
749
|
-
}
|
|
750
|
-
default: {
|
|
751
|
-
if (following.children) {
|
|
752
|
-
return needsPrecedingSemicolon(following.children[0]);
|
|
753
|
-
}
|
|
754
|
-
;
|
|
755
|
-
return;
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
var init_block = __esm({
|
|
760
|
-
"source/parser/block.civet"() {
|
|
761
|
-
"use strict";
|
|
762
|
-
init_util();
|
|
763
|
-
init_traversal();
|
|
764
|
-
}
|
|
765
|
-
});
|
|
766
|
-
|
|
767
|
-
// source/parser/binding.civet
|
|
768
|
-
function adjustAtBindings(statements, asThis = false) {
|
|
769
|
-
gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
|
|
770
|
-
const { ref } = binding;
|
|
771
|
-
if (asThis) {
|
|
772
|
-
const atBinding = binding.binding;
|
|
773
|
-
atBinding.children.pop();
|
|
774
|
-
atBinding.type = void 0;
|
|
775
|
-
binding.children.unshift(ref.id, ": this.", ref.base);
|
|
776
|
-
binding.type = "Property";
|
|
777
|
-
binding.ref = void 0;
|
|
778
|
-
return;
|
|
779
|
-
}
|
|
780
|
-
if (ref.names[0] !== ref.base) {
|
|
781
|
-
return binding.children.unshift(ref.base, ": ");
|
|
782
|
-
}
|
|
783
|
-
;
|
|
784
|
-
return;
|
|
785
|
-
});
|
|
786
|
-
}
|
|
787
|
-
function adjustBindingElements(elements) {
|
|
788
|
-
const names = elements.flatMap((p) => p.names || []), { length } = elements;
|
|
789
|
-
let blockPrefix, restIndex = -1, restCount = 0;
|
|
790
|
-
elements.forEach(({ type }, i) => {
|
|
791
|
-
if (type === "BindingRestElement") {
|
|
792
|
-
if (restIndex < 0)
|
|
793
|
-
restIndex = i;
|
|
794
|
-
return restCount++;
|
|
795
|
-
}
|
|
796
|
-
;
|
|
797
|
-
return;
|
|
798
|
-
});
|
|
799
|
-
if (restCount === 0) {
|
|
800
|
-
return {
|
|
801
|
-
children: elements,
|
|
802
|
-
names,
|
|
803
|
-
blockPrefix,
|
|
804
|
-
length
|
|
805
|
-
};
|
|
806
|
-
} else if (restCount === 1) {
|
|
807
|
-
const rest = elements[restIndex];
|
|
808
|
-
const after = elements.slice(restIndex + 1);
|
|
809
|
-
const restIdentifier = rest.binding.ref || rest.binding;
|
|
810
|
-
names.push(...rest.names || []);
|
|
811
|
-
let l = after.length;
|
|
812
|
-
if (l) {
|
|
813
|
-
if (arrayElementHasTrailingComma(after[l - 1]))
|
|
814
|
-
l++;
|
|
815
|
-
blockPrefix = {
|
|
816
|
-
type: "PostRestBindingElements",
|
|
817
|
-
children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
|
|
818
|
-
names: after.flatMap((p) => p.names)
|
|
819
|
-
};
|
|
820
|
-
}
|
|
821
|
-
return {
|
|
822
|
-
names,
|
|
823
|
-
children: [...elements.slice(0, restIndex), {
|
|
824
|
-
...rest,
|
|
825
|
-
children: rest.children.slice(0, -1)
|
|
826
|
-
// remove trailing comma
|
|
827
|
-
}],
|
|
828
|
-
blockPrefix,
|
|
829
|
-
length
|
|
830
|
-
};
|
|
831
|
-
}
|
|
832
|
-
const err = {
|
|
833
|
-
type: "Error",
|
|
834
|
-
children: ["Multiple rest elements in array pattern"]
|
|
835
|
-
};
|
|
836
|
-
return {
|
|
837
|
-
names,
|
|
838
|
-
children: [...elements, err],
|
|
839
|
-
blockPrefix,
|
|
840
|
-
length
|
|
841
|
-
};
|
|
842
|
-
}
|
|
843
|
-
function gatherBindingCode(statements, opts) {
|
|
844
|
-
const thisAssignments = [];
|
|
845
|
-
const splices = [];
|
|
846
|
-
function insertRestSplices(s, p, thisAssignments2) {
|
|
847
|
-
gatherRecursiveAll(s, (n) => n.blockPrefix || opts?.injectParamProps && n.accessModifier || n.type === "AtBinding").forEach((n) => {
|
|
848
|
-
if (n.type === "AtBinding") {
|
|
849
|
-
const { ref } = n;
|
|
850
|
-
const { id } = ref;
|
|
851
|
-
thisAssignments2.push([`this.${id} = `, ref]);
|
|
852
|
-
return;
|
|
853
|
-
}
|
|
854
|
-
if (opts?.injectParamProps && n.type === "Parameter" && n.accessModifier) {
|
|
855
|
-
n.names.forEach((id) => ({
|
|
856
|
-
push: thisAssignments2.push({
|
|
857
|
-
type: "AssignmentExpression",
|
|
858
|
-
children: [`this.${id} = `, id],
|
|
859
|
-
js: true
|
|
860
|
-
})
|
|
861
|
-
}));
|
|
862
|
-
return;
|
|
863
|
-
}
|
|
864
|
-
const { blockPrefix } = n;
|
|
865
|
-
p.push(blockPrefix);
|
|
866
|
-
return insertRestSplices(blockPrefix, p, thisAssignments2);
|
|
867
|
-
});
|
|
868
|
-
}
|
|
869
|
-
insertRestSplices(statements, splices, thisAssignments);
|
|
870
|
-
return [splices, thisAssignments];
|
|
871
|
-
}
|
|
872
|
-
function arrayElementHasTrailingComma(elementNode) {
|
|
873
|
-
const lastChild = elementNode.children.at(-1);
|
|
874
|
-
return lastChild && lastChild[lastChild.length - 1]?.token === ",";
|
|
875
|
-
}
|
|
876
|
-
var init_binding = __esm({
|
|
877
|
-
"source/parser/binding.civet"() {
|
|
878
|
-
"use strict";
|
|
879
|
-
init_traversal();
|
|
880
|
-
init_util();
|
|
881
|
-
}
|
|
882
|
-
});
|
|
883
|
-
|
|
884
|
-
// source/parser/op.civet
|
|
885
|
-
function getPrecedence(op) {
|
|
886
|
-
if (typeof op === "string") {
|
|
887
|
-
return precedenceMap.get(op) ?? (() => {
|
|
888
|
-
throw new Error(`Unknown operator: ${op}`);
|
|
889
|
-
})();
|
|
890
|
-
} else if (typeof op.prec === "number") {
|
|
891
|
-
return op.prec;
|
|
892
|
-
} else {
|
|
893
|
-
return precedenceMap.get(op.prec ?? op.token) ?? (op.relational ? precedenceRelational : precedenceCustomDefault);
|
|
894
|
-
}
|
|
895
|
-
}
|
|
896
|
-
function processBinaryOpExpression($0) {
|
|
897
|
-
return recurse(expandChainedComparisons($0));
|
|
898
|
-
function recurse(expandedOps) {
|
|
899
|
-
let i = 2;
|
|
900
|
-
while (i < expandedOps.length) {
|
|
901
|
-
let op = expandedOps[i];
|
|
902
|
-
if (op.special) {
|
|
903
|
-
let advanceLeft2 = function(allowEqual) {
|
|
904
|
-
while (start >= 4) {
|
|
905
|
-
const prevPrec = getPrecedence(expandedOps[start - 2]);
|
|
906
|
-
if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
|
|
907
|
-
return prevPrec === prec;
|
|
908
|
-
}
|
|
909
|
-
start -= 4;
|
|
910
|
-
}
|
|
911
|
-
return false;
|
|
912
|
-
}, advanceRight2 = function(allowEqual) {
|
|
913
|
-
while (end + 4 < expandedOps.length) {
|
|
914
|
-
const nextPrec = getPrecedence(expandedOps[end + 2]);
|
|
915
|
-
if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
|
|
916
|
-
return nextPrec === prec;
|
|
917
|
-
}
|
|
918
|
-
end += 4;
|
|
919
|
-
}
|
|
920
|
-
return false;
|
|
921
|
-
};
|
|
922
|
-
var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
|
|
923
|
-
let start = i - 2, end = i + 2;
|
|
924
|
-
const prec = getPrecedence(op);
|
|
925
|
-
let error;
|
|
926
|
-
switch (op.assoc) {
|
|
927
|
-
case "left":
|
|
928
|
-
case void 0: {
|
|
929
|
-
advanceLeft2(true);
|
|
930
|
-
advanceRight2(false);
|
|
931
|
-
break;
|
|
932
|
-
}
|
|
933
|
-
case "right": {
|
|
934
|
-
advanceLeft2(false);
|
|
935
|
-
advanceRight2(true);
|
|
936
|
-
break;
|
|
937
|
-
}
|
|
938
|
-
case "non": {
|
|
939
|
-
if (advanceLeft2(false) || advanceRight2(false)) {
|
|
940
|
-
error = {
|
|
941
|
-
type: "Error",
|
|
942
|
-
message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
|
|
943
|
-
};
|
|
944
|
-
}
|
|
945
|
-
;
|
|
946
|
-
break;
|
|
947
|
-
}
|
|
948
|
-
case "arguments": {
|
|
949
|
-
if (advanceLeft2(false)) {
|
|
950
|
-
error = {
|
|
951
|
-
type: "Error",
|
|
952
|
-
message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
|
|
953
|
-
};
|
|
954
|
-
}
|
|
955
|
-
advanceRight2(true);
|
|
956
|
-
break;
|
|
957
|
-
}
|
|
958
|
-
default: {
|
|
959
|
-
throw new Error(`Unsupported associativity: ${op.assoc}`);
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
|
|
963
|
-
let wsOp = expandedOps[i - 1];
|
|
964
|
-
let wsB = expandedOps[i + 1];
|
|
965
|
-
let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
|
|
966
|
-
if (op.assoc === "arguments") {
|
|
967
|
-
let i2 = 2;
|
|
968
|
-
while (i2 < b.length) {
|
|
969
|
-
if (prec === getPrecedence(b[i2])) {
|
|
970
|
-
if (!(b[i2].token === op.token)) {
|
|
971
|
-
error ??= {
|
|
972
|
-
type: "Error",
|
|
973
|
-
message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
|
|
974
|
-
};
|
|
975
|
-
}
|
|
976
|
-
b[i2] = ",";
|
|
977
|
-
}
|
|
978
|
-
i2 += 4;
|
|
979
|
-
}
|
|
980
|
-
} else {
|
|
981
|
-
b = recurse(b);
|
|
982
|
-
}
|
|
983
|
-
if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
|
|
984
|
-
a = ["typeof ", makeLeftHandSideExpression(a)];
|
|
985
|
-
if (op.negated) {
|
|
986
|
-
op = { ...op, token: "!==", negated: false };
|
|
987
|
-
} else {
|
|
988
|
-
op = { ...op, token: "===" };
|
|
989
|
-
}
|
|
990
|
-
}
|
|
991
|
-
if (op.asConst) {
|
|
992
|
-
a = makeAsConst(a);
|
|
993
|
-
b = makeAsConst(b);
|
|
994
|
-
}
|
|
995
|
-
let children;
|
|
996
|
-
if (op.call) {
|
|
997
|
-
wsOp = insertTrimmingSpace(wsOp, "");
|
|
998
|
-
if (op.reversed) {
|
|
999
|
-
wsB = insertTrimmingSpace(wsB, "");
|
|
1000
|
-
children = [wsOp, op.call, "(", wsB, b, ", ", a, ")", op.suffix];
|
|
1001
|
-
} else {
|
|
1002
|
-
children = [wsOp, op.call, "(", a, ",", wsB, b, ")", op.suffix];
|
|
1003
|
-
}
|
|
1004
|
-
} else if (op.method) {
|
|
1005
|
-
wsOp = insertTrimmingSpace(wsOp, "");
|
|
1006
|
-
wsB = insertTrimmingSpace(wsB, "");
|
|
1007
|
-
if (op.reversed) {
|
|
1008
|
-
if (end !== i + 2)
|
|
1009
|
-
b = makeLeftHandSideExpression(b);
|
|
1010
|
-
b = dotNumericLiteral(b);
|
|
1011
|
-
children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
|
|
1012
|
-
} else {
|
|
1013
|
-
if (start !== i - 2 || a.type === "NumericLiteral") {
|
|
1014
|
-
a = makeLeftHandSideExpression(a);
|
|
1015
|
-
}
|
|
1016
|
-
a = dotNumericLiteral(a);
|
|
1017
|
-
children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
|
|
1018
|
-
}
|
|
1019
|
-
} else if (op.token) {
|
|
1020
|
-
children = [a, wsOp, op, wsB, b];
|
|
1021
|
-
if (op.negated)
|
|
1022
|
-
children = ["(", ...children, ")"];
|
|
1023
|
-
} else {
|
|
1024
|
-
throw new Error("Unknown operator: " + JSON.stringify(op));
|
|
1025
|
-
}
|
|
1026
|
-
if (op.negated)
|
|
1027
|
-
children.unshift("!");
|
|
1028
|
-
if (error != null) {
|
|
1029
|
-
children.push(error);
|
|
1160
|
+
if (index < 0) {
|
|
1161
|
+
throw new Error("Couldn't find expression in block for hoistable declaration.");
|
|
1162
|
+
}
|
|
1163
|
+
const statement = [expressions[index][0], dec, ";"];
|
|
1164
|
+
expressions[index][0] = "";
|
|
1165
|
+
expressions.splice(index, 0, statement);
|
|
1166
|
+
addParentPointers(dec, block);
|
|
1167
|
+
}
|
|
1168
|
+
function processBlocks(statements) {
|
|
1169
|
+
insertSemicolon(statements);
|
|
1170
|
+
gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(function({ expressions }) {
|
|
1171
|
+
return processBlocks(expressions);
|
|
1172
|
+
});
|
|
1173
|
+
}
|
|
1174
|
+
function insertSemicolon(statements) {
|
|
1175
|
+
const l = statements.length;
|
|
1176
|
+
for (let i1 = 0, len = statements.length; i1 < len; i1++) {
|
|
1177
|
+
const i = i1;
|
|
1178
|
+
const s = statements[i1];
|
|
1179
|
+
if (i < l - 1) {
|
|
1180
|
+
if (needsPrecedingSemicolon(statements[i + 1])) {
|
|
1181
|
+
const delim = s[2];
|
|
1182
|
+
if (!delim) {
|
|
1183
|
+
s[2] = ";";
|
|
1184
|
+
} else if (typeof delim === "string" && !delim.match(/;/)) {
|
|
1185
|
+
s[2] = `;${delim}`;
|
|
1030
1186
|
}
|
|
1031
|
-
expandedOps.splice(start, end - start + 1, {
|
|
1032
|
-
children
|
|
1033
|
-
});
|
|
1034
|
-
i = start + 2;
|
|
1035
|
-
} else {
|
|
1036
|
-
i += 4;
|
|
1037
1187
|
}
|
|
1038
1188
|
}
|
|
1039
|
-
return expandedOps;
|
|
1040
|
-
}
|
|
1041
|
-
;
|
|
1042
|
-
return recurse;
|
|
1043
|
-
}
|
|
1044
|
-
function dotNumericLiteral(literal) {
|
|
1045
|
-
if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
|
|
1046
|
-
literal.children.push(".");
|
|
1047
|
-
literal.raw += ".";
|
|
1048
1189
|
}
|
|
1049
|
-
return literal;
|
|
1050
1190
|
}
|
|
1051
|
-
function
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
if (node.type === "Literal" && node.raw !== "null" || node.type === "ArrayExpression" || node.type === "ObjectExpression") {
|
|
1056
|
-
return { ...node, children: [...node.children, asConst] };
|
|
1191
|
+
function needsPrecedingSemicolon(exp) {
|
|
1192
|
+
let following;
|
|
1193
|
+
if (Array.isArray(exp)) {
|
|
1194
|
+
[, following] = exp;
|
|
1057
1195
|
} else {
|
|
1058
|
-
|
|
1196
|
+
following = exp;
|
|
1059
1197
|
}
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
if (exp.type === "ParenthesizedExpression" && exp.implicit) {
|
|
1063
|
-
exp = exp.expression;
|
|
1198
|
+
if (!following) {
|
|
1199
|
+
return false;
|
|
1064
1200
|
}
|
|
1065
|
-
if (
|
|
1066
|
-
return
|
|
1201
|
+
if (Array.isArray(following)) {
|
|
1202
|
+
return needsPrecedingSemicolon(following[0]);
|
|
1067
1203
|
}
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
let i = 0;
|
|
1077
|
-
const l = binops.length;
|
|
1078
|
-
let start = 0;
|
|
1079
|
-
let chains = [];
|
|
1080
|
-
let op;
|
|
1081
|
-
while (i < l) {
|
|
1082
|
-
[, op] = binops[i];
|
|
1083
|
-
if (isRelationalOp(op)) {
|
|
1084
|
-
chains.push(i);
|
|
1085
|
-
} else if (getPrecedence(op) < precedenceRelational) {
|
|
1086
|
-
processChains(op);
|
|
1087
|
-
first = void 0;
|
|
1204
|
+
switch (following.type) {
|
|
1205
|
+
case "ParenthesizedExpression":
|
|
1206
|
+
case "ArrayExpression":
|
|
1207
|
+
case "ArrowFunction":
|
|
1208
|
+
case "TemplateLiteral":
|
|
1209
|
+
case "RegularExpressionLiteral":
|
|
1210
|
+
case "RangeExpression": {
|
|
1211
|
+
return true;
|
|
1088
1212
|
}
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
if (op != null) {
|
|
1092
|
-
processChains(op);
|
|
1093
|
-
}
|
|
1094
|
-
return results;
|
|
1095
|
-
function processChains(op2) {
|
|
1096
|
-
if (first && isRelationalOp(op2)) {
|
|
1097
|
-
first = expandExistence(first);
|
|
1213
|
+
case "AssignmentExpression": {
|
|
1214
|
+
return startsWith(following, /^(\[|\()/);
|
|
1098
1215
|
}
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
if (k > 0) {
|
|
1102
|
-
results.push(" ", "&&", " ");
|
|
1103
|
-
}
|
|
1104
|
-
const binop = binops[index];
|
|
1105
|
-
let [, , , exp] = binop;
|
|
1106
|
-
exp = binop[3] = expandExistence(exp);
|
|
1107
|
-
let endIndex;
|
|
1108
|
-
if (k < chains.length - 1) {
|
|
1109
|
-
endIndex = chains[k + 1];
|
|
1110
|
-
} else {
|
|
1111
|
-
endIndex = i + 1;
|
|
1112
|
-
}
|
|
1113
|
-
results.push(first, ...binops.slice(start, endIndex).flat());
|
|
1114
|
-
first = [exp].concat(binops.slice(index + 1, endIndex));
|
|
1115
|
-
return start = endIndex;
|
|
1116
|
-
});
|
|
1117
|
-
} else {
|
|
1118
|
-
if (first) {
|
|
1119
|
-
results.push(first);
|
|
1120
|
-
}
|
|
1121
|
-
results.push(...binops.slice(start, i + 1).flat());
|
|
1122
|
-
start = i + 1;
|
|
1216
|
+
case "Literal": {
|
|
1217
|
+
return following.raw?.startsWith("-") || following.raw?.startsWith("+");
|
|
1123
1218
|
}
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1219
|
+
case "PipelineExpression":
|
|
1220
|
+
case "UnwrappedExpression": {
|
|
1221
|
+
return needsPrecedingSemicolon(following.children[1]);
|
|
1222
|
+
}
|
|
1223
|
+
default: {
|
|
1224
|
+
if (following.children) {
|
|
1225
|
+
return needsPrecedingSemicolon(following.children[0]);
|
|
1226
|
+
}
|
|
1227
|
+
;
|
|
1228
|
+
return;
|
|
1131
1229
|
}
|
|
1132
|
-
return exp;
|
|
1133
1230
|
}
|
|
1134
|
-
;
|
|
1135
1231
|
}
|
|
1136
|
-
var
|
|
1137
|
-
|
|
1138
|
-
"source/parser/op.civet"() {
|
|
1232
|
+
var init_block = __esm({
|
|
1233
|
+
"source/parser/block.civet"() {
|
|
1139
1234
|
"use strict";
|
|
1140
1235
|
init_util();
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1236
|
+
init_traversal();
|
|
1237
|
+
}
|
|
1238
|
+
});
|
|
1239
|
+
|
|
1240
|
+
// source/parser/binding.civet
|
|
1241
|
+
function adjustAtBindings(statements, asThis = false) {
|
|
1242
|
+
gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
|
|
1243
|
+
const { ref } = binding;
|
|
1244
|
+
if (asThis) {
|
|
1245
|
+
const atBinding = binding.binding;
|
|
1246
|
+
atBinding.children.pop();
|
|
1247
|
+
atBinding.type = void 0;
|
|
1248
|
+
binding.children.unshift(ref.id, ": this.", ref.base);
|
|
1249
|
+
binding.type = "Property";
|
|
1250
|
+
binding.ref = void 0;
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1253
|
+
if (ref.names[0] !== ref.base) {
|
|
1254
|
+
return binding.children.unshift(ref.base, ": ");
|
|
1255
|
+
}
|
|
1256
|
+
;
|
|
1257
|
+
return;
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
function adjustBindingElements(elements) {
|
|
1261
|
+
const names = elements.flatMap((p) => p.names || []), { length } = elements;
|
|
1262
|
+
let blockPrefix, restIndex = -1, restCount = 0;
|
|
1263
|
+
elements.forEach(({ type }, i) => {
|
|
1264
|
+
if (type === "BindingRestElement") {
|
|
1265
|
+
if (restIndex < 0)
|
|
1266
|
+
restIndex = i;
|
|
1267
|
+
return restCount++;
|
|
1268
|
+
}
|
|
1269
|
+
;
|
|
1270
|
+
return;
|
|
1271
|
+
});
|
|
1272
|
+
if (restCount === 0) {
|
|
1273
|
+
return {
|
|
1274
|
+
children: elements,
|
|
1275
|
+
names,
|
|
1276
|
+
blockPrefix,
|
|
1277
|
+
length
|
|
1278
|
+
};
|
|
1279
|
+
} else if (restCount === 1) {
|
|
1280
|
+
const rest = elements[restIndex];
|
|
1281
|
+
const after = elements.slice(restIndex + 1);
|
|
1282
|
+
const restIdentifier = rest.binding.ref || rest.binding;
|
|
1283
|
+
names.push(...rest.names || []);
|
|
1284
|
+
let l = after.length;
|
|
1285
|
+
if (l) {
|
|
1286
|
+
if (arrayElementHasTrailingComma(after[l - 1]))
|
|
1287
|
+
l++;
|
|
1288
|
+
blockPrefix = {
|
|
1289
|
+
type: "PostRestBindingElements",
|
|
1290
|
+
children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
|
|
1291
|
+
names: after.flatMap((p) => p.names)
|
|
1292
|
+
};
|
|
1293
|
+
}
|
|
1294
|
+
return {
|
|
1295
|
+
names,
|
|
1296
|
+
children: [...elements.slice(0, restIndex), {
|
|
1297
|
+
...rest,
|
|
1298
|
+
children: rest.children.slice(0, -1)
|
|
1299
|
+
// remove trailing comma
|
|
1300
|
+
}],
|
|
1301
|
+
blockPrefix,
|
|
1302
|
+
length
|
|
1303
|
+
};
|
|
1304
|
+
}
|
|
1305
|
+
const err = {
|
|
1306
|
+
type: "Error",
|
|
1307
|
+
children: ["Multiple rest elements in array pattern"]
|
|
1308
|
+
};
|
|
1309
|
+
return {
|
|
1310
|
+
names,
|
|
1311
|
+
children: [...elements, err],
|
|
1312
|
+
blockPrefix,
|
|
1313
|
+
length
|
|
1314
|
+
};
|
|
1315
|
+
}
|
|
1316
|
+
function gatherBindingCode(statements, opts) {
|
|
1317
|
+
const thisAssignments = [];
|
|
1318
|
+
const splices = [];
|
|
1319
|
+
function insertRestSplices(s, p, thisAssignments2) {
|
|
1320
|
+
gatherRecursiveAll(s, (n) => n.blockPrefix || opts?.injectParamProps && n.accessModifier || n.type === "AtBinding").forEach((n) => {
|
|
1321
|
+
if (n.type === "AtBinding") {
|
|
1322
|
+
const { ref } = n;
|
|
1323
|
+
const { id } = ref;
|
|
1324
|
+
thisAssignments2.push([`this.${id} = `, ref]);
|
|
1325
|
+
return;
|
|
1326
|
+
}
|
|
1327
|
+
if (opts?.injectParamProps && n.type === "Parameter" && n.accessModifier) {
|
|
1328
|
+
n.names.forEach((id) => ({
|
|
1329
|
+
push: thisAssignments2.push({
|
|
1330
|
+
type: "AssignmentExpression",
|
|
1331
|
+
children: [`this.${id} = `, id],
|
|
1332
|
+
js: true
|
|
1333
|
+
})
|
|
1334
|
+
}));
|
|
1335
|
+
return;
|
|
1175
1336
|
}
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1337
|
+
const { blockPrefix } = n;
|
|
1338
|
+
p.push(blockPrefix);
|
|
1339
|
+
return insertRestSplices(blockPrefix, p, thisAssignments2);
|
|
1340
|
+
});
|
|
1341
|
+
}
|
|
1342
|
+
insertRestSplices(statements, splices, thisAssignments);
|
|
1343
|
+
return [splices, thisAssignments];
|
|
1344
|
+
}
|
|
1345
|
+
function arrayElementHasTrailingComma(elementNode) {
|
|
1346
|
+
const lastChild = elementNode.children.at(-1);
|
|
1347
|
+
return lastChild && lastChild[lastChild.length - 1]?.token === ",";
|
|
1348
|
+
}
|
|
1349
|
+
var init_binding = __esm({
|
|
1350
|
+
"source/parser/binding.civet"() {
|
|
1351
|
+
"use strict";
|
|
1352
|
+
init_traversal();
|
|
1353
|
+
init_util();
|
|
1184
1354
|
}
|
|
1185
1355
|
});
|
|
1186
1356
|
|
|
@@ -1890,7 +2060,7 @@ function insertReturn(node, outerNode = node) {
|
|
|
1890
2060
|
return;
|
|
1891
2061
|
case "IfStatement":
|
|
1892
2062
|
insertReturn(exp.then);
|
|
1893
|
-
if (exp.else)
|
|
2063
|
+
if (exp.else && exp.else.length !== 0)
|
|
1894
2064
|
insertReturn(exp.else[2]);
|
|
1895
2065
|
else
|
|
1896
2066
|
exp.children.push(["", {
|
|
@@ -2183,7 +2353,8 @@ function processDeclarationCondition(condition, rootCondition, parent) {
|
|
|
2183
2353
|
}
|
|
2184
2354
|
const { decl, bindings } = condition.declaration;
|
|
2185
2355
|
const binding = bindings[0];
|
|
2186
|
-
|
|
2356
|
+
let { pattern, suffix, initializer, splices, thisAssignments } = binding;
|
|
2357
|
+
const nullCheck = suffix?.optional && !suffix.t && !suffix.nonnull;
|
|
2187
2358
|
let ref = prependStatementExpressionBlock(initializer, parent);
|
|
2188
2359
|
if (ref) {
|
|
2189
2360
|
Object.assign(condition, {
|
|
@@ -2197,11 +2368,16 @@ function processDeclarationCondition(condition, rootCondition, parent) {
|
|
|
2197
2368
|
ref = makeRef();
|
|
2198
2369
|
const grandparent = condition.parent?.parent;
|
|
2199
2370
|
const children = (
|
|
2200
|
-
//
|
|
2371
|
+
// Wrap declaration that is a plain assignment (no pattern-matching) and the immediate grandchild of an `if` or `while`
|
|
2372
|
+
// to satisfy eslint's no-cond-assign rule
|
|
2201
2373
|
// More complex conditions (triggered by pattern matching or `until`/`unless`) don't need double parens
|
|
2202
|
-
|
|
2203
|
-
pattern.type === "Identifier" && (grandparent?.type === "IfStatement" || grandparent?.type === "WhileStatement") ? ["(", ref, initializer, ")"] : [ref, initializer]
|
|
2374
|
+
pattern.type === "Identifier" && (grandparent?.type === "IfStatement" || grandparent?.type === "IterationStatement") && !nullCheck ? ["(", ref, initializer, ")"] : [ref, initializer]
|
|
2204
2375
|
);
|
|
2376
|
+
if (nullCheck) {
|
|
2377
|
+
children.unshift("(");
|
|
2378
|
+
children.push(") != null");
|
|
2379
|
+
suffix = void 0;
|
|
2380
|
+
}
|
|
2205
2381
|
Object.assign(condition, {
|
|
2206
2382
|
type: "AssignmentExpression",
|
|
2207
2383
|
children,
|
|
@@ -2440,91 +2616,6 @@ var init_declaration = __esm({
|
|
|
2440
2616
|
}
|
|
2441
2617
|
});
|
|
2442
2618
|
|
|
2443
|
-
// source/parser/unary.civet
|
|
2444
|
-
function processUnaryExpression(pre, exp, post) {
|
|
2445
|
-
if (!(pre.length || post))
|
|
2446
|
-
return exp;
|
|
2447
|
-
if (post?.token === "?") {
|
|
2448
|
-
post = {
|
|
2449
|
-
$loc: post.$loc,
|
|
2450
|
-
token: " != null"
|
|
2451
|
-
};
|
|
2452
|
-
if (pre.length) {
|
|
2453
|
-
const lastPre = pre[pre.length - 1];
|
|
2454
|
-
if (lastPre.token === "!") {
|
|
2455
|
-
post.token = " == null";
|
|
2456
|
-
pre = pre.slice(0, -1);
|
|
2457
|
-
} else if (lastPre.length === 2 && lastPre[0].token === "!") {
|
|
2458
|
-
post.token = " == null";
|
|
2459
|
-
pre = pre.slice(0, -1);
|
|
2460
|
-
}
|
|
2461
|
-
}
|
|
2462
|
-
const existence = {
|
|
2463
|
-
type: "Existence",
|
|
2464
|
-
expression: exp,
|
|
2465
|
-
children: [exp, post]
|
|
2466
|
-
};
|
|
2467
|
-
exp = makeLeftHandSideExpression(existence);
|
|
2468
|
-
if (pre.length) {
|
|
2469
|
-
return {
|
|
2470
|
-
type: "UnaryExpression",
|
|
2471
|
-
children: [...pre, exp]
|
|
2472
|
-
};
|
|
2473
|
-
}
|
|
2474
|
-
return exp;
|
|
2475
|
-
}
|
|
2476
|
-
if (exp.type === "Literal") {
|
|
2477
|
-
if (pre.length === 1) {
|
|
2478
|
-
const { token } = pre[0];
|
|
2479
|
-
if (token === "-" || token === "+") {
|
|
2480
|
-
const children = [pre[0], ...exp.children];
|
|
2481
|
-
if (post)
|
|
2482
|
-
exp.children.push(post);
|
|
2483
|
-
return {
|
|
2484
|
-
type: "Literal",
|
|
2485
|
-
children,
|
|
2486
|
-
raw: `${token}${exp.raw}`
|
|
2487
|
-
};
|
|
2488
|
-
}
|
|
2489
|
-
}
|
|
2490
|
-
}
|
|
2491
|
-
let ref;
|
|
2492
|
-
while (ref = pre.length) {
|
|
2493
|
-
const l = ref;
|
|
2494
|
-
const last = pre[l - 1];
|
|
2495
|
-
if (last.type === "Await") {
|
|
2496
|
-
if (last.op) {
|
|
2497
|
-
if (exp.type !== "ParenthesizedExpression") {
|
|
2498
|
-
exp = ["(", exp, ")"];
|
|
2499
|
-
}
|
|
2500
|
-
exp = {
|
|
2501
|
-
type: "CallExpression",
|
|
2502
|
-
children: [...last.children, "Promise", last.op, exp]
|
|
2503
|
-
};
|
|
2504
|
-
pre = pre.slice(0, -1);
|
|
2505
|
-
} else {
|
|
2506
|
-
exp = {
|
|
2507
|
-
type: "AwaitExpression",
|
|
2508
|
-
children: [...last.children, exp]
|
|
2509
|
-
};
|
|
2510
|
-
pre = pre.slice(0, -1);
|
|
2511
|
-
}
|
|
2512
|
-
} else {
|
|
2513
|
-
break;
|
|
2514
|
-
}
|
|
2515
|
-
}
|
|
2516
|
-
return {
|
|
2517
|
-
type: "UnaryExpression",
|
|
2518
|
-
children: [...pre, exp, post]
|
|
2519
|
-
};
|
|
2520
|
-
}
|
|
2521
|
-
var init_unary = __esm({
|
|
2522
|
-
"source/parser/unary.civet"() {
|
|
2523
|
-
"use strict";
|
|
2524
|
-
init_util();
|
|
2525
|
-
}
|
|
2526
|
-
});
|
|
2527
|
-
|
|
2528
2619
|
// source/parser/pipe.civet
|
|
2529
2620
|
function constructInvocation(fn, arg) {
|
|
2530
2621
|
const fnArr = [fn.leadingComment, fn.expr, fn.trailingComment];
|
|
@@ -2741,10 +2832,13 @@ var init_pipe = __esm({
|
|
|
2741
2832
|
function forRange(open, forDeclaration, range, stepExp, close) {
|
|
2742
2833
|
const { start, end, inclusive } = range;
|
|
2743
2834
|
const counterRef = makeRef("i");
|
|
2835
|
+
const infinite = end.type === "Identifier" && end.name === "Infinity";
|
|
2744
2836
|
let stepRef;
|
|
2745
2837
|
if (stepExp) {
|
|
2746
2838
|
stepExp = insertTrimmingSpace(stepExp, "");
|
|
2747
2839
|
stepRef = maybeRef(stepExp, "step");
|
|
2840
|
+
} else if (infinite) {
|
|
2841
|
+
stepExp = stepRef = "1";
|
|
2748
2842
|
}
|
|
2749
2843
|
let startRef = maybeRef(start, "start");
|
|
2750
2844
|
let endRef = maybeRef(end, "end");
|
|
@@ -2774,7 +2868,7 @@ function forRange(open, forDeclaration, range, stepExp, close) {
|
|
|
2774
2868
|
} else {
|
|
2775
2869
|
const value = "StringLiteral" === start.subtype ? ["String.fromCharCode(", counterRef, ")"] : counterRef;
|
|
2776
2870
|
blockPrefix = [
|
|
2777
|
-
["", forDeclaration, " = ", value, ";"]
|
|
2871
|
+
["", [forDeclaration, " = ", value], ";"]
|
|
2778
2872
|
];
|
|
2779
2873
|
}
|
|
2780
2874
|
} else if (forDeclaration) {
|
|
@@ -2786,8 +2880,8 @@ function forRange(open, forDeclaration, range, stepExp, close) {
|
|
|
2786
2880
|
names: forDeclaration?.names
|
|
2787
2881
|
};
|
|
2788
2882
|
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
2789
|
-
const condition = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
|
|
2790
|
-
const increment = stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
2883
|
+
const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
|
|
2884
|
+
const increment = infinite ? [...varAssign, "++", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
2791
2885
|
return {
|
|
2792
2886
|
declaration,
|
|
2793
2887
|
children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
@@ -3278,7 +3372,9 @@ __export(lib_exports, {
|
|
|
3278
3372
|
isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
|
|
3279
3373
|
lastAccessInCallExpression: () => lastAccessInCallExpression,
|
|
3280
3374
|
literalValue: () => literalValue,
|
|
3375
|
+
makeAmpersandBlockRHSBody: () => makeAmpersandBlockRHSBody,
|
|
3281
3376
|
makeAmpersandFunction: () => makeAmpersandFunction,
|
|
3377
|
+
makeAmpersandFunctionExpression: () => makeAmpersandFunctionExpression,
|
|
3282
3378
|
makeEmptyBlock: () => makeEmptyBlock,
|
|
3283
3379
|
makeExpressionStatement: () => makeExpressionStatement,
|
|
3284
3380
|
makeGetterMethod: () => makeGetterMethod,
|
|
@@ -4241,6 +4337,7 @@ function processProgram(root, config, m, ReservedWord) {
|
|
|
4241
4337
|
assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
|
|
4242
4338
|
addParentPointers(root);
|
|
4243
4339
|
const { expressions: statements } = root;
|
|
4340
|
+
processPartialPlaceholders(statements);
|
|
4244
4341
|
processNegativeIndexAccess(statements);
|
|
4245
4342
|
processTypes(statements);
|
|
4246
4343
|
processDeclarationConditions(statements, m.getRef);
|
|
@@ -4285,6 +4382,43 @@ function populateRefs(statements) {
|
|
|
4285
4382
|
});
|
|
4286
4383
|
}
|
|
4287
4384
|
}
|
|
4385
|
+
function processPartialPlaceholders(statements) {
|
|
4386
|
+
const partialMap = /* @__PURE__ */ new Map();
|
|
4387
|
+
gatherRecursiveAll(statements, ($3) => $3.type === "PartialPlaceholder").forEach((_exp) => {
|
|
4388
|
+
const exp = _exp;
|
|
4389
|
+
let { ancestor } = findAncestor(exp, ($4) => $4?.type === "Call");
|
|
4390
|
+
ancestor = ancestor?.parent;
|
|
4391
|
+
while (ancestor?.parent?.type === "UnaryExpression") {
|
|
4392
|
+
ancestor = ancestor.parent;
|
|
4393
|
+
}
|
|
4394
|
+
if (ancestor) {
|
|
4395
|
+
if (partialMap.has(ancestor)) {
|
|
4396
|
+
return partialMap.get(ancestor).push(exp);
|
|
4397
|
+
} else {
|
|
4398
|
+
return partialMap.set(ancestor, [exp]);
|
|
4399
|
+
}
|
|
4400
|
+
} else {
|
|
4401
|
+
return replaceNode(exp, {
|
|
4402
|
+
type: "Error",
|
|
4403
|
+
message: "Partial placeholder outside of call expression",
|
|
4404
|
+
parent: exp.parent
|
|
4405
|
+
});
|
|
4406
|
+
}
|
|
4407
|
+
});
|
|
4408
|
+
for (const [ancestor, placeholders] of partialMap) {
|
|
4409
|
+
let ref = makeRef("$");
|
|
4410
|
+
placeholders.forEach((exp) => {
|
|
4411
|
+
return replaceNode(exp.children.at(-1), ref);
|
|
4412
|
+
});
|
|
4413
|
+
const rhs = {
|
|
4414
|
+
ref,
|
|
4415
|
+
children: [ancestor]
|
|
4416
|
+
};
|
|
4417
|
+
const fnExp = makeAmpersandFunctionExpression([], rhs);
|
|
4418
|
+
replaceNode(ancestor, fnExp);
|
|
4419
|
+
}
|
|
4420
|
+
return;
|
|
4421
|
+
}
|
|
4288
4422
|
function reorderBindingRestProperty(props) {
|
|
4289
4423
|
const names = props.flatMap((p) => p.names);
|
|
4290
4424
|
let restIndex = -1;
|
|
@@ -4995,11 +5129,11 @@ var require_parser = __commonJS({
|
|
|
4995
5129
|
WRHS,
|
|
4996
5130
|
SingleLineBinaryOpRHS,
|
|
4997
5131
|
RHS,
|
|
4998
|
-
ParenthesizedAssignment,
|
|
4999
5132
|
UnaryExpression,
|
|
5000
5133
|
UnaryWithoutParenthesizedAssignment,
|
|
5001
5134
|
UnaryBody,
|
|
5002
5135
|
UnaryWithoutParenthesizedAssignmentBody,
|
|
5136
|
+
ParenthesizedAssignment,
|
|
5003
5137
|
UnaryPostfix,
|
|
5004
5138
|
TypePostfix,
|
|
5005
5139
|
Tuple,
|
|
@@ -5027,6 +5161,7 @@ var require_parser = __commonJS({
|
|
|
5027
5161
|
PipelineTailItem,
|
|
5028
5162
|
PrimaryExpression,
|
|
5029
5163
|
ParenthesizedExpression,
|
|
5164
|
+
PartialPlaceholder,
|
|
5030
5165
|
ClassDeclaration,
|
|
5031
5166
|
ClassExpression,
|
|
5032
5167
|
ClassBinding,
|
|
@@ -5071,6 +5206,7 @@ var require_parser = __commonJS({
|
|
|
5071
5206
|
MemberBracketContent,
|
|
5072
5207
|
SliceParameters,
|
|
5073
5208
|
AccessStart,
|
|
5209
|
+
ImplicitAccessStart,
|
|
5074
5210
|
PropertyAccessModifier,
|
|
5075
5211
|
PropertyAccess,
|
|
5076
5212
|
PropertyGlob,
|
|
@@ -5205,6 +5341,7 @@ var require_parser = __commonJS({
|
|
|
5205
5341
|
BinaryOp,
|
|
5206
5342
|
_BinaryOp,
|
|
5207
5343
|
BinaryOpSymbol,
|
|
5344
|
+
ActualIn,
|
|
5208
5345
|
CoffeeOfOp,
|
|
5209
5346
|
NotOp,
|
|
5210
5347
|
Xor,
|
|
@@ -5485,6 +5622,7 @@ var require_parser = __commonJS({
|
|
|
5485
5622
|
TripleTick,
|
|
5486
5623
|
Try,
|
|
5487
5624
|
Typeof,
|
|
5625
|
+
Undefined,
|
|
5488
5626
|
Unless,
|
|
5489
5627
|
Until,
|
|
5490
5628
|
Using,
|
|
@@ -5885,123 +6023,126 @@ var require_parser = __commonJS({
|
|
|
5885
6023
|
var $L199 = $L("```");
|
|
5886
6024
|
var $L200 = $L("try");
|
|
5887
6025
|
var $L201 = $L("typeof");
|
|
5888
|
-
var $L202 = $L("
|
|
5889
|
-
var $L203 = $L("
|
|
5890
|
-
var $L204 = $L("
|
|
5891
|
-
var $L205 = $L("
|
|
5892
|
-
var $L206 = $L("
|
|
5893
|
-
var $L207 = $L("
|
|
5894
|
-
var $L208 = $L("
|
|
5895
|
-
var $L209 = $L("
|
|
5896
|
-
var $L210 = $L("
|
|
5897
|
-
var $L211 = $L("
|
|
5898
|
-
var $L212 = $L("
|
|
5899
|
-
var $L213 = $L("
|
|
5900
|
-
var $L214 = $L("
|
|
5901
|
-
var $L215 = $L("
|
|
5902
|
-
var $L216 = $L("
|
|
5903
|
-
var $L217 = $L("
|
|
5904
|
-
var $L218 = $L("
|
|
5905
|
-
var $L219 = $L("
|
|
5906
|
-
var $L220 = $L("
|
|
5907
|
-
var $L221 = $L("
|
|
5908
|
-
var $L222 = $L("
|
|
5909
|
-
var $L223 = $L("
|
|
5910
|
-
var $L224 = $L("
|
|
5911
|
-
var $L225 = $L("
|
|
5912
|
-
var $L226 = $L("
|
|
6026
|
+
var $L202 = $L("undefined");
|
|
6027
|
+
var $L203 = $L("unless");
|
|
6028
|
+
var $L204 = $L("until");
|
|
6029
|
+
var $L205 = $L("using");
|
|
6030
|
+
var $L206 = $L("var");
|
|
6031
|
+
var $L207 = $L("void");
|
|
6032
|
+
var $L208 = $L("when");
|
|
6033
|
+
var $L209 = $L("while");
|
|
6034
|
+
var $L210 = $L("yield");
|
|
6035
|
+
var $L211 = $L("/>");
|
|
6036
|
+
var $L212 = $L("</");
|
|
6037
|
+
var $L213 = $L("<>");
|
|
6038
|
+
var $L214 = $L("</>");
|
|
6039
|
+
var $L215 = $L("<!--");
|
|
6040
|
+
var $L216 = $L("-->");
|
|
6041
|
+
var $L217 = $L("type");
|
|
6042
|
+
var $L218 = $L("enum");
|
|
6043
|
+
var $L219 = $L("interface");
|
|
6044
|
+
var $L220 = $L("global");
|
|
6045
|
+
var $L221 = $L("module");
|
|
6046
|
+
var $L222 = $L("namespace");
|
|
6047
|
+
var $L223 = $L("asserts");
|
|
6048
|
+
var $L224 = $L("keyof");
|
|
6049
|
+
var $L225 = $L("???");
|
|
6050
|
+
var $L226 = $L("[]");
|
|
6051
|
+
var $L227 = $L("civet");
|
|
5913
6052
|
var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
|
|
5914
6053
|
var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
|
|
5915
6054
|
var $R2 = $R(new RegExp("[0-9]", "suy"));
|
|
5916
6055
|
var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
|
|
5917
6056
|
var $R4 = $R(new RegExp("[ \\t]", "suy"));
|
|
5918
|
-
var $R5 = $R(new RegExp("(
|
|
5919
|
-
var $R6 = $R(new RegExp("(?=[
|
|
5920
|
-
var $R7 = $R(new RegExp("(?=[
|
|
5921
|
-
var $R8 = $R(new RegExp("[)
|
|
5922
|
-
var $R9 = $R(new RegExp("
|
|
5923
|
-
var $R10 = $R(new RegExp("[
|
|
5924
|
-
var $R11 = $R(new RegExp(
|
|
5925
|
-
var $R12 = $R(new RegExp("
|
|
5926
|
-
var $R13 = $R(new RegExp(
|
|
5927
|
-
var $R14 = $R(new RegExp("(
|
|
5928
|
-
var $R15 = $R(new RegExp("(?=\\[)", "suy"));
|
|
5929
|
-
var $R16 = $R(new RegExp("[
|
|
5930
|
-
var $R17 = $R(new RegExp("[
|
|
5931
|
-
var $R18 = $R(new RegExp("
|
|
5932
|
-
var $R19 = $R(new RegExp("
|
|
5933
|
-
var $R20 = $R(new RegExp("
|
|
5934
|
-
var $R21 = $R(new RegExp("[
|
|
5935
|
-
var $R22 = $R(new RegExp("
|
|
5936
|
-
var $R23 = $R(new RegExp("(?=loop|
|
|
5937
|
-
var $R24 = $R(new RegExp("(?=
|
|
5938
|
-
var $R25 = $R(new RegExp(
|
|
5939
|
-
var $R26 = $R(new RegExp("
|
|
5940
|
-
var $R27 = $R(new RegExp("(
|
|
5941
|
-
var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)
|
|
5942
|
-
var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(
|
|
5943
|
-
var $R30 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
5944
|
-
var $R31 = $R(new RegExp("(
|
|
5945
|
-
var $R32 = $R(new RegExp("
|
|
5946
|
-
var $R33 = $R(new RegExp("0[
|
|
5947
|
-
var $R34 = $R(new RegExp("0[
|
|
5948
|
-
var $R35 = $R(new RegExp("(
|
|
5949
|
-
var $R36 = $R(new RegExp("(
|
|
5950
|
-
var $R37 = $R(new RegExp(
|
|
5951
|
-
var $R38 = $R(new RegExp(
|
|
5952
|
-
var $R39 = $R(new RegExp(
|
|
5953
|
-
var $R40 = $R(new RegExp(
|
|
5954
|
-
var $R41 = $R(new RegExp('(
|
|
5955
|
-
var $R42 = $R(new RegExp(
|
|
5956
|
-
var $R43 = $R(new RegExp("(
|
|
5957
|
-
var $R44 = $R(new RegExp("
|
|
5958
|
-
var $R45 = $R(new RegExp("
|
|
5959
|
-
var $R46 = $R(new RegExp("
|
|
5960
|
-
var $R47 = $R(new RegExp("[
|
|
5961
|
-
var $R48 = $R(new RegExp("
|
|
5962
|
-
var $R49 = $R(new RegExp("(
|
|
5963
|
-
var $R50 = $R(new RegExp("(
|
|
5964
|
-
var $R51 = $R(new RegExp("(
|
|
5965
|
-
var $R52 = $R(new RegExp("(?:\\$(?!\\{)
|
|
5966
|
-
var $R53 = $R(new RegExp("(
|
|
5967
|
-
var $R54 = $R(new RegExp("(?:
|
|
5968
|
-
var $R55 = $R(new RegExp("(?:
|
|
5969
|
-
var $R56 = $R(new RegExp("(?:
|
|
5970
|
-
var $R57 = $R(new RegExp("(?:
|
|
5971
|
-
var $R58 = $R(new RegExp("(
|
|
5972
|
-
var $R59 = $R(new RegExp("
|
|
5973
|
-
var $R60 = $R(new RegExp("
|
|
5974
|
-
var $R61 = $R(new RegExp("
|
|
5975
|
-
var $R62 = $R(new RegExp("[
|
|
5976
|
-
var $R63 = $R(new RegExp("
|
|
5977
|
-
var $R64 = $R(new RegExp("
|
|
5978
|
-
var $R65 = $R(new RegExp("(
|
|
5979
|
-
var $R66 = $R(new RegExp("[ \\t]
|
|
5980
|
-
var $R67 = $R(new RegExp("
|
|
5981
|
-
var $R68 = $R(new RegExp("(
|
|
5982
|
-
var $R69 = $R(new RegExp("
|
|
5983
|
-
var $R70 = $R(new RegExp("
|
|
5984
|
-
var $R71 = $R(new RegExp("
|
|
5985
|
-
var $R72 = $R(new RegExp("
|
|
5986
|
-
var $R73 = $R(new RegExp("[
|
|
5987
|
-
var $R74 = $R(new RegExp("[\\
|
|
5988
|
-
var $R75 = $R(new RegExp("
|
|
5989
|
-
var $R76 = $R(new RegExp(
|
|
5990
|
-
var $R77 = $R(new RegExp("[
|
|
5991
|
-
var $R78 = $R(new RegExp("[
|
|
5992
|
-
var $R79 = $R(new RegExp("
|
|
5993
|
-
var $R80 = $R(new RegExp("[
|
|
5994
|
-
var $R81 = $R(new RegExp("[
|
|
5995
|
-
var $R82 = $R(new RegExp("
|
|
5996
|
-
var $R83 = $R(new RegExp("
|
|
5997
|
-
var $R84 = $R(new RegExp("
|
|
5998
|
-
var $R85 = $R(new RegExp("[
|
|
5999
|
-
var $R86 = $R(new RegExp("[\\
|
|
6000
|
-
var $R87 = $R(new RegExp("
|
|
6001
|
-
var $R88 = $R(new RegExp("
|
|
6002
|
-
var $R89 = $R(new RegExp("(
|
|
6003
|
-
var $R90 = $R(new RegExp("
|
|
6004
|
-
var $R91 = $R(new RegExp("[
|
|
6057
|
+
var $R5 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
|
|
6058
|
+
var $R6 = $R(new RegExp("(?=['\"`])", "suy"));
|
|
6059
|
+
var $R7 = $R(new RegExp("(?=[\\/?])", "suy"));
|
|
6060
|
+
var $R8 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
|
|
6061
|
+
var $R9 = $R(new RegExp("[)}]", "suy"));
|
|
6062
|
+
var $R10 = $R(new RegExp("[+-]", "suy"));
|
|
6063
|
+
var $R11 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
|
|
6064
|
+
var $R12 = $R(new RegExp("[&]", "suy"));
|
|
6065
|
+
var $R13 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
|
|
6066
|
+
var $R14 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
|
|
6067
|
+
var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
|
|
6068
|
+
var $R16 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
6069
|
+
var $R17 = $R(new RegExp("(?=\\[)", "suy"));
|
|
6070
|
+
var $R18 = $R(new RegExp("[!+-]?", "suy"));
|
|
6071
|
+
var $R19 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
|
|
6072
|
+
var $R20 = $R(new RegExp("!\\^\\^?", "suy"));
|
|
6073
|
+
var $R21 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
|
|
6074
|
+
var $R22 = $R(new RegExp("[:.]", "suy"));
|
|
6075
|
+
var $R23 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
|
|
6076
|
+
var $R24 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
|
|
6077
|
+
var $R25 = $R(new RegExp("(?=[\\s\\),])", "suy"));
|
|
6078
|
+
var $R26 = $R(new RegExp('[^;"\\s]+', "suy"));
|
|
6079
|
+
var $R27 = $R(new RegExp("(?=[0-9.])", "suy"));
|
|
6080
|
+
var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
|
|
6081
|
+
var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
|
|
6082
|
+
var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
|
|
6083
|
+
var $R31 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
6084
|
+
var $R32 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
|
|
6085
|
+
var $R33 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
|
|
6086
|
+
var $R34 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
|
|
6087
|
+
var $R35 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
|
|
6088
|
+
var $R36 = $R(new RegExp("(?=[0-9])", "suy"));
|
|
6089
|
+
var $R37 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
6090
|
+
var $R38 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
|
|
6091
|
+
var $R39 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
6092
|
+
var $R40 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
6093
|
+
var $R41 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
6094
|
+
var $R42 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
6095
|
+
var $R43 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
|
|
6096
|
+
var $R44 = $R(new RegExp("(?:\\\\.)", "suy"));
|
|
6097
|
+
var $R45 = $R(new RegExp("[\\s]+", "suy"));
|
|
6098
|
+
var $R46 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
|
|
6099
|
+
var $R47 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
|
|
6100
|
+
var $R48 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
6101
|
+
var $R49 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
|
|
6102
|
+
var $R50 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
6103
|
+
var $R51 = $R(new RegExp("(?=[`'\"])", "suy"));
|
|
6104
|
+
var $R52 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
6105
|
+
var $R53 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
6106
|
+
var $R54 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
|
|
6107
|
+
var $R55 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
|
|
6108
|
+
var $R56 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
|
|
6109
|
+
var $R57 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
|
|
6110
|
+
var $R58 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
|
|
6111
|
+
var $R59 = $R(new RegExp("(?=\\/|#)", "suy"));
|
|
6112
|
+
var $R60 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
|
|
6113
|
+
var $R61 = $R(new RegExp(".", "suy"));
|
|
6114
|
+
var $R62 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
|
|
6115
|
+
var $R63 = $R(new RegExp("[^]*?###", "suy"));
|
|
6116
|
+
var $R64 = $R(new RegExp("###(?!#)", "suy"));
|
|
6117
|
+
var $R65 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
|
|
6118
|
+
var $R66 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
|
|
6119
|
+
var $R67 = $R(new RegExp("[ \\t]+", "suy"));
|
|
6120
|
+
var $R68 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
|
|
6121
|
+
var $R69 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
6122
|
+
var $R70 = $R(new RegExp("[=:]", "suy"));
|
|
6123
|
+
var $R71 = $R(new RegExp("['\u2019]s", "suy"));
|
|
6124
|
+
var $R72 = $R(new RegExp("\\s", "suy"));
|
|
6125
|
+
var $R73 = $R(new RegExp("(?=[<])", "suy"));
|
|
6126
|
+
var $R74 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
6127
|
+
var $R75 = $R(new RegExp("[!+-]", "suy"));
|
|
6128
|
+
var $R76 = $R(new RegExp("[\\s>]|\\/>", "suy"));
|
|
6129
|
+
var $R77 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
|
|
6130
|
+
var $R78 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
|
|
6131
|
+
var $R79 = $R(new RegExp("[<>]", "suy"));
|
|
6132
|
+
var $R80 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
|
|
6133
|
+
var $R81 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
|
|
6134
|
+
var $R82 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
|
|
6135
|
+
var $R83 = $R(new RegExp("[+-]?", "suy"));
|
|
6136
|
+
var $R84 = $R(new RegExp("(?=if|unless)", "suy"));
|
|
6137
|
+
var $R85 = $R(new RegExp("#![^\\r\\n]*", "suy"));
|
|
6138
|
+
var $R86 = $R(new RegExp("[\\t ]*", "suy"));
|
|
6139
|
+
var $R87 = $R(new RegExp("[ \\t]*", "suy"));
|
|
6140
|
+
var $R88 = $R(new RegExp("[\\s]*", "suy"));
|
|
6141
|
+
var $R89 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
|
|
6142
|
+
var $R90 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
|
|
6143
|
+
var $R91 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
|
|
6144
|
+
var $R92 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
6145
|
+
var $R93 = $R(new RegExp("[^]*", "suy"));
|
|
6005
6146
|
var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
6006
6147
|
var statements = $4;
|
|
6007
6148
|
processProgram({
|
|
@@ -6414,17 +6555,12 @@ var require_parser = __commonJS({
|
|
|
6414
6555
|
function SingleLineBinaryOpRHS(ctx, state) {
|
|
6415
6556
|
return $EVENT(ctx, state, "SingleLineBinaryOpRHS", SingleLineBinaryOpRHS$0);
|
|
6416
6557
|
}
|
|
6417
|
-
var RHS$0 =
|
|
6418
|
-
var RHS$1 =
|
|
6419
|
-
var RHS
|
|
6420
|
-
var RHS$$ = [RHS$0, RHS$1, RHS$2];
|
|
6558
|
+
var RHS$0 = UnaryExpression;
|
|
6559
|
+
var RHS$1 = ExpressionizedStatementWithTrailingCallExpressions;
|
|
6560
|
+
var RHS$$ = [RHS$0, RHS$1];
|
|
6421
6561
|
function RHS(ctx, state) {
|
|
6422
6562
|
return $EVENT_C(ctx, state, "RHS", RHS$$);
|
|
6423
6563
|
}
|
|
6424
|
-
var ParenthesizedAssignment$0 = $S(InsertOpenParen, ActualAssignment, InsertCloseParen);
|
|
6425
|
-
function ParenthesizedAssignment(ctx, state) {
|
|
6426
|
-
return $EVENT(ctx, state, "ParenthesizedAssignment", ParenthesizedAssignment$0);
|
|
6427
|
-
}
|
|
6428
6564
|
var UnaryExpression$0 = AmpersandFunctionExpression;
|
|
6429
6565
|
var UnaryExpression$1 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
|
|
6430
6566
|
var pre = $1;
|
|
@@ -6466,6 +6602,10 @@ var require_parser = __commonJS({
|
|
|
6466
6602
|
function UnaryWithoutParenthesizedAssignmentBody(ctx, state) {
|
|
6467
6603
|
return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
|
|
6468
6604
|
}
|
|
6605
|
+
var ParenthesizedAssignment$0 = $S(InsertOpenParen, $C(ActualAssignment, ArrowFunction), InsertCloseParen);
|
|
6606
|
+
function ParenthesizedAssignment(ctx, state) {
|
|
6607
|
+
return $EVENT(ctx, state, "ParenthesizedAssignment", ParenthesizedAssignment$0);
|
|
6608
|
+
}
|
|
6469
6609
|
var UnaryPostfix$0 = QuestionMark;
|
|
6470
6610
|
var UnaryPostfix$1 = $P(TypePostfix);
|
|
6471
6611
|
var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
|
|
@@ -6778,8 +6918,9 @@ var require_parser = __commonJS({
|
|
|
6778
6918
|
var PrimaryExpression$7 = ClassExpression;
|
|
6779
6919
|
var PrimaryExpression$8 = RegularExpressionLiteral;
|
|
6780
6920
|
var PrimaryExpression$9 = ParenthesizedExpression;
|
|
6781
|
-
var PrimaryExpression$10 =
|
|
6782
|
-
var PrimaryExpression
|
|
6921
|
+
var PrimaryExpression$10 = PartialPlaceholder;
|
|
6922
|
+
var PrimaryExpression$11 = JSXImplicitFragment;
|
|
6923
|
+
var PrimaryExpression$$ = [PrimaryExpression$0, PrimaryExpression$1, PrimaryExpression$2, PrimaryExpression$3, PrimaryExpression$4, PrimaryExpression$5, PrimaryExpression$6, PrimaryExpression$7, PrimaryExpression$8, PrimaryExpression$9, PrimaryExpression$10, PrimaryExpression$11];
|
|
6783
6924
|
function PrimaryExpression(ctx, state) {
|
|
6784
6925
|
return $EVENT_C(ctx, state, "PrimaryExpression", PrimaryExpression$$);
|
|
6785
6926
|
}
|
|
@@ -6813,6 +6954,16 @@ var require_parser = __commonJS({
|
|
|
6813
6954
|
function ParenthesizedExpression(ctx, state) {
|
|
6814
6955
|
return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
|
|
6815
6956
|
}
|
|
6957
|
+
var PartialPlaceholder$0 = $TS($S(Dot, $N($EXPECT($R5, "PartialPlaceholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
|
|
6958
|
+
var dot = $1;
|
|
6959
|
+
return {
|
|
6960
|
+
type: "PartialPlaceholder",
|
|
6961
|
+
children: [dot]
|
|
6962
|
+
};
|
|
6963
|
+
});
|
|
6964
|
+
function PartialPlaceholder(ctx, state) {
|
|
6965
|
+
return $EVENT(ctx, state, "PartialPlaceholder", PartialPlaceholder$0);
|
|
6966
|
+
}
|
|
6816
6967
|
var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
|
|
6817
6968
|
if ($1.id)
|
|
6818
6969
|
return $1;
|
|
@@ -7117,7 +7268,8 @@ var require_parser = __commonJS({
|
|
|
7117
7268
|
return $EVENT_C(ctx, state, "FieldDefinition", FieldDefinition$$);
|
|
7118
7269
|
}
|
|
7119
7270
|
var ThisLiteral$0 = This;
|
|
7120
|
-
var ThisLiteral$1 =
|
|
7271
|
+
var ThisLiteral$1 = HashThis;
|
|
7272
|
+
var ThisLiteral$2 = $TS($S(AtThis, $TEXT($S($E(Hash), IdentifierName))), function($skip, $loc, $0, $1, $2) {
|
|
7121
7273
|
var at = $1;
|
|
7122
7274
|
var id = $2;
|
|
7123
7275
|
return {
|
|
@@ -7130,20 +7282,20 @@ var require_parser = __commonJS({
|
|
|
7130
7282
|
thisShorthand: true
|
|
7131
7283
|
};
|
|
7132
7284
|
});
|
|
7133
|
-
var ThisLiteral$
|
|
7134
|
-
var ThisLiteral$3 = HashThis;
|
|
7285
|
+
var ThisLiteral$3 = AtThis;
|
|
7135
7286
|
var ThisLiteral$$ = [ThisLiteral$0, ThisLiteral$1, ThisLiteral$2, ThisLiteral$3];
|
|
7136
7287
|
function ThisLiteral(ctx, state) {
|
|
7137
7288
|
return $EVENT_C(ctx, state, "ThisLiteral", ThisLiteral$$);
|
|
7138
7289
|
}
|
|
7139
|
-
var HashThis$0 = $TS($S(LengthShorthand, $E($S($Y($S(
|
|
7140
|
-
var
|
|
7141
|
-
var
|
|
7142
|
-
|
|
7290
|
+
var HashThis$0 = $TS($S($E(AtThis), LengthShorthand, $E($S($Y($S(_, $E($S(Not, __)), ActualIn)), $EXPECT($L0, 'HashThis ""')))), function($skip, $loc, $0, $1, $2, $3) {
|
|
7291
|
+
var at = $1;
|
|
7292
|
+
var id = $2;
|
|
7293
|
+
var beforeIn = $3;
|
|
7294
|
+
if (beforeIn != null && at == null)
|
|
7143
7295
|
return ['"', id.name, '"'];
|
|
7144
7296
|
return {
|
|
7145
7297
|
type: "MemberExpression",
|
|
7146
|
-
children: ["this", {
|
|
7298
|
+
children: [at ?? "this", {
|
|
7147
7299
|
type: "PropertyAccess",
|
|
7148
7300
|
name: id.name,
|
|
7149
7301
|
children: [".", id]
|
|
@@ -7151,7 +7303,7 @@ var require_parser = __commonJS({
|
|
|
7151
7303
|
thisShorthand: true
|
|
7152
7304
|
};
|
|
7153
7305
|
});
|
|
7154
|
-
var HashThis$1 = $TS($S(PrivateIdentifier, $Y($S(
|
|
7306
|
+
var HashThis$1 = $TS($S(PrivateIdentifier, $Y($S(_, $E($S(Not, __)), ActualIn))), function($skip, $loc, $0, $1, $2) {
|
|
7155
7307
|
var id = $1;
|
|
7156
7308
|
return id;
|
|
7157
7309
|
});
|
|
@@ -7245,7 +7397,7 @@ var require_parser = __commonJS({
|
|
|
7245
7397
|
var CallExpressionRest$1 = $T($S(TypeArguments, $N($C(IdentifierName, NumericLiteral))), function(value) {
|
|
7246
7398
|
return value[0];
|
|
7247
7399
|
});
|
|
7248
|
-
var CallExpressionRest$2 = $TS($S($EXPECT($
|
|
7400
|
+
var CallExpressionRest$2 = $TS($S($EXPECT($R6, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
|
|
7249
7401
|
var literal = $2;
|
|
7250
7402
|
if (literal.type === "StringLiteral") {
|
|
7251
7403
|
literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
|
|
@@ -7268,7 +7420,7 @@ var require_parser = __commonJS({
|
|
|
7268
7420
|
function CallExpressionRest(ctx, state) {
|
|
7269
7421
|
return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
|
|
7270
7422
|
}
|
|
7271
|
-
var OptionalShorthand$0 = $TS($S($EXPECT($
|
|
7423
|
+
var OptionalShorthand$0 = $TS($S($EXPECT($R7, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
7272
7424
|
var comments = $2;
|
|
7273
7425
|
var q = $3;
|
|
7274
7426
|
var d = $4;
|
|
@@ -7322,7 +7474,7 @@ var require_parser = __commonJS({
|
|
|
7322
7474
|
function MemberBase(ctx, state) {
|
|
7323
7475
|
return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
|
|
7324
7476
|
}
|
|
7325
|
-
var MemberExpressionRest$0 = $TS($S($EXPECT($
|
|
7477
|
+
var MemberExpressionRest$0 = $TS($S($EXPECT($R8, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
|
|
7326
7478
|
var comments = $2;
|
|
7327
7479
|
var body = $3;
|
|
7328
7480
|
if (Array.isArray(body))
|
|
@@ -7455,16 +7607,27 @@ var require_parser = __commonJS({
|
|
|
7455
7607
|
var AccessStart$0 = $TS($S($E(PropertyAccessModifier), Dot, $N(Dot)), function($skip, $loc, $0, $1, $2, $3) {
|
|
7456
7608
|
var modifier = $1;
|
|
7457
7609
|
var dot = $2;
|
|
7458
|
-
let children = modifier ? [modifier, dot] : [dot];
|
|
7459
7610
|
return {
|
|
7460
7611
|
type: "AccessStart",
|
|
7461
|
-
children,
|
|
7612
|
+
children: modifier ? [modifier, dot] : [dot],
|
|
7462
7613
|
optional: modifier?.token === "?"
|
|
7463
7614
|
};
|
|
7464
7615
|
});
|
|
7465
7616
|
function AccessStart(ctx, state) {
|
|
7466
7617
|
return $EVENT(ctx, state, "AccessStart", AccessStart$0);
|
|
7467
7618
|
}
|
|
7619
|
+
var ImplicitAccessStart$0 = $TS($S($E(PropertyAccessModifier), InsertDot, $N(Dot)), function($skip, $loc, $0, $1, $2, $3) {
|
|
7620
|
+
var modifier = $1;
|
|
7621
|
+
var dot = $2;
|
|
7622
|
+
return {
|
|
7623
|
+
type: "AccessStart",
|
|
7624
|
+
children: modifier ? [modifier, dot] : [dot],
|
|
7625
|
+
optional: modifier?.token === "?"
|
|
7626
|
+
};
|
|
7627
|
+
});
|
|
7628
|
+
function ImplicitAccessStart(ctx, state) {
|
|
7629
|
+
return $EVENT(ctx, state, "ImplicitAccessStart", ImplicitAccessStart$0);
|
|
7630
|
+
}
|
|
7468
7631
|
var PropertyAccessModifier$0 = QuestionMark;
|
|
7469
7632
|
var PropertyAccessModifier$1 = NonNullAssertion;
|
|
7470
7633
|
var PropertyAccessModifier$$ = [PropertyAccessModifier$0, PropertyAccessModifier$1];
|
|
@@ -7506,15 +7669,24 @@ var require_parser = __commonJS({
|
|
|
7506
7669
|
var dot = $1;
|
|
7507
7670
|
var comments = $2;
|
|
7508
7671
|
var id = $3;
|
|
7509
|
-
const children = [dot, ...comments, ...id.children];
|
|
7510
7672
|
return {
|
|
7511
7673
|
type: "PropertyAccess",
|
|
7512
7674
|
name: id.name,
|
|
7513
7675
|
dot,
|
|
7514
|
-
children
|
|
7676
|
+
children: [dot, ...comments, ...id.children]
|
|
7677
|
+
};
|
|
7678
|
+
});
|
|
7679
|
+
var PropertyAccess$3 = $TS($S(ImplicitAccessStart, $C(PrivateIdentifier, LengthShorthand)), function($skip, $loc, $0, $1, $2) {
|
|
7680
|
+
var dot = $1;
|
|
7681
|
+
var id = $2;
|
|
7682
|
+
return {
|
|
7683
|
+
type: "PropertyAccess",
|
|
7684
|
+
name: id.name,
|
|
7685
|
+
dot,
|
|
7686
|
+
children: [dot, ...id.children]
|
|
7515
7687
|
};
|
|
7516
7688
|
});
|
|
7517
|
-
var PropertyAccess$
|
|
7689
|
+
var PropertyAccess$4 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
|
|
7518
7690
|
var p = $2;
|
|
7519
7691
|
var id = $3;
|
|
7520
7692
|
if (id) {
|
|
@@ -7535,7 +7707,7 @@ var require_parser = __commonJS({
|
|
|
7535
7707
|
};
|
|
7536
7708
|
}
|
|
7537
7709
|
});
|
|
7538
|
-
var PropertyAccess$$ = [PropertyAccess$0, PropertyAccess$1, PropertyAccess$2, PropertyAccess$3];
|
|
7710
|
+
var PropertyAccess$$ = [PropertyAccess$0, PropertyAccess$1, PropertyAccess$2, PropertyAccess$3, PropertyAccess$4];
|
|
7539
7711
|
function PropertyAccess(ctx, state) {
|
|
7540
7712
|
return $EVENT_C(ctx, state, "PropertyAccess", PropertyAccess$$);
|
|
7541
7713
|
}
|
|
@@ -7786,7 +7958,7 @@ var require_parser = __commonJS({
|
|
|
7786
7958
|
return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
|
|
7787
7959
|
}
|
|
7788
7960
|
var ParameterElementDelimiter$0 = $S($E(_), Comma);
|
|
7789
|
-
var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($
|
|
7961
|
+
var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R9, "ParameterElementDelimiter /[)}]/"))));
|
|
7790
7962
|
var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
|
|
7791
7963
|
return value[1];
|
|
7792
7964
|
});
|
|
@@ -7855,7 +8027,23 @@ var require_parser = __commonJS({
|
|
|
7855
8027
|
expression
|
|
7856
8028
|
};
|
|
7857
8029
|
});
|
|
7858
|
-
var PinPattern
|
|
8030
|
+
var PinPattern$2 = $TV($S($EXPECT($R10, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
|
|
8031
|
+
var expression = $0;
|
|
8032
|
+
return {
|
|
8033
|
+
type: "PinPattern",
|
|
8034
|
+
children: [expression],
|
|
8035
|
+
expression
|
|
8036
|
+
};
|
|
8037
|
+
});
|
|
8038
|
+
var PinPattern$3 = $TV(Undefined, function($skip, $loc, $0, $1) {
|
|
8039
|
+
var expression = $0;
|
|
8040
|
+
return {
|
|
8041
|
+
type: "PinPattern",
|
|
8042
|
+
children: [expression],
|
|
8043
|
+
expression
|
|
8044
|
+
};
|
|
8045
|
+
});
|
|
8046
|
+
var PinPattern$$ = [PinPattern$0, PinPattern$1, PinPattern$2, PinPattern$3];
|
|
7859
8047
|
function PinPattern(ctx, state) {
|
|
7860
8048
|
return $EVENT_C(ctx, state, "PinPattern", PinPattern$$);
|
|
7861
8049
|
}
|
|
@@ -8290,7 +8478,7 @@ var require_parser = __commonJS({
|
|
|
8290
8478
|
parameters
|
|
8291
8479
|
};
|
|
8292
8480
|
});
|
|
8293
|
-
var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($
|
|
8481
|
+
var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($R11, "FunctionExpression /\\+\\+|--|[\\+-]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
8294
8482
|
var open = $1;
|
|
8295
8483
|
var ws1 = $2;
|
|
8296
8484
|
var op = $4;
|
|
@@ -8333,52 +8521,7 @@ var require_parser = __commonJS({
|
|
|
8333
8521
|
var rhs = $3;
|
|
8334
8522
|
if (!prefix.length && !rhs)
|
|
8335
8523
|
return $skip;
|
|
8336
|
-
|
|
8337
|
-
if (!rhs) {
|
|
8338
|
-
body = ref = makeRef("$");
|
|
8339
|
-
} else {
|
|
8340
|
-
({ ref, typeSuffix } = rhs);
|
|
8341
|
-
if (!ref) {
|
|
8342
|
-
throw new Error("Could not find ref in ampersand shorthand block");
|
|
8343
|
-
}
|
|
8344
|
-
body = rhs;
|
|
8345
|
-
}
|
|
8346
|
-
if (prefix.length) {
|
|
8347
|
-
body = {
|
|
8348
|
-
type: "UnaryExpression",
|
|
8349
|
-
children: [processUnaryExpression(prefix, body, void 0)]
|
|
8350
|
-
};
|
|
8351
|
-
}
|
|
8352
|
-
const parameters = {
|
|
8353
|
-
type: "Parameters",
|
|
8354
|
-
children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
|
|
8355
|
-
names: []
|
|
8356
|
-
};
|
|
8357
|
-
const expressions = [body];
|
|
8358
|
-
const block = {
|
|
8359
|
-
bare: true,
|
|
8360
|
-
expressions,
|
|
8361
|
-
children: [expressions]
|
|
8362
|
-
};
|
|
8363
|
-
const children = [parameters, " => ", block];
|
|
8364
|
-
const async = hasAwait(body);
|
|
8365
|
-
if (async) {
|
|
8366
|
-
children.unshift("async ");
|
|
8367
|
-
}
|
|
8368
|
-
return {
|
|
8369
|
-
type: "ArrowFunction",
|
|
8370
|
-
signature: {
|
|
8371
|
-
modifier: {
|
|
8372
|
-
async
|
|
8373
|
-
}
|
|
8374
|
-
},
|
|
8375
|
-
children,
|
|
8376
|
-
ref,
|
|
8377
|
-
body,
|
|
8378
|
-
ampersandBlock: true,
|
|
8379
|
-
block,
|
|
8380
|
-
parameters
|
|
8381
|
-
};
|
|
8524
|
+
return makeAmpersandFunctionExpression(prefix, rhs);
|
|
8382
8525
|
});
|
|
8383
8526
|
function AmpersandFunctionExpression(ctx, state) {
|
|
8384
8527
|
return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
|
|
@@ -8504,7 +8647,7 @@ var require_parser = __commonJS({
|
|
|
8504
8647
|
function AmpersandTypeSuffix(ctx, state) {
|
|
8505
8648
|
return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
|
|
8506
8649
|
}
|
|
8507
|
-
var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($
|
|
8650
|
+
var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R12, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
8508
8651
|
var typeSuffix = $1;
|
|
8509
8652
|
var callExpRest = $2;
|
|
8510
8653
|
var unaryPostfix = $3;
|
|
@@ -8512,42 +8655,7 @@ var require_parser = __commonJS({
|
|
|
8512
8655
|
var binopRHS = $5;
|
|
8513
8656
|
if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
|
|
8514
8657
|
return $skip;
|
|
8515
|
-
|
|
8516
|
-
let exp = {
|
|
8517
|
-
type: "AmpersandRef",
|
|
8518
|
-
children: [ref],
|
|
8519
|
-
names: [],
|
|
8520
|
-
ref
|
|
8521
|
-
};
|
|
8522
|
-
if (callExpRest) {
|
|
8523
|
-
exp.children.push(...callExpRest[1]);
|
|
8524
|
-
}
|
|
8525
|
-
if (unaryPostfix) {
|
|
8526
|
-
exp = processUnaryExpression([], exp, unaryPostfix);
|
|
8527
|
-
}
|
|
8528
|
-
if (assign) {
|
|
8529
|
-
const [op1, more, rhs] = assign;
|
|
8530
|
-
const lhs = [
|
|
8531
|
-
[void 0, exp, ...op1],
|
|
8532
|
-
...more.map((x) => [x[0], x[1], ...x[2]])
|
|
8533
|
-
];
|
|
8534
|
-
exp = {
|
|
8535
|
-
type: "AssignmentExpression",
|
|
8536
|
-
children: [lhs, rhs],
|
|
8537
|
-
names: null,
|
|
8538
|
-
lhs,
|
|
8539
|
-
assigned: exp,
|
|
8540
|
-
exp: rhs
|
|
8541
|
-
};
|
|
8542
|
-
}
|
|
8543
|
-
if (binopRHS) {
|
|
8544
|
-
exp = {
|
|
8545
|
-
children: processBinaryOpExpression([exp, binopRHS[1]])
|
|
8546
|
-
};
|
|
8547
|
-
}
|
|
8548
|
-
exp.ref = ref;
|
|
8549
|
-
exp.typeSuffix = typeSuffix;
|
|
8550
|
-
return exp;
|
|
8658
|
+
return makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS);
|
|
8551
8659
|
});
|
|
8552
8660
|
function AmpersandBlockRHSBody(ctx, state) {
|
|
8553
8661
|
return $EVENT(ctx, state, "AmpersandBlockRHSBody", AmpersandBlockRHSBody$0);
|
|
@@ -8948,7 +9056,7 @@ var require_parser = __commonJS({
|
|
|
8948
9056
|
function BlockStatementPart(ctx, state) {
|
|
8949
9057
|
return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
|
|
8950
9058
|
}
|
|
8951
|
-
var Literal$0 = $TS($S($EXPECT($
|
|
9059
|
+
var Literal$0 = $TS($S($EXPECT($R13, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
|
|
8952
9060
|
var literal = $2;
|
|
8953
9061
|
return {
|
|
8954
9062
|
type: "Literal",
|
|
@@ -8974,7 +9082,7 @@ var require_parser = __commonJS({
|
|
|
8974
9082
|
function NullLiteral(ctx, state) {
|
|
8975
9083
|
return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
|
|
8976
9084
|
}
|
|
8977
|
-
var BooleanLiteral$0 = $T($S($EXPECT($
|
|
9085
|
+
var BooleanLiteral$0 = $T($S($EXPECT($R14, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
|
|
8978
9086
|
return value[1];
|
|
8979
9087
|
});
|
|
8980
9088
|
function BooleanLiteral(ctx, state) {
|
|
@@ -9000,14 +9108,14 @@ var require_parser = __commonJS({
|
|
|
9000
9108
|
function CoffeeScriptBooleanLiteral(ctx, state) {
|
|
9001
9109
|
return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
|
|
9002
9110
|
}
|
|
9003
|
-
var Identifier$0 = $T($S($EXPECT($
|
|
9111
|
+
var Identifier$0 = $T($S($EXPECT($R15, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
|
|
9004
9112
|
var id = value[2];
|
|
9005
9113
|
return id;
|
|
9006
9114
|
});
|
|
9007
9115
|
function Identifier(ctx, state) {
|
|
9008
9116
|
return $EVENT(ctx, state, "Identifier", Identifier$0);
|
|
9009
9117
|
}
|
|
9010
|
-
var IdentifierName$0 = $TR($EXPECT($
|
|
9118
|
+
var IdentifierName$0 = $TR($EXPECT($R16, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
9011
9119
|
return {
|
|
9012
9120
|
type: "Identifier",
|
|
9013
9121
|
name: $0,
|
|
@@ -9029,7 +9137,7 @@ var require_parser = __commonJS({
|
|
|
9029
9137
|
function UpcomingAssignment(ctx, state) {
|
|
9030
9138
|
return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
|
|
9031
9139
|
}
|
|
9032
|
-
var ArrayLiteral$0 = $T($S($EXPECT($
|
|
9140
|
+
var ArrayLiteral$0 = $T($S($EXPECT($R17, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
|
|
9033
9141
|
return value[1];
|
|
9034
9142
|
});
|
|
9035
9143
|
function ArrayLiteral(ctx, state) {
|
|
@@ -9130,8 +9238,26 @@ var require_parser = __commonJS({
|
|
|
9130
9238
|
end: e
|
|
9131
9239
|
};
|
|
9132
9240
|
});
|
|
9241
|
+
var RangeExpression$1 = $TS($S(ExtendedExpression, __, DotDot, $Y($S(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9242
|
+
var s = $1;
|
|
9243
|
+
var ws = $2;
|
|
9244
|
+
return {
|
|
9245
|
+
type: "RangeExpression",
|
|
9246
|
+
children: ["[]", {
|
|
9247
|
+
type: "Error",
|
|
9248
|
+
message: "Infinite range [x..] is only valid in for loops"
|
|
9249
|
+
}],
|
|
9250
|
+
start: s,
|
|
9251
|
+
end: {
|
|
9252
|
+
type: "Identifier",
|
|
9253
|
+
name: "Infinity",
|
|
9254
|
+
children: ["Infinity"]
|
|
9255
|
+
}
|
|
9256
|
+
};
|
|
9257
|
+
});
|
|
9258
|
+
var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
|
|
9133
9259
|
function RangeExpression(ctx, state) {
|
|
9134
|
-
return $
|
|
9260
|
+
return $EVENT_C(ctx, state, "RangeExpression", RangeExpression$$);
|
|
9135
9261
|
}
|
|
9136
9262
|
var ArrayLiteralContent$0 = RangeExpression;
|
|
9137
9263
|
var ArrayLiteralContent$1 = $S(NestedElementList, $Y($S(__, CloseBracket)));
|
|
@@ -9227,7 +9353,7 @@ var require_parser = __commonJS({
|
|
|
9227
9353
|
var ArrayElementExpression$1 = $T($S(ImplicitObjectLiteral, $Y(ArrayElementDelimiter)), function(value) {
|
|
9228
9354
|
return value[0];
|
|
9229
9355
|
});
|
|
9230
|
-
var ArrayElementExpression$2 = $TS($S($E(
|
|
9356
|
+
var ArrayElementExpression$2 = $TS($S(ExtendedExpression, $E(_), DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9231
9357
|
var exp = $1;
|
|
9232
9358
|
var ws = $2;
|
|
9233
9359
|
var dots = $3;
|
|
@@ -9236,7 +9362,7 @@ var require_parser = __commonJS({
|
|
|
9236
9362
|
}
|
|
9237
9363
|
return {
|
|
9238
9364
|
type: "SpreadElement",
|
|
9239
|
-
children: [
|
|
9365
|
+
children: [ws, dots, exp],
|
|
9240
9366
|
names: exp.names
|
|
9241
9367
|
};
|
|
9242
9368
|
});
|
|
@@ -9453,7 +9579,7 @@ var require_parser = __commonJS({
|
|
|
9453
9579
|
children: [ws, ...prop.children]
|
|
9454
9580
|
};
|
|
9455
9581
|
});
|
|
9456
|
-
var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($
|
|
9582
|
+
var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R18, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9457
9583
|
var ws = $1;
|
|
9458
9584
|
var toggle = $2;
|
|
9459
9585
|
var id = $3;
|
|
@@ -9638,7 +9764,7 @@ var require_parser = __commonJS({
|
|
|
9638
9764
|
implicit: true
|
|
9639
9765
|
};
|
|
9640
9766
|
});
|
|
9641
|
-
var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($
|
|
9767
|
+
var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R10, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9642
9768
|
const expression = [$2, $3];
|
|
9643
9769
|
return {
|
|
9644
9770
|
type: "ComputedPropertyName",
|
|
@@ -9647,7 +9773,18 @@ var require_parser = __commonJS({
|
|
|
9647
9773
|
implicit: true
|
|
9648
9774
|
};
|
|
9649
9775
|
});
|
|
9650
|
-
var ComputedPropertyName
|
|
9776
|
+
var ComputedPropertyName$3 = $TS($S(InsertOpenBracket, PartialPlaceholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
|
|
9777
|
+
var open = $1;
|
|
9778
|
+
var expression = $2;
|
|
9779
|
+
var close = $3;
|
|
9780
|
+
return {
|
|
9781
|
+
type: "ComputedPropertyName",
|
|
9782
|
+
expression,
|
|
9783
|
+
children: [open, expression, close],
|
|
9784
|
+
implicit: true
|
|
9785
|
+
};
|
|
9786
|
+
});
|
|
9787
|
+
var ComputedPropertyName$$ = [ComputedPropertyName$0, ComputedPropertyName$1, ComputedPropertyName$2, ComputedPropertyName$3];
|
|
9651
9788
|
function ComputedPropertyName(ctx, state) {
|
|
9652
9789
|
return $EVENT_C(ctx, state, "ComputedPropertyName", ComputedPropertyName$$);
|
|
9653
9790
|
}
|
|
@@ -10017,7 +10154,7 @@ var require_parser = __commonJS({
|
|
|
10017
10154
|
function IdentifierBinaryOp(ctx, state) {
|
|
10018
10155
|
return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
|
|
10019
10156
|
}
|
|
10020
|
-
var BinaryOp$0 = $T($S($EXPECT($
|
|
10157
|
+
var BinaryOp$0 = $T($S($EXPECT($R19, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
|
|
10021
10158
|
var op = value[1];
|
|
10022
10159
|
return op;
|
|
10023
10160
|
});
|
|
@@ -10152,7 +10289,7 @@ var require_parser = __commonJS({
|
|
|
10152
10289
|
prec: "^^"
|
|
10153
10290
|
};
|
|
10154
10291
|
});
|
|
10155
|
-
var BinaryOpSymbol$35 = $TV($C($EXPECT($
|
|
10292
|
+
var BinaryOpSymbol$35 = $TV($C($EXPECT($R20, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L101, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
|
|
10156
10293
|
return {
|
|
10157
10294
|
call: module.getRef("xnor"),
|
|
10158
10295
|
special: true,
|
|
@@ -10246,6 +10383,16 @@ var require_parser = __commonJS({
|
|
|
10246
10383
|
function BinaryOpSymbol(ctx, state) {
|
|
10247
10384
|
return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
|
|
10248
10385
|
}
|
|
10386
|
+
var ActualIn$0 = $T($S(CoffeeOfEnabled, Of), function(value) {
|
|
10387
|
+
return value[1];
|
|
10388
|
+
});
|
|
10389
|
+
var ActualIn$1 = $T($S($N(CoffeeOfEnabled), In), function(value) {
|
|
10390
|
+
return value[1];
|
|
10391
|
+
});
|
|
10392
|
+
var ActualIn$$ = [ActualIn$0, ActualIn$1];
|
|
10393
|
+
function ActualIn(ctx, state) {
|
|
10394
|
+
return $EVENT_C(ctx, state, "ActualIn", ActualIn$$);
|
|
10395
|
+
}
|
|
10249
10396
|
var CoffeeOfOp$0 = $T($S(Of), function(value) {
|
|
10250
10397
|
return "in";
|
|
10251
10398
|
});
|
|
@@ -10306,24 +10453,24 @@ var require_parser = __commonJS({
|
|
|
10306
10453
|
function Xor(ctx, state) {
|
|
10307
10454
|
return $EVENT_C(ctx, state, "Xor", Xor$$);
|
|
10308
10455
|
}
|
|
10309
|
-
var Xnor$0 = $R$0($EXPECT($
|
|
10456
|
+
var Xnor$0 = $R$0($EXPECT($R20, "Xnor /!\\^\\^?/"));
|
|
10310
10457
|
var Xnor$1 = $EXPECT($L101, 'Xnor "xnor"');
|
|
10311
10458
|
var Xnor$$ = [Xnor$0, Xnor$1];
|
|
10312
10459
|
function Xnor(ctx, state) {
|
|
10313
10460
|
return $EVENT_C(ctx, state, "Xnor", Xnor$$);
|
|
10314
10461
|
}
|
|
10315
|
-
var UnaryOp$0 = $TR($EXPECT($
|
|
10462
|
+
var UnaryOp$0 = $TR($EXPECT($R21, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
10316
10463
|
return { $loc, token: $0 };
|
|
10317
10464
|
});
|
|
10318
10465
|
var UnaryOp$1 = AwaitOp;
|
|
10319
|
-
var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($
|
|
10466
|
+
var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R22, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
|
|
10320
10467
|
var op = $1;
|
|
10321
10468
|
var ws = $3;
|
|
10322
10469
|
if (!ws)
|
|
10323
10470
|
return [op, [" "]];
|
|
10324
10471
|
return [op, ws];
|
|
10325
10472
|
});
|
|
10326
|
-
var UnaryOp$3 = $T($S(Not, $N($EXPECT($
|
|
10473
|
+
var UnaryOp$3 = $T($S(Not, $N($EXPECT($R22, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
|
|
10327
10474
|
return [value[0], value[3]];
|
|
10328
10475
|
});
|
|
10329
10476
|
var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
|
|
@@ -10418,7 +10565,7 @@ var require_parser = __commonJS({
|
|
|
10418
10565
|
function NonPipelinePostfixedExpression(ctx, state) {
|
|
10419
10566
|
return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
|
|
10420
10567
|
}
|
|
10421
|
-
var PostfixStatement$0 = $T($S($EXPECT($
|
|
10568
|
+
var PostfixStatement$0 = $T($S($EXPECT($R23, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
|
|
10422
10569
|
return value[1];
|
|
10423
10570
|
});
|
|
10424
10571
|
function PostfixStatement(ctx, state) {
|
|
@@ -10551,7 +10698,7 @@ var require_parser = __commonJS({
|
|
|
10551
10698
|
function UnlessClause(ctx, state) {
|
|
10552
10699
|
return $EVENT(ctx, state, "UnlessClause", UnlessClause$0);
|
|
10553
10700
|
}
|
|
10554
|
-
var IterationStatement$0 = $T($S($EXPECT($
|
|
10701
|
+
var IterationStatement$0 = $T($S($EXPECT($R24, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
|
|
10555
10702
|
return value[1];
|
|
10556
10703
|
});
|
|
10557
10704
|
function IterationStatement(ctx, state) {
|
|
@@ -10904,7 +11051,7 @@ var require_parser = __commonJS({
|
|
|
10904
11051
|
names: binding.names
|
|
10905
11052
|
};
|
|
10906
11053
|
});
|
|
10907
|
-
var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($
|
|
11054
|
+
var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R25, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
|
|
10908
11055
|
var c = $1;
|
|
10909
11056
|
var binding = $2;
|
|
10910
11057
|
return {
|
|
@@ -11733,7 +11880,7 @@ var require_parser = __commonJS({
|
|
|
11733
11880
|
function UnprocessedModuleSpecifier(ctx, state) {
|
|
11734
11881
|
return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
|
|
11735
11882
|
}
|
|
11736
|
-
var UnquotedSpecifier$0 = $TV($EXPECT($
|
|
11883
|
+
var UnquotedSpecifier$0 = $TV($EXPECT($R26, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
|
|
11737
11884
|
var spec = $0;
|
|
11738
11885
|
return { $loc, token: `"${spec}"` };
|
|
11739
11886
|
});
|
|
@@ -11986,7 +12133,7 @@ var require_parser = __commonJS({
|
|
|
11986
12133
|
function VariableDeclarationList(ctx, state) {
|
|
11987
12134
|
return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
|
|
11988
12135
|
}
|
|
11989
|
-
var NumericLiteral$0 = $TS($S($EXPECT($
|
|
12136
|
+
var NumericLiteral$0 = $TS($S($EXPECT($R27, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
11990
12137
|
var token = $2;
|
|
11991
12138
|
return { type: "NumericLiteral", $loc, token };
|
|
11992
12139
|
});
|
|
@@ -12002,36 +12149,36 @@ var require_parser = __commonJS({
|
|
|
12002
12149
|
function NumericLiteralKind(ctx, state) {
|
|
12003
12150
|
return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
|
|
12004
12151
|
}
|
|
12005
|
-
var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($
|
|
12152
|
+
var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R28, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
|
|
12006
12153
|
function DecimalBigIntegerLiteral(ctx, state) {
|
|
12007
12154
|
return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
|
|
12008
12155
|
}
|
|
12009
|
-
var DecimalLiteral$0 = $TV($TEXT($EXPECT($
|
|
12156
|
+
var DecimalLiteral$0 = $TV($TEXT($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
|
|
12010
12157
|
return $1 + ".";
|
|
12011
12158
|
});
|
|
12012
|
-
var DecimalLiteral$1 = $TEXT($S($EXPECT($
|
|
12013
|
-
var DecimalLiteral$2 = $TEXT($S($EXPECT($
|
|
12159
|
+
var DecimalLiteral$1 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
|
|
12160
|
+
var DecimalLiteral$2 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
|
|
12014
12161
|
var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
|
|
12015
12162
|
function DecimalLiteral(ctx, state) {
|
|
12016
12163
|
return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
|
|
12017
12164
|
}
|
|
12018
|
-
var ExponentPart$0 = $R$0($EXPECT($
|
|
12165
|
+
var ExponentPart$0 = $R$0($EXPECT($R32, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
|
|
12019
12166
|
function ExponentPart(ctx, state) {
|
|
12020
12167
|
return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
|
|
12021
12168
|
}
|
|
12022
|
-
var BinaryIntegerLiteral$0 = $R$0($EXPECT($
|
|
12169
|
+
var BinaryIntegerLiteral$0 = $R$0($EXPECT($R33, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
|
|
12023
12170
|
function BinaryIntegerLiteral(ctx, state) {
|
|
12024
12171
|
return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
|
|
12025
12172
|
}
|
|
12026
|
-
var OctalIntegerLiteral$0 = $R$0($EXPECT($
|
|
12173
|
+
var OctalIntegerLiteral$0 = $R$0($EXPECT($R34, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
|
|
12027
12174
|
function OctalIntegerLiteral(ctx, state) {
|
|
12028
12175
|
return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
|
|
12029
12176
|
}
|
|
12030
|
-
var HexIntegerLiteral$0 = $R$0($EXPECT($
|
|
12177
|
+
var HexIntegerLiteral$0 = $R$0($EXPECT($R35, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
|
|
12031
12178
|
function HexIntegerLiteral(ctx, state) {
|
|
12032
12179
|
return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
|
|
12033
12180
|
}
|
|
12034
|
-
var IntegerLiteral$0 = $TS($S($EXPECT($
|
|
12181
|
+
var IntegerLiteral$0 = $TS($S($EXPECT($R36, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
12035
12182
|
var token = $2;
|
|
12036
12183
|
return { $loc, token };
|
|
12037
12184
|
});
|
|
@@ -12047,7 +12194,7 @@ var require_parser = __commonJS({
|
|
|
12047
12194
|
function IntegerLiteralKind(ctx, state) {
|
|
12048
12195
|
return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
|
|
12049
12196
|
}
|
|
12050
|
-
var DecimalIntegerLiteral$0 = $R$0($EXPECT($
|
|
12197
|
+
var DecimalIntegerLiteral$0 = $R$0($EXPECT($R37, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
|
|
12051
12198
|
function DecimalIntegerLiteral(ctx, state) {
|
|
12052
12199
|
return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
|
|
12053
12200
|
}
|
|
@@ -12071,25 +12218,25 @@ var require_parser = __commonJS({
|
|
|
12071
12218
|
function StringLiteral(ctx, state) {
|
|
12072
12219
|
return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
|
|
12073
12220
|
}
|
|
12074
|
-
var DoubleStringCharacters$0 = $TR($EXPECT($
|
|
12221
|
+
var DoubleStringCharacters$0 = $TR($EXPECT($R38, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12075
12222
|
return { $loc, token: $0 };
|
|
12076
12223
|
});
|
|
12077
12224
|
function DoubleStringCharacters(ctx, state) {
|
|
12078
12225
|
return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
|
|
12079
12226
|
}
|
|
12080
|
-
var SingleStringCharacters$0 = $TR($EXPECT($
|
|
12227
|
+
var SingleStringCharacters$0 = $TR($EXPECT($R39, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12081
12228
|
return { $loc, token: $0 };
|
|
12082
12229
|
});
|
|
12083
12230
|
function SingleStringCharacters(ctx, state) {
|
|
12084
12231
|
return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
|
|
12085
12232
|
}
|
|
12086
|
-
var TripleDoubleStringCharacters$0 = $TR($EXPECT($
|
|
12233
|
+
var TripleDoubleStringCharacters$0 = $TR($EXPECT($R40, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12087
12234
|
return { $loc, token: $0 };
|
|
12088
12235
|
});
|
|
12089
12236
|
function TripleDoubleStringCharacters(ctx, state) {
|
|
12090
12237
|
return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
|
|
12091
12238
|
}
|
|
12092
|
-
var TripleSingleStringCharacters$0 = $TR($EXPECT($
|
|
12239
|
+
var TripleSingleStringCharacters$0 = $TR($EXPECT($R41, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12093
12240
|
return { $loc, token: $0 };
|
|
12094
12241
|
});
|
|
12095
12242
|
function TripleSingleStringCharacters(ctx, state) {
|
|
@@ -12112,7 +12259,7 @@ var require_parser = __commonJS({
|
|
|
12112
12259
|
function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
|
|
12113
12260
|
return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
|
|
12114
12261
|
}
|
|
12115
|
-
var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($
|
|
12262
|
+
var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R42, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12116
12263
|
return { $loc, token: $0 };
|
|
12117
12264
|
});
|
|
12118
12265
|
function CoffeeDoubleQuotedStringCharacters(ctx, state) {
|
|
@@ -12132,7 +12279,7 @@ var require_parser = __commonJS({
|
|
|
12132
12279
|
function RegularExpressionClass(ctx, state) {
|
|
12133
12280
|
return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
|
|
12134
12281
|
}
|
|
12135
|
-
var RegularExpressionClassCharacters$0 = $TR($EXPECT($
|
|
12282
|
+
var RegularExpressionClassCharacters$0 = $TR($EXPECT($R43, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12136
12283
|
return { $loc, token: $0 };
|
|
12137
12284
|
});
|
|
12138
12285
|
function RegularExpressionClassCharacters(ctx, state) {
|
|
@@ -12189,7 +12336,7 @@ var require_parser = __commonJS({
|
|
|
12189
12336
|
var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
|
|
12190
12337
|
return { "type": "Substitution", "children": value[0] };
|
|
12191
12338
|
});
|
|
12192
|
-
var HeregexPart$3 = $TR($EXPECT($
|
|
12339
|
+
var HeregexPart$3 = $TR($EXPECT($R44, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12193
12340
|
let token = $0;
|
|
12194
12341
|
switch ($0[1]) {
|
|
12195
12342
|
case "\n":
|
|
@@ -12207,13 +12354,13 @@ var require_parser = __commonJS({
|
|
|
12207
12354
|
var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
|
|
12208
12355
|
return { $loc, token: "" };
|
|
12209
12356
|
});
|
|
12210
|
-
var HeregexPart$5 = $TR($EXPECT($
|
|
12357
|
+
var HeregexPart$5 = $TR($EXPECT($R45, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12211
12358
|
return { $loc, token: "" };
|
|
12212
12359
|
});
|
|
12213
|
-
var HeregexPart$6 = $TR($EXPECT($
|
|
12360
|
+
var HeregexPart$6 = $TR($EXPECT($R46, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12214
12361
|
return { $loc, token: "\\/" };
|
|
12215
12362
|
});
|
|
12216
|
-
var HeregexPart$7 = $TR($EXPECT($
|
|
12363
|
+
var HeregexPart$7 = $TR($EXPECT($R47, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12217
12364
|
return { $loc, token: $0 };
|
|
12218
12365
|
});
|
|
12219
12366
|
var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
|
|
@@ -12226,7 +12373,7 @@ var require_parser = __commonJS({
|
|
|
12226
12373
|
function HeregexComment(ctx, state) {
|
|
12227
12374
|
return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
|
|
12228
12375
|
}
|
|
12229
|
-
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($
|
|
12376
|
+
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R48, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
|
|
12230
12377
|
function RegularExpressionBody(ctx, state) {
|
|
12231
12378
|
return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
|
|
12232
12379
|
}
|
|
@@ -12236,15 +12383,15 @@ var require_parser = __commonJS({
|
|
|
12236
12383
|
function RegExpPart(ctx, state) {
|
|
12237
12384
|
return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
|
|
12238
12385
|
}
|
|
12239
|
-
var RegExpCharacter$0 = $R$0($EXPECT($
|
|
12386
|
+
var RegExpCharacter$0 = $R$0($EXPECT($R49, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
|
|
12240
12387
|
function RegExpCharacter(ctx, state) {
|
|
12241
12388
|
return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
|
|
12242
12389
|
}
|
|
12243
|
-
var RegularExpressionFlags$0 = $R$0($EXPECT($
|
|
12390
|
+
var RegularExpressionFlags$0 = $R$0($EXPECT($R50, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
12244
12391
|
function RegularExpressionFlags(ctx, state) {
|
|
12245
12392
|
return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
|
|
12246
12393
|
}
|
|
12247
|
-
var TemplateLiteral$0 = $T($S($EXPECT($
|
|
12394
|
+
var TemplateLiteral$0 = $T($S($EXPECT($R51, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
|
|
12248
12395
|
return value[1];
|
|
12249
12396
|
});
|
|
12250
12397
|
function TemplateLiteral(ctx, state) {
|
|
@@ -12284,28 +12431,28 @@ var require_parser = __commonJS({
|
|
|
12284
12431
|
function TemplateSubstitution(ctx, state) {
|
|
12285
12432
|
return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
|
|
12286
12433
|
}
|
|
12287
|
-
var TemplateCharacters$0 = $TR($EXPECT($
|
|
12434
|
+
var TemplateCharacters$0 = $TR($EXPECT($R52, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12288
12435
|
return { $loc, token: $0 };
|
|
12289
12436
|
});
|
|
12290
12437
|
function TemplateCharacters(ctx, state) {
|
|
12291
12438
|
return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
|
|
12292
12439
|
}
|
|
12293
|
-
var TemplateBlockCharacters$0 = $TR($EXPECT($
|
|
12440
|
+
var TemplateBlockCharacters$0 = $TR($EXPECT($R53, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12294
12441
|
return { $loc, token: $0 };
|
|
12295
12442
|
});
|
|
12296
12443
|
function TemplateBlockCharacters(ctx, state) {
|
|
12297
12444
|
return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
|
|
12298
12445
|
}
|
|
12299
|
-
var ReservedWord$0 = $S($R$0($EXPECT($
|
|
12300
|
-
var ReservedWord$1 = $S($R$0($EXPECT($
|
|
12301
|
-
var ReservedWord$2 = $S($R$0($EXPECT($
|
|
12302
|
-
var ReservedWord$3 = $S($R$0($EXPECT($
|
|
12303
|
-
var ReservedWord$4 = $R$0($EXPECT($
|
|
12446
|
+
var ReservedWord$0 = $S($R$0($EXPECT($R54, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
|
|
12447
|
+
var ReservedWord$1 = $S($R$0($EXPECT($R55, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
|
|
12448
|
+
var ReservedWord$2 = $S($R$0($EXPECT($R56, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
|
|
12449
|
+
var ReservedWord$3 = $S($R$0($EXPECT($R57, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
|
|
12450
|
+
var ReservedWord$4 = $R$0($EXPECT($R58, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
|
|
12304
12451
|
var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
|
|
12305
12452
|
function ReservedWord(ctx, state) {
|
|
12306
12453
|
return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
|
|
12307
12454
|
}
|
|
12308
|
-
var Comment$0 = $T($S($EXPECT($
|
|
12455
|
+
var Comment$0 = $T($S($EXPECT($R59, "Comment /(?=\\/|#)/"), _Comment), function(value) {
|
|
12309
12456
|
return value[1];
|
|
12310
12457
|
});
|
|
12311
12458
|
function Comment(ctx, state) {
|
|
@@ -12323,7 +12470,7 @@ var require_parser = __commonJS({
|
|
|
12323
12470
|
function SingleLineComment(ctx, state) {
|
|
12324
12471
|
return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
|
|
12325
12472
|
}
|
|
12326
|
-
var JSSingleLineComment$0 = $TR($EXPECT($
|
|
12473
|
+
var JSSingleLineComment$0 = $TR($EXPECT($R60, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12327
12474
|
return { type: "Comment", $loc, token: $0 };
|
|
12328
12475
|
});
|
|
12329
12476
|
function JSSingleLineComment(ctx, state) {
|
|
@@ -12335,30 +12482,30 @@ var require_parser = __commonJS({
|
|
|
12335
12482
|
function MultiLineComment(ctx, state) {
|
|
12336
12483
|
return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
|
|
12337
12484
|
}
|
|
12338
|
-
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($
|
|
12485
|
+
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($R61, "JSMultiLineComment /./"))), $EXPECT($L124, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
12339
12486
|
return { type: "Comment", $loc, token: $1 };
|
|
12340
12487
|
});
|
|
12341
12488
|
function JSMultiLineComment(ctx, state) {
|
|
12342
12489
|
return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
|
|
12343
12490
|
}
|
|
12344
|
-
var CoffeeSingleLineComment$0 = $TR($EXPECT($
|
|
12491
|
+
var CoffeeSingleLineComment$0 = $TR($EXPECT($R62, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12345
12492
|
return { type: "Comment", $loc, token: `//${$1}` };
|
|
12346
12493
|
});
|
|
12347
12494
|
function CoffeeSingleLineComment(ctx, state) {
|
|
12348
12495
|
return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
|
|
12349
12496
|
}
|
|
12350
|
-
var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($
|
|
12497
|
+
var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R63, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
|
|
12351
12498
|
$2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
|
|
12352
12499
|
return { type: "Comment", $loc, token: `/*${$2}*/` };
|
|
12353
12500
|
});
|
|
12354
12501
|
function CoffeeMultiLineComment(ctx, state) {
|
|
12355
12502
|
return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
|
|
12356
12503
|
}
|
|
12357
|
-
var CoffeeHereCommentStart$0 = $R$0($EXPECT($
|
|
12504
|
+
var CoffeeHereCommentStart$0 = $R$0($EXPECT($R64, "CoffeeHereCommentStart /###(?!#)/"));
|
|
12358
12505
|
function CoffeeHereCommentStart(ctx, state) {
|
|
12359
12506
|
return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
|
|
12360
12507
|
}
|
|
12361
|
-
var InlineComment$0 = $TR($EXPECT($
|
|
12508
|
+
var InlineComment$0 = $TR($EXPECT($R65, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12362
12509
|
return { $loc, token: $0 };
|
|
12363
12510
|
});
|
|
12364
12511
|
function InlineComment(ctx, state) {
|
|
@@ -12372,13 +12519,13 @@ var require_parser = __commonJS({
|
|
|
12372
12519
|
function TrailingComment(ctx, state) {
|
|
12373
12520
|
return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
|
|
12374
12521
|
}
|
|
12375
|
-
var _$0 = $T($S($EXPECT($
|
|
12522
|
+
var _$0 = $T($S($EXPECT($R66, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
|
|
12376
12523
|
return value[1];
|
|
12377
12524
|
});
|
|
12378
12525
|
function _(ctx, state) {
|
|
12379
12526
|
return $EVENT(ctx, state, "_", _$0);
|
|
12380
12527
|
}
|
|
12381
|
-
var NonNewlineWhitespace$0 = $TR($EXPECT($
|
|
12528
|
+
var NonNewlineWhitespace$0 = $TR($EXPECT($R67, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12382
12529
|
return { $loc, token: $0 };
|
|
12383
12530
|
});
|
|
12384
12531
|
var NonNewlineWhitespace$1 = $T($S($EXPECT($L125, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
|
|
@@ -12395,7 +12542,7 @@ var require_parser = __commonJS({
|
|
|
12395
12542
|
function Trimmed_(ctx, state) {
|
|
12396
12543
|
return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
|
|
12397
12544
|
}
|
|
12398
|
-
var __$0 = $T($S($EXPECT($
|
|
12545
|
+
var __$0 = $T($S($EXPECT($R68, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
|
|
12399
12546
|
return value[1];
|
|
12400
12547
|
});
|
|
12401
12548
|
var __$1 = $EXPECT($L0, '__ ""');
|
|
@@ -12403,7 +12550,7 @@ var require_parser = __commonJS({
|
|
|
12403
12550
|
function __(ctx, state) {
|
|
12404
12551
|
return $EVENT_C(ctx, state, "__", __$$);
|
|
12405
12552
|
}
|
|
12406
|
-
var Whitespace$0 = $TR($EXPECT($
|
|
12553
|
+
var Whitespace$0 = $TR($EXPECT($R45, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12407
12554
|
return { $loc, token: $0 };
|
|
12408
12555
|
});
|
|
12409
12556
|
function Whitespace(ctx, state) {
|
|
@@ -12441,7 +12588,7 @@ var require_parser = __commonJS({
|
|
|
12441
12588
|
function SemicolonDelimiter(ctx, state) {
|
|
12442
12589
|
return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
|
|
12443
12590
|
}
|
|
12444
|
-
var NonIdContinue$0 = $R$0($EXPECT($
|
|
12591
|
+
var NonIdContinue$0 = $R$0($EXPECT($R69, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
12445
12592
|
function NonIdContinue(ctx, state) {
|
|
12446
12593
|
return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
|
|
12447
12594
|
}
|
|
@@ -12559,7 +12706,7 @@ var require_parser = __commonJS({
|
|
|
12559
12706
|
function CoffeeSubstitutionStart(ctx, state) {
|
|
12560
12707
|
return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
|
|
12561
12708
|
}
|
|
12562
|
-
var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($
|
|
12709
|
+
var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R70, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
|
|
12563
12710
|
return { $loc, token: $1 };
|
|
12564
12711
|
});
|
|
12565
12712
|
function Colon(ctx, state) {
|
|
@@ -12604,7 +12751,7 @@ var require_parser = __commonJS({
|
|
|
12604
12751
|
var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
|
|
12605
12752
|
return { $loc, token: $1 };
|
|
12606
12753
|
});
|
|
12607
|
-
var Dot$1 = $TS($S($EXPECT($
|
|
12754
|
+
var Dot$1 = $TS($S($EXPECT($R71, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
|
|
12608
12755
|
var ws = $2;
|
|
12609
12756
|
return [
|
|
12610
12757
|
{ $loc, token: "." },
|
|
@@ -12725,7 +12872,7 @@ var require_parser = __commonJS({
|
|
|
12725
12872
|
function If(ctx, state) {
|
|
12726
12873
|
return $EVENT(ctx, state, "If", If$0);
|
|
12727
12874
|
}
|
|
12728
|
-
var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($
|
|
12875
|
+
var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R72, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
|
|
12729
12876
|
return { $loc, token: $1 };
|
|
12730
12877
|
});
|
|
12731
12878
|
function Import(ctx, state) {
|
|
@@ -12994,49 +13141,55 @@ var require_parser = __commonJS({
|
|
|
12994
13141
|
function Typeof(ctx, state) {
|
|
12995
13142
|
return $EVENT(ctx, state, "Typeof", Typeof$0);
|
|
12996
13143
|
}
|
|
12997
|
-
var
|
|
13144
|
+
var Undefined$0 = $TS($S($EXPECT($L202, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13145
|
+
return { $loc, token: $1 };
|
|
13146
|
+
});
|
|
13147
|
+
function Undefined(ctx, state) {
|
|
13148
|
+
return $EVENT(ctx, state, "Undefined", Undefined$0);
|
|
13149
|
+
}
|
|
13150
|
+
var Unless$0 = $TS($S($EXPECT($L203, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
12998
13151
|
return { $loc, token: $1, negated: true };
|
|
12999
13152
|
});
|
|
13000
13153
|
function Unless(ctx, state) {
|
|
13001
13154
|
return $EVENT(ctx, state, "Unless", Unless$0);
|
|
13002
13155
|
}
|
|
13003
|
-
var Until$0 = $TS($S($EXPECT($
|
|
13156
|
+
var Until$0 = $TS($S($EXPECT($L204, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13004
13157
|
return { $loc, token: $1 };
|
|
13005
13158
|
});
|
|
13006
13159
|
function Until(ctx, state) {
|
|
13007
13160
|
return $EVENT(ctx, state, "Until", Until$0);
|
|
13008
13161
|
}
|
|
13009
|
-
var Using$0 = $TS($S($EXPECT($
|
|
13162
|
+
var Using$0 = $TS($S($EXPECT($L205, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13010
13163
|
return { $loc, token: $1 };
|
|
13011
13164
|
});
|
|
13012
13165
|
function Using(ctx, state) {
|
|
13013
13166
|
return $EVENT(ctx, state, "Using", Using$0);
|
|
13014
13167
|
}
|
|
13015
|
-
var Var$0 = $TS($S($EXPECT($
|
|
13168
|
+
var Var$0 = $TS($S($EXPECT($L206, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13016
13169
|
return { $loc, token: $1 };
|
|
13017
13170
|
});
|
|
13018
13171
|
function Var(ctx, state) {
|
|
13019
13172
|
return $EVENT(ctx, state, "Var", Var$0);
|
|
13020
13173
|
}
|
|
13021
|
-
var Void$0 = $TS($S($EXPECT($
|
|
13174
|
+
var Void$0 = $TS($S($EXPECT($L207, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13022
13175
|
return { $loc, token: $1 };
|
|
13023
13176
|
});
|
|
13024
13177
|
function Void(ctx, state) {
|
|
13025
13178
|
return $EVENT(ctx, state, "Void", Void$0);
|
|
13026
13179
|
}
|
|
13027
|
-
var When$0 = $TS($S($EXPECT($
|
|
13180
|
+
var When$0 = $TS($S($EXPECT($L208, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13028
13181
|
return { $loc, token: "case" };
|
|
13029
13182
|
});
|
|
13030
13183
|
function When(ctx, state) {
|
|
13031
13184
|
return $EVENT(ctx, state, "When", When$0);
|
|
13032
13185
|
}
|
|
13033
|
-
var While$0 = $TS($S($EXPECT($
|
|
13186
|
+
var While$0 = $TS($S($EXPECT($L209, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13034
13187
|
return { $loc, token: $1 };
|
|
13035
13188
|
});
|
|
13036
13189
|
function While(ctx, state) {
|
|
13037
13190
|
return $EVENT(ctx, state, "While", While$0);
|
|
13038
13191
|
}
|
|
13039
|
-
var Yield$0 = $TS($S($EXPECT($
|
|
13192
|
+
var Yield$0 = $TS($S($EXPECT($L210, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13040
13193
|
return { $loc, token: $1, type: "Yield" };
|
|
13041
13194
|
});
|
|
13042
13195
|
function Yield(ctx, state) {
|
|
@@ -13065,7 +13218,7 @@ var require_parser = __commonJS({
|
|
|
13065
13218
|
function JSXImplicitFragment(ctx, state) {
|
|
13066
13219
|
return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
|
|
13067
13220
|
}
|
|
13068
|
-
var JSXTag$0 = $T($S($EXPECT($
|
|
13221
|
+
var JSXTag$0 = $T($S($EXPECT($R73, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
|
|
13069
13222
|
return value[1];
|
|
13070
13223
|
});
|
|
13071
13224
|
function JSXTag(ctx, state) {
|
|
@@ -13115,7 +13268,7 @@ var require_parser = __commonJS({
|
|
|
13115
13268
|
function JSXElement(ctx, state) {
|
|
13116
13269
|
return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
|
|
13117
13270
|
}
|
|
13118
|
-
var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($
|
|
13271
|
+
var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L211, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
13119
13272
|
return { type: "JSXElement", children: $0, tag: $2 };
|
|
13120
13273
|
});
|
|
13121
13274
|
function JSXSelfClosingElement(ctx, state) {
|
|
@@ -13149,7 +13302,7 @@ var require_parser = __commonJS({
|
|
|
13149
13302
|
function JSXOptionalClosingElement(ctx, state) {
|
|
13150
13303
|
return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
|
|
13151
13304
|
}
|
|
13152
|
-
var JSXClosingElement$0 = $S($EXPECT($
|
|
13305
|
+
var JSXClosingElement$0 = $S($EXPECT($L212, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
|
|
13153
13306
|
function JSXClosingElement(ctx, state) {
|
|
13154
13307
|
return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
|
|
13155
13308
|
}
|
|
@@ -13170,7 +13323,7 @@ var require_parser = __commonJS({
|
|
|
13170
13323
|
];
|
|
13171
13324
|
return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
|
|
13172
13325
|
});
|
|
13173
|
-
var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($
|
|
13326
|
+
var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L213, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
13174
13327
|
var children = $3;
|
|
13175
13328
|
$0 = $0.slice(1);
|
|
13176
13329
|
return {
|
|
@@ -13183,7 +13336,7 @@ var require_parser = __commonJS({
|
|
|
13183
13336
|
function JSXFragment(ctx, state) {
|
|
13184
13337
|
return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
|
|
13185
13338
|
}
|
|
13186
|
-
var PushJSXOpeningFragment$0 = $TV($EXPECT($
|
|
13339
|
+
var PushJSXOpeningFragment$0 = $TV($EXPECT($L213, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
|
|
13187
13340
|
module.JSXTagStack.push("");
|
|
13188
13341
|
return $1;
|
|
13189
13342
|
});
|
|
@@ -13200,7 +13353,7 @@ var require_parser = __commonJS({
|
|
|
13200
13353
|
function JSXOptionalClosingFragment(ctx, state) {
|
|
13201
13354
|
return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
|
|
13202
13355
|
}
|
|
13203
|
-
var JSXClosingFragment$0 = $EXPECT($
|
|
13356
|
+
var JSXClosingFragment$0 = $EXPECT($L214, 'JSXClosingFragment "</>"');
|
|
13204
13357
|
function JSXClosingFragment(ctx, state) {
|
|
13205
13358
|
return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
|
|
13206
13359
|
}
|
|
@@ -13212,7 +13365,7 @@ var require_parser = __commonJS({
|
|
|
13212
13365
|
function JSXElementName(ctx, state) {
|
|
13213
13366
|
return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
|
|
13214
13367
|
}
|
|
13215
|
-
var JSXIdentifierName$0 = $R$0($EXPECT($
|
|
13368
|
+
var JSXIdentifierName$0 = $R$0($EXPECT($R74, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
13216
13369
|
function JSXIdentifierName(ctx, state) {
|
|
13217
13370
|
return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
|
|
13218
13371
|
}
|
|
@@ -13391,7 +13544,7 @@ var require_parser = __commonJS({
|
|
|
13391
13544
|
class: $2
|
|
13392
13545
|
};
|
|
13393
13546
|
});
|
|
13394
|
-
var JSXAttribute$7 = $TS($S($TEXT($EXPECT($
|
|
13547
|
+
var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R75, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
|
|
13395
13548
|
var toggle = $1;
|
|
13396
13549
|
var id = $2;
|
|
13397
13550
|
const value = toggle === "+" ? "true" : "false";
|
|
@@ -13401,11 +13554,11 @@ var require_parser = __commonJS({
|
|
|
13401
13554
|
function JSXAttribute(ctx, state) {
|
|
13402
13555
|
return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
|
|
13403
13556
|
}
|
|
13404
|
-
var JSXAttributeSpace$0 = $R$0($EXPECT($
|
|
13557
|
+
var JSXAttributeSpace$0 = $R$0($EXPECT($R76, "JSXAttributeSpace /[\\s>]|\\/>/"));
|
|
13405
13558
|
function JSXAttributeSpace(ctx, state) {
|
|
13406
13559
|
return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
|
|
13407
13560
|
}
|
|
13408
|
-
var JSXShorthandString$0 = $TR($EXPECT($
|
|
13561
|
+
var JSXShorthandString$0 = $TR($EXPECT($R77, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13409
13562
|
return quoteString($0);
|
|
13410
13563
|
});
|
|
13411
13564
|
var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
|
|
@@ -13439,7 +13592,7 @@ var require_parser = __commonJS({
|
|
|
13439
13592
|
}
|
|
13440
13593
|
return [open, value, close];
|
|
13441
13594
|
});
|
|
13442
|
-
var JSXAttributeValue$4 = $R$0($EXPECT($
|
|
13595
|
+
var JSXAttributeValue$4 = $R$0($EXPECT($R78, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
|
|
13443
13596
|
var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
|
|
13444
13597
|
function JSXAttributeValue(ctx, state) {
|
|
13445
13598
|
return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
|
|
@@ -13452,7 +13605,7 @@ var require_parser = __commonJS({
|
|
|
13452
13605
|
function InlineJSXAttributeValue(ctx, state) {
|
|
13453
13606
|
return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
|
|
13454
13607
|
}
|
|
13455
|
-
var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($
|
|
13608
|
+
var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R79, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
|
|
13456
13609
|
var op = $2;
|
|
13457
13610
|
var rhs = $3;
|
|
13458
13611
|
return [[], op, [], rhs];
|
|
@@ -13469,7 +13622,7 @@ var require_parser = __commonJS({
|
|
|
13469
13622
|
function InlineJSXUnaryExpression(ctx, state) {
|
|
13470
13623
|
return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
|
|
13471
13624
|
}
|
|
13472
|
-
var InlineJSXUnaryOp$0 = $TR($EXPECT($
|
|
13625
|
+
var InlineJSXUnaryOp$0 = $TR($EXPECT($R80, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13473
13626
|
return { $loc, token: $0 };
|
|
13474
13627
|
});
|
|
13475
13628
|
function InlineJSXUnaryOp(ctx, state) {
|
|
@@ -13679,19 +13832,19 @@ var require_parser = __commonJS({
|
|
|
13679
13832
|
function JSXChild(ctx, state) {
|
|
13680
13833
|
return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
|
|
13681
13834
|
}
|
|
13682
|
-
var JSXComment$0 = $TS($S($EXPECT($
|
|
13835
|
+
var JSXComment$0 = $TS($S($EXPECT($L215, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L216, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
|
|
13683
13836
|
return ["{/*", $2, "*/}"];
|
|
13684
13837
|
});
|
|
13685
13838
|
function JSXComment(ctx, state) {
|
|
13686
13839
|
return $EVENT(ctx, state, "JSXComment", JSXComment$0);
|
|
13687
13840
|
}
|
|
13688
|
-
var JSXCommentContent$0 = $TR($EXPECT($
|
|
13841
|
+
var JSXCommentContent$0 = $TR($EXPECT($R81, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13689
13842
|
return { $loc, token: $0.replace(/\*\//g, "* /") };
|
|
13690
13843
|
});
|
|
13691
13844
|
function JSXCommentContent(ctx, state) {
|
|
13692
13845
|
return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
|
|
13693
13846
|
}
|
|
13694
|
-
var JSXText$0 = $TR($EXPECT($
|
|
13847
|
+
var JSXText$0 = $TR($EXPECT($R82, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13695
13848
|
return {
|
|
13696
13849
|
type: "JSXText",
|
|
13697
13850
|
token: $0,
|
|
@@ -13866,37 +14019,37 @@ var require_parser = __commonJS({
|
|
|
13866
14019
|
function InterfaceExtendsTarget(ctx, state) {
|
|
13867
14020
|
return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
|
|
13868
14021
|
}
|
|
13869
|
-
var TypeKeyword$0 = $TS($S($EXPECT($
|
|
14022
|
+
var TypeKeyword$0 = $TS($S($EXPECT($L217, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13870
14023
|
return { $loc, token: $1 };
|
|
13871
14024
|
});
|
|
13872
14025
|
function TypeKeyword(ctx, state) {
|
|
13873
14026
|
return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
|
|
13874
14027
|
}
|
|
13875
|
-
var Enum$0 = $TS($S($EXPECT($
|
|
14028
|
+
var Enum$0 = $TS($S($EXPECT($L218, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13876
14029
|
return { $loc, token: $1 };
|
|
13877
14030
|
});
|
|
13878
14031
|
function Enum(ctx, state) {
|
|
13879
14032
|
return $EVENT(ctx, state, "Enum", Enum$0);
|
|
13880
14033
|
}
|
|
13881
|
-
var Interface$0 = $TS($S($EXPECT($
|
|
14034
|
+
var Interface$0 = $TS($S($EXPECT($L219, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13882
14035
|
return { $loc, token: $1 };
|
|
13883
14036
|
});
|
|
13884
14037
|
function Interface(ctx, state) {
|
|
13885
14038
|
return $EVENT(ctx, state, "Interface", Interface$0);
|
|
13886
14039
|
}
|
|
13887
|
-
var Global$0 = $TS($S($EXPECT($
|
|
14040
|
+
var Global$0 = $TS($S($EXPECT($L220, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13888
14041
|
return { $loc, token: $1 };
|
|
13889
14042
|
});
|
|
13890
14043
|
function Global(ctx, state) {
|
|
13891
14044
|
return $EVENT(ctx, state, "Global", Global$0);
|
|
13892
14045
|
}
|
|
13893
|
-
var Module$0 = $TS($S($EXPECT($
|
|
14046
|
+
var Module$0 = $TS($S($EXPECT($L221, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13894
14047
|
return { $loc, token: $1 };
|
|
13895
14048
|
});
|
|
13896
14049
|
function Module(ctx, state) {
|
|
13897
14050
|
return $EVENT(ctx, state, "Module", Module$0);
|
|
13898
14051
|
}
|
|
13899
|
-
var Namespace$0 = $TS($S($EXPECT($
|
|
14052
|
+
var Namespace$0 = $TS($S($EXPECT($L222, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
13900
14053
|
return { $loc, token: $1 };
|
|
13901
14054
|
});
|
|
13902
14055
|
function Namespace(ctx, state) {
|
|
@@ -14112,7 +14265,7 @@ var require_parser = __commonJS({
|
|
|
14112
14265
|
function TypeProperty(ctx, state) {
|
|
14113
14266
|
return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
|
|
14114
14267
|
}
|
|
14115
|
-
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($
|
|
14268
|
+
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R83, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R10, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
|
|
14116
14269
|
function TypeIndexSignature(ctx, state) {
|
|
14117
14270
|
return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
|
|
14118
14271
|
}
|
|
@@ -14132,11 +14285,13 @@ var require_parser = __commonJS({
|
|
|
14132
14285
|
return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
|
|
14133
14286
|
});
|
|
14134
14287
|
var TypeSuffix$2 = $TS($S(NonNullAssertion, $E(_), $E($S(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
|
|
14288
|
+
var nonnull = $1;
|
|
14135
14289
|
var ct = $3;
|
|
14136
14290
|
const [colon, t] = ct ?? [];
|
|
14137
14291
|
return {
|
|
14138
14292
|
type: "TypeSuffix",
|
|
14139
14293
|
ts: true,
|
|
14294
|
+
nonnull,
|
|
14140
14295
|
t,
|
|
14141
14296
|
children: [$1, $2, colon, t]
|
|
14142
14297
|
};
|
|
@@ -14170,7 +14325,7 @@ var require_parser = __commonJS({
|
|
|
14170
14325
|
function ReturnTypeSuffix(ctx, state) {
|
|
14171
14326
|
return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
|
|
14172
14327
|
}
|
|
14173
|
-
var ReturnType$0 = $TS($S($E($S(__, $EXPECT($
|
|
14328
|
+
var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L223, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
|
|
14174
14329
|
var asserts = $1;
|
|
14175
14330
|
var t = $2;
|
|
14176
14331
|
if (asserts) {
|
|
@@ -14249,7 +14404,7 @@ var require_parser = __commonJS({
|
|
|
14249
14404
|
function TypeUnarySuffix(ctx, state) {
|
|
14250
14405
|
return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
|
|
14251
14406
|
}
|
|
14252
|
-
var TypeUnaryOp$0 = $S($EXPECT($
|
|
14407
|
+
var TypeUnaryOp$0 = $S($EXPECT($L224, 'TypeUnaryOp "keyof"'), NonIdContinue);
|
|
14253
14408
|
var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
|
|
14254
14409
|
var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
|
|
14255
14410
|
function TypeUnaryOp(ctx, state) {
|
|
@@ -14280,7 +14435,7 @@ var require_parser = __commonJS({
|
|
|
14280
14435
|
function TypeIndexedAccess(ctx, state) {
|
|
14281
14436
|
return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
|
|
14282
14437
|
}
|
|
14283
|
-
var UnknownAlias$0 = $TV($EXPECT($
|
|
14438
|
+
var UnknownAlias$0 = $TV($EXPECT($L225, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
|
|
14284
14439
|
return { $loc, token: "unknown" };
|
|
14285
14440
|
});
|
|
14286
14441
|
function UnknownAlias(ctx, state) {
|
|
@@ -14406,7 +14561,7 @@ var require_parser = __commonJS({
|
|
|
14406
14561
|
function NestedType(ctx, state) {
|
|
14407
14562
|
return $EVENT(ctx, state, "NestedType", NestedType$0);
|
|
14408
14563
|
}
|
|
14409
|
-
var TypeConditional$0 = $TS($S($E(_), $EXPECT($
|
|
14564
|
+
var TypeConditional$0 = $TS($S($E(_), $EXPECT($R84, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
|
|
14410
14565
|
return [$1, expressionizeTypeIf($3)];
|
|
14411
14566
|
});
|
|
14412
14567
|
var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
@@ -14486,17 +14641,17 @@ var require_parser = __commonJS({
|
|
|
14486
14641
|
}
|
|
14487
14642
|
var TypeLiteral$0 = TypeTemplateLiteral;
|
|
14488
14643
|
var TypeLiteral$1 = Literal;
|
|
14489
|
-
var TypeLiteral$2 = $TS($S($EXPECT($
|
|
14644
|
+
var TypeLiteral$2 = $TS($S($EXPECT($R10, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
|
|
14490
14645
|
var sign = $1;
|
|
14491
14646
|
var num = $2;
|
|
14492
14647
|
if (sign[0] === "+")
|
|
14493
14648
|
return num;
|
|
14494
14649
|
return $0;
|
|
14495
14650
|
});
|
|
14496
|
-
var TypeLiteral$3 = $TS($S($EXPECT($
|
|
14651
|
+
var TypeLiteral$3 = $TS($S($EXPECT($L207, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
14497
14652
|
return { type: "VoidType", $loc, token: $1 };
|
|
14498
14653
|
});
|
|
14499
|
-
var TypeLiteral$4 = $TV($EXPECT($
|
|
14654
|
+
var TypeLiteral$4 = $TV($EXPECT($L226, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
|
|
14500
14655
|
return { $loc, token: "[]" };
|
|
14501
14656
|
});
|
|
14502
14657
|
var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
|
|
@@ -14606,15 +14761,15 @@ var require_parser = __commonJS({
|
|
|
14606
14761
|
function ThisType(ctx, state) {
|
|
14607
14762
|
return $EVENT(ctx, state, "ThisType", ThisType$0);
|
|
14608
14763
|
}
|
|
14609
|
-
var Shebang$0 = $S($R$0($EXPECT($
|
|
14764
|
+
var Shebang$0 = $S($R$0($EXPECT($R85, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
14610
14765
|
function Shebang(ctx, state) {
|
|
14611
14766
|
return $EVENT(ctx, state, "Shebang", Shebang$0);
|
|
14612
14767
|
}
|
|
14613
|
-
var CivetPrologue$0 = $T($S($EXPECT($
|
|
14768
|
+
var CivetPrologue$0 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
|
|
14614
14769
|
var content = value[2];
|
|
14615
14770
|
return content;
|
|
14616
14771
|
});
|
|
14617
|
-
var CivetPrologue$1 = $T($S($EXPECT($
|
|
14772
|
+
var CivetPrologue$1 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
|
|
14618
14773
|
var content = value[2];
|
|
14619
14774
|
return content;
|
|
14620
14775
|
});
|
|
@@ -14622,7 +14777,7 @@ var require_parser = __commonJS({
|
|
|
14622
14777
|
function CivetPrologue(ctx, state) {
|
|
14623
14778
|
return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
|
|
14624
14779
|
}
|
|
14625
|
-
var CivetPrologueContent$0 = $TS($S($EXPECT($
|
|
14780
|
+
var CivetPrologueContent$0 = $TS($S($EXPECT($L227, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R88, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
14626
14781
|
var options = $3;
|
|
14627
14782
|
return {
|
|
14628
14783
|
type: "CivetPrologue",
|
|
@@ -14633,7 +14788,7 @@ var require_parser = __commonJS({
|
|
|
14633
14788
|
function CivetPrologueContent(ctx, state) {
|
|
14634
14789
|
return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
|
|
14635
14790
|
}
|
|
14636
|
-
var CivetOption$0 = $TR($EXPECT($
|
|
14791
|
+
var CivetOption$0 = $TR($EXPECT($R89, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14637
14792
|
const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
|
|
14638
14793
|
if (l)
|
|
14639
14794
|
return l.toUpperCase();
|
|
@@ -14650,11 +14805,11 @@ var require_parser = __commonJS({
|
|
|
14650
14805
|
function CivetOption(ctx, state) {
|
|
14651
14806
|
return $EVENT(ctx, state, "CivetOption", CivetOption$0);
|
|
14652
14807
|
}
|
|
14653
|
-
var UnknownPrologue$0 = $S($R$0($EXPECT($
|
|
14808
|
+
var UnknownPrologue$0 = $S($R$0($EXPECT($R86, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
|
|
14654
14809
|
function UnknownPrologue(ctx, state) {
|
|
14655
14810
|
return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
|
|
14656
14811
|
}
|
|
14657
|
-
var TripleSlashDirective$0 = $S($R$0($EXPECT($
|
|
14812
|
+
var TripleSlashDirective$0 = $S($R$0($EXPECT($R90, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
|
|
14658
14813
|
function TripleSlashDirective(ctx, state) {
|
|
14659
14814
|
return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
|
|
14660
14815
|
}
|
|
@@ -14670,13 +14825,13 @@ var require_parser = __commonJS({
|
|
|
14670
14825
|
function PrologueString(ctx, state) {
|
|
14671
14826
|
return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
|
|
14672
14827
|
}
|
|
14673
|
-
var EOS$0 = $T($S($EXPECT($
|
|
14828
|
+
var EOS$0 = $T($S($EXPECT($R91, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
|
|
14674
14829
|
return value[1];
|
|
14675
14830
|
});
|
|
14676
14831
|
function EOS(ctx, state) {
|
|
14677
14832
|
return $EVENT(ctx, state, "EOS", EOS$0);
|
|
14678
14833
|
}
|
|
14679
|
-
var EOL$0 = $TR($EXPECT($
|
|
14834
|
+
var EOL$0 = $TR($EXPECT($R92, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14680
14835
|
return { $loc, token: $0 };
|
|
14681
14836
|
});
|
|
14682
14837
|
function EOL(ctx, state) {
|
|
@@ -15248,11 +15403,11 @@ var require_parser = __commonJS({
|
|
|
15248
15403
|
function Prologue(ctx, state) {
|
|
15249
15404
|
return $EVENT(ctx, state, "Prologue", Prologue$0);
|
|
15250
15405
|
}
|
|
15251
|
-
var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($
|
|
15406
|
+
var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R93, "ProloguePrefix /[^]*/")));
|
|
15252
15407
|
function ProloguePrefix(ctx, state) {
|
|
15253
15408
|
return $EVENT(ctx, state, "ProloguePrefix", ProloguePrefix$0);
|
|
15254
15409
|
}
|
|
15255
|
-
var Indent$0 = $TR($EXPECT($
|
|
15410
|
+
var Indent$0 = $TR($EXPECT($R87, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15256
15411
|
const level = getIndentLevel($0, module.config.tab);
|
|
15257
15412
|
return {
|
|
15258
15413
|
$loc,
|
|
@@ -15400,11 +15555,11 @@ var require_parser = __commonJS({
|
|
|
15400
15555
|
exports.WRHS = WRHS;
|
|
15401
15556
|
exports.SingleLineBinaryOpRHS = SingleLineBinaryOpRHS;
|
|
15402
15557
|
exports.RHS = RHS;
|
|
15403
|
-
exports.ParenthesizedAssignment = ParenthesizedAssignment;
|
|
15404
15558
|
exports.UnaryExpression = UnaryExpression;
|
|
15405
15559
|
exports.UnaryWithoutParenthesizedAssignment = UnaryWithoutParenthesizedAssignment;
|
|
15406
15560
|
exports.UnaryBody = UnaryBody;
|
|
15407
15561
|
exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
|
|
15562
|
+
exports.ParenthesizedAssignment = ParenthesizedAssignment;
|
|
15408
15563
|
exports.UnaryPostfix = UnaryPostfix;
|
|
15409
15564
|
exports.TypePostfix = TypePostfix;
|
|
15410
15565
|
exports.Tuple = Tuple;
|
|
@@ -15432,6 +15587,7 @@ var require_parser = __commonJS({
|
|
|
15432
15587
|
exports.PipelineTailItem = PipelineTailItem;
|
|
15433
15588
|
exports.PrimaryExpression = PrimaryExpression;
|
|
15434
15589
|
exports.ParenthesizedExpression = ParenthesizedExpression;
|
|
15590
|
+
exports.PartialPlaceholder = PartialPlaceholder;
|
|
15435
15591
|
exports.ClassDeclaration = ClassDeclaration;
|
|
15436
15592
|
exports.ClassExpression = ClassExpression;
|
|
15437
15593
|
exports.ClassBinding = ClassBinding;
|
|
@@ -15476,6 +15632,7 @@ var require_parser = __commonJS({
|
|
|
15476
15632
|
exports.MemberBracketContent = MemberBracketContent;
|
|
15477
15633
|
exports.SliceParameters = SliceParameters;
|
|
15478
15634
|
exports.AccessStart = AccessStart;
|
|
15635
|
+
exports.ImplicitAccessStart = ImplicitAccessStart;
|
|
15479
15636
|
exports.PropertyAccessModifier = PropertyAccessModifier;
|
|
15480
15637
|
exports.PropertyAccess = PropertyAccess;
|
|
15481
15638
|
exports.PropertyGlob = PropertyGlob;
|
|
@@ -15610,6 +15767,7 @@ var require_parser = __commonJS({
|
|
|
15610
15767
|
exports.BinaryOp = BinaryOp;
|
|
15611
15768
|
exports._BinaryOp = _BinaryOp;
|
|
15612
15769
|
exports.BinaryOpSymbol = BinaryOpSymbol;
|
|
15770
|
+
exports.ActualIn = ActualIn;
|
|
15613
15771
|
exports.CoffeeOfOp = CoffeeOfOp;
|
|
15614
15772
|
exports.NotOp = NotOp;
|
|
15615
15773
|
exports.Xor = Xor;
|
|
@@ -15890,6 +16048,7 @@ var require_parser = __commonJS({
|
|
|
15890
16048
|
exports.TripleTick = TripleTick;
|
|
15891
16049
|
exports.Try = Try;
|
|
15892
16050
|
exports.Typeof = Typeof;
|
|
16051
|
+
exports.Undefined = Undefined;
|
|
15893
16052
|
exports.Unless = Unless;
|
|
15894
16053
|
exports.Until = Until;
|
|
15895
16054
|
exports.Using = Using;
|
|
@@ -16095,6 +16254,13 @@ var require_parser = __commonJS({
|
|
|
16095
16254
|
var import_parser = __toESM(require_parser());
|
|
16096
16255
|
|
|
16097
16256
|
// source/generate.civet
|
|
16257
|
+
function stringify(node) {
|
|
16258
|
+
try {
|
|
16259
|
+
return JSON.stringify(node);
|
|
16260
|
+
} catch (e) {
|
|
16261
|
+
return `${node}`;
|
|
16262
|
+
}
|
|
16263
|
+
}
|
|
16098
16264
|
function gen(node, options) {
|
|
16099
16265
|
if (node === null || node === void 0) {
|
|
16100
16266
|
return "";
|
|
@@ -16128,16 +16294,16 @@ function gen(node, options) {
|
|
|
16128
16294
|
if (!node.children) {
|
|
16129
16295
|
switch (node.type) {
|
|
16130
16296
|
case "Ref": {
|
|
16131
|
-
throw new Error(`Unpopulated ref ${
|
|
16297
|
+
throw new Error(`Unpopulated ref ${stringify(node)}`);
|
|
16132
16298
|
}
|
|
16133
16299
|
}
|
|
16134
16300
|
debugger;
|
|
16135
|
-
throw new Error(`Unknown node ${
|
|
16301
|
+
throw new Error(`Unknown node ${stringify(node)}`);
|
|
16136
16302
|
}
|
|
16137
16303
|
return gen(node.children, options);
|
|
16138
16304
|
}
|
|
16139
16305
|
debugger;
|
|
16140
|
-
throw new Error(`Unknown node ${
|
|
16306
|
+
throw new Error(`Unknown node ${stringify(node)}`);
|
|
16141
16307
|
}
|
|
16142
16308
|
var generate_default = gen;
|
|
16143
16309
|
function prune(node) {
|