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