@danielx/civet 0.6.20 → 0.6.22

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/dist/main.mjs CHANGED
@@ -46,6 +46,25 @@ var require_lib = __commonJS({
46
46
  }
47
47
  }
48
48
  }
49
+ function updateParentPointers(node, parent, depth = 1) {
50
+ if (node == null)
51
+ return;
52
+ if (typeof node !== "object")
53
+ return;
54
+ if (Array.isArray(node)) {
55
+ for (const child of node) {
56
+ updateParentPointers(child, parent, depth);
57
+ }
58
+ return;
59
+ }
60
+ if (parent != null)
61
+ node.parent = parent;
62
+ if (depth && node.children) {
63
+ for (const child of node.children) {
64
+ updateParentPointers(child, node, depth - 1);
65
+ }
66
+ }
67
+ }
49
68
  function addPostfixStatement(statement, ws, post) {
50
69
  let children, expressions;
51
70
  if (post.blockPrefix?.length) {
@@ -335,29 +354,26 @@ var require_lib = __commonJS({
335
354
  };
336
355
  }
337
356
  function expressionizeIteration(exp) {
338
- const i = exp.children.indexOf(exp.block);
339
- if (exp.subtype === "DoStatement") {
340
- insertReturn(exp.block);
341
- exp.children.splice(i, 1, ...wrapIIFE(exp.children, exp.async));
357
+ const { async, subtype, block, children, statement } = exp;
358
+ const i = children.indexOf(statement);
359
+ if (i < 0) {
360
+ throw new Error("Could not find iteration statement in iteration expression");
361
+ }
362
+ if (subtype === "DoStatement") {
363
+ insertReturn(block);
364
+ children.splice(i, 1, ...wrapIIFE(statement, async));
342
365
  return;
343
366
  }
344
- const resultsRef = {
345
- type: "Ref",
346
- base: "results",
347
- id: "results"
348
- };
349
- insertPush(exp.block, resultsRef);
350
- exp.children.splice(
367
+ const resultsRef = makeRef("results");
368
+ insertPush(block, resultsRef);
369
+ children.splice(
351
370
  i,
352
371
  1,
353
- wrapIIFE([
354
- "const ",
355
- resultsRef,
356
- "=[];",
357
- ...exp.children,
358
- "; return ",
359
- resultsRef
360
- ], exp.async)
372
+ ...wrapIIFE([
373
+ ["", ["const ", resultsRef, "=[]"], ";"],
374
+ ...children,
375
+ ["", ["; return ", resultsRef]]
376
+ ], async)
361
377
  );
362
378
  }
363
379
  function processBinaryOpExpression($0) {
@@ -423,10 +439,7 @@ var require_lib = __commonJS({
423
439
  const parts = [];
424
440
  let hoistDec, refAssignment;
425
441
  if (prefix.length > 1) {
426
- const ref = {
427
- type: "Ref",
428
- base: "ref"
429
- };
442
+ const ref = makeRef();
430
443
  hoistDec = {
431
444
  type: "Declaration",
432
445
  children: ["let ", ref],
@@ -528,11 +541,7 @@ var require_lib = __commonJS({
528
541
  }
529
542
  return;
530
543
  }
531
- const resultsRef = {
532
- type: "Ref",
533
- base: "results",
534
- id: "results"
535
- };
544
+ const resultsRef = makeRef("results");
536
545
  const declaration = {
537
546
  type: "Declaration",
538
547
  children: ["const ", resultsRef, "=[];"]
@@ -694,6 +703,7 @@ var require_lib = __commonJS({
694
703
  }
695
704
  function processParams(f) {
696
705
  const { type, parameters, block } = f;
706
+ const isConstructor = f.name === "constructor";
697
707
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
698
708
  parameters.tp.parameters.push(",");
699
709
  }
@@ -710,7 +720,7 @@ var require_lib = __commonJS({
710
720
  indent = expressions[0][0];
711
721
  }
712
722
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
713
- injectParamProps: f.name === "constructor"
723
+ injectParamProps: isConstructor
714
724
  });
715
725
  const delimiter = {
716
726
  type: "SemicolonDelimiter",
@@ -722,6 +732,23 @@ var require_lib = __commonJS({
722
732
  children: [indent, ...s.children, delimiter]
723
733
  } : [indent, s, delimiter]
724
734
  );
735
+ if (!prefix.length)
736
+ return;
737
+ if (isConstructor) {
738
+ const superCalls = gatherNodes(expressions, (exp) => exp.type === "CallExpression" && exp.children[0]?.token === "super");
739
+ if (superCalls.length) {
740
+ const { child } = findAncestor(
741
+ superCalls[0],
742
+ (ancestor) => ancestor === block
743
+ );
744
+ const index = findChildIndex(expressions, child);
745
+ if (index < 0) {
746
+ throw new Error("Could not find super call within top-level expressions");
747
+ }
748
+ expressions.splice(index + 1, 0, ...prefix);
749
+ return;
750
+ }
751
+ }
725
752
  expressions.unshift(...prefix);
726
753
  }
727
754
  function removeParentPointers(node) {
@@ -742,6 +769,24 @@ var require_lib = __commonJS({
742
769
  }
743
770
  }
744
771
  }
772
+ function findChildIndex(parent, child) {
773
+ const children = Array.isArray(parent) ? parent : parent.children;
774
+ const len = children.length;
775
+ for (let i = 0; i < len; i++) {
776
+ const c = children[i];
777
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
778
+ return i;
779
+ }
780
+ function arrayRecurse(array) {
781
+ const len2 = array.length;
782
+ for (let i = 0; i < len2; i++) {
783
+ const c = array[i];
784
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
785
+ return true;
786
+ }
787
+ }
788
+ return -1;
789
+ }
745
790
  function findAncestor(node, predicate, stopPredicate) {
746
791
  let { parent } = node;
747
792
  while (parent && !stopPredicate?.(parent, node)) {
@@ -837,11 +882,15 @@ var require_lib = __commonJS({
837
882
  }
838
883
  function insertHoistDec(block, node, dec) {
839
884
  const { expressions } = block;
840
- const index = expressions.findIndex(([, s]) => node === s);
885
+ const index = expressions.findIndex((exp) => exp === node || Array.isArray(exp) && exp[1] === node);
841
886
  if (index < 0)
842
887
  throw new Error("Couldn't find expression in block for hoistable declaration.");
843
- const indent = expressions[index][0];
844
- expressions.splice(index, 0, [indent, dec, ";"]);
888
+ if (expressions[index] === node) {
889
+ expressions.splice(index, 0, ["", dec, ";"]);
890
+ } else {
891
+ const indent = expressions[index][0];
892
+ expressions.splice(index, 0, [indent, dec, ";"]);
893
+ }
845
894
  }
846
895
  function patternAsValue(pattern) {
847
896
  switch (pattern.type) {
@@ -1037,13 +1086,123 @@ var require_lib = __commonJS({
1037
1086
  if (target.token)
1038
1087
  return target.token.match(/^ ?/)[0];
1039
1088
  }
1089
+ function processForInOf($0) {
1090
+ let [awaits, each, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1091
+ if (exp.type === "RangeExpression" && inOf.token === "of" && !declaration2) {
1092
+ return forRange(open, declaration, exp, step, close);
1093
+ } else if (step) {
1094
+ throw new Error("for..of/in cannot use 'by' except with range literals");
1095
+ }
1096
+ let eachError;
1097
+ let hoistDec, blockPrefix = [];
1098
+ if (each) {
1099
+ if (inOf.token === "of") {
1100
+ const counterRef = makeRef("i");
1101
+ const lenRef = makeRef("len");
1102
+ const expRef = maybeRef(exp);
1103
+ const increment = "++";
1104
+ let indexAssignment, assignmentNames = [...declaration.names];
1105
+ if (declaration2) {
1106
+ const [, , ws22, decl22] = declaration2;
1107
+ blockPrefix.push(["", [
1108
+ insertTrimmingSpace(ws22, ""),
1109
+ decl22,
1110
+ " = ",
1111
+ counterRef
1112
+ ], ";"]);
1113
+ assignmentNames.push(...decl22.names);
1114
+ }
1115
+ const expRefDec = expRef !== exp ? [insertTrimmingSpace(expRef, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1116
+ blockPrefix.push(["", {
1117
+ type: "AssignmentExpression",
1118
+ children: [declaration, " = ", insertTrimmingSpace(expRef, ""), "[", counterRef, "]"],
1119
+ names: assignmentNames
1120
+ }, ";"]);
1121
+ declaration = {
1122
+ type: "Declaration",
1123
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef, ""), ".length"],
1124
+ names: []
1125
+ };
1126
+ const condition = [counterRef, " < ", lenRef, "; "];
1127
+ const children = [open, declaration, "; ", condition, counterRef, increment, close];
1128
+ return { declaration, children, blockPrefix };
1129
+ } else {
1130
+ eachError = {
1131
+ type: "Error",
1132
+ message: "'each' is only meaningful in for..of loops"
1133
+ };
1134
+ }
1135
+ }
1136
+ if (!declaration2) {
1137
+ return {
1138
+ declaration,
1139
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close]
1140
+ };
1141
+ }
1142
+ const [, , ws2, decl2] = declaration2;
1143
+ switch (inOf.token) {
1144
+ case "of": {
1145
+ const counterRef = makeRef("i");
1146
+ hoistDec = {
1147
+ type: "Declaration",
1148
+ children: ["let ", counterRef, " = 0"],
1149
+ names: []
1150
+ };
1151
+ blockPrefix.push(["", {
1152
+ type: "Declaration",
1153
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", counterRef, "++"],
1154
+ names: decl2.names
1155
+ }, ";"]);
1156
+ break;
1157
+ }
1158
+ case "in": {
1159
+ const expRef = maybeRef(exp);
1160
+ if (expRef !== exp) {
1161
+ hoistDec = {
1162
+ type: "Declaration",
1163
+ children: ["let ", expRef],
1164
+ names: []
1165
+ };
1166
+ exp = {
1167
+ type: "AssignmentExpression",
1168
+ children: [" ", expRef, " =", exp]
1169
+ };
1170
+ }
1171
+ let { binding } = declaration;
1172
+ if (binding?.type !== "Identifier") {
1173
+ const keyRef = makeRef("key");
1174
+ blockPrefix.push(["", [
1175
+ declaration,
1176
+ " = ",
1177
+ keyRef
1178
+ ], ";"]);
1179
+ declaration = {
1180
+ type: "ForDeclaration",
1181
+ binding: binding = keyRef,
1182
+ children: ["const ", keyRef],
1183
+ names: []
1184
+ };
1185
+ }
1186
+ blockPrefix.push(["", {
1187
+ type: "Declaration",
1188
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1189
+ names: decl2.names
1190
+ }, ";"]);
1191
+ break;
1192
+ }
1193
+ default:
1194
+ throw new Error(`for item, index must use 'of' or 'in' instead of '${inOf.token}'`);
1195
+ }
1196
+ return {
1197
+ declaration,
1198
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close],
1199
+ blockPrefix,
1200
+ hoistDec
1201
+ };
1202
+ }
1040
1203
  function forRange(open, forDeclaration, range, stepExp, close) {
1041
1204
  const { start, end, inclusive } = range;
1042
- const counterRef = {
1043
- type: "Ref",
1044
- base: "i",
1045
- id: "i"
1046
- };
1205
+ const counterRef = makeRef("i");
1047
1206
  let stepRef;
1048
1207
  if (stepExp) {
1049
1208
  stepExp = insertTrimmingSpace(stepExp, "");
@@ -1061,11 +1220,7 @@ var require_lib = __commonJS({
1061
1220
  } else if (start.type === "Literal" && end.type === "Literal") {
1062
1221
  asc = literalValue(start) <= literalValue(end);
1063
1222
  } else {
1064
- ascRef = {
1065
- type: "Ref",
1066
- base: "asc",
1067
- id: "asc"
1068
- };
1223
+ ascRef = makeRef("asc");
1069
1224
  ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
1070
1225
  }
1071
1226
  let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
@@ -1205,15 +1360,6 @@ var require_lib = __commonJS({
1205
1360
  };
1206
1361
  }
1207
1362
  }
1208
- function maybeRef(exp, base = "ref") {
1209
- if (!needsRef(exp))
1210
- return exp;
1211
- return {
1212
- type: "Ref",
1213
- base,
1214
- id: base
1215
- };
1216
- }
1217
1363
  function modifyString(str) {
1218
1364
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
1219
1365
  }
@@ -1309,13 +1455,20 @@ var require_lib = __commonJS({
1309
1455
  case "Identifier":
1310
1456
  case "Literal":
1311
1457
  return;
1312
- default:
1313
- return {
1314
- type: "Ref",
1315
- base,
1316
- id: base
1317
- };
1318
1458
  }
1459
+ return makeRef(base);
1460
+ }
1461
+ function makeRef(base = "ref") {
1462
+ return {
1463
+ type: "Ref",
1464
+ base,
1465
+ id: base
1466
+ };
1467
+ }
1468
+ function maybeRef(exp, base = "ref") {
1469
+ if (!needsRef(exp))
1470
+ return exp;
1471
+ return makeRef(base);
1319
1472
  }
1320
1473
  function processCoffeeInterpolation(s, parts, e, $loc) {
1321
1474
  if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
@@ -1568,20 +1721,20 @@ var require_lib = __commonJS({
1568
1721
  });
1569
1722
  }
1570
1723
  function attachPostfixStatementAsExpression(exp, post) {
1571
- let clause;
1572
1724
  switch (post[1].type) {
1573
1725
  case "ForStatement":
1574
1726
  case "IterationStatement":
1575
- case "DoStatement":
1576
- clause = addPostfixStatement(exp, ...post);
1727
+ case "DoStatement": {
1728
+ const statement = addPostfixStatement(exp, ...post);
1577
1729
  return {
1578
1730
  type: "IterationExpression",
1579
- children: [clause],
1580
- block: clause.block
1731
+ children: [statement],
1732
+ block: statement.block,
1733
+ statement
1581
1734
  };
1735
+ }
1582
1736
  case "IfStatement":
1583
- clause = expressionizeIfClause(post[1], exp);
1584
- return clause;
1737
+ return expressionizeIfClause(post[1], exp);
1585
1738
  default:
1586
1739
  throw new Error("Unknown postfix statement");
1587
1740
  }
@@ -1808,11 +1961,7 @@ var require_lib = __commonJS({
1808
1961
  if (shared.length === 1)
1809
1962
  return;
1810
1963
  const refs = shared.map((p) => {
1811
- const ref = {
1812
- type: "Ref",
1813
- base: key,
1814
- id: key
1815
- };
1964
+ const ref = makeRef(key);
1816
1965
  aliasBinding(p, ref);
1817
1966
  return ref;
1818
1967
  });
@@ -1846,7 +1995,7 @@ var require_lib = __commonJS({
1846
1995
  if (expression.type === "ParenthesizedExpression") {
1847
1996
  expression = expression.expression;
1848
1997
  }
1849
- let hoistDec, refAssignment = [], ref = needsRef(expression, "m") || expression;
1998
+ let hoistDec, refAssignment = [], ref = maybeRef(expression, "m");
1850
1999
  if (ref !== expression) {
1851
2000
  hoistDec = {
1852
2001
  type: "Declaration",
@@ -1972,7 +2121,7 @@ var require_lib = __commonJS({
1972
2121
  arg.children.push(access);
1973
2122
  break outer;
1974
2123
  }
1975
- usingRef = needsRef({});
2124
+ usingRef = makeRef();
1976
2125
  initRef = {
1977
2126
  type: "AssignmentExpression",
1978
2127
  children: [usingRef, " = ", arg, ","]
@@ -2076,8 +2225,8 @@ var require_lib = __commonJS({
2076
2225
  processFunctions(statements, config);
2077
2226
  processSwitchExpressions(statements);
2078
2227
  processTryExpressions(statements);
2079
- hoistRefDecs(statements);
2080
2228
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
2229
+ hoistRefDecs(statements);
2081
2230
  statements.unshift(...m.prelude);
2082
2231
  if (config.autoLet) {
2083
2232
  createLetDecs(statements, []);
@@ -2247,11 +2396,7 @@ var require_lib = __commonJS({
2247
2396
  );
2248
2397
  if (!values.length)
2249
2398
  return false;
2250
- const ref = {
2251
- type: "Ref",
2252
- base: "ret",
2253
- id: "ret"
2254
- };
2399
+ const ref = makeRef("ret");
2255
2400
  let declared;
2256
2401
  values.forEach((value) => {
2257
2402
  value.children = [ref];
@@ -2524,13 +2669,14 @@ var require_lib = __commonJS({
2524
2669
  prefix = "(()=>";
2525
2670
  suffix = ")()";
2526
2671
  }
2527
- const expressions = Array.isArray(exp) ? [[...exp]] : [exp];
2672
+ const expressions = Array.isArray(exp) ? [...exp] : [exp];
2528
2673
  const block = {
2529
2674
  type: "BlockStatement",
2530
2675
  expressions,
2531
2676
  children: ["{", expressions, "}"],
2532
2677
  bare: false
2533
2678
  };
2679
+ updateParentPointers(block);
2534
2680
  return [
2535
2681
  prefix,
2536
2682
  block,
@@ -2580,13 +2726,15 @@ var require_lib = __commonJS({
2580
2726
  makeAsConst,
2581
2727
  makeEmptyBlock,
2582
2728
  makeLeftHandSideExpression,
2729
+ makeRef,
2583
2730
  maybeRef,
2584
2731
  modifyString,
2585
2732
  needsRef,
2733
+ processAssignmentDeclaration,
2586
2734
  processBinaryOpExpression,
2587
2735
  processCallMemberExpression,
2588
2736
  processCoffeeInterpolation,
2589
- processAssignmentDeclaration,
2737
+ processForInOf,
2590
2738
  processParams,
2591
2739
  processProgram,
2592
2740
  processReturnValue,
@@ -3427,6 +3575,7 @@ ${input.slice(result.pos)}
3427
3575
  DotDotDot,
3428
3576
  DoubleColon,
3429
3577
  DoubleQuote,
3578
+ Each,
3430
3579
  Else,
3431
3580
  Equals,
3432
3581
  Export,
@@ -3465,6 +3614,7 @@ ${input.slice(result.pos)}
3465
3614
  Star,
3466
3615
  Static,
3467
3616
  SubstitutionStart,
3617
+ Super,
3468
3618
  Switch,
3469
3619
  Target,
3470
3620
  Then,
@@ -3671,128 +3821,128 @@ ${input.slice(result.pos)}
3671
3821
  var $L13 = $L("implements");
3672
3822
  var $L14 = $L("<:");
3673
3823
  var $L15 = $L("#");
3674
- var $L16 = $L("super");
3675
- var $L17 = $L("import");
3676
- var $L18 = $L("!");
3677
- var $L19 = $L("^");
3678
- var $L20 = $L("-");
3679
- var $L21 = $L("import.meta");
3680
- var $L22 = $L("return.value");
3681
- var $L23 = $L(",");
3682
- var $L24 = $L("->");
3683
- var $L25 = $L("\u2192");
3684
- var $L26 = $L("}");
3685
- var $L27 = $L("null");
3686
- var $L28 = $L("true");
3687
- var $L29 = $L("false");
3688
- var $L30 = $L("yes");
3689
- var $L31 = $L("on");
3690
- var $L32 = $L("no");
3691
- var $L33 = $L("off");
3692
- var $L34 = $L(">");
3693
- var $L35 = $L("]");
3694
- var $L36 = $L("**=");
3695
- var $L37 = $L("*=");
3696
- var $L38 = $L("/=");
3697
- var $L39 = $L("%=");
3698
- var $L40 = $L("+=");
3699
- var $L41 = $L("-=");
3700
- var $L42 = $L("<<=");
3701
- var $L43 = $L(">>>=");
3702
- var $L44 = $L(">>=");
3703
- var $L45 = $L("&&=");
3704
- var $L46 = $L("&=");
3705
- var $L47 = $L("^=");
3706
- var $L48 = $L("||=");
3707
- var $L49 = $L("|=");
3708
- var $L50 = $L("??=");
3709
- var $L51 = $L("?=");
3710
- var $L52 = $L("and=");
3711
- var $L53 = $L("or=");
3712
- var $L54 = $L("**");
3713
- var $L55 = $L("*");
3714
- var $L56 = $L("/");
3715
- var $L57 = $L("%%");
3716
- var $L58 = $L("%");
3717
- var $L59 = $L("+");
3718
- var $L60 = $L("<=");
3719
- var $L61 = $L("\u2264");
3720
- var $L62 = $L(">=");
3721
- var $L63 = $L("\u2265");
3722
- var $L64 = $L("<?");
3723
- var $L65 = $L("!<?");
3724
- var $L66 = $L("<<");
3725
- var $L67 = $L("\xAB");
3726
- var $L68 = $L(">>>");
3727
- var $L69 = $L("\u22D9");
3728
- var $L70 = $L(">>");
3729
- var $L71 = $L("\xBB");
3730
- var $L72 = $L("!==");
3731
- var $L73 = $L("\u2262");
3732
- var $L74 = $L("!=");
3733
- var $L75 = $L("\u2260");
3734
- var $L76 = $L("isnt");
3735
- var $L77 = $L("===");
3736
- var $L78 = $L("\u2263");
3737
- var $L79 = $L("\u2A76");
3738
- var $L80 = $L("==");
3739
- var $L81 = $L("\u2261");
3740
- var $L82 = $L("\u2A75");
3741
- var $L83 = $L("and");
3742
- var $L84 = $L("&&");
3743
- var $L85 = $L("of");
3744
- var $L86 = $L("or");
3745
- var $L87 = $L("||");
3746
- var $L88 = $L("\u2016");
3747
- var $L89 = $L("^^");
3748
- var $L90 = $L("xor");
3749
- var $L91 = $L("xnor");
3750
- var $L92 = $L("??");
3751
- var $L93 = $L("\u2047");
3752
- var $L94 = $L("instanceof");
3753
- var $L95 = $L("\u2208");
3754
- var $L96 = $L("\u220B");
3755
- var $L97 = $L("\u220C");
3756
- var $L98 = $L("\u2209");
3757
- var $L99 = $L("&");
3758
- var $L100 = $L("|");
3759
- var $L101 = $L(";");
3760
- var $L102 = $L("$:");
3761
- var $L103 = $L("own");
3762
- var $L104 = $L("break");
3763
- var $L105 = $L("continue");
3764
- var $L106 = $L("debugger");
3765
- var $L107 = $L("assert");
3766
- var $L108 = $L(":=");
3767
- var $L109 = $L("\u2254");
3768
- var $L110 = $L(".=");
3769
- var $L111 = $L("/*");
3770
- var $L112 = $L("*/");
3771
- var $L113 = $L("\\");
3772
- var $L114 = $L("[");
3773
- var $L115 = $L("`");
3774
- var $L116 = $L("abstract");
3775
- var $L117 = $L("as");
3776
- var $L118 = $L("@");
3777
- var $L119 = $L("@@");
3778
- var $L120 = $L("async");
3779
- var $L121 = $L("await");
3780
- var $L122 = $L("by");
3781
- var $L123 = $L("case");
3782
- var $L124 = $L("catch");
3783
- var $L125 = $L("class");
3784
- var $L126 = $L(")");
3785
- var $L127 = $L("#{");
3786
- var $L128 = $L("declare");
3787
- var $L129 = $L("default");
3788
- var $L130 = $L("delete");
3789
- var $L131 = $L("do");
3790
- var $L132 = $L("..");
3791
- var $L133 = $L("\u2025");
3792
- var $L134 = $L("...");
3793
- var $L135 = $L("\u2026");
3794
- var $L136 = $L("::");
3795
- var $L137 = $L('"');
3824
+ var $L16 = $L("import");
3825
+ var $L17 = $L("!");
3826
+ var $L18 = $L("^");
3827
+ var $L19 = $L("-");
3828
+ var $L20 = $L("import.meta");
3829
+ var $L21 = $L("return.value");
3830
+ var $L22 = $L(",");
3831
+ var $L23 = $L("->");
3832
+ var $L24 = $L("\u2192");
3833
+ var $L25 = $L("}");
3834
+ var $L26 = $L("null");
3835
+ var $L27 = $L("true");
3836
+ var $L28 = $L("false");
3837
+ var $L29 = $L("yes");
3838
+ var $L30 = $L("on");
3839
+ var $L31 = $L("no");
3840
+ var $L32 = $L("off");
3841
+ var $L33 = $L(">");
3842
+ var $L34 = $L("]");
3843
+ var $L35 = $L("**=");
3844
+ var $L36 = $L("*=");
3845
+ var $L37 = $L("/=");
3846
+ var $L38 = $L("%=");
3847
+ var $L39 = $L("+=");
3848
+ var $L40 = $L("-=");
3849
+ var $L41 = $L("<<=");
3850
+ var $L42 = $L(">>>=");
3851
+ var $L43 = $L(">>=");
3852
+ var $L44 = $L("&&=");
3853
+ var $L45 = $L("&=");
3854
+ var $L46 = $L("^=");
3855
+ var $L47 = $L("||=");
3856
+ var $L48 = $L("|=");
3857
+ var $L49 = $L("??=");
3858
+ var $L50 = $L("?=");
3859
+ var $L51 = $L("and=");
3860
+ var $L52 = $L("or=");
3861
+ var $L53 = $L("**");
3862
+ var $L54 = $L("*");
3863
+ var $L55 = $L("/");
3864
+ var $L56 = $L("%%");
3865
+ var $L57 = $L("%");
3866
+ var $L58 = $L("+");
3867
+ var $L59 = $L("<=");
3868
+ var $L60 = $L("\u2264");
3869
+ var $L61 = $L(">=");
3870
+ var $L62 = $L("\u2265");
3871
+ var $L63 = $L("<?");
3872
+ var $L64 = $L("!<?");
3873
+ var $L65 = $L("<<");
3874
+ var $L66 = $L("\xAB");
3875
+ var $L67 = $L(">>>");
3876
+ var $L68 = $L("\u22D9");
3877
+ var $L69 = $L(">>");
3878
+ var $L70 = $L("\xBB");
3879
+ var $L71 = $L("!==");
3880
+ var $L72 = $L("\u2262");
3881
+ var $L73 = $L("!=");
3882
+ var $L74 = $L("\u2260");
3883
+ var $L75 = $L("isnt");
3884
+ var $L76 = $L("===");
3885
+ var $L77 = $L("\u2263");
3886
+ var $L78 = $L("\u2A76");
3887
+ var $L79 = $L("==");
3888
+ var $L80 = $L("\u2261");
3889
+ var $L81 = $L("\u2A75");
3890
+ var $L82 = $L("and");
3891
+ var $L83 = $L("&&");
3892
+ var $L84 = $L("of");
3893
+ var $L85 = $L("or");
3894
+ var $L86 = $L("||");
3895
+ var $L87 = $L("\u2016");
3896
+ var $L88 = $L("^^");
3897
+ var $L89 = $L("xor");
3898
+ var $L90 = $L("xnor");
3899
+ var $L91 = $L("??");
3900
+ var $L92 = $L("\u2047");
3901
+ var $L93 = $L("instanceof");
3902
+ var $L94 = $L("\u2208");
3903
+ var $L95 = $L("\u220B");
3904
+ var $L96 = $L("\u220C");
3905
+ var $L97 = $L("\u2209");
3906
+ var $L98 = $L("&");
3907
+ var $L99 = $L("|");
3908
+ var $L100 = $L(";");
3909
+ var $L101 = $L("$:");
3910
+ var $L102 = $L("own");
3911
+ var $L103 = $L("break");
3912
+ var $L104 = $L("continue");
3913
+ var $L105 = $L("debugger");
3914
+ var $L106 = $L("assert");
3915
+ var $L107 = $L(":=");
3916
+ var $L108 = $L("\u2254");
3917
+ var $L109 = $L(".=");
3918
+ var $L110 = $L("/*");
3919
+ var $L111 = $L("*/");
3920
+ var $L112 = $L("\\");
3921
+ var $L113 = $L("[");
3922
+ var $L114 = $L("`");
3923
+ var $L115 = $L("abstract");
3924
+ var $L116 = $L("as");
3925
+ var $L117 = $L("@");
3926
+ var $L118 = $L("@@");
3927
+ var $L119 = $L("async");
3928
+ var $L120 = $L("await");
3929
+ var $L121 = $L("by");
3930
+ var $L122 = $L("case");
3931
+ var $L123 = $L("catch");
3932
+ var $L124 = $L("class");
3933
+ var $L125 = $L(")");
3934
+ var $L126 = $L("#{");
3935
+ var $L127 = $L("declare");
3936
+ var $L128 = $L("default");
3937
+ var $L129 = $L("delete");
3938
+ var $L130 = $L("do");
3939
+ var $L131 = $L("..");
3940
+ var $L132 = $L("\u2025");
3941
+ var $L133 = $L("...");
3942
+ var $L134 = $L("\u2026");
3943
+ var $L135 = $L("::");
3944
+ var $L136 = $L('"');
3945
+ var $L137 = $L("each");
3796
3946
  var $L138 = $L("else");
3797
3947
  var $L139 = $L("export");
3798
3948
  var $L140 = $L("extends");
@@ -3827,41 +3977,42 @@ ${input.slice(result.pos)}
3827
3977
  var $L169 = $L("'");
3828
3978
  var $L170 = $L("static");
3829
3979
  var $L171 = $L("${");
3830
- var $L172 = $L("switch");
3831
- var $L173 = $L("target");
3832
- var $L174 = $L("then");
3833
- var $L175 = $L("this");
3834
- var $L176 = $L("throw");
3835
- var $L177 = $L('"""');
3836
- var $L178 = $L("'''");
3837
- var $L179 = $L("///");
3838
- var $L180 = $L("```");
3839
- var $L181 = $L("try");
3840
- var $L182 = $L("typeof");
3841
- var $L183 = $L("unless");
3842
- var $L184 = $L("until");
3843
- var $L185 = $L("var");
3844
- var $L186 = $L("void");
3845
- var $L187 = $L("when");
3846
- var $L188 = $L("while");
3847
- var $L189 = $L("yield");
3848
- var $L190 = $L("/>");
3849
- var $L191 = $L("</");
3850
- var $L192 = $L("<>");
3851
- var $L193 = $L("</>");
3852
- var $L194 = $L("<!--");
3853
- var $L195 = $L("-->");
3854
- var $L196 = $L("type");
3855
- var $L197 = $L("enum");
3856
- var $L198 = $L("interface");
3857
- var $L199 = $L("global");
3858
- var $L200 = $L("module");
3859
- var $L201 = $L("namespace");
3860
- var $L202 = $L("asserts");
3861
- var $L203 = $L("keyof");
3862
- var $L204 = $L("infer");
3863
- var $L205 = $L("[]");
3864
- var $L206 = $L("civet");
3980
+ var $L172 = $L("super");
3981
+ var $L173 = $L("switch");
3982
+ var $L174 = $L("target");
3983
+ var $L175 = $L("then");
3984
+ var $L176 = $L("this");
3985
+ var $L177 = $L("throw");
3986
+ var $L178 = $L('"""');
3987
+ var $L179 = $L("'''");
3988
+ var $L180 = $L("///");
3989
+ var $L181 = $L("```");
3990
+ var $L182 = $L("try");
3991
+ var $L183 = $L("typeof");
3992
+ var $L184 = $L("unless");
3993
+ var $L185 = $L("until");
3994
+ var $L186 = $L("var");
3995
+ var $L187 = $L("void");
3996
+ var $L188 = $L("when");
3997
+ var $L189 = $L("while");
3998
+ var $L190 = $L("yield");
3999
+ var $L191 = $L("/>");
4000
+ var $L192 = $L("</");
4001
+ var $L193 = $L("<>");
4002
+ var $L194 = $L("</>");
4003
+ var $L195 = $L("<!--");
4004
+ var $L196 = $L("-->");
4005
+ var $L197 = $L("type");
4006
+ var $L198 = $L("enum");
4007
+ var $L199 = $L("interface");
4008
+ var $L200 = $L("global");
4009
+ var $L201 = $L("module");
4010
+ var $L202 = $L("namespace");
4011
+ var $L203 = $L("asserts");
4012
+ var $L204 = $L("keyof");
4013
+ var $L205 = $L("infer");
4014
+ var $L206 = $L("[]");
4015
+ var $L207 = $L("civet");
3865
4016
  var $R0 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
3866
4017
  var $R1 = $R(new RegExp("[0-9]", "suy"));
3867
4018
  var $R2 = $R(new RegExp("[)}]", "suy"));
@@ -3872,7 +4023,7 @@ ${input.slice(result.pos)}
3872
4023
  var $R7 = $R(new RegExp("<(?!\\p{ID_Start}|[_$])", "suy"));
3873
4024
  var $R8 = $R(new RegExp("!\\^\\^?", "suy"));
3874
4025
  var $R9 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*[&.])", "suy"));
3875
- var $R10 = $R(new RegExp("(?=[\\s\\)])", "suy"));
4026
+ var $R10 = $R(new RegExp("(?=[\\s\\),])", "suy"));
3876
4027
  var $R11 = $R(new RegExp('[^;"\\s]+', "suy"));
3877
4028
  var $R12 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
3878
4029
  var $R13 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
@@ -5506,10 +5657,7 @@ ${input.slice(result.pos)}
5506
5657
  var head = $2;
5507
5658
  var body = $3;
5508
5659
  if (head.token === "&") {
5509
- const ref = {
5510
- type: "Ref",
5511
- base: "$"
5512
- };
5660
+ const ref = makeRef("$");
5513
5661
  const arrowBody = {
5514
5662
  type: "PipelineExpression",
5515
5663
  children: [ws, ref, body]
@@ -6422,14 +6570,14 @@ ${input.slice(result.pos)}
6422
6570
  return result;
6423
6571
  }
6424
6572
  }
6425
- var CallExpression$0 = $TS($S($EXPECT($L16, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6573
+ var CallExpression$0 = $TS($S(Super, ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6426
6574
  var rest = $3;
6427
6575
  return processCallMemberExpression({
6428
6576
  type: "CallExpression",
6429
6577
  children: [$1, ...$2, ...rest.flat()]
6430
6578
  });
6431
6579
  });
6432
- var CallExpression$1 = $TS($S($EXPECT($L17, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6580
+ var CallExpression$1 = $TS($S($EXPECT($L16, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6433
6581
  var rest = $3;
6434
6582
  return processCallMemberExpression({
6435
6583
  type: "CallExpression",
@@ -6557,7 +6705,7 @@ ${input.slice(result.pos)}
6557
6705
  return result;
6558
6706
  }
6559
6707
  }
6560
- var NonNullAssertion$0 = $T($S($EXPECT($L18, fail, 'NonNullAssertion "!"'), $N($EXPECT($L19, fail, 'NonNullAssertion "^"'))), function(value) {
6708
+ var NonNullAssertion$0 = $T($S($EXPECT($L17, fail, 'NonNullAssertion "!"'), $N($EXPECT($L18, fail, 'NonNullAssertion "^"'))), function(value) {
6561
6709
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6562
6710
  });
6563
6711
  function NonNullAssertion(state) {
@@ -6701,7 +6849,7 @@ ${input.slice(result.pos)}
6701
6849
  ]
6702
6850
  };
6703
6851
  });
6704
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L20, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6852
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L19, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6705
6853
  var dot = $1;
6706
6854
  var neg = $2;
6707
6855
  var num = $3;
@@ -6921,8 +7069,8 @@ ${input.slice(result.pos)}
6921
7069
  return result;
6922
7070
  }
6923
7071
  }
6924
- var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), MemberBracketContent);
6925
- var SuperProperty$1 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7072
+ var SuperProperty$0 = $S(Super, MemberBracketContent);
7073
+ var SuperProperty$1 = $S(Super, $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
6926
7074
  function SuperProperty(state) {
6927
7075
  let eventData;
6928
7076
  if (state.events) {
@@ -6946,7 +7094,7 @@ ${input.slice(result.pos)}
6946
7094
  }
6947
7095
  }
6948
7096
  var MetaProperty$0 = $S(New, Dot, Target);
6949
- var MetaProperty$1 = $TS($S($EXPECT($L21, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7097
+ var MetaProperty$1 = $TS($S($EXPECT($L20, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6950
7098
  return { $loc, token: $1 };
6951
7099
  });
6952
7100
  var MetaProperty$2 = ReturnValue;
@@ -6972,7 +7120,7 @@ ${input.slice(result.pos)}
6972
7120
  return result;
6973
7121
  }
6974
7122
  }
6975
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7123
+ var ReturnValue$0 = $TV($C($S($EXPECT($L21, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6976
7124
  return { type: "ReturnValue", children: [$1[0]] };
6977
7125
  });
6978
7126
  function ReturnValue(state) {
@@ -7280,11 +7428,7 @@ ${input.slice(result.pos)}
7280
7428
  });
7281
7429
  var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
7282
7430
  var id = $0;
7283
- return {
7284
- type: "Ref",
7285
- base: id.name,
7286
- id: id.name
7287
- };
7431
+ return makeRef(id.name);
7288
7432
  });
7289
7433
  function AtIdentifierRef(state) {
7290
7434
  let eventData;
@@ -7308,7 +7452,7 @@ ${input.slice(result.pos)}
7308
7452
  return result;
7309
7453
  }
7310
7454
  }
7311
- var PinPattern$0 = $TS($S($EXPECT($L19, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7455
+ var PinPattern$0 = $TS($S($EXPECT($L18, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7312
7456
  var identifier = $2;
7313
7457
  return {
7314
7458
  type: "PinPattern",
@@ -7681,7 +7825,7 @@ ${input.slice(result.pos)}
7681
7825
  names: value.names
7682
7826
  };
7683
7827
  });
7684
- var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L19, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7828
+ var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L18, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7685
7829
  var ws = $1;
7686
7830
  var pin = $2;
7687
7831
  var binding = $3;
@@ -7826,7 +7970,7 @@ ${input.slice(result.pos)}
7826
7970
  children: [ws, binding]
7827
7971
  };
7828
7972
  });
7829
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7973
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L22, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7830
7974
  return {
7831
7975
  children: [{
7832
7976
  type: "ElisionElement",
@@ -7906,11 +8050,7 @@ ${input.slice(result.pos)}
7906
8050
  }
7907
8051
  }
7908
8052
  var EmptyBindingPattern$0 = $TV($EXPECT($L0, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
7909
- const ref = {
7910
- type: "Ref",
7911
- base: "ref",
7912
- id: "ref"
7913
- };
8053
+ const ref = makeRef();
7914
8054
  return {
7915
8055
  type: "EmptyBinding",
7916
8056
  children: [ref],
@@ -8068,11 +8208,7 @@ ${input.slice(result.pos)}
8068
8208
  return $skip;
8069
8209
  let body, ref;
8070
8210
  if (!rhs) {
8071
- body = ref = {
8072
- type: "Ref",
8073
- base: "$",
8074
- id: "$"
8075
- };
8211
+ body = ref = makeRef("$");
8076
8212
  } else {
8077
8213
  let exp = rhs;
8078
8214
  while (!exp.ref && exp.expression) {
@@ -8252,11 +8388,7 @@ ${input.slice(result.pos)}
8252
8388
  var binopRHS = $3;
8253
8389
  if (!callExpRest && !binopRHS && !unaryPostfix)
8254
8390
  return $skip;
8255
- const ref = {
8256
- type: "Ref",
8257
- base: "$",
8258
- id: "$"
8259
- };
8391
+ const ref = makeRef("$");
8260
8392
  let exp = {
8261
8393
  type: "AmpersandRef",
8262
8394
  children: [ref],
@@ -8376,7 +8508,7 @@ ${input.slice(result.pos)}
8376
8508
  return result;
8377
8509
  }
8378
8510
  }
8379
- var Arrow$0 = $TV($C($EXPECT($L24, fail, 'Arrow "->"'), $EXPECT($L25, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8511
+ var Arrow$0 = $TV($C($EXPECT($L23, fail, 'Arrow "->"'), $EXPECT($L24, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8380
8512
  return { $loc, token: "->" };
8381
8513
  });
8382
8514
  function Arrow(state) {
@@ -8906,7 +9038,7 @@ ${input.slice(result.pos)}
8906
9038
  children: [$1, expressions]
8907
9039
  };
8908
9040
  });
8909
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L26, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9041
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L25, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8910
9042
  const expressions = [];
8911
9043
  return {
8912
9044
  type: "BlockStatement",
@@ -9087,7 +9219,7 @@ ${input.slice(result.pos)}
9087
9219
  return result;
9088
9220
  }
9089
9221
  }
9090
- var NullLiteral$0 = $TS($S($EXPECT($L27, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9222
+ var NullLiteral$0 = $TS($S($EXPECT($L26, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9091
9223
  return { $loc, token: $1 };
9092
9224
  });
9093
9225
  function NullLiteral(state) {
@@ -9115,7 +9247,7 @@ ${input.slice(result.pos)}
9115
9247
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9116
9248
  return value[1];
9117
9249
  });
9118
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'BooleanLiteral "true"'), $EXPECT($L29, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9250
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L27, fail, 'BooleanLiteral "true"'), $EXPECT($L28, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9119
9251
  return { $loc, token: $1 };
9120
9252
  });
9121
9253
  function BooleanLiteral(state) {
@@ -9140,10 +9272,10 @@ ${input.slice(result.pos)}
9140
9272
  return result;
9141
9273
  }
9142
9274
  }
9143
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9275
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9144
9276
  return { $loc, token: "true" };
9145
9277
  });
9146
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L33, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9278
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9147
9279
  return { $loc, token: "false" };
9148
9280
  });
9149
9281
  function CoffeeScriptBooleanLiteral(state) {
@@ -9249,7 +9381,7 @@ ${input.slice(result.pos)}
9249
9381
  return result;
9250
9382
  }
9251
9383
  }
9252
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L34, fail, 'UpcomingAssignment ">"')))));
9384
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L33, fail, 'UpcomingAssignment ">"')))));
9253
9385
  function UpcomingAssignment(state) {
9254
9386
  let eventData;
9255
9387
  if (state.events) {
@@ -9513,7 +9645,7 @@ ${input.slice(result.pos)}
9513
9645
  }
9514
9646
  }
9515
9647
  var ArrayElementDelimiter$0 = $S(__, Comma);
9516
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L35, fail, 'ArrayElementDelimiter "]"')));
9648
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'ArrayElementDelimiter "]"')));
9517
9649
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9518
9650
  return value[1];
9519
9651
  });
@@ -9634,12 +9766,7 @@ ${input.slice(result.pos)}
9634
9766
  var ws = $2;
9635
9767
  var dots = $3;
9636
9768
  if (!exp) {
9637
- exp = {
9638
- type: "Ref",
9639
- base: "ref",
9640
- id: "ref",
9641
- names: []
9642
- };
9769
+ exp = { ...makeRef(), names: [] };
9643
9770
  }
9644
9771
  return {
9645
9772
  type: "SpreadElement",
@@ -10024,7 +10151,7 @@ ${input.slice(result.pos)}
10024
10151
  }
10025
10152
  }
10026
10153
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
10027
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
10154
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L25, fail, 'ObjectPropertyDelimiter "}"')));
10028
10155
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
10029
10156
  return value[1];
10030
10157
  });
@@ -10304,7 +10431,7 @@ ${input.slice(result.pos)}
10304
10431
  implicit: true
10305
10432
  };
10306
10433
  });
10307
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10434
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L19, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10308
10435
  const expression = [$2, $3];
10309
10436
  return {
10310
10437
  type: "ComputedPropertyName",
@@ -10724,22 +10851,22 @@ ${input.slice(result.pos)}
10724
10851
  return result;
10725
10852
  }
10726
10853
  }
10727
- var AssignmentOpSymbol$0 = $EXPECT($L36, fail, 'AssignmentOpSymbol "**="');
10728
- var AssignmentOpSymbol$1 = $EXPECT($L37, fail, 'AssignmentOpSymbol "*="');
10729
- var AssignmentOpSymbol$2 = $EXPECT($L38, fail, 'AssignmentOpSymbol "/="');
10730
- var AssignmentOpSymbol$3 = $EXPECT($L39, fail, 'AssignmentOpSymbol "%="');
10731
- var AssignmentOpSymbol$4 = $EXPECT($L40, fail, 'AssignmentOpSymbol "+="');
10732
- var AssignmentOpSymbol$5 = $EXPECT($L41, fail, 'AssignmentOpSymbol "-="');
10733
- var AssignmentOpSymbol$6 = $EXPECT($L42, fail, 'AssignmentOpSymbol "<<="');
10734
- var AssignmentOpSymbol$7 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>>="');
10735
- var AssignmentOpSymbol$8 = $EXPECT($L44, fail, 'AssignmentOpSymbol ">>="');
10736
- var AssignmentOpSymbol$9 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&&="');
10737
- var AssignmentOpSymbol$10 = $EXPECT($L46, fail, 'AssignmentOpSymbol "&="');
10738
- var AssignmentOpSymbol$11 = $EXPECT($L47, fail, 'AssignmentOpSymbol "^="');
10739
- var AssignmentOpSymbol$12 = $EXPECT($L48, fail, 'AssignmentOpSymbol "||="');
10740
- var AssignmentOpSymbol$13 = $EXPECT($L49, fail, 'AssignmentOpSymbol "|="');
10741
- var AssignmentOpSymbol$14 = $EXPECT($L50, fail, 'AssignmentOpSymbol "??="');
10742
- var AssignmentOpSymbol$15 = $T($EXPECT($L51, fail, 'AssignmentOpSymbol "?="'), function(value) {
10854
+ var AssignmentOpSymbol$0 = $EXPECT($L35, fail, 'AssignmentOpSymbol "**="');
10855
+ var AssignmentOpSymbol$1 = $EXPECT($L36, fail, 'AssignmentOpSymbol "*="');
10856
+ var AssignmentOpSymbol$2 = $EXPECT($L37, fail, 'AssignmentOpSymbol "/="');
10857
+ var AssignmentOpSymbol$3 = $EXPECT($L38, fail, 'AssignmentOpSymbol "%="');
10858
+ var AssignmentOpSymbol$4 = $EXPECT($L39, fail, 'AssignmentOpSymbol "+="');
10859
+ var AssignmentOpSymbol$5 = $EXPECT($L40, fail, 'AssignmentOpSymbol "-="');
10860
+ var AssignmentOpSymbol$6 = $EXPECT($L41, fail, 'AssignmentOpSymbol "<<="');
10861
+ var AssignmentOpSymbol$7 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>>="');
10862
+ var AssignmentOpSymbol$8 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>="');
10863
+ var AssignmentOpSymbol$9 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&&="');
10864
+ var AssignmentOpSymbol$10 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&="');
10865
+ var AssignmentOpSymbol$11 = $EXPECT($L46, fail, 'AssignmentOpSymbol "^="');
10866
+ var AssignmentOpSymbol$12 = $EXPECT($L47, fail, 'AssignmentOpSymbol "||="');
10867
+ var AssignmentOpSymbol$13 = $EXPECT($L48, fail, 'AssignmentOpSymbol "|="');
10868
+ var AssignmentOpSymbol$14 = $EXPECT($L49, fail, 'AssignmentOpSymbol "??="');
10869
+ var AssignmentOpSymbol$15 = $T($EXPECT($L50, fail, 'AssignmentOpSymbol "?="'), function(value) {
10743
10870
  return "??=";
10744
10871
  });
10745
10872
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10770,10 +10897,10 @@ ${input.slice(result.pos)}
10770
10897
  return result;
10771
10898
  }
10772
10899
  }
10773
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10900
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10774
10901
  return "&&=";
10775
10902
  });
10776
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L53, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10903
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10777
10904
  return "||=";
10778
10905
  });
10779
10906
  function CoffeeWordAssignmentOp(state) {
@@ -10880,27 +11007,27 @@ ${input.slice(result.pos)}
10880
11007
  return result;
10881
11008
  }
10882
11009
  }
10883
- var BinaryOpSymbol$0 = $EXPECT($L54, fail, 'BinaryOpSymbol "**"');
10884
- var BinaryOpSymbol$1 = $EXPECT($L55, fail, 'BinaryOpSymbol "*"');
10885
- var BinaryOpSymbol$2 = $EXPECT($L56, fail, 'BinaryOpSymbol "/"');
10886
- var BinaryOpSymbol$3 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
11010
+ var BinaryOpSymbol$0 = $EXPECT($L53, fail, 'BinaryOpSymbol "**"');
11011
+ var BinaryOpSymbol$1 = $EXPECT($L54, fail, 'BinaryOpSymbol "*"');
11012
+ var BinaryOpSymbol$2 = $EXPECT($L55, fail, 'BinaryOpSymbol "/"');
11013
+ var BinaryOpSymbol$3 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10887
11014
  return {
10888
11015
  call: module.getRef("modulo"),
10889
11016
  special: true
10890
11017
  };
10891
11018
  });
10892
- var BinaryOpSymbol$4 = $EXPECT($L58, fail, 'BinaryOpSymbol "%"');
10893
- var BinaryOpSymbol$5 = $EXPECT($L59, fail, 'BinaryOpSymbol "+"');
10894
- var BinaryOpSymbol$6 = $EXPECT($L20, fail, 'BinaryOpSymbol "-"');
10895
- var BinaryOpSymbol$7 = $EXPECT($L60, fail, 'BinaryOpSymbol "<="');
10896
- var BinaryOpSymbol$8 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
11019
+ var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
11020
+ var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
11021
+ var BinaryOpSymbol$6 = $EXPECT($L19, fail, 'BinaryOpSymbol "-"');
11022
+ var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
11023
+ var BinaryOpSymbol$8 = $T($EXPECT($L60, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10897
11024
  return "<=";
10898
11025
  });
10899
- var BinaryOpSymbol$9 = $EXPECT($L62, fail, 'BinaryOpSymbol ">="');
10900
- var BinaryOpSymbol$10 = $T($EXPECT($L63, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
11026
+ var BinaryOpSymbol$9 = $EXPECT($L61, fail, 'BinaryOpSymbol ">="');
11027
+ var BinaryOpSymbol$10 = $T($EXPECT($L62, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10901
11028
  return ">=";
10902
11029
  });
10903
- var BinaryOpSymbol$11 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
11030
+ var BinaryOpSymbol$11 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10904
11031
  return {
10905
11032
  $loc,
10906
11033
  token: "instanceof",
@@ -10908,7 +11035,7 @@ ${input.slice(result.pos)}
10908
11035
  special: true
10909
11036
  };
10910
11037
  });
10911
- var BinaryOpSymbol$12 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
11038
+ var BinaryOpSymbol$12 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10912
11039
  return {
10913
11040
  $loc,
10914
11041
  token: "instanceof",
@@ -10917,79 +11044,79 @@ ${input.slice(result.pos)}
10917
11044
  negated: true
10918
11045
  };
10919
11046
  });
10920
- var BinaryOpSymbol$13 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
10921
- var BinaryOpSymbol$14 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
11047
+ var BinaryOpSymbol$13 = $EXPECT($L65, fail, 'BinaryOpSymbol "<<"');
11048
+ var BinaryOpSymbol$14 = $T($EXPECT($L66, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10922
11049
  return "<<";
10923
11050
  });
10924
11051
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10925
11052
  return "<";
10926
11053
  });
10927
- var BinaryOpSymbol$16 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>>"');
10928
- var BinaryOpSymbol$17 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
11054
+ var BinaryOpSymbol$16 = $EXPECT($L67, fail, 'BinaryOpSymbol ">>>"');
11055
+ var BinaryOpSymbol$17 = $T($EXPECT($L68, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10929
11056
  return ">>>";
10930
11057
  });
10931
- var BinaryOpSymbol$18 = $EXPECT($L70, fail, 'BinaryOpSymbol ">>"');
10932
- var BinaryOpSymbol$19 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
11058
+ var BinaryOpSymbol$18 = $EXPECT($L69, fail, 'BinaryOpSymbol ">>"');
11059
+ var BinaryOpSymbol$19 = $T($EXPECT($L70, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
10933
11060
  return ">>";
10934
11061
  });
10935
- var BinaryOpSymbol$20 = $EXPECT($L34, fail, 'BinaryOpSymbol ">"');
10936
- var BinaryOpSymbol$21 = $EXPECT($L72, fail, 'BinaryOpSymbol "!=="');
10937
- var BinaryOpSymbol$22 = $T($EXPECT($L73, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11062
+ var BinaryOpSymbol$20 = $EXPECT($L33, fail, 'BinaryOpSymbol ">"');
11063
+ var BinaryOpSymbol$21 = $EXPECT($L71, fail, 'BinaryOpSymbol "!=="');
11064
+ var BinaryOpSymbol$22 = $T($EXPECT($L72, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
10938
11065
  return "!==";
10939
11066
  });
10940
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "!="'), $EXPECT($L75, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11067
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L73, fail, 'BinaryOpSymbol "!="'), $EXPECT($L74, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10941
11068
  if (module.config.coffeeEq)
10942
11069
  return "!==";
10943
11070
  return "!=";
10944
11071
  });
10945
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11072
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L75, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10946
11073
  if (module.config.coffeeIsnt)
10947
11074
  return "!==";
10948
11075
  return $skip;
10949
11076
  });
10950
- var BinaryOpSymbol$25 = $EXPECT($L77, fail, 'BinaryOpSymbol "==="');
10951
- var BinaryOpSymbol$26 = $T($C($EXPECT($L78, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11077
+ var BinaryOpSymbol$25 = $EXPECT($L76, fail, 'BinaryOpSymbol "==="');
11078
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L77, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L78, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
10952
11079
  return "===";
10953
11080
  });
10954
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L80, fail, 'BinaryOpSymbol "=="'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L82, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11081
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L79, fail, 'BinaryOpSymbol "=="'), $EXPECT($L80, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10955
11082
  if (module.config.coffeeEq)
10956
11083
  return "===";
10957
11084
  return "==";
10958
11085
  });
10959
- var BinaryOpSymbol$28 = $T($S($EXPECT($L83, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11086
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L82, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10960
11087
  return "&&";
10961
11088
  });
10962
- var BinaryOpSymbol$29 = $EXPECT($L84, fail, 'BinaryOpSymbol "&&"');
10963
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11089
+ var BinaryOpSymbol$29 = $EXPECT($L83, fail, 'BinaryOpSymbol "&&"');
11090
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
10964
11091
  return "in";
10965
11092
  });
10966
- var BinaryOpSymbol$31 = $T($S($EXPECT($L86, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11093
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L85, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10967
11094
  return "||";
10968
11095
  });
10969
- var BinaryOpSymbol$32 = $EXPECT($L87, fail, 'BinaryOpSymbol "||"');
10970
- var BinaryOpSymbol$33 = $T($EXPECT($L88, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11096
+ var BinaryOpSymbol$32 = $EXPECT($L86, fail, 'BinaryOpSymbol "||"');
11097
+ var BinaryOpSymbol$33 = $T($EXPECT($L87, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
10971
11098
  return "||";
10972
11099
  });
10973
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L89, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11100
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L88, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L89, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10974
11101
  return {
10975
11102
  call: module.getRef("xor"),
10976
11103
  special: true
10977
11104
  };
10978
11105
  });
10979
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11106
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10980
11107
  return {
10981
11108
  call: module.getRef("xnor"),
10982
11109
  special: true
10983
11110
  };
10984
11111
  });
10985
- var BinaryOpSymbol$36 = $EXPECT($L92, fail, 'BinaryOpSymbol "??"');
10986
- var BinaryOpSymbol$37 = $T($EXPECT($L93, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11112
+ var BinaryOpSymbol$36 = $EXPECT($L91, fail, 'BinaryOpSymbol "??"');
11113
+ var BinaryOpSymbol$37 = $T($EXPECT($L92, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
10987
11114
  return "??";
10988
11115
  });
10989
11116
  var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, fail, 'BinaryOpSymbol "?"')), function(value) {
10990
11117
  return "??";
10991
11118
  });
10992
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11119
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10993
11120
  return {
10994
11121
  $loc,
10995
11122
  token: $1,
@@ -10997,7 +11124,7 @@ ${input.slice(result.pos)}
10997
11124
  special: true
10998
11125
  };
10999
11126
  });
11000
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11127
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11001
11128
  return {
11002
11129
  $loc,
11003
11130
  token: "instanceof",
@@ -11006,7 +11133,7 @@ ${input.slice(result.pos)}
11006
11133
  negated: true
11007
11134
  };
11008
11135
  });
11009
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11136
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11010
11137
  return {
11011
11138
  $loc,
11012
11139
  token: "in",
@@ -11014,7 +11141,7 @@ ${input.slice(result.pos)}
11014
11141
  negated: true
11015
11142
  };
11016
11143
  });
11017
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L95, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11144
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L94, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11018
11145
  return {
11019
11146
  method: "includes",
11020
11147
  relational: true,
@@ -11022,14 +11149,14 @@ ${input.slice(result.pos)}
11022
11149
  special: true
11023
11150
  };
11024
11151
  });
11025
- var BinaryOpSymbol$43 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11152
+ var BinaryOpSymbol$43 = $TV($EXPECT($L95, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11026
11153
  return {
11027
11154
  method: "includes",
11028
11155
  relational: true,
11029
11156
  special: true
11030
11157
  };
11031
11158
  });
11032
- var BinaryOpSymbol$44 = $TV($EXPECT($L97, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11159
+ var BinaryOpSymbol$44 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11033
11160
  return {
11034
11161
  method: "includes",
11035
11162
  relational: true,
@@ -11046,7 +11173,7 @@ ${input.slice(result.pos)}
11046
11173
  special: true
11047
11174
  };
11048
11175
  });
11049
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11176
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L97, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11050
11177
  return {
11051
11178
  method: "includes",
11052
11179
  relational: true,
@@ -11090,9 +11217,9 @@ ${input.slice(result.pos)}
11090
11217
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
11091
11218
  return "in";
11092
11219
  });
11093
- var BinaryOpSymbol$51 = $EXPECT($L99, fail, 'BinaryOpSymbol "&"');
11094
- var BinaryOpSymbol$52 = $EXPECT($L19, fail, 'BinaryOpSymbol "^"');
11095
- var BinaryOpSymbol$53 = $EXPECT($L100, fail, 'BinaryOpSymbol "|"');
11220
+ var BinaryOpSymbol$51 = $EXPECT($L98, fail, 'BinaryOpSymbol "&"');
11221
+ var BinaryOpSymbol$52 = $EXPECT($L18, fail, 'BinaryOpSymbol "^"');
11222
+ var BinaryOpSymbol$53 = $EXPECT($L99, fail, 'BinaryOpSymbol "|"');
11096
11223
  function BinaryOpSymbol(state) {
11097
11224
  let eventData;
11098
11225
  if (state.events) {
@@ -11115,8 +11242,8 @@ ${input.slice(result.pos)}
11115
11242
  return result;
11116
11243
  }
11117
11244
  }
11118
- var Xor$0 = $EXPECT($L89, fail, 'Xor "^^"');
11119
- var Xor$1 = $S($EXPECT($L90, fail, 'Xor "xor"'), NonIdContinue);
11245
+ var Xor$0 = $EXPECT($L88, fail, 'Xor "^^"');
11246
+ var Xor$1 = $S($EXPECT($L89, fail, 'Xor "xor"'), NonIdContinue);
11120
11247
  function Xor(state) {
11121
11248
  let eventData;
11122
11249
  if (state.events) {
@@ -11140,7 +11267,7 @@ ${input.slice(result.pos)}
11140
11267
  }
11141
11268
  }
11142
11269
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
11143
- var Xnor$1 = $EXPECT($L91, fail, 'Xnor "xnor"');
11270
+ var Xnor$1 = $EXPECT($L90, fail, 'Xnor "xnor"');
11144
11271
  function Xnor(state) {
11145
11272
  let eventData;
11146
11273
  if (state.events) {
@@ -11428,7 +11555,7 @@ ${input.slice(result.pos)}
11428
11555
  return result;
11429
11556
  }
11430
11557
  }
11431
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11558
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L100, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11432
11559
  return { type: "EmptyStatement", children: $1 || [] };
11433
11560
  });
11434
11561
  function EmptyStatement(state) {
@@ -11507,7 +11634,7 @@ ${input.slice(result.pos)}
11507
11634
  var w = $3;
11508
11635
  return [id, colon, w];
11509
11636
  });
11510
- var Label$1 = $S($EXPECT($L102, fail, 'Label "$:"'), Whitespace);
11637
+ var Label$1 = $S($EXPECT($L101, fail, 'Label "$:"'), Whitespace);
11511
11638
  function Label(state) {
11512
11639
  let eventData;
11513
11640
  if (state.events) {
@@ -11985,6 +12112,7 @@ ${input.slice(result.pos)}
11985
12112
  subtype: statement.type,
11986
12113
  children: [statement],
11987
12114
  block: statement.block,
12115
+ statement,
11988
12116
  async
11989
12117
  };
11990
12118
  });
@@ -12235,7 +12363,8 @@ ${input.slice(result.pos)}
12235
12363
  children: [$1, ...$2, ...children],
12236
12364
  declaration,
12237
12365
  block: null,
12238
- blockPrefix: c.blockPrefix
12366
+ blockPrefix: c.blockPrefix,
12367
+ hoistDec: c.hoistDec
12239
12368
  };
12240
12369
  });
12241
12370
  function ForClause(state) {
@@ -12343,7 +12472,7 @@ ${input.slice(result.pos)}
12343
12472
  if (step) {
12344
12473
  throw new Error("Can't use 'by' with 'from' in CoffeeScript for loops");
12345
12474
  }
12346
- kind.token = "of";
12475
+ kind = { ...kind, token: "of" };
12347
12476
  } else if (kind.token === "of") {
12348
12477
  if (step) {
12349
12478
  throw new Error("Can't use 'by' with 'of' in CoffeeScript for loops");
@@ -12361,30 +12490,12 @@ ${input.slice(result.pos)}
12361
12490
  }
12362
12491
  kind.token = "in";
12363
12492
  } else if (kind.token === "in") {
12364
- const counterRef = {
12365
- type: "Ref",
12366
- base: "i",
12367
- id: "i"
12368
- };
12369
- const lenRef = {
12370
- type: "Ref",
12371
- base: "len",
12372
- id: "len"
12373
- };
12374
- let expRef;
12375
- switch (exp.type) {
12376
- case "Identifier":
12377
- expRef = exp;
12378
- break;
12379
- case "RangeExpression":
12380
- return forRange(open, declaration, exp, step?.[2], close);
12381
- default:
12382
- expRef = {
12383
- type: "Ref",
12384
- base: "ref",
12385
- id: "ref"
12386
- };
12493
+ const counterRef = makeRef("i");
12494
+ const lenRef = makeRef("len");
12495
+ if (exp.type === "RangeExpression") {
12496
+ return forRange(open, declaration, exp, step?.[2], close);
12387
12497
  }
12498
+ const expRef = maybeRef(exp);
12388
12499
  const varRef = declaration;
12389
12500
  let increment = "++", indexAssignment, assignmentNames = [...varRef.names];
12390
12501
  if (index) {
@@ -12493,7 +12604,7 @@ ${input.slice(result.pos)}
12493
12604
  return result;
12494
12605
  }
12495
12606
  }
12496
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L103, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12607
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L102, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12497
12608
  var own = $1;
12498
12609
  var binding = $2;
12499
12610
  return {
@@ -12539,39 +12650,11 @@ ${input.slice(result.pos)}
12539
12650
  children: $0
12540
12651
  };
12541
12652
  });
12542
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12543
- var open = $2;
12544
- var declaration = $4;
12545
- var op = $6;
12546
- var exp = $7;
12547
- var step = $8;
12548
- var close = $10;
12549
- if (exp.type === "RangeExpression" && op.token === "of") {
12550
- return forRange(open, declaration, exp, step, close);
12551
- } else if (step) {
12552
- throw new Error("for..of/in cannot use 'by' except with range literals");
12553
- }
12554
- return {
12555
- declaration,
12556
- children: $0
12557
- };
12653
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), $E($S(Each, __)), $S(OpenParen, __), ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12654
+ return processForInOf($0);
12558
12655
  });
12559
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
12560
- var open = $2;
12561
- var declaration = $3;
12562
- var op = $5;
12563
- var exp = $6;
12564
- var step = $7;
12565
- var close = $8;
12566
- if (exp.type === "RangeExpression" && op.token === "of") {
12567
- return forRange(open, declaration, exp, step, close);
12568
- } else if (step) {
12569
- throw new Error("for..of/in cannot use 'by' except with range literals");
12570
- }
12571
- return {
12572
- declaration,
12573
- children: $0
12574
- };
12656
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), $E($S(Each, __)), InsertOpenParen, ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12657
+ return processForInOf($0);
12575
12658
  });
12576
12659
  var ForStatementParameters$4 = ForRangeParameters;
12577
12660
  function ForStatementParameters(state) {
@@ -12638,6 +12721,7 @@ ${input.slice(result.pos)}
12638
12721
  type: "ForDeclaration",
12639
12722
  children: $0,
12640
12723
  declare: $1,
12724
+ binding,
12641
12725
  names: binding.names
12642
12726
  };
12643
12727
  });
@@ -12672,16 +12756,18 @@ ${input.slice(result.pos)}
12672
12756
  type: "ForDeclaration",
12673
12757
  children: [c, binding],
12674
12758
  declare: c,
12759
+ binding,
12675
12760
  names: binding.names
12676
12761
  };
12677
12762
  });
12678
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\)])/")), function($skip, $loc, $0, $1, $2, $3) {
12763
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
12679
12764
  var c = $1;
12680
12765
  var binding = $2;
12681
12766
  return {
12682
12767
  type: "ForDeclaration",
12683
12768
  children: [c, binding],
12684
12769
  declare: c,
12770
+ binding,
12685
12771
  names: binding.names
12686
12772
  };
12687
12773
  });
@@ -13416,10 +13502,7 @@ ${input.slice(result.pos)}
13416
13502
  }
13417
13503
  var DeclarationCondition$0 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
13418
13504
  var dec = $0;
13419
- const ref = {
13420
- type: "Ref",
13421
- base: "ref"
13422
- };
13505
+ const ref = makeRef();
13423
13506
  const { decl, bindings } = dec;
13424
13507
  const binding = bindings[0];
13425
13508
  const { pattern, suffix, initializer, splices, thisAssignments } = binding;
@@ -14150,7 +14233,7 @@ ${input.slice(result.pos)}
14150
14233
  return result;
14151
14234
  }
14152
14235
  }
14153
- var Break$0 = $TS($S($EXPECT($L104, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14236
+ var Break$0 = $TS($S($EXPECT($L103, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14154
14237
  return { $loc, token: $1 };
14155
14238
  });
14156
14239
  function Break(state) {
@@ -14175,7 +14258,7 @@ ${input.slice(result.pos)}
14175
14258
  return result;
14176
14259
  }
14177
14260
  }
14178
- var Continue$0 = $TS($S($EXPECT($L105, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14261
+ var Continue$0 = $TS($S($EXPECT($L104, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14179
14262
  return { $loc, token: $1 };
14180
14263
  });
14181
14264
  function Continue(state) {
@@ -14200,7 +14283,7 @@ ${input.slice(result.pos)}
14200
14283
  return result;
14201
14284
  }
14202
14285
  }
14203
- var Debugger$0 = $TS($S($EXPECT($L106, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14286
+ var Debugger$0 = $TS($S($EXPECT($L105, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14204
14287
  return { $loc, token: $1 };
14205
14288
  });
14206
14289
  function Debugger(state) {
@@ -14506,7 +14589,7 @@ ${input.slice(result.pos)}
14506
14589
  return result;
14507
14590
  }
14508
14591
  }
14509
- var ImportAssertion$0 = $S($E(_), $EXPECT($L107, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14592
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L106, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14510
14593
  function ImportAssertion(state) {
14511
14594
  let eventData;
14512
14595
  if (state.events) {
@@ -15076,7 +15159,7 @@ ${input.slice(result.pos)}
15076
15159
  return result;
15077
15160
  }
15078
15161
  }
15079
- var ConstAssignment$0 = $TV($C($EXPECT($L108, fail, 'ConstAssignment ":="'), $EXPECT($L109, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15162
+ var ConstAssignment$0 = $TV($C($EXPECT($L107, fail, 'ConstAssignment ":="'), $EXPECT($L108, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15080
15163
  return { $loc, token: "=" };
15081
15164
  });
15082
15165
  function ConstAssignment(state) {
@@ -15101,7 +15184,7 @@ ${input.slice(result.pos)}
15101
15184
  return result;
15102
15185
  }
15103
15186
  }
15104
- var LetAssignment$0 = $TV($EXPECT($L110, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15187
+ var LetAssignment$0 = $TV($EXPECT($L109, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15105
15188
  return { $loc, token: "=" };
15106
15189
  });
15107
15190
  function LetAssignment(state) {
@@ -15747,7 +15830,7 @@ ${input.slice(result.pos)}
15747
15830
  }
15748
15831
  }
15749
15832
  var RegularExpressionLiteral$0 = HeregexLiteral;
15750
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15833
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15751
15834
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
15752
15835
  });
15753
15836
  function RegularExpressionLiteral(state) {
@@ -16314,7 +16397,7 @@ ${input.slice(result.pos)}
16314
16397
  return result;
16315
16398
  }
16316
16399
  }
16317
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L112, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16400
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L110, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L111, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L111, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16318
16401
  return { type: "Comment", $loc, token: $1 };
16319
16402
  });
16320
16403
  function JSMultiLineComment(state) {
@@ -16413,7 +16496,7 @@ ${input.slice(result.pos)}
16413
16496
  return result;
16414
16497
  }
16415
16498
  }
16416
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L112, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L112, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16499
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L110, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L111, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L111, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16417
16500
  return { $loc, token: $1 };
16418
16501
  });
16419
16502
  function InlineComment(state) {
@@ -16510,7 +16593,7 @@ ${input.slice(result.pos)}
16510
16593
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16511
16594
  return { $loc, token: $0 };
16512
16595
  });
16513
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L113, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16596
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L112, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16514
16597
  return "";
16515
16598
  });
16516
16599
  function NonNewlineWhitespace(state) {
@@ -16662,7 +16745,7 @@ ${input.slice(result.pos)}
16662
16745
  }
16663
16746
  }
16664
16747
  var StatementDelimiter$0 = SemicolonDelimiter;
16665
- var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, fail, 'StatementDelimiter "("'), $EXPECT($L114, fail, 'StatementDelimiter "["'), $EXPECT($L115, fail, 'StatementDelimiter "`"'), $EXPECT($L59, fail, 'StatementDelimiter "+"'), $EXPECT($L20, fail, 'StatementDelimiter "-"'), $EXPECT($L55, fail, 'StatementDelimiter "*"'), $EXPECT($L56, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16748
+ var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, fail, 'StatementDelimiter "("'), $EXPECT($L113, fail, 'StatementDelimiter "["'), $EXPECT($L114, fail, 'StatementDelimiter "`"'), $EXPECT($L58, fail, 'StatementDelimiter "+"'), $EXPECT($L19, fail, 'StatementDelimiter "-"'), $EXPECT($L54, fail, 'StatementDelimiter "*"'), $EXPECT($L55, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16666
16749
  var StatementDelimiter$2 = $Y(EOS);
16667
16750
  function StatementDelimiter(state) {
16668
16751
  let eventData;
@@ -16762,7 +16845,7 @@ ${input.slice(result.pos)}
16762
16845
  return result;
16763
16846
  }
16764
16847
  }
16765
- var Abstract$0 = $TV($TEXT($S($EXPECT($L116, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16848
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L115, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16766
16849
  return { $loc, token: $1, ts: true };
16767
16850
  });
16768
16851
  function Abstract(state) {
@@ -16787,7 +16870,7 @@ ${input.slice(result.pos)}
16787
16870
  return result;
16788
16871
  }
16789
16872
  }
16790
- var Ampersand$0 = $TV($EXPECT($L99, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16873
+ var Ampersand$0 = $TV($EXPECT($L98, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16791
16874
  return { $loc, token: $1 };
16792
16875
  });
16793
16876
  function Ampersand(state) {
@@ -16812,7 +16895,7 @@ ${input.slice(result.pos)}
16812
16895
  return result;
16813
16896
  }
16814
16897
  }
16815
- var As$0 = $TS($S($EXPECT($L117, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16898
+ var As$0 = $TS($S($EXPECT($L116, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16816
16899
  return { $loc, token: $1 };
16817
16900
  });
16818
16901
  function As(state) {
@@ -16837,7 +16920,7 @@ ${input.slice(result.pos)}
16837
16920
  return result;
16838
16921
  }
16839
16922
  }
16840
- var At$0 = $TV($EXPECT($L118, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16923
+ var At$0 = $TV($EXPECT($L117, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16841
16924
  return { $loc, token: $1 };
16842
16925
  });
16843
16926
  function At(state) {
@@ -16862,7 +16945,7 @@ ${input.slice(result.pos)}
16862
16945
  return result;
16863
16946
  }
16864
16947
  }
16865
- var AtAt$0 = $TV($EXPECT($L119, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16948
+ var AtAt$0 = $TV($EXPECT($L118, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16866
16949
  return { $loc, token: "@" };
16867
16950
  });
16868
16951
  function AtAt(state) {
@@ -16887,7 +16970,7 @@ ${input.slice(result.pos)}
16887
16970
  return result;
16888
16971
  }
16889
16972
  }
16890
- var Async$0 = $TS($S($EXPECT($L120, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16973
+ var Async$0 = $TS($S($EXPECT($L119, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16891
16974
  return { $loc, token: $1, type: "Async" };
16892
16975
  });
16893
16976
  function Async(state) {
@@ -16912,7 +16995,7 @@ ${input.slice(result.pos)}
16912
16995
  return result;
16913
16996
  }
16914
16997
  }
16915
- var Await$0 = $TS($S($EXPECT($L121, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16998
+ var Await$0 = $TS($S($EXPECT($L120, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16916
16999
  return { $loc, token: $1, type: "Await" };
16917
17000
  });
16918
17001
  function Await(state) {
@@ -16937,7 +17020,7 @@ ${input.slice(result.pos)}
16937
17020
  return result;
16938
17021
  }
16939
17022
  }
16940
- var Backtick$0 = $TV($EXPECT($L115, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17023
+ var Backtick$0 = $TV($EXPECT($L114, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16941
17024
  return { $loc, token: $1 };
16942
17025
  });
16943
17026
  function Backtick(state) {
@@ -16962,7 +17045,7 @@ ${input.slice(result.pos)}
16962
17045
  return result;
16963
17046
  }
16964
17047
  }
16965
- var By$0 = $TS($S($EXPECT($L122, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17048
+ var By$0 = $TS($S($EXPECT($L121, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16966
17049
  return { $loc, token: $1 };
16967
17050
  });
16968
17051
  function By(state) {
@@ -16987,7 +17070,7 @@ ${input.slice(result.pos)}
16987
17070
  return result;
16988
17071
  }
16989
17072
  }
16990
- var Case$0 = $TS($S($EXPECT($L123, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17073
+ var Case$0 = $TS($S($EXPECT($L122, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16991
17074
  return { $loc, token: $1 };
16992
17075
  });
16993
17076
  function Case(state) {
@@ -17012,7 +17095,7 @@ ${input.slice(result.pos)}
17012
17095
  return result;
17013
17096
  }
17014
17097
  }
17015
- var Catch$0 = $TS($S($EXPECT($L124, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17098
+ var Catch$0 = $TS($S($EXPECT($L123, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17016
17099
  return { $loc, token: $1 };
17017
17100
  });
17018
17101
  function Catch(state) {
@@ -17037,7 +17120,7 @@ ${input.slice(result.pos)}
17037
17120
  return result;
17038
17121
  }
17039
17122
  }
17040
- var Class$0 = $TS($S($EXPECT($L125, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17123
+ var Class$0 = $TS($S($EXPECT($L124, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17041
17124
  return { $loc, token: $1 };
17042
17125
  });
17043
17126
  function Class(state) {
@@ -17062,7 +17145,7 @@ ${input.slice(result.pos)}
17062
17145
  return result;
17063
17146
  }
17064
17147
  }
17065
- var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17148
+ var CloseBrace$0 = $TV($EXPECT($L25, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17066
17149
  return { $loc, token: $1 };
17067
17150
  });
17068
17151
  function CloseBrace(state) {
@@ -17087,7 +17170,7 @@ ${input.slice(result.pos)}
17087
17170
  return result;
17088
17171
  }
17089
17172
  }
17090
- var CloseBracket$0 = $TV($EXPECT($L35, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17173
+ var CloseBracket$0 = $TV($EXPECT($L34, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17091
17174
  return { $loc, token: $1 };
17092
17175
  });
17093
17176
  function CloseBracket(state) {
@@ -17112,7 +17195,7 @@ ${input.slice(result.pos)}
17112
17195
  return result;
17113
17196
  }
17114
17197
  }
17115
- var CloseParen$0 = $TV($EXPECT($L126, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17198
+ var CloseParen$0 = $TV($EXPECT($L125, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17116
17199
  return { $loc, token: $1 };
17117
17200
  });
17118
17201
  function CloseParen(state) {
@@ -17137,7 +17220,7 @@ ${input.slice(result.pos)}
17137
17220
  return result;
17138
17221
  }
17139
17222
  }
17140
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17223
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17141
17224
  return { $loc, token: "${" };
17142
17225
  });
17143
17226
  function CoffeeSubstitutionStart(state) {
@@ -17187,7 +17270,7 @@ ${input.slice(result.pos)}
17187
17270
  return result;
17188
17271
  }
17189
17272
  }
17190
- var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17273
+ var Comma$0 = $TV($EXPECT($L22, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17191
17274
  return { $loc, token: $1 };
17192
17275
  });
17193
17276
  function Comma(state) {
@@ -17212,7 +17295,7 @@ ${input.slice(result.pos)}
17212
17295
  return result;
17213
17296
  }
17214
17297
  }
17215
- var ConstructorShorthand$0 = $TV($EXPECT($L118, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17298
+ var ConstructorShorthand$0 = $TV($EXPECT($L117, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17216
17299
  return { $loc, token: "constructor" };
17217
17300
  });
17218
17301
  function ConstructorShorthand(state) {
@@ -17237,7 +17320,7 @@ ${input.slice(result.pos)}
17237
17320
  return result;
17238
17321
  }
17239
17322
  }
17240
- var Declare$0 = $TS($S($EXPECT($L128, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17323
+ var Declare$0 = $TS($S($EXPECT($L127, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17241
17324
  return { $loc, token: $1 };
17242
17325
  });
17243
17326
  function Declare(state) {
@@ -17262,7 +17345,7 @@ ${input.slice(result.pos)}
17262
17345
  return result;
17263
17346
  }
17264
17347
  }
17265
- var Default$0 = $TS($S($EXPECT($L129, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17348
+ var Default$0 = $TS($S($EXPECT($L128, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17266
17349
  return { $loc, token: $1 };
17267
17350
  });
17268
17351
  function Default(state) {
@@ -17287,7 +17370,7 @@ ${input.slice(result.pos)}
17287
17370
  return result;
17288
17371
  }
17289
17372
  }
17290
- var Delete$0 = $TS($S($EXPECT($L130, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17373
+ var Delete$0 = $TS($S($EXPECT($L129, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17291
17374
  return { $loc, token: $1 };
17292
17375
  });
17293
17376
  function Delete(state) {
@@ -17312,7 +17395,7 @@ ${input.slice(result.pos)}
17312
17395
  return result;
17313
17396
  }
17314
17397
  }
17315
- var Do$0 = $TS($S($EXPECT($L131, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17398
+ var Do$0 = $TS($S($EXPECT($L130, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17316
17399
  return { $loc, token: $1 };
17317
17400
  });
17318
17401
  function Do(state) {
@@ -17369,10 +17452,10 @@ ${input.slice(result.pos)}
17369
17452
  return result;
17370
17453
  }
17371
17454
  }
17372
- var DotDot$0 = $TS($S($EXPECT($L132, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17455
+ var DotDot$0 = $TS($S($EXPECT($L131, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17373
17456
  return { $loc, token: $1 };
17374
17457
  });
17375
- var DotDot$1 = $TV($EXPECT($L133, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17458
+ var DotDot$1 = $TV($EXPECT($L132, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17376
17459
  return { $loc, token: ".." };
17377
17460
  });
17378
17461
  function DotDot(state) {
@@ -17397,10 +17480,10 @@ ${input.slice(result.pos)}
17397
17480
  return result;
17398
17481
  }
17399
17482
  }
17400
- var DotDotDot$0 = $TV($EXPECT($L134, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17483
+ var DotDotDot$0 = $TV($EXPECT($L133, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17401
17484
  return { $loc, token: $1 };
17402
17485
  });
17403
- var DotDotDot$1 = $TV($EXPECT($L135, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17486
+ var DotDotDot$1 = $TV($EXPECT($L134, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17404
17487
  return { $loc, token: "..." };
17405
17488
  });
17406
17489
  function DotDotDot(state) {
@@ -17425,7 +17508,7 @@ ${input.slice(result.pos)}
17425
17508
  return result;
17426
17509
  }
17427
17510
  }
17428
- var DoubleColon$0 = $TV($EXPECT($L136, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17511
+ var DoubleColon$0 = $TV($EXPECT($L135, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17429
17512
  return { $loc, token: $1 };
17430
17513
  });
17431
17514
  function DoubleColon(state) {
@@ -17450,7 +17533,7 @@ ${input.slice(result.pos)}
17450
17533
  return result;
17451
17534
  }
17452
17535
  }
17453
- var DoubleQuote$0 = $TV($EXPECT($L137, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17536
+ var DoubleQuote$0 = $TV($EXPECT($L136, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17454
17537
  return { $loc, token: $1 };
17455
17538
  });
17456
17539
  function DoubleQuote(state) {
@@ -17475,6 +17558,31 @@ ${input.slice(result.pos)}
17475
17558
  return result;
17476
17559
  }
17477
17560
  }
17561
+ var Each$0 = $TS($S($EXPECT($L137, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17562
+ return { $loc, token: $1 };
17563
+ });
17564
+ function Each(state) {
17565
+ let eventData;
17566
+ if (state.events) {
17567
+ const result = state.events.enter?.("Each", state);
17568
+ if (result) {
17569
+ if (result.cache)
17570
+ return result.cache;
17571
+ eventData = result.data;
17572
+ }
17573
+ }
17574
+ if (state.tokenize) {
17575
+ const result = $TOKEN("Each", state, Each$0(state));
17576
+ if (state.events)
17577
+ state.events.exit?.("Each", state, result, eventData);
17578
+ return result;
17579
+ } else {
17580
+ const result = Each$0(state);
17581
+ if (state.events)
17582
+ state.events.exit?.("Each", state, result, eventData);
17583
+ return result;
17584
+ }
17585
+ }
17478
17586
  var Else$0 = $TS($S($EXPECT($L138, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17479
17587
  return { $loc, token: $1 };
17480
17588
  });
@@ -17725,7 +17833,7 @@ ${input.slice(result.pos)}
17725
17833
  return result;
17726
17834
  }
17727
17835
  }
17728
- var Import$0 = $TS($S($EXPECT($L17, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17836
+ var Import$0 = $TS($S($EXPECT($L16, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17729
17837
  return { $loc, token: $1 };
17730
17838
  });
17731
17839
  function Import(state) {
@@ -17949,7 +18057,7 @@ ${input.slice(result.pos)}
17949
18057
  return result;
17950
18058
  }
17951
18059
  }
17952
- var Of$0 = $TS($S($EXPECT($L85, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18060
+ var Of$0 = $TS($S($EXPECT($L84, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17953
18061
  return { $loc, token: $1 };
17954
18062
  });
17955
18063
  function Of(state) {
@@ -18024,7 +18132,7 @@ ${input.slice(result.pos)}
18024
18132
  return result;
18025
18133
  }
18026
18134
  }
18027
- var OpenBracket$0 = $TV($EXPECT($L114, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18135
+ var OpenBracket$0 = $TV($EXPECT($L113, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18028
18136
  return { $loc, token: $1 };
18029
18137
  });
18030
18138
  function OpenBracket(state) {
@@ -18305,7 +18413,7 @@ ${input.slice(result.pos)}
18305
18413
  return result;
18306
18414
  }
18307
18415
  }
18308
- var Semicolon$0 = $TV($EXPECT($L101, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18416
+ var Semicolon$0 = $TV($EXPECT($L100, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18309
18417
  return { $loc, token: $1 };
18310
18418
  });
18311
18419
  function Semicolon(state) {
@@ -18355,7 +18463,7 @@ ${input.slice(result.pos)}
18355
18463
  return result;
18356
18464
  }
18357
18465
  }
18358
- var Star$0 = $TV($EXPECT($L55, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18466
+ var Star$0 = $TV($EXPECT($L54, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18359
18467
  return { $loc, token: $1 };
18360
18468
  });
18361
18469
  function Star(state) {
@@ -18383,7 +18491,7 @@ ${input.slice(result.pos)}
18383
18491
  var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18384
18492
  return { $loc, token: $1 };
18385
18493
  });
18386
- var Static$1 = $TS($S($EXPECT($L118, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L118, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18494
+ var Static$1 = $TS($S($EXPECT($L117, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L117, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18387
18495
  return { $loc, token: "static " };
18388
18496
  });
18389
18497
  function Static(state) {
@@ -18433,7 +18541,32 @@ ${input.slice(result.pos)}
18433
18541
  return result;
18434
18542
  }
18435
18543
  }
18436
- var Switch$0 = $TS($S($EXPECT($L172, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18544
+ var Super$0 = $TS($S($EXPECT($L172, fail, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18545
+ return { $loc, token: $1 };
18546
+ });
18547
+ function Super(state) {
18548
+ let eventData;
18549
+ if (state.events) {
18550
+ const result = state.events.enter?.("Super", state);
18551
+ if (result) {
18552
+ if (result.cache)
18553
+ return result.cache;
18554
+ eventData = result.data;
18555
+ }
18556
+ }
18557
+ if (state.tokenize) {
18558
+ const result = $TOKEN("Super", state, Super$0(state));
18559
+ if (state.events)
18560
+ state.events.exit?.("Super", state, result, eventData);
18561
+ return result;
18562
+ } else {
18563
+ const result = Super$0(state);
18564
+ if (state.events)
18565
+ state.events.exit?.("Super", state, result, eventData);
18566
+ return result;
18567
+ }
18568
+ }
18569
+ var Switch$0 = $TS($S($EXPECT($L173, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18437
18570
  return { $loc, token: $1 };
18438
18571
  });
18439
18572
  function Switch(state) {
@@ -18458,7 +18591,7 @@ ${input.slice(result.pos)}
18458
18591
  return result;
18459
18592
  }
18460
18593
  }
18461
- var Target$0 = $TS($S($EXPECT($L173, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18594
+ var Target$0 = $TS($S($EXPECT($L174, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18462
18595
  return { $loc, token: $1 };
18463
18596
  });
18464
18597
  function Target(state) {
@@ -18483,7 +18616,7 @@ ${input.slice(result.pos)}
18483
18616
  return result;
18484
18617
  }
18485
18618
  }
18486
- var Then$0 = $TS($S(__, $EXPECT($L174, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18619
+ var Then$0 = $TS($S(__, $EXPECT($L175, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18487
18620
  return { $loc, token: "" };
18488
18621
  });
18489
18622
  function Then(state) {
@@ -18508,7 +18641,7 @@ ${input.slice(result.pos)}
18508
18641
  return result;
18509
18642
  }
18510
18643
  }
18511
- var This$0 = $TS($S($EXPECT($L175, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18644
+ var This$0 = $TS($S($EXPECT($L176, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18512
18645
  return { $loc, token: $1 };
18513
18646
  });
18514
18647
  function This(state) {
@@ -18533,7 +18666,7 @@ ${input.slice(result.pos)}
18533
18666
  return result;
18534
18667
  }
18535
18668
  }
18536
- var Throw$0 = $TS($S($EXPECT($L176, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18669
+ var Throw$0 = $TS($S($EXPECT($L177, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18537
18670
  return { $loc, token: $1 };
18538
18671
  });
18539
18672
  function Throw(state) {
@@ -18558,7 +18691,7 @@ ${input.slice(result.pos)}
18558
18691
  return result;
18559
18692
  }
18560
18693
  }
18561
- var TripleDoubleQuote$0 = $TV($EXPECT($L177, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18694
+ var TripleDoubleQuote$0 = $TV($EXPECT($L178, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18562
18695
  return { $loc, token: "`" };
18563
18696
  });
18564
18697
  function TripleDoubleQuote(state) {
@@ -18583,7 +18716,7 @@ ${input.slice(result.pos)}
18583
18716
  return result;
18584
18717
  }
18585
18718
  }
18586
- var TripleSingleQuote$0 = $TV($EXPECT($L178, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18719
+ var TripleSingleQuote$0 = $TV($EXPECT($L179, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18587
18720
  return { $loc, token: "`" };
18588
18721
  });
18589
18722
  function TripleSingleQuote(state) {
@@ -18608,7 +18741,7 @@ ${input.slice(result.pos)}
18608
18741
  return result;
18609
18742
  }
18610
18743
  }
18611
- var TripleSlash$0 = $TV($EXPECT($L179, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18744
+ var TripleSlash$0 = $TV($EXPECT($L180, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18612
18745
  return { $loc, token: "/" };
18613
18746
  });
18614
18747
  function TripleSlash(state) {
@@ -18633,7 +18766,7 @@ ${input.slice(result.pos)}
18633
18766
  return result;
18634
18767
  }
18635
18768
  }
18636
- var TripleTick$0 = $TV($EXPECT($L180, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18769
+ var TripleTick$0 = $TV($EXPECT($L181, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18637
18770
  return { $loc, token: "`" };
18638
18771
  });
18639
18772
  function TripleTick(state) {
@@ -18658,7 +18791,7 @@ ${input.slice(result.pos)}
18658
18791
  return result;
18659
18792
  }
18660
18793
  }
18661
- var Try$0 = $TS($S($EXPECT($L181, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18794
+ var Try$0 = $TS($S($EXPECT($L182, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18662
18795
  return { $loc, token: $1 };
18663
18796
  });
18664
18797
  function Try(state) {
@@ -18683,7 +18816,7 @@ ${input.slice(result.pos)}
18683
18816
  return result;
18684
18817
  }
18685
18818
  }
18686
- var Typeof$0 = $TS($S($EXPECT($L182, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18819
+ var Typeof$0 = $TS($S($EXPECT($L183, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18687
18820
  return { $loc, token: $1 };
18688
18821
  });
18689
18822
  function Typeof(state) {
@@ -18708,7 +18841,7 @@ ${input.slice(result.pos)}
18708
18841
  return result;
18709
18842
  }
18710
18843
  }
18711
- var Unless$0 = $TS($S($EXPECT($L183, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18844
+ var Unless$0 = $TS($S($EXPECT($L184, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18712
18845
  return { $loc, token: $1 };
18713
18846
  });
18714
18847
  function Unless(state) {
@@ -18733,7 +18866,7 @@ ${input.slice(result.pos)}
18733
18866
  return result;
18734
18867
  }
18735
18868
  }
18736
- var Until$0 = $TS($S($EXPECT($L184, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18869
+ var Until$0 = $TS($S($EXPECT($L185, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18737
18870
  return { $loc, token: $1 };
18738
18871
  });
18739
18872
  function Until(state) {
@@ -18758,7 +18891,7 @@ ${input.slice(result.pos)}
18758
18891
  return result;
18759
18892
  }
18760
18893
  }
18761
- var Var$0 = $TS($S($EXPECT($L185, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18894
+ var Var$0 = $TS($S($EXPECT($L186, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18762
18895
  return { $loc, token: $1 };
18763
18896
  });
18764
18897
  function Var(state) {
@@ -18783,7 +18916,7 @@ ${input.slice(result.pos)}
18783
18916
  return result;
18784
18917
  }
18785
18918
  }
18786
- var Void$0 = $TS($S($EXPECT($L186, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18919
+ var Void$0 = $TS($S($EXPECT($L187, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18787
18920
  return { $loc, token: $1 };
18788
18921
  });
18789
18922
  function Void(state) {
@@ -18808,7 +18941,7 @@ ${input.slice(result.pos)}
18808
18941
  return result;
18809
18942
  }
18810
18943
  }
18811
- var When$0 = $TS($S($EXPECT($L187, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18944
+ var When$0 = $TS($S($EXPECT($L188, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18812
18945
  return { $loc, token: "case" };
18813
18946
  });
18814
18947
  function When(state) {
@@ -18833,7 +18966,7 @@ ${input.slice(result.pos)}
18833
18966
  return result;
18834
18967
  }
18835
18968
  }
18836
- var While$0 = $TS($S($EXPECT($L188, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18969
+ var While$0 = $TS($S($EXPECT($L189, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18837
18970
  return { $loc, token: $1 };
18838
18971
  });
18839
18972
  function While(state) {
@@ -18858,7 +18991,7 @@ ${input.slice(result.pos)}
18858
18991
  return result;
18859
18992
  }
18860
18993
  }
18861
- var Yield$0 = $TS($S($EXPECT($L189, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18994
+ var Yield$0 = $TS($S($EXPECT($L190, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18862
18995
  return { $loc, token: $1, type: "Yield" };
18863
18996
  });
18864
18997
  function Yield(state) {
@@ -19003,7 +19136,7 @@ ${input.slice(result.pos)}
19003
19136
  return result;
19004
19137
  }
19005
19138
  }
19006
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L155, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L190, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19139
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L155, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L191, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19007
19140
  return { type: "JSXElement", children: $0, tag: $2 };
19008
19141
  });
19009
19142
  function JSXSelfClosingElement(state) {
@@ -19079,7 +19212,7 @@ ${input.slice(result.pos)}
19079
19212
  return result;
19080
19213
  }
19081
19214
  }
19082
- var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19215
+ var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L33, fail, 'JSXOpeningElement ">"'));
19083
19216
  function JSXOpeningElement(state) {
19084
19217
  let eventData;
19085
19218
  if (state.events) {
@@ -19131,7 +19264,7 @@ ${input.slice(result.pos)}
19131
19264
  return result;
19132
19265
  }
19133
19266
  }
19134
- var JSXClosingElement$0 = $S($EXPECT($L191, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19267
+ var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L33, fail, 'JSXClosingElement ">"'));
19135
19268
  function JSXClosingElement(state) {
19136
19269
  let eventData;
19137
19270
  if (state.events) {
@@ -19169,7 +19302,7 @@ ${input.slice(result.pos)}
19169
19302
  ];
19170
19303
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
19171
19304
  });
19172
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L192, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19305
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L193, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19173
19306
  var children = $3;
19174
19307
  $0 = $0.slice(1);
19175
19308
  return {
@@ -19200,7 +19333,7 @@ ${input.slice(result.pos)}
19200
19333
  return result;
19201
19334
  }
19202
19335
  }
19203
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L192, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19336
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L193, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19204
19337
  module.JSXTagStack.push("");
19205
19338
  return $1;
19206
19339
  });
@@ -19254,7 +19387,7 @@ ${input.slice(result.pos)}
19254
19387
  return result;
19255
19388
  }
19256
19389
  }
19257
- var JSXClosingFragment$0 = $EXPECT($L193, fail, 'JSXClosingFragment "</>"');
19390
+ var JSXClosingFragment$0 = $EXPECT($L194, fail, 'JSXClosingFragment "</>"');
19258
19391
  function JSXClosingFragment(state) {
19259
19392
  let eventData;
19260
19393
  if (state.events) {
@@ -19834,7 +19967,7 @@ ${input.slice(result.pos)}
19834
19967
  return result;
19835
19968
  }
19836
19969
  }
19837
- var InlineJSXCallExpression$0 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19970
+ var InlineJSXCallExpression$0 = $TS($S(Super, ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19838
19971
  var args = $2;
19839
19972
  var rest = $3;
19840
19973
  return processCallMemberExpression({
@@ -19846,7 +19979,7 @@ ${input.slice(result.pos)}
19846
19979
  ]
19847
19980
  });
19848
19981
  });
19849
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19982
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19850
19983
  var args = $2;
19851
19984
  var rest = $3;
19852
19985
  return processCallMemberExpression({
@@ -20094,7 +20227,7 @@ ${input.slice(result.pos)}
20094
20227
  }
20095
20228
  return $skip;
20096
20229
  });
20097
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L26, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20230
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L25, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20098
20231
  return { children: [], jsxChildren: [] };
20099
20232
  });
20100
20233
  function JSXNestedChildren(state) {
@@ -20223,7 +20356,7 @@ ${input.slice(result.pos)}
20223
20356
  return result;
20224
20357
  }
20225
20358
  }
20226
- var JSXComment$0 = $TS($S($EXPECT($L194, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L195, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20359
+ var JSXComment$0 = $TS($S($EXPECT($L195, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L196, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20227
20360
  return ["{/*", $2, "*/}"];
20228
20361
  });
20229
20362
  function JSXComment(state) {
@@ -20552,7 +20685,7 @@ ${input.slice(result.pos)}
20552
20685
  return result;
20553
20686
  }
20554
20687
  }
20555
- var TypeKeyword$0 = $TS($S($EXPECT($L196, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20688
+ var TypeKeyword$0 = $TS($S($EXPECT($L197, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20556
20689
  return { $loc, token: $1 };
20557
20690
  });
20558
20691
  function TypeKeyword(state) {
@@ -20577,7 +20710,7 @@ ${input.slice(result.pos)}
20577
20710
  return result;
20578
20711
  }
20579
20712
  }
20580
- var Enum$0 = $TS($S($EXPECT($L197, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20713
+ var Enum$0 = $TS($S($EXPECT($L198, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20581
20714
  return { $loc, token: $1 };
20582
20715
  });
20583
20716
  function Enum(state) {
@@ -20602,7 +20735,7 @@ ${input.slice(result.pos)}
20602
20735
  return result;
20603
20736
  }
20604
20737
  }
20605
- var Interface$0 = $TS($S($EXPECT($L198, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20738
+ var Interface$0 = $TS($S($EXPECT($L199, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20606
20739
  return { $loc, token: $1 };
20607
20740
  });
20608
20741
  function Interface(state) {
@@ -20627,7 +20760,7 @@ ${input.slice(result.pos)}
20627
20760
  return result;
20628
20761
  }
20629
20762
  }
20630
- var Global$0 = $TS($S($EXPECT($L199, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20763
+ var Global$0 = $TS($S($EXPECT($L200, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20631
20764
  return { $loc, token: $1 };
20632
20765
  });
20633
20766
  function Global(state) {
@@ -20652,7 +20785,7 @@ ${input.slice(result.pos)}
20652
20785
  return result;
20653
20786
  }
20654
20787
  }
20655
- var Module$0 = $TS($S($EXPECT($L200, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20788
+ var Module$0 = $TS($S($EXPECT($L201, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20656
20789
  return { $loc, token: $1 };
20657
20790
  });
20658
20791
  function Module(state) {
@@ -20677,7 +20810,7 @@ ${input.slice(result.pos)}
20677
20810
  return result;
20678
20811
  }
20679
20812
  }
20680
- var Namespace$0 = $TS($S($EXPECT($L201, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20813
+ var Namespace$0 = $TS($S($EXPECT($L202, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20681
20814
  return { $loc, token: $1 };
20682
20815
  });
20683
20816
  function Namespace(state) {
@@ -21371,7 +21504,7 @@ ${input.slice(result.pos)}
21371
21504
  return result;
21372
21505
  }
21373
21506
  }
21374
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L202, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21507
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L203, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21375
21508
  var asserts = $1;
21376
21509
  var t = $2;
21377
21510
  if (asserts) {
@@ -21553,9 +21686,9 @@ ${input.slice(result.pos)}
21553
21686
  return result;
21554
21687
  }
21555
21688
  }
21556
- var TypeUnaryOp$0 = $S($EXPECT($L203, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21557
- var TypeUnaryOp$1 = $S($EXPECT($L182, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21558
- var TypeUnaryOp$2 = $S($EXPECT($L204, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21689
+ var TypeUnaryOp$0 = $S($EXPECT($L204, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21690
+ var TypeUnaryOp$1 = $S($EXPECT($L183, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21691
+ var TypeUnaryOp$2 = $S($EXPECT($L205, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21559
21692
  var TypeUnaryOp$3 = $S($EXPECT($L166, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21560
21693
  function TypeUnaryOp(state) {
21561
21694
  let eventData;
@@ -21647,8 +21780,8 @@ ${input.slice(result.pos)}
21647
21780
  return result;
21648
21781
  }
21649
21782
  }
21650
- var ImportType$0 = $S($EXPECT($L17, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21651
- var ImportType$1 = $S($EXPECT($L17, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21783
+ var ImportType$0 = $S($EXPECT($L16, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21784
+ var ImportType$1 = $S($EXPECT($L16, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21652
21785
  function ImportType(state) {
21653
21786
  let eventData;
21654
21787
  if (state.events) {
@@ -21951,10 +22084,10 @@ ${input.slice(result.pos)}
21951
22084
  }
21952
22085
  var TypeLiteral$0 = TypeTemplateLiteral;
21953
22086
  var TypeLiteral$1 = Literal;
21954
- var TypeLiteral$2 = $TS($S($EXPECT($L186, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
22087
+ var TypeLiteral$2 = $TS($S($EXPECT($L187, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
21955
22088
  return { type: "VoidType", $loc, token: $1 };
21956
22089
  });
21957
- var TypeLiteral$3 = $TV($EXPECT($L205, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
22090
+ var TypeLiteral$3 = $TV($EXPECT($L206, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
21958
22091
  return { $loc, token: "[]" };
21959
22092
  });
21960
22093
  function TypeLiteral(state) {
@@ -22029,7 +22162,7 @@ ${input.slice(result.pos)}
22029
22162
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
22030
22163
  return value[1];
22031
22164
  });
22032
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22165
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L34, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L25, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22033
22166
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
22034
22167
  function InlineInterfacePropertyDelimiter(state) {
22035
22168
  let eventData;
@@ -22053,10 +22186,10 @@ ${input.slice(result.pos)}
22053
22186
  return result;
22054
22187
  }
22055
22188
  }
22056
- var TypeBinaryOp$0 = $TV($EXPECT($L100, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22189
+ var TypeBinaryOp$0 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22057
22190
  return { $loc, token: "|" };
22058
22191
  });
22059
- var TypeBinaryOp$1 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22192
+ var TypeBinaryOp$1 = $TV($EXPECT($L98, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22060
22193
  return { $loc, token: "&" };
22061
22194
  });
22062
22195
  function TypeBinaryOp(state) {
@@ -22110,7 +22243,7 @@ ${input.slice(result.pos)}
22110
22243
  return result;
22111
22244
  }
22112
22245
  }
22113
- var TypeArrowFunction$0 = $TV($C($EXPECT($L9, fail, 'TypeArrowFunction "=>"'), $EXPECT($L10, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L24, fail, 'TypeArrowFunction "->"'), $EXPECT($L25, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
22246
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L9, fail, 'TypeArrowFunction "=>"'), $EXPECT($L10, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L23, fail, 'TypeArrowFunction "->"'), $EXPECT($L24, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
22114
22247
  return { $loc, token: "=>" };
22115
22248
  });
22116
22249
  function TypeArrowFunction(state) {
@@ -22135,7 +22268,7 @@ ${input.slice(result.pos)}
22135
22268
  return result;
22136
22269
  }
22137
22270
  }
22138
- var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22271
+ var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L33, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22139
22272
  var args = $2;
22140
22273
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
22141
22274
  });
@@ -22207,7 +22340,7 @@ ${input.slice(result.pos)}
22207
22340
  return result;
22208
22341
  }
22209
22342
  }
22210
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L155, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L34, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22343
+ var TypeParameters$0 = $TS($S($E(_), $EXPECT($L155, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L33, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22211
22344
  var parameters = $3;
22212
22345
  return {
22213
22346
  type: "TypeParameters",
@@ -22308,7 +22441,7 @@ ${input.slice(result.pos)}
22308
22441
  }
22309
22442
  }
22310
22443
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
22311
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'TypeParameterDelimiter ">"')));
22444
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L33, fail, 'TypeParameterDelimiter ">"')));
22312
22445
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
22313
22446
  return value[1];
22314
22447
  });
@@ -22412,7 +22545,7 @@ ${input.slice(result.pos)}
22412
22545
  return result;
22413
22546
  }
22414
22547
  }
22415
- var CivetPrologueContent$0 = $TS($S($EXPECT($L206, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
22548
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L207, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
22416
22549
  var options = $3;
22417
22550
  return {
22418
22551
  type: "CivetPrologue",
@@ -23655,11 +23788,7 @@ ${input.slice(result.pos)}
23655
23788
  module.getRef = function(base) {
23656
23789
  if (refs.hasOwnProperty(base))
23657
23790
  return refs[base];
23658
- const ref = {
23659
- type: "Ref",
23660
- base,
23661
- id: base
23662
- };
23791
+ const ref = makeRef(base);
23663
23792
  if (declareRef.hasOwnProperty(base))
23664
23793
  declareRef[base](ref);
23665
23794
  return refs[base] = ref;
@@ -24040,12 +24169,14 @@ ${input.slice(result.pos)}
24040
24169
  literalValue,
24041
24170
  makeEmptyBlock,
24042
24171
  makeLeftHandSideExpression,
24172
+ makeRef,
24043
24173
  maybeRef,
24044
24174
  modifyString,
24175
+ processAssignmentDeclaration,
24045
24176
  processBinaryOpExpression,
24046
24177
  processCallMemberExpression,
24047
24178
  processCoffeeInterpolation,
24048
- processAssignmentDeclaration,
24179
+ processForInOf,
24049
24180
  processProgram,
24050
24181
  processUnaryExpression,
24051
24182
  quoteString,