@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.js CHANGED
@@ -48,6 +48,25 @@ var require_lib = __commonJS({
48
48
  }
49
49
  }
50
50
  }
51
+ function updateParentPointers(node, parent, depth = 1) {
52
+ if (node == null)
53
+ return;
54
+ if (typeof node !== "object")
55
+ return;
56
+ if (Array.isArray(node)) {
57
+ for (const child of node) {
58
+ updateParentPointers(child, parent, depth);
59
+ }
60
+ return;
61
+ }
62
+ if (parent != null)
63
+ node.parent = parent;
64
+ if (depth && node.children) {
65
+ for (const child of node.children) {
66
+ updateParentPointers(child, node, depth - 1);
67
+ }
68
+ }
69
+ }
51
70
  function addPostfixStatement(statement, ws, post) {
52
71
  let children, expressions;
53
72
  if (post.blockPrefix?.length) {
@@ -337,29 +356,26 @@ var require_lib = __commonJS({
337
356
  };
338
357
  }
339
358
  function expressionizeIteration(exp) {
340
- const i = exp.children.indexOf(exp.block);
341
- if (exp.subtype === "DoStatement") {
342
- insertReturn(exp.block);
343
- exp.children.splice(i, 1, ...wrapIIFE(exp.children, exp.async));
359
+ const { async, subtype, block, children, statement } = exp;
360
+ const i = children.indexOf(statement);
361
+ if (i < 0) {
362
+ throw new Error("Could not find iteration statement in iteration expression");
363
+ }
364
+ if (subtype === "DoStatement") {
365
+ insertReturn(block);
366
+ children.splice(i, 1, ...wrapIIFE(statement, async));
344
367
  return;
345
368
  }
346
- const resultsRef = {
347
- type: "Ref",
348
- base: "results",
349
- id: "results"
350
- };
351
- insertPush(exp.block, resultsRef);
352
- exp.children.splice(
369
+ const resultsRef = makeRef("results");
370
+ insertPush(block, resultsRef);
371
+ children.splice(
353
372
  i,
354
373
  1,
355
- wrapIIFE([
356
- "const ",
357
- resultsRef,
358
- "=[];",
359
- ...exp.children,
360
- "; return ",
361
- resultsRef
362
- ], exp.async)
374
+ ...wrapIIFE([
375
+ ["", ["const ", resultsRef, "=[]"], ";"],
376
+ ...children,
377
+ ["", ["; return ", resultsRef]]
378
+ ], async)
363
379
  );
364
380
  }
365
381
  function processBinaryOpExpression($0) {
@@ -425,10 +441,7 @@ var require_lib = __commonJS({
425
441
  const parts = [];
426
442
  let hoistDec, refAssignment;
427
443
  if (prefix.length > 1) {
428
- const ref = {
429
- type: "Ref",
430
- base: "ref"
431
- };
444
+ const ref = makeRef();
432
445
  hoistDec = {
433
446
  type: "Declaration",
434
447
  children: ["let ", ref],
@@ -530,11 +543,7 @@ var require_lib = __commonJS({
530
543
  }
531
544
  return;
532
545
  }
533
- const resultsRef = {
534
- type: "Ref",
535
- base: "results",
536
- id: "results"
537
- };
546
+ const resultsRef = makeRef("results");
538
547
  const declaration = {
539
548
  type: "Declaration",
540
549
  children: ["const ", resultsRef, "=[];"]
@@ -696,6 +705,7 @@ var require_lib = __commonJS({
696
705
  }
697
706
  function processParams(f) {
698
707
  const { type, parameters, block } = f;
708
+ const isConstructor = f.name === "constructor";
699
709
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
700
710
  parameters.tp.parameters.push(",");
701
711
  }
@@ -712,7 +722,7 @@ var require_lib = __commonJS({
712
722
  indent = expressions[0][0];
713
723
  }
714
724
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
715
- injectParamProps: f.name === "constructor"
725
+ injectParamProps: isConstructor
716
726
  });
717
727
  const delimiter = {
718
728
  type: "SemicolonDelimiter",
@@ -724,6 +734,23 @@ var require_lib = __commonJS({
724
734
  children: [indent, ...s.children, delimiter]
725
735
  } : [indent, s, delimiter]
726
736
  );
737
+ if (!prefix.length)
738
+ return;
739
+ if (isConstructor) {
740
+ const superCalls = gatherNodes(expressions, (exp) => exp.type === "CallExpression" && exp.children[0]?.token === "super");
741
+ if (superCalls.length) {
742
+ const { child } = findAncestor(
743
+ superCalls[0],
744
+ (ancestor) => ancestor === block
745
+ );
746
+ const index = findChildIndex(expressions, child);
747
+ if (index < 0) {
748
+ throw new Error("Could not find super call within top-level expressions");
749
+ }
750
+ expressions.splice(index + 1, 0, ...prefix);
751
+ return;
752
+ }
753
+ }
727
754
  expressions.unshift(...prefix);
728
755
  }
729
756
  function removeParentPointers(node) {
@@ -744,6 +771,24 @@ var require_lib = __commonJS({
744
771
  }
745
772
  }
746
773
  }
774
+ function findChildIndex(parent, child) {
775
+ const children = Array.isArray(parent) ? parent : parent.children;
776
+ const len = children.length;
777
+ for (let i = 0; i < len; i++) {
778
+ const c = children[i];
779
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
780
+ return i;
781
+ }
782
+ function arrayRecurse(array) {
783
+ const len2 = array.length;
784
+ for (let i = 0; i < len2; i++) {
785
+ const c = array[i];
786
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
787
+ return true;
788
+ }
789
+ }
790
+ return -1;
791
+ }
747
792
  function findAncestor(node, predicate, stopPredicate) {
748
793
  let { parent } = node;
749
794
  while (parent && !stopPredicate?.(parent, node)) {
@@ -839,11 +884,15 @@ var require_lib = __commonJS({
839
884
  }
840
885
  function insertHoistDec(block, node, dec) {
841
886
  const { expressions } = block;
842
- const index = expressions.findIndex(([, s]) => node === s);
887
+ const index = expressions.findIndex((exp) => exp === node || Array.isArray(exp) && exp[1] === node);
843
888
  if (index < 0)
844
889
  throw new Error("Couldn't find expression in block for hoistable declaration.");
845
- const indent = expressions[index][0];
846
- expressions.splice(index, 0, [indent, dec, ";"]);
890
+ if (expressions[index] === node) {
891
+ expressions.splice(index, 0, ["", dec, ";"]);
892
+ } else {
893
+ const indent = expressions[index][0];
894
+ expressions.splice(index, 0, [indent, dec, ";"]);
895
+ }
847
896
  }
848
897
  function patternAsValue(pattern) {
849
898
  switch (pattern.type) {
@@ -1039,13 +1088,123 @@ var require_lib = __commonJS({
1039
1088
  if (target.token)
1040
1089
  return target.token.match(/^ ?/)[0];
1041
1090
  }
1091
+ function processForInOf($0) {
1092
+ let [awaits, each, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1093
+ if (exp.type === "RangeExpression" && inOf.token === "of" && !declaration2) {
1094
+ return forRange(open, declaration, exp, step, close);
1095
+ } else if (step) {
1096
+ throw new Error("for..of/in cannot use 'by' except with range literals");
1097
+ }
1098
+ let eachError;
1099
+ let hoistDec, blockPrefix = [];
1100
+ if (each) {
1101
+ if (inOf.token === "of") {
1102
+ const counterRef = makeRef("i");
1103
+ const lenRef = makeRef("len");
1104
+ const expRef = maybeRef(exp);
1105
+ const increment = "++";
1106
+ let indexAssignment, assignmentNames = [...declaration.names];
1107
+ if (declaration2) {
1108
+ const [, , ws22, decl22] = declaration2;
1109
+ blockPrefix.push(["", [
1110
+ insertTrimmingSpace(ws22, ""),
1111
+ decl22,
1112
+ " = ",
1113
+ counterRef
1114
+ ], ";"]);
1115
+ assignmentNames.push(...decl22.names);
1116
+ }
1117
+ const expRefDec = expRef !== exp ? [insertTrimmingSpace(expRef, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1118
+ blockPrefix.push(["", {
1119
+ type: "AssignmentExpression",
1120
+ children: [declaration, " = ", insertTrimmingSpace(expRef, ""), "[", counterRef, "]"],
1121
+ names: assignmentNames
1122
+ }, ";"]);
1123
+ declaration = {
1124
+ type: "Declaration",
1125
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef, ""), ".length"],
1126
+ names: []
1127
+ };
1128
+ const condition = [counterRef, " < ", lenRef, "; "];
1129
+ const children = [open, declaration, "; ", condition, counterRef, increment, close];
1130
+ return { declaration, children, blockPrefix };
1131
+ } else {
1132
+ eachError = {
1133
+ type: "Error",
1134
+ message: "'each' is only meaningful in for..of loops"
1135
+ };
1136
+ }
1137
+ }
1138
+ if (!declaration2) {
1139
+ return {
1140
+ declaration,
1141
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close]
1142
+ };
1143
+ }
1144
+ const [, , ws2, decl2] = declaration2;
1145
+ switch (inOf.token) {
1146
+ case "of": {
1147
+ const counterRef = makeRef("i");
1148
+ hoistDec = {
1149
+ type: "Declaration",
1150
+ children: ["let ", counterRef, " = 0"],
1151
+ names: []
1152
+ };
1153
+ blockPrefix.push(["", {
1154
+ type: "Declaration",
1155
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", counterRef, "++"],
1156
+ names: decl2.names
1157
+ }, ";"]);
1158
+ break;
1159
+ }
1160
+ case "in": {
1161
+ const expRef = maybeRef(exp);
1162
+ if (expRef !== exp) {
1163
+ hoistDec = {
1164
+ type: "Declaration",
1165
+ children: ["let ", expRef],
1166
+ names: []
1167
+ };
1168
+ exp = {
1169
+ type: "AssignmentExpression",
1170
+ children: [" ", expRef, " =", exp]
1171
+ };
1172
+ }
1173
+ let { binding } = declaration;
1174
+ if (binding?.type !== "Identifier") {
1175
+ const keyRef = makeRef("key");
1176
+ blockPrefix.push(["", [
1177
+ declaration,
1178
+ " = ",
1179
+ keyRef
1180
+ ], ";"]);
1181
+ declaration = {
1182
+ type: "ForDeclaration",
1183
+ binding: binding = keyRef,
1184
+ children: ["const ", keyRef],
1185
+ names: []
1186
+ };
1187
+ }
1188
+ blockPrefix.push(["", {
1189
+ type: "Declaration",
1190
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1191
+ names: decl2.names
1192
+ }, ";"]);
1193
+ break;
1194
+ }
1195
+ default:
1196
+ throw new Error(`for item, index must use 'of' or 'in' instead of '${inOf.token}'`);
1197
+ }
1198
+ return {
1199
+ declaration,
1200
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close],
1201
+ blockPrefix,
1202
+ hoistDec
1203
+ };
1204
+ }
1042
1205
  function forRange(open, forDeclaration, range, stepExp, close) {
1043
1206
  const { start, end, inclusive } = range;
1044
- const counterRef = {
1045
- type: "Ref",
1046
- base: "i",
1047
- id: "i"
1048
- };
1207
+ const counterRef = makeRef("i");
1049
1208
  let stepRef;
1050
1209
  if (stepExp) {
1051
1210
  stepExp = insertTrimmingSpace(stepExp, "");
@@ -1063,11 +1222,7 @@ var require_lib = __commonJS({
1063
1222
  } else if (start.type === "Literal" && end.type === "Literal") {
1064
1223
  asc = literalValue(start) <= literalValue(end);
1065
1224
  } else {
1066
- ascRef = {
1067
- type: "Ref",
1068
- base: "asc",
1069
- id: "asc"
1070
- };
1225
+ ascRef = makeRef("asc");
1071
1226
  ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
1072
1227
  }
1073
1228
  let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
@@ -1207,15 +1362,6 @@ var require_lib = __commonJS({
1207
1362
  };
1208
1363
  }
1209
1364
  }
1210
- function maybeRef(exp, base = "ref") {
1211
- if (!needsRef(exp))
1212
- return exp;
1213
- return {
1214
- type: "Ref",
1215
- base,
1216
- id: base
1217
- };
1218
- }
1219
1365
  function modifyString(str) {
1220
1366
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
1221
1367
  }
@@ -1311,13 +1457,20 @@ var require_lib = __commonJS({
1311
1457
  case "Identifier":
1312
1458
  case "Literal":
1313
1459
  return;
1314
- default:
1315
- return {
1316
- type: "Ref",
1317
- base,
1318
- id: base
1319
- };
1320
1460
  }
1461
+ return makeRef(base);
1462
+ }
1463
+ function makeRef(base = "ref") {
1464
+ return {
1465
+ type: "Ref",
1466
+ base,
1467
+ id: base
1468
+ };
1469
+ }
1470
+ function maybeRef(exp, base = "ref") {
1471
+ if (!needsRef(exp))
1472
+ return exp;
1473
+ return makeRef(base);
1321
1474
  }
1322
1475
  function processCoffeeInterpolation(s, parts, e, $loc) {
1323
1476
  if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
@@ -1570,20 +1723,20 @@ var require_lib = __commonJS({
1570
1723
  });
1571
1724
  }
1572
1725
  function attachPostfixStatementAsExpression(exp, post) {
1573
- let clause;
1574
1726
  switch (post[1].type) {
1575
1727
  case "ForStatement":
1576
1728
  case "IterationStatement":
1577
- case "DoStatement":
1578
- clause = addPostfixStatement(exp, ...post);
1729
+ case "DoStatement": {
1730
+ const statement = addPostfixStatement(exp, ...post);
1579
1731
  return {
1580
1732
  type: "IterationExpression",
1581
- children: [clause],
1582
- block: clause.block
1733
+ children: [statement],
1734
+ block: statement.block,
1735
+ statement
1583
1736
  };
1737
+ }
1584
1738
  case "IfStatement":
1585
- clause = expressionizeIfClause(post[1], exp);
1586
- return clause;
1739
+ return expressionizeIfClause(post[1], exp);
1587
1740
  default:
1588
1741
  throw new Error("Unknown postfix statement");
1589
1742
  }
@@ -1810,11 +1963,7 @@ var require_lib = __commonJS({
1810
1963
  if (shared.length === 1)
1811
1964
  return;
1812
1965
  const refs = shared.map((p) => {
1813
- const ref = {
1814
- type: "Ref",
1815
- base: key,
1816
- id: key
1817
- };
1966
+ const ref = makeRef(key);
1818
1967
  aliasBinding(p, ref);
1819
1968
  return ref;
1820
1969
  });
@@ -1848,7 +1997,7 @@ var require_lib = __commonJS({
1848
1997
  if (expression.type === "ParenthesizedExpression") {
1849
1998
  expression = expression.expression;
1850
1999
  }
1851
- let hoistDec, refAssignment = [], ref = needsRef(expression, "m") || expression;
2000
+ let hoistDec, refAssignment = [], ref = maybeRef(expression, "m");
1852
2001
  if (ref !== expression) {
1853
2002
  hoistDec = {
1854
2003
  type: "Declaration",
@@ -1974,7 +2123,7 @@ var require_lib = __commonJS({
1974
2123
  arg.children.push(access);
1975
2124
  break outer;
1976
2125
  }
1977
- usingRef = needsRef({});
2126
+ usingRef = makeRef();
1978
2127
  initRef = {
1979
2128
  type: "AssignmentExpression",
1980
2129
  children: [usingRef, " = ", arg, ","]
@@ -2078,8 +2227,8 @@ var require_lib = __commonJS({
2078
2227
  processFunctions(statements, config);
2079
2228
  processSwitchExpressions(statements);
2080
2229
  processTryExpressions(statements);
2081
- hoistRefDecs(statements);
2082
2230
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
2231
+ hoistRefDecs(statements);
2083
2232
  statements.unshift(...m.prelude);
2084
2233
  if (config.autoLet) {
2085
2234
  createLetDecs(statements, []);
@@ -2249,11 +2398,7 @@ var require_lib = __commonJS({
2249
2398
  );
2250
2399
  if (!values.length)
2251
2400
  return false;
2252
- const ref = {
2253
- type: "Ref",
2254
- base: "ret",
2255
- id: "ret"
2256
- };
2401
+ const ref = makeRef("ret");
2257
2402
  let declared;
2258
2403
  values.forEach((value) => {
2259
2404
  value.children = [ref];
@@ -2526,13 +2671,14 @@ var require_lib = __commonJS({
2526
2671
  prefix = "(()=>";
2527
2672
  suffix = ")()";
2528
2673
  }
2529
- const expressions = Array.isArray(exp) ? [[...exp]] : [exp];
2674
+ const expressions = Array.isArray(exp) ? [...exp] : [exp];
2530
2675
  const block = {
2531
2676
  type: "BlockStatement",
2532
2677
  expressions,
2533
2678
  children: ["{", expressions, "}"],
2534
2679
  bare: false
2535
2680
  };
2681
+ updateParentPointers(block);
2536
2682
  return [
2537
2683
  prefix,
2538
2684
  block,
@@ -2582,13 +2728,15 @@ var require_lib = __commonJS({
2582
2728
  makeAsConst,
2583
2729
  makeEmptyBlock,
2584
2730
  makeLeftHandSideExpression,
2731
+ makeRef,
2585
2732
  maybeRef,
2586
2733
  modifyString,
2587
2734
  needsRef,
2735
+ processAssignmentDeclaration,
2588
2736
  processBinaryOpExpression,
2589
2737
  processCallMemberExpression,
2590
2738
  processCoffeeInterpolation,
2591
- processAssignmentDeclaration,
2739
+ processForInOf,
2592
2740
  processParams,
2593
2741
  processProgram,
2594
2742
  processReturnValue,
@@ -3429,6 +3577,7 @@ ${input.slice(result.pos)}
3429
3577
  DotDotDot,
3430
3578
  DoubleColon,
3431
3579
  DoubleQuote,
3580
+ Each,
3432
3581
  Else,
3433
3582
  Equals,
3434
3583
  Export,
@@ -3467,6 +3616,7 @@ ${input.slice(result.pos)}
3467
3616
  Star,
3468
3617
  Static,
3469
3618
  SubstitutionStart,
3619
+ Super,
3470
3620
  Switch,
3471
3621
  Target,
3472
3622
  Then,
@@ -3673,128 +3823,128 @@ ${input.slice(result.pos)}
3673
3823
  var $L13 = $L("implements");
3674
3824
  var $L14 = $L("<:");
3675
3825
  var $L15 = $L("#");
3676
- var $L16 = $L("super");
3677
- var $L17 = $L("import");
3678
- var $L18 = $L("!");
3679
- var $L19 = $L("^");
3680
- var $L20 = $L("-");
3681
- var $L21 = $L("import.meta");
3682
- var $L22 = $L("return.value");
3683
- var $L23 = $L(",");
3684
- var $L24 = $L("->");
3685
- var $L25 = $L("\u2192");
3686
- var $L26 = $L("}");
3687
- var $L27 = $L("null");
3688
- var $L28 = $L("true");
3689
- var $L29 = $L("false");
3690
- var $L30 = $L("yes");
3691
- var $L31 = $L("on");
3692
- var $L32 = $L("no");
3693
- var $L33 = $L("off");
3694
- var $L34 = $L(">");
3695
- var $L35 = $L("]");
3696
- var $L36 = $L("**=");
3697
- var $L37 = $L("*=");
3698
- var $L38 = $L("/=");
3699
- var $L39 = $L("%=");
3700
- var $L40 = $L("+=");
3701
- var $L41 = $L("-=");
3702
- var $L42 = $L("<<=");
3703
- var $L43 = $L(">>>=");
3704
- var $L44 = $L(">>=");
3705
- var $L45 = $L("&&=");
3706
- var $L46 = $L("&=");
3707
- var $L47 = $L("^=");
3708
- var $L48 = $L("||=");
3709
- var $L49 = $L("|=");
3710
- var $L50 = $L("??=");
3711
- var $L51 = $L("?=");
3712
- var $L52 = $L("and=");
3713
- var $L53 = $L("or=");
3714
- var $L54 = $L("**");
3715
- var $L55 = $L("*");
3716
- var $L56 = $L("/");
3717
- var $L57 = $L("%%");
3718
- var $L58 = $L("%");
3719
- var $L59 = $L("+");
3720
- var $L60 = $L("<=");
3721
- var $L61 = $L("\u2264");
3722
- var $L62 = $L(">=");
3723
- var $L63 = $L("\u2265");
3724
- var $L64 = $L("<?");
3725
- var $L65 = $L("!<?");
3726
- var $L66 = $L("<<");
3727
- var $L67 = $L("\xAB");
3728
- var $L68 = $L(">>>");
3729
- var $L69 = $L("\u22D9");
3730
- var $L70 = $L(">>");
3731
- var $L71 = $L("\xBB");
3732
- var $L72 = $L("!==");
3733
- var $L73 = $L("\u2262");
3734
- var $L74 = $L("!=");
3735
- var $L75 = $L("\u2260");
3736
- var $L76 = $L("isnt");
3737
- var $L77 = $L("===");
3738
- var $L78 = $L("\u2263");
3739
- var $L79 = $L("\u2A76");
3740
- var $L80 = $L("==");
3741
- var $L81 = $L("\u2261");
3742
- var $L82 = $L("\u2A75");
3743
- var $L83 = $L("and");
3744
- var $L84 = $L("&&");
3745
- var $L85 = $L("of");
3746
- var $L86 = $L("or");
3747
- var $L87 = $L("||");
3748
- var $L88 = $L("\u2016");
3749
- var $L89 = $L("^^");
3750
- var $L90 = $L("xor");
3751
- var $L91 = $L("xnor");
3752
- var $L92 = $L("??");
3753
- var $L93 = $L("\u2047");
3754
- var $L94 = $L("instanceof");
3755
- var $L95 = $L("\u2208");
3756
- var $L96 = $L("\u220B");
3757
- var $L97 = $L("\u220C");
3758
- var $L98 = $L("\u2209");
3759
- var $L99 = $L("&");
3760
- var $L100 = $L("|");
3761
- var $L101 = $L(";");
3762
- var $L102 = $L("$:");
3763
- var $L103 = $L("own");
3764
- var $L104 = $L("break");
3765
- var $L105 = $L("continue");
3766
- var $L106 = $L("debugger");
3767
- var $L107 = $L("assert");
3768
- var $L108 = $L(":=");
3769
- var $L109 = $L("\u2254");
3770
- var $L110 = $L(".=");
3771
- var $L111 = $L("/*");
3772
- var $L112 = $L("*/");
3773
- var $L113 = $L("\\");
3774
- var $L114 = $L("[");
3775
- var $L115 = $L("`");
3776
- var $L116 = $L("abstract");
3777
- var $L117 = $L("as");
3778
- var $L118 = $L("@");
3779
- var $L119 = $L("@@");
3780
- var $L120 = $L("async");
3781
- var $L121 = $L("await");
3782
- var $L122 = $L("by");
3783
- var $L123 = $L("case");
3784
- var $L124 = $L("catch");
3785
- var $L125 = $L("class");
3786
- var $L126 = $L(")");
3787
- var $L127 = $L("#{");
3788
- var $L128 = $L("declare");
3789
- var $L129 = $L("default");
3790
- var $L130 = $L("delete");
3791
- var $L131 = $L("do");
3792
- var $L132 = $L("..");
3793
- var $L133 = $L("\u2025");
3794
- var $L134 = $L("...");
3795
- var $L135 = $L("\u2026");
3796
- var $L136 = $L("::");
3797
- var $L137 = $L('"');
3826
+ var $L16 = $L("import");
3827
+ var $L17 = $L("!");
3828
+ var $L18 = $L("^");
3829
+ var $L19 = $L("-");
3830
+ var $L20 = $L("import.meta");
3831
+ var $L21 = $L("return.value");
3832
+ var $L22 = $L(",");
3833
+ var $L23 = $L("->");
3834
+ var $L24 = $L("\u2192");
3835
+ var $L25 = $L("}");
3836
+ var $L26 = $L("null");
3837
+ var $L27 = $L("true");
3838
+ var $L28 = $L("false");
3839
+ var $L29 = $L("yes");
3840
+ var $L30 = $L("on");
3841
+ var $L31 = $L("no");
3842
+ var $L32 = $L("off");
3843
+ var $L33 = $L(">");
3844
+ var $L34 = $L("]");
3845
+ var $L35 = $L("**=");
3846
+ var $L36 = $L("*=");
3847
+ var $L37 = $L("/=");
3848
+ var $L38 = $L("%=");
3849
+ var $L39 = $L("+=");
3850
+ var $L40 = $L("-=");
3851
+ var $L41 = $L("<<=");
3852
+ var $L42 = $L(">>>=");
3853
+ var $L43 = $L(">>=");
3854
+ var $L44 = $L("&&=");
3855
+ var $L45 = $L("&=");
3856
+ var $L46 = $L("^=");
3857
+ var $L47 = $L("||=");
3858
+ var $L48 = $L("|=");
3859
+ var $L49 = $L("??=");
3860
+ var $L50 = $L("?=");
3861
+ var $L51 = $L("and=");
3862
+ var $L52 = $L("or=");
3863
+ var $L53 = $L("**");
3864
+ var $L54 = $L("*");
3865
+ var $L55 = $L("/");
3866
+ var $L56 = $L("%%");
3867
+ var $L57 = $L("%");
3868
+ var $L58 = $L("+");
3869
+ var $L59 = $L("<=");
3870
+ var $L60 = $L("\u2264");
3871
+ var $L61 = $L(">=");
3872
+ var $L62 = $L("\u2265");
3873
+ var $L63 = $L("<?");
3874
+ var $L64 = $L("!<?");
3875
+ var $L65 = $L("<<");
3876
+ var $L66 = $L("\xAB");
3877
+ var $L67 = $L(">>>");
3878
+ var $L68 = $L("\u22D9");
3879
+ var $L69 = $L(">>");
3880
+ var $L70 = $L("\xBB");
3881
+ var $L71 = $L("!==");
3882
+ var $L72 = $L("\u2262");
3883
+ var $L73 = $L("!=");
3884
+ var $L74 = $L("\u2260");
3885
+ var $L75 = $L("isnt");
3886
+ var $L76 = $L("===");
3887
+ var $L77 = $L("\u2263");
3888
+ var $L78 = $L("\u2A76");
3889
+ var $L79 = $L("==");
3890
+ var $L80 = $L("\u2261");
3891
+ var $L81 = $L("\u2A75");
3892
+ var $L82 = $L("and");
3893
+ var $L83 = $L("&&");
3894
+ var $L84 = $L("of");
3895
+ var $L85 = $L("or");
3896
+ var $L86 = $L("||");
3897
+ var $L87 = $L("\u2016");
3898
+ var $L88 = $L("^^");
3899
+ var $L89 = $L("xor");
3900
+ var $L90 = $L("xnor");
3901
+ var $L91 = $L("??");
3902
+ var $L92 = $L("\u2047");
3903
+ var $L93 = $L("instanceof");
3904
+ var $L94 = $L("\u2208");
3905
+ var $L95 = $L("\u220B");
3906
+ var $L96 = $L("\u220C");
3907
+ var $L97 = $L("\u2209");
3908
+ var $L98 = $L("&");
3909
+ var $L99 = $L("|");
3910
+ var $L100 = $L(";");
3911
+ var $L101 = $L("$:");
3912
+ var $L102 = $L("own");
3913
+ var $L103 = $L("break");
3914
+ var $L104 = $L("continue");
3915
+ var $L105 = $L("debugger");
3916
+ var $L106 = $L("assert");
3917
+ var $L107 = $L(":=");
3918
+ var $L108 = $L("\u2254");
3919
+ var $L109 = $L(".=");
3920
+ var $L110 = $L("/*");
3921
+ var $L111 = $L("*/");
3922
+ var $L112 = $L("\\");
3923
+ var $L113 = $L("[");
3924
+ var $L114 = $L("`");
3925
+ var $L115 = $L("abstract");
3926
+ var $L116 = $L("as");
3927
+ var $L117 = $L("@");
3928
+ var $L118 = $L("@@");
3929
+ var $L119 = $L("async");
3930
+ var $L120 = $L("await");
3931
+ var $L121 = $L("by");
3932
+ var $L122 = $L("case");
3933
+ var $L123 = $L("catch");
3934
+ var $L124 = $L("class");
3935
+ var $L125 = $L(")");
3936
+ var $L126 = $L("#{");
3937
+ var $L127 = $L("declare");
3938
+ var $L128 = $L("default");
3939
+ var $L129 = $L("delete");
3940
+ var $L130 = $L("do");
3941
+ var $L131 = $L("..");
3942
+ var $L132 = $L("\u2025");
3943
+ var $L133 = $L("...");
3944
+ var $L134 = $L("\u2026");
3945
+ var $L135 = $L("::");
3946
+ var $L136 = $L('"');
3947
+ var $L137 = $L("each");
3798
3948
  var $L138 = $L("else");
3799
3949
  var $L139 = $L("export");
3800
3950
  var $L140 = $L("extends");
@@ -3829,41 +3979,42 @@ ${input.slice(result.pos)}
3829
3979
  var $L169 = $L("'");
3830
3980
  var $L170 = $L("static");
3831
3981
  var $L171 = $L("${");
3832
- var $L172 = $L("switch");
3833
- var $L173 = $L("target");
3834
- var $L174 = $L("then");
3835
- var $L175 = $L("this");
3836
- var $L176 = $L("throw");
3837
- var $L177 = $L('"""');
3838
- var $L178 = $L("'''");
3839
- var $L179 = $L("///");
3840
- var $L180 = $L("```");
3841
- var $L181 = $L("try");
3842
- var $L182 = $L("typeof");
3843
- var $L183 = $L("unless");
3844
- var $L184 = $L("until");
3845
- var $L185 = $L("var");
3846
- var $L186 = $L("void");
3847
- var $L187 = $L("when");
3848
- var $L188 = $L("while");
3849
- var $L189 = $L("yield");
3850
- var $L190 = $L("/>");
3851
- var $L191 = $L("</");
3852
- var $L192 = $L("<>");
3853
- var $L193 = $L("</>");
3854
- var $L194 = $L("<!--");
3855
- var $L195 = $L("-->");
3856
- var $L196 = $L("type");
3857
- var $L197 = $L("enum");
3858
- var $L198 = $L("interface");
3859
- var $L199 = $L("global");
3860
- var $L200 = $L("module");
3861
- var $L201 = $L("namespace");
3862
- var $L202 = $L("asserts");
3863
- var $L203 = $L("keyof");
3864
- var $L204 = $L("infer");
3865
- var $L205 = $L("[]");
3866
- var $L206 = $L("civet");
3982
+ var $L172 = $L("super");
3983
+ var $L173 = $L("switch");
3984
+ var $L174 = $L("target");
3985
+ var $L175 = $L("then");
3986
+ var $L176 = $L("this");
3987
+ var $L177 = $L("throw");
3988
+ var $L178 = $L('"""');
3989
+ var $L179 = $L("'''");
3990
+ var $L180 = $L("///");
3991
+ var $L181 = $L("```");
3992
+ var $L182 = $L("try");
3993
+ var $L183 = $L("typeof");
3994
+ var $L184 = $L("unless");
3995
+ var $L185 = $L("until");
3996
+ var $L186 = $L("var");
3997
+ var $L187 = $L("void");
3998
+ var $L188 = $L("when");
3999
+ var $L189 = $L("while");
4000
+ var $L190 = $L("yield");
4001
+ var $L191 = $L("/>");
4002
+ var $L192 = $L("</");
4003
+ var $L193 = $L("<>");
4004
+ var $L194 = $L("</>");
4005
+ var $L195 = $L("<!--");
4006
+ var $L196 = $L("-->");
4007
+ var $L197 = $L("type");
4008
+ var $L198 = $L("enum");
4009
+ var $L199 = $L("interface");
4010
+ var $L200 = $L("global");
4011
+ var $L201 = $L("module");
4012
+ var $L202 = $L("namespace");
4013
+ var $L203 = $L("asserts");
4014
+ var $L204 = $L("keyof");
4015
+ var $L205 = $L("infer");
4016
+ var $L206 = $L("[]");
4017
+ var $L207 = $L("civet");
3867
4018
  var $R0 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
3868
4019
  var $R1 = $R(new RegExp("[0-9]", "suy"));
3869
4020
  var $R2 = $R(new RegExp("[)}]", "suy"));
@@ -3874,7 +4025,7 @@ ${input.slice(result.pos)}
3874
4025
  var $R7 = $R(new RegExp("<(?!\\p{ID_Start}|[_$])", "suy"));
3875
4026
  var $R8 = $R(new RegExp("!\\^\\^?", "suy"));
3876
4027
  var $R9 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*[&.])", "suy"));
3877
- var $R10 = $R(new RegExp("(?=[\\s\\)])", "suy"));
4028
+ var $R10 = $R(new RegExp("(?=[\\s\\),])", "suy"));
3878
4029
  var $R11 = $R(new RegExp('[^;"\\s]+', "suy"));
3879
4030
  var $R12 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
3880
4031
  var $R13 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
@@ -5508,10 +5659,7 @@ ${input.slice(result.pos)}
5508
5659
  var head = $2;
5509
5660
  var body = $3;
5510
5661
  if (head.token === "&") {
5511
- const ref = {
5512
- type: "Ref",
5513
- base: "$"
5514
- };
5662
+ const ref = makeRef("$");
5515
5663
  const arrowBody = {
5516
5664
  type: "PipelineExpression",
5517
5665
  children: [ws, ref, body]
@@ -6424,14 +6572,14 @@ ${input.slice(result.pos)}
6424
6572
  return result;
6425
6573
  }
6426
6574
  }
6427
- var CallExpression$0 = $TS($S($EXPECT($L16, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6575
+ var CallExpression$0 = $TS($S(Super, ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6428
6576
  var rest = $3;
6429
6577
  return processCallMemberExpression({
6430
6578
  type: "CallExpression",
6431
6579
  children: [$1, ...$2, ...rest.flat()]
6432
6580
  });
6433
6581
  });
6434
- var CallExpression$1 = $TS($S($EXPECT($L17, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6582
+ var CallExpression$1 = $TS($S($EXPECT($L16, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6435
6583
  var rest = $3;
6436
6584
  return processCallMemberExpression({
6437
6585
  type: "CallExpression",
@@ -6559,7 +6707,7 @@ ${input.slice(result.pos)}
6559
6707
  return result;
6560
6708
  }
6561
6709
  }
6562
- var NonNullAssertion$0 = $T($S($EXPECT($L18, fail, 'NonNullAssertion "!"'), $N($EXPECT($L19, fail, 'NonNullAssertion "^"'))), function(value) {
6710
+ var NonNullAssertion$0 = $T($S($EXPECT($L17, fail, 'NonNullAssertion "!"'), $N($EXPECT($L18, fail, 'NonNullAssertion "^"'))), function(value) {
6563
6711
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6564
6712
  });
6565
6713
  function NonNullAssertion(state) {
@@ -6703,7 +6851,7 @@ ${input.slice(result.pos)}
6703
6851
  ]
6704
6852
  };
6705
6853
  });
6706
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L20, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6854
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L19, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6707
6855
  var dot = $1;
6708
6856
  var neg = $2;
6709
6857
  var num = $3;
@@ -6923,8 +7071,8 @@ ${input.slice(result.pos)}
6923
7071
  return result;
6924
7072
  }
6925
7073
  }
6926
- var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), MemberBracketContent);
6927
- var SuperProperty$1 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7074
+ var SuperProperty$0 = $S(Super, MemberBracketContent);
7075
+ var SuperProperty$1 = $S(Super, $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
6928
7076
  function SuperProperty(state) {
6929
7077
  let eventData;
6930
7078
  if (state.events) {
@@ -6948,7 +7096,7 @@ ${input.slice(result.pos)}
6948
7096
  }
6949
7097
  }
6950
7098
  var MetaProperty$0 = $S(New, Dot, Target);
6951
- var MetaProperty$1 = $TS($S($EXPECT($L21, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7099
+ var MetaProperty$1 = $TS($S($EXPECT($L20, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6952
7100
  return { $loc, token: $1 };
6953
7101
  });
6954
7102
  var MetaProperty$2 = ReturnValue;
@@ -6974,7 +7122,7 @@ ${input.slice(result.pos)}
6974
7122
  return result;
6975
7123
  }
6976
7124
  }
6977
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7125
+ var ReturnValue$0 = $TV($C($S($EXPECT($L21, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6978
7126
  return { type: "ReturnValue", children: [$1[0]] };
6979
7127
  });
6980
7128
  function ReturnValue(state) {
@@ -7282,11 +7430,7 @@ ${input.slice(result.pos)}
7282
7430
  });
7283
7431
  var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
7284
7432
  var id = $0;
7285
- return {
7286
- type: "Ref",
7287
- base: id.name,
7288
- id: id.name
7289
- };
7433
+ return makeRef(id.name);
7290
7434
  });
7291
7435
  function AtIdentifierRef(state) {
7292
7436
  let eventData;
@@ -7310,7 +7454,7 @@ ${input.slice(result.pos)}
7310
7454
  return result;
7311
7455
  }
7312
7456
  }
7313
- var PinPattern$0 = $TS($S($EXPECT($L19, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7457
+ var PinPattern$0 = $TS($S($EXPECT($L18, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7314
7458
  var identifier = $2;
7315
7459
  return {
7316
7460
  type: "PinPattern",
@@ -7683,7 +7827,7 @@ ${input.slice(result.pos)}
7683
7827
  names: value.names
7684
7828
  };
7685
7829
  });
7686
- var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L19, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7830
+ var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L18, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7687
7831
  var ws = $1;
7688
7832
  var pin = $2;
7689
7833
  var binding = $3;
@@ -7828,7 +7972,7 @@ ${input.slice(result.pos)}
7828
7972
  children: [ws, binding]
7829
7973
  };
7830
7974
  });
7831
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7975
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L22, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7832
7976
  return {
7833
7977
  children: [{
7834
7978
  type: "ElisionElement",
@@ -7908,11 +8052,7 @@ ${input.slice(result.pos)}
7908
8052
  }
7909
8053
  }
7910
8054
  var EmptyBindingPattern$0 = $TV($EXPECT($L0, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
7911
- const ref = {
7912
- type: "Ref",
7913
- base: "ref",
7914
- id: "ref"
7915
- };
8055
+ const ref = makeRef();
7916
8056
  return {
7917
8057
  type: "EmptyBinding",
7918
8058
  children: [ref],
@@ -8070,11 +8210,7 @@ ${input.slice(result.pos)}
8070
8210
  return $skip;
8071
8211
  let body, ref;
8072
8212
  if (!rhs) {
8073
- body = ref = {
8074
- type: "Ref",
8075
- base: "$",
8076
- id: "$"
8077
- };
8213
+ body = ref = makeRef("$");
8078
8214
  } else {
8079
8215
  let exp = rhs;
8080
8216
  while (!exp.ref && exp.expression) {
@@ -8254,11 +8390,7 @@ ${input.slice(result.pos)}
8254
8390
  var binopRHS = $3;
8255
8391
  if (!callExpRest && !binopRHS && !unaryPostfix)
8256
8392
  return $skip;
8257
- const ref = {
8258
- type: "Ref",
8259
- base: "$",
8260
- id: "$"
8261
- };
8393
+ const ref = makeRef("$");
8262
8394
  let exp = {
8263
8395
  type: "AmpersandRef",
8264
8396
  children: [ref],
@@ -8378,7 +8510,7 @@ ${input.slice(result.pos)}
8378
8510
  return result;
8379
8511
  }
8380
8512
  }
8381
- var Arrow$0 = $TV($C($EXPECT($L24, fail, 'Arrow "->"'), $EXPECT($L25, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8513
+ var Arrow$0 = $TV($C($EXPECT($L23, fail, 'Arrow "->"'), $EXPECT($L24, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8382
8514
  return { $loc, token: "->" };
8383
8515
  });
8384
8516
  function Arrow(state) {
@@ -8908,7 +9040,7 @@ ${input.slice(result.pos)}
8908
9040
  children: [$1, expressions]
8909
9041
  };
8910
9042
  });
8911
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L26, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9043
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L25, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8912
9044
  const expressions = [];
8913
9045
  return {
8914
9046
  type: "BlockStatement",
@@ -9089,7 +9221,7 @@ ${input.slice(result.pos)}
9089
9221
  return result;
9090
9222
  }
9091
9223
  }
9092
- var NullLiteral$0 = $TS($S($EXPECT($L27, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9224
+ var NullLiteral$0 = $TS($S($EXPECT($L26, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9093
9225
  return { $loc, token: $1 };
9094
9226
  });
9095
9227
  function NullLiteral(state) {
@@ -9117,7 +9249,7 @@ ${input.slice(result.pos)}
9117
9249
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9118
9250
  return value[1];
9119
9251
  });
9120
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'BooleanLiteral "true"'), $EXPECT($L29, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9252
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L27, fail, 'BooleanLiteral "true"'), $EXPECT($L28, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9121
9253
  return { $loc, token: $1 };
9122
9254
  });
9123
9255
  function BooleanLiteral(state) {
@@ -9142,10 +9274,10 @@ ${input.slice(result.pos)}
9142
9274
  return result;
9143
9275
  }
9144
9276
  }
9145
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9277
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9146
9278
  return { $loc, token: "true" };
9147
9279
  });
9148
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L33, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9280
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9149
9281
  return { $loc, token: "false" };
9150
9282
  });
9151
9283
  function CoffeeScriptBooleanLiteral(state) {
@@ -9251,7 +9383,7 @@ ${input.slice(result.pos)}
9251
9383
  return result;
9252
9384
  }
9253
9385
  }
9254
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L34, fail, 'UpcomingAssignment ">"')))));
9386
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L33, fail, 'UpcomingAssignment ">"')))));
9255
9387
  function UpcomingAssignment(state) {
9256
9388
  let eventData;
9257
9389
  if (state.events) {
@@ -9515,7 +9647,7 @@ ${input.slice(result.pos)}
9515
9647
  }
9516
9648
  }
9517
9649
  var ArrayElementDelimiter$0 = $S(__, Comma);
9518
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L35, fail, 'ArrayElementDelimiter "]"')));
9650
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'ArrayElementDelimiter "]"')));
9519
9651
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9520
9652
  return value[1];
9521
9653
  });
@@ -9636,12 +9768,7 @@ ${input.slice(result.pos)}
9636
9768
  var ws = $2;
9637
9769
  var dots = $3;
9638
9770
  if (!exp) {
9639
- exp = {
9640
- type: "Ref",
9641
- base: "ref",
9642
- id: "ref",
9643
- names: []
9644
- };
9771
+ exp = { ...makeRef(), names: [] };
9645
9772
  }
9646
9773
  return {
9647
9774
  type: "SpreadElement",
@@ -10026,7 +10153,7 @@ ${input.slice(result.pos)}
10026
10153
  }
10027
10154
  }
10028
10155
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
10029
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
10156
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L25, fail, 'ObjectPropertyDelimiter "}"')));
10030
10157
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
10031
10158
  return value[1];
10032
10159
  });
@@ -10306,7 +10433,7 @@ ${input.slice(result.pos)}
10306
10433
  implicit: true
10307
10434
  };
10308
10435
  });
10309
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10436
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L19, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10310
10437
  const expression = [$2, $3];
10311
10438
  return {
10312
10439
  type: "ComputedPropertyName",
@@ -10726,22 +10853,22 @@ ${input.slice(result.pos)}
10726
10853
  return result;
10727
10854
  }
10728
10855
  }
10729
- var AssignmentOpSymbol$0 = $EXPECT($L36, fail, 'AssignmentOpSymbol "**="');
10730
- var AssignmentOpSymbol$1 = $EXPECT($L37, fail, 'AssignmentOpSymbol "*="');
10731
- var AssignmentOpSymbol$2 = $EXPECT($L38, fail, 'AssignmentOpSymbol "/="');
10732
- var AssignmentOpSymbol$3 = $EXPECT($L39, fail, 'AssignmentOpSymbol "%="');
10733
- var AssignmentOpSymbol$4 = $EXPECT($L40, fail, 'AssignmentOpSymbol "+="');
10734
- var AssignmentOpSymbol$5 = $EXPECT($L41, fail, 'AssignmentOpSymbol "-="');
10735
- var AssignmentOpSymbol$6 = $EXPECT($L42, fail, 'AssignmentOpSymbol "<<="');
10736
- var AssignmentOpSymbol$7 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>>="');
10737
- var AssignmentOpSymbol$8 = $EXPECT($L44, fail, 'AssignmentOpSymbol ">>="');
10738
- var AssignmentOpSymbol$9 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&&="');
10739
- var AssignmentOpSymbol$10 = $EXPECT($L46, fail, 'AssignmentOpSymbol "&="');
10740
- var AssignmentOpSymbol$11 = $EXPECT($L47, fail, 'AssignmentOpSymbol "^="');
10741
- var AssignmentOpSymbol$12 = $EXPECT($L48, fail, 'AssignmentOpSymbol "||="');
10742
- var AssignmentOpSymbol$13 = $EXPECT($L49, fail, 'AssignmentOpSymbol "|="');
10743
- var AssignmentOpSymbol$14 = $EXPECT($L50, fail, 'AssignmentOpSymbol "??="');
10744
- var AssignmentOpSymbol$15 = $T($EXPECT($L51, fail, 'AssignmentOpSymbol "?="'), function(value) {
10856
+ var AssignmentOpSymbol$0 = $EXPECT($L35, fail, 'AssignmentOpSymbol "**="');
10857
+ var AssignmentOpSymbol$1 = $EXPECT($L36, fail, 'AssignmentOpSymbol "*="');
10858
+ var AssignmentOpSymbol$2 = $EXPECT($L37, fail, 'AssignmentOpSymbol "/="');
10859
+ var AssignmentOpSymbol$3 = $EXPECT($L38, fail, 'AssignmentOpSymbol "%="');
10860
+ var AssignmentOpSymbol$4 = $EXPECT($L39, fail, 'AssignmentOpSymbol "+="');
10861
+ var AssignmentOpSymbol$5 = $EXPECT($L40, fail, 'AssignmentOpSymbol "-="');
10862
+ var AssignmentOpSymbol$6 = $EXPECT($L41, fail, 'AssignmentOpSymbol "<<="');
10863
+ var AssignmentOpSymbol$7 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>>="');
10864
+ var AssignmentOpSymbol$8 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>="');
10865
+ var AssignmentOpSymbol$9 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&&="');
10866
+ var AssignmentOpSymbol$10 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&="');
10867
+ var AssignmentOpSymbol$11 = $EXPECT($L46, fail, 'AssignmentOpSymbol "^="');
10868
+ var AssignmentOpSymbol$12 = $EXPECT($L47, fail, 'AssignmentOpSymbol "||="');
10869
+ var AssignmentOpSymbol$13 = $EXPECT($L48, fail, 'AssignmentOpSymbol "|="');
10870
+ var AssignmentOpSymbol$14 = $EXPECT($L49, fail, 'AssignmentOpSymbol "??="');
10871
+ var AssignmentOpSymbol$15 = $T($EXPECT($L50, fail, 'AssignmentOpSymbol "?="'), function(value) {
10745
10872
  return "??=";
10746
10873
  });
10747
10874
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10772,10 +10899,10 @@ ${input.slice(result.pos)}
10772
10899
  return result;
10773
10900
  }
10774
10901
  }
10775
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10902
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10776
10903
  return "&&=";
10777
10904
  });
10778
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L53, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10905
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10779
10906
  return "||=";
10780
10907
  });
10781
10908
  function CoffeeWordAssignmentOp(state) {
@@ -10882,27 +11009,27 @@ ${input.slice(result.pos)}
10882
11009
  return result;
10883
11010
  }
10884
11011
  }
10885
- var BinaryOpSymbol$0 = $EXPECT($L54, fail, 'BinaryOpSymbol "**"');
10886
- var BinaryOpSymbol$1 = $EXPECT($L55, fail, 'BinaryOpSymbol "*"');
10887
- var BinaryOpSymbol$2 = $EXPECT($L56, fail, 'BinaryOpSymbol "/"');
10888
- var BinaryOpSymbol$3 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
11012
+ var BinaryOpSymbol$0 = $EXPECT($L53, fail, 'BinaryOpSymbol "**"');
11013
+ var BinaryOpSymbol$1 = $EXPECT($L54, fail, 'BinaryOpSymbol "*"');
11014
+ var BinaryOpSymbol$2 = $EXPECT($L55, fail, 'BinaryOpSymbol "/"');
11015
+ var BinaryOpSymbol$3 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10889
11016
  return {
10890
11017
  call: module2.getRef("modulo"),
10891
11018
  special: true
10892
11019
  };
10893
11020
  });
10894
- var BinaryOpSymbol$4 = $EXPECT($L58, fail, 'BinaryOpSymbol "%"');
10895
- var BinaryOpSymbol$5 = $EXPECT($L59, fail, 'BinaryOpSymbol "+"');
10896
- var BinaryOpSymbol$6 = $EXPECT($L20, fail, 'BinaryOpSymbol "-"');
10897
- var BinaryOpSymbol$7 = $EXPECT($L60, fail, 'BinaryOpSymbol "<="');
10898
- var BinaryOpSymbol$8 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
11021
+ var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
11022
+ var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
11023
+ var BinaryOpSymbol$6 = $EXPECT($L19, fail, 'BinaryOpSymbol "-"');
11024
+ var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
11025
+ var BinaryOpSymbol$8 = $T($EXPECT($L60, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10899
11026
  return "<=";
10900
11027
  });
10901
- var BinaryOpSymbol$9 = $EXPECT($L62, fail, 'BinaryOpSymbol ">="');
10902
- var BinaryOpSymbol$10 = $T($EXPECT($L63, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
11028
+ var BinaryOpSymbol$9 = $EXPECT($L61, fail, 'BinaryOpSymbol ">="');
11029
+ var BinaryOpSymbol$10 = $T($EXPECT($L62, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10903
11030
  return ">=";
10904
11031
  });
10905
- var BinaryOpSymbol$11 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
11032
+ var BinaryOpSymbol$11 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10906
11033
  return {
10907
11034
  $loc,
10908
11035
  token: "instanceof",
@@ -10910,7 +11037,7 @@ ${input.slice(result.pos)}
10910
11037
  special: true
10911
11038
  };
10912
11039
  });
10913
- var BinaryOpSymbol$12 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
11040
+ var BinaryOpSymbol$12 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10914
11041
  return {
10915
11042
  $loc,
10916
11043
  token: "instanceof",
@@ -10919,79 +11046,79 @@ ${input.slice(result.pos)}
10919
11046
  negated: true
10920
11047
  };
10921
11048
  });
10922
- var BinaryOpSymbol$13 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
10923
- var BinaryOpSymbol$14 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
11049
+ var BinaryOpSymbol$13 = $EXPECT($L65, fail, 'BinaryOpSymbol "<<"');
11050
+ var BinaryOpSymbol$14 = $T($EXPECT($L66, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10924
11051
  return "<<";
10925
11052
  });
10926
11053
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10927
11054
  return "<";
10928
11055
  });
10929
- var BinaryOpSymbol$16 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>>"');
10930
- var BinaryOpSymbol$17 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
11056
+ var BinaryOpSymbol$16 = $EXPECT($L67, fail, 'BinaryOpSymbol ">>>"');
11057
+ var BinaryOpSymbol$17 = $T($EXPECT($L68, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10931
11058
  return ">>>";
10932
11059
  });
10933
- var BinaryOpSymbol$18 = $EXPECT($L70, fail, 'BinaryOpSymbol ">>"');
10934
- var BinaryOpSymbol$19 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
11060
+ var BinaryOpSymbol$18 = $EXPECT($L69, fail, 'BinaryOpSymbol ">>"');
11061
+ var BinaryOpSymbol$19 = $T($EXPECT($L70, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
10935
11062
  return ">>";
10936
11063
  });
10937
- var BinaryOpSymbol$20 = $EXPECT($L34, fail, 'BinaryOpSymbol ">"');
10938
- var BinaryOpSymbol$21 = $EXPECT($L72, fail, 'BinaryOpSymbol "!=="');
10939
- var BinaryOpSymbol$22 = $T($EXPECT($L73, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11064
+ var BinaryOpSymbol$20 = $EXPECT($L33, fail, 'BinaryOpSymbol ">"');
11065
+ var BinaryOpSymbol$21 = $EXPECT($L71, fail, 'BinaryOpSymbol "!=="');
11066
+ var BinaryOpSymbol$22 = $T($EXPECT($L72, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
10940
11067
  return "!==";
10941
11068
  });
10942
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "!="'), $EXPECT($L75, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11069
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L73, fail, 'BinaryOpSymbol "!="'), $EXPECT($L74, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10943
11070
  if (module2.config.coffeeEq)
10944
11071
  return "!==";
10945
11072
  return "!=";
10946
11073
  });
10947
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11074
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L75, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10948
11075
  if (module2.config.coffeeIsnt)
10949
11076
  return "!==";
10950
11077
  return $skip;
10951
11078
  });
10952
- var BinaryOpSymbol$25 = $EXPECT($L77, fail, 'BinaryOpSymbol "==="');
10953
- var BinaryOpSymbol$26 = $T($C($EXPECT($L78, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11079
+ var BinaryOpSymbol$25 = $EXPECT($L76, fail, 'BinaryOpSymbol "==="');
11080
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L77, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L78, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
10954
11081
  return "===";
10955
11082
  });
10956
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L80, fail, 'BinaryOpSymbol "=="'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L82, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11083
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L79, fail, 'BinaryOpSymbol "=="'), $EXPECT($L80, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10957
11084
  if (module2.config.coffeeEq)
10958
11085
  return "===";
10959
11086
  return "==";
10960
11087
  });
10961
- var BinaryOpSymbol$28 = $T($S($EXPECT($L83, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11088
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L82, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10962
11089
  return "&&";
10963
11090
  });
10964
- var BinaryOpSymbol$29 = $EXPECT($L84, fail, 'BinaryOpSymbol "&&"');
10965
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11091
+ var BinaryOpSymbol$29 = $EXPECT($L83, fail, 'BinaryOpSymbol "&&"');
11092
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
10966
11093
  return "in";
10967
11094
  });
10968
- var BinaryOpSymbol$31 = $T($S($EXPECT($L86, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11095
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L85, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10969
11096
  return "||";
10970
11097
  });
10971
- var BinaryOpSymbol$32 = $EXPECT($L87, fail, 'BinaryOpSymbol "||"');
10972
- var BinaryOpSymbol$33 = $T($EXPECT($L88, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11098
+ var BinaryOpSymbol$32 = $EXPECT($L86, fail, 'BinaryOpSymbol "||"');
11099
+ var BinaryOpSymbol$33 = $T($EXPECT($L87, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
10973
11100
  return "||";
10974
11101
  });
10975
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L89, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11102
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L88, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L89, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10976
11103
  return {
10977
11104
  call: module2.getRef("xor"),
10978
11105
  special: true
10979
11106
  };
10980
11107
  });
10981
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11108
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10982
11109
  return {
10983
11110
  call: module2.getRef("xnor"),
10984
11111
  special: true
10985
11112
  };
10986
11113
  });
10987
- var BinaryOpSymbol$36 = $EXPECT($L92, fail, 'BinaryOpSymbol "??"');
10988
- var BinaryOpSymbol$37 = $T($EXPECT($L93, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11114
+ var BinaryOpSymbol$36 = $EXPECT($L91, fail, 'BinaryOpSymbol "??"');
11115
+ var BinaryOpSymbol$37 = $T($EXPECT($L92, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
10989
11116
  return "??";
10990
11117
  });
10991
11118
  var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, fail, 'BinaryOpSymbol "?"')), function(value) {
10992
11119
  return "??";
10993
11120
  });
10994
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11121
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10995
11122
  return {
10996
11123
  $loc,
10997
11124
  token: $1,
@@ -10999,7 +11126,7 @@ ${input.slice(result.pos)}
10999
11126
  special: true
11000
11127
  };
11001
11128
  });
11002
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11129
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11003
11130
  return {
11004
11131
  $loc,
11005
11132
  token: "instanceof",
@@ -11008,7 +11135,7 @@ ${input.slice(result.pos)}
11008
11135
  negated: true
11009
11136
  };
11010
11137
  });
11011
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11138
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11012
11139
  return {
11013
11140
  $loc,
11014
11141
  token: "in",
@@ -11016,7 +11143,7 @@ ${input.slice(result.pos)}
11016
11143
  negated: true
11017
11144
  };
11018
11145
  });
11019
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L95, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11146
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L94, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11020
11147
  return {
11021
11148
  method: "includes",
11022
11149
  relational: true,
@@ -11024,14 +11151,14 @@ ${input.slice(result.pos)}
11024
11151
  special: true
11025
11152
  };
11026
11153
  });
11027
- var BinaryOpSymbol$43 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11154
+ var BinaryOpSymbol$43 = $TV($EXPECT($L95, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11028
11155
  return {
11029
11156
  method: "includes",
11030
11157
  relational: true,
11031
11158
  special: true
11032
11159
  };
11033
11160
  });
11034
- var BinaryOpSymbol$44 = $TV($EXPECT($L97, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11161
+ var BinaryOpSymbol$44 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11035
11162
  return {
11036
11163
  method: "includes",
11037
11164
  relational: true,
@@ -11048,7 +11175,7 @@ ${input.slice(result.pos)}
11048
11175
  special: true
11049
11176
  };
11050
11177
  });
11051
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11178
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L97, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11052
11179
  return {
11053
11180
  method: "includes",
11054
11181
  relational: true,
@@ -11092,9 +11219,9 @@ ${input.slice(result.pos)}
11092
11219
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
11093
11220
  return "in";
11094
11221
  });
11095
- var BinaryOpSymbol$51 = $EXPECT($L99, fail, 'BinaryOpSymbol "&"');
11096
- var BinaryOpSymbol$52 = $EXPECT($L19, fail, 'BinaryOpSymbol "^"');
11097
- var BinaryOpSymbol$53 = $EXPECT($L100, fail, 'BinaryOpSymbol "|"');
11222
+ var BinaryOpSymbol$51 = $EXPECT($L98, fail, 'BinaryOpSymbol "&"');
11223
+ var BinaryOpSymbol$52 = $EXPECT($L18, fail, 'BinaryOpSymbol "^"');
11224
+ var BinaryOpSymbol$53 = $EXPECT($L99, fail, 'BinaryOpSymbol "|"');
11098
11225
  function BinaryOpSymbol(state) {
11099
11226
  let eventData;
11100
11227
  if (state.events) {
@@ -11117,8 +11244,8 @@ ${input.slice(result.pos)}
11117
11244
  return result;
11118
11245
  }
11119
11246
  }
11120
- var Xor$0 = $EXPECT($L89, fail, 'Xor "^^"');
11121
- var Xor$1 = $S($EXPECT($L90, fail, 'Xor "xor"'), NonIdContinue);
11247
+ var Xor$0 = $EXPECT($L88, fail, 'Xor "^^"');
11248
+ var Xor$1 = $S($EXPECT($L89, fail, 'Xor "xor"'), NonIdContinue);
11122
11249
  function Xor(state) {
11123
11250
  let eventData;
11124
11251
  if (state.events) {
@@ -11142,7 +11269,7 @@ ${input.slice(result.pos)}
11142
11269
  }
11143
11270
  }
11144
11271
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
11145
- var Xnor$1 = $EXPECT($L91, fail, 'Xnor "xnor"');
11272
+ var Xnor$1 = $EXPECT($L90, fail, 'Xnor "xnor"');
11146
11273
  function Xnor(state) {
11147
11274
  let eventData;
11148
11275
  if (state.events) {
@@ -11430,7 +11557,7 @@ ${input.slice(result.pos)}
11430
11557
  return result;
11431
11558
  }
11432
11559
  }
11433
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11560
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L100, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11434
11561
  return { type: "EmptyStatement", children: $1 || [] };
11435
11562
  });
11436
11563
  function EmptyStatement(state) {
@@ -11509,7 +11636,7 @@ ${input.slice(result.pos)}
11509
11636
  var w = $3;
11510
11637
  return [id, colon, w];
11511
11638
  });
11512
- var Label$1 = $S($EXPECT($L102, fail, 'Label "$:"'), Whitespace);
11639
+ var Label$1 = $S($EXPECT($L101, fail, 'Label "$:"'), Whitespace);
11513
11640
  function Label(state) {
11514
11641
  let eventData;
11515
11642
  if (state.events) {
@@ -11987,6 +12114,7 @@ ${input.slice(result.pos)}
11987
12114
  subtype: statement.type,
11988
12115
  children: [statement],
11989
12116
  block: statement.block,
12117
+ statement,
11990
12118
  async
11991
12119
  };
11992
12120
  });
@@ -12237,7 +12365,8 @@ ${input.slice(result.pos)}
12237
12365
  children: [$1, ...$2, ...children],
12238
12366
  declaration,
12239
12367
  block: null,
12240
- blockPrefix: c.blockPrefix
12368
+ blockPrefix: c.blockPrefix,
12369
+ hoistDec: c.hoistDec
12241
12370
  };
12242
12371
  });
12243
12372
  function ForClause(state) {
@@ -12345,7 +12474,7 @@ ${input.slice(result.pos)}
12345
12474
  if (step) {
12346
12475
  throw new Error("Can't use 'by' with 'from' in CoffeeScript for loops");
12347
12476
  }
12348
- kind.token = "of";
12477
+ kind = { ...kind, token: "of" };
12349
12478
  } else if (kind.token === "of") {
12350
12479
  if (step) {
12351
12480
  throw new Error("Can't use 'by' with 'of' in CoffeeScript for loops");
@@ -12363,30 +12492,12 @@ ${input.slice(result.pos)}
12363
12492
  }
12364
12493
  kind.token = "in";
12365
12494
  } else if (kind.token === "in") {
12366
- const counterRef = {
12367
- type: "Ref",
12368
- base: "i",
12369
- id: "i"
12370
- };
12371
- const lenRef = {
12372
- type: "Ref",
12373
- base: "len",
12374
- id: "len"
12375
- };
12376
- let expRef;
12377
- switch (exp.type) {
12378
- case "Identifier":
12379
- expRef = exp;
12380
- break;
12381
- case "RangeExpression":
12382
- return forRange(open, declaration, exp, step?.[2], close);
12383
- default:
12384
- expRef = {
12385
- type: "Ref",
12386
- base: "ref",
12387
- id: "ref"
12388
- };
12495
+ const counterRef = makeRef("i");
12496
+ const lenRef = makeRef("len");
12497
+ if (exp.type === "RangeExpression") {
12498
+ return forRange(open, declaration, exp, step?.[2], close);
12389
12499
  }
12500
+ const expRef = maybeRef(exp);
12390
12501
  const varRef = declaration;
12391
12502
  let increment = "++", indexAssignment, assignmentNames = [...varRef.names];
12392
12503
  if (index) {
@@ -12495,7 +12606,7 @@ ${input.slice(result.pos)}
12495
12606
  return result;
12496
12607
  }
12497
12608
  }
12498
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L103, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12609
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L102, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12499
12610
  var own = $1;
12500
12611
  var binding = $2;
12501
12612
  return {
@@ -12541,39 +12652,11 @@ ${input.slice(result.pos)}
12541
12652
  children: $0
12542
12653
  };
12543
12654
  });
12544
- 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) {
12545
- var open = $2;
12546
- var declaration = $4;
12547
- var op = $6;
12548
- var exp = $7;
12549
- var step = $8;
12550
- var close = $10;
12551
- if (exp.type === "RangeExpression" && op.token === "of") {
12552
- return forRange(open, declaration, exp, step, close);
12553
- } else if (step) {
12554
- throw new Error("for..of/in cannot use 'by' except with range literals");
12555
- }
12556
- return {
12557
- declaration,
12558
- children: $0
12559
- };
12655
+ 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) {
12656
+ return processForInOf($0);
12560
12657
  });
12561
- 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) {
12562
- var open = $2;
12563
- var declaration = $3;
12564
- var op = $5;
12565
- var exp = $6;
12566
- var step = $7;
12567
- var close = $8;
12568
- if (exp.type === "RangeExpression" && op.token === "of") {
12569
- return forRange(open, declaration, exp, step, close);
12570
- } else if (step) {
12571
- throw new Error("for..of/in cannot use 'by' except with range literals");
12572
- }
12573
- return {
12574
- declaration,
12575
- children: $0
12576
- };
12658
+ 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) {
12659
+ return processForInOf($0);
12577
12660
  });
12578
12661
  var ForStatementParameters$4 = ForRangeParameters;
12579
12662
  function ForStatementParameters(state) {
@@ -12640,6 +12723,7 @@ ${input.slice(result.pos)}
12640
12723
  type: "ForDeclaration",
12641
12724
  children: $0,
12642
12725
  declare: $1,
12726
+ binding,
12643
12727
  names: binding.names
12644
12728
  };
12645
12729
  });
@@ -12674,16 +12758,18 @@ ${input.slice(result.pos)}
12674
12758
  type: "ForDeclaration",
12675
12759
  children: [c, binding],
12676
12760
  declare: c,
12761
+ binding,
12677
12762
  names: binding.names
12678
12763
  };
12679
12764
  });
12680
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\)])/")), function($skip, $loc, $0, $1, $2, $3) {
12765
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
12681
12766
  var c = $1;
12682
12767
  var binding = $2;
12683
12768
  return {
12684
12769
  type: "ForDeclaration",
12685
12770
  children: [c, binding],
12686
12771
  declare: c,
12772
+ binding,
12687
12773
  names: binding.names
12688
12774
  };
12689
12775
  });
@@ -13418,10 +13504,7 @@ ${input.slice(result.pos)}
13418
13504
  }
13419
13505
  var DeclarationCondition$0 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
13420
13506
  var dec = $0;
13421
- const ref = {
13422
- type: "Ref",
13423
- base: "ref"
13424
- };
13507
+ const ref = makeRef();
13425
13508
  const { decl, bindings } = dec;
13426
13509
  const binding = bindings[0];
13427
13510
  const { pattern, suffix, initializer, splices, thisAssignments } = binding;
@@ -14152,7 +14235,7 @@ ${input.slice(result.pos)}
14152
14235
  return result;
14153
14236
  }
14154
14237
  }
14155
- var Break$0 = $TS($S($EXPECT($L104, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14238
+ var Break$0 = $TS($S($EXPECT($L103, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14156
14239
  return { $loc, token: $1 };
14157
14240
  });
14158
14241
  function Break(state) {
@@ -14177,7 +14260,7 @@ ${input.slice(result.pos)}
14177
14260
  return result;
14178
14261
  }
14179
14262
  }
14180
- var Continue$0 = $TS($S($EXPECT($L105, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14263
+ var Continue$0 = $TS($S($EXPECT($L104, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14181
14264
  return { $loc, token: $1 };
14182
14265
  });
14183
14266
  function Continue(state) {
@@ -14202,7 +14285,7 @@ ${input.slice(result.pos)}
14202
14285
  return result;
14203
14286
  }
14204
14287
  }
14205
- var Debugger$0 = $TS($S($EXPECT($L106, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14288
+ var Debugger$0 = $TS($S($EXPECT($L105, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14206
14289
  return { $loc, token: $1 };
14207
14290
  });
14208
14291
  function Debugger(state) {
@@ -14508,7 +14591,7 @@ ${input.slice(result.pos)}
14508
14591
  return result;
14509
14592
  }
14510
14593
  }
14511
- var ImportAssertion$0 = $S($E(_), $EXPECT($L107, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14594
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L106, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14512
14595
  function ImportAssertion(state) {
14513
14596
  let eventData;
14514
14597
  if (state.events) {
@@ -15078,7 +15161,7 @@ ${input.slice(result.pos)}
15078
15161
  return result;
15079
15162
  }
15080
15163
  }
15081
- var ConstAssignment$0 = $TV($C($EXPECT($L108, fail, 'ConstAssignment ":="'), $EXPECT($L109, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15164
+ var ConstAssignment$0 = $TV($C($EXPECT($L107, fail, 'ConstAssignment ":="'), $EXPECT($L108, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15082
15165
  return { $loc, token: "=" };
15083
15166
  });
15084
15167
  function ConstAssignment(state) {
@@ -15103,7 +15186,7 @@ ${input.slice(result.pos)}
15103
15186
  return result;
15104
15187
  }
15105
15188
  }
15106
- var LetAssignment$0 = $TV($EXPECT($L110, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15189
+ var LetAssignment$0 = $TV($EXPECT($L109, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15107
15190
  return { $loc, token: "=" };
15108
15191
  });
15109
15192
  function LetAssignment(state) {
@@ -15749,7 +15832,7 @@ ${input.slice(result.pos)}
15749
15832
  }
15750
15833
  }
15751
15834
  var RegularExpressionLiteral$0 = HeregexLiteral;
15752
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15835
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15753
15836
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
15754
15837
  });
15755
15838
  function RegularExpressionLiteral(state) {
@@ -16316,7 +16399,7 @@ ${input.slice(result.pos)}
16316
16399
  return result;
16317
16400
  }
16318
16401
  }
16319
- 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) {
16402
+ 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) {
16320
16403
  return { type: "Comment", $loc, token: $1 };
16321
16404
  });
16322
16405
  function JSMultiLineComment(state) {
@@ -16415,7 +16498,7 @@ ${input.slice(result.pos)}
16415
16498
  return result;
16416
16499
  }
16417
16500
  }
16418
- 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) {
16501
+ 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) {
16419
16502
  return { $loc, token: $1 };
16420
16503
  });
16421
16504
  function InlineComment(state) {
@@ -16512,7 +16595,7 @@ ${input.slice(result.pos)}
16512
16595
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16513
16596
  return { $loc, token: $0 };
16514
16597
  });
16515
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L113, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16598
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L112, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16516
16599
  return "";
16517
16600
  });
16518
16601
  function NonNewlineWhitespace(state) {
@@ -16664,7 +16747,7 @@ ${input.slice(result.pos)}
16664
16747
  }
16665
16748
  }
16666
16749
  var StatementDelimiter$0 = SemicolonDelimiter;
16667
- 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);
16750
+ 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);
16668
16751
  var StatementDelimiter$2 = $Y(EOS);
16669
16752
  function StatementDelimiter(state) {
16670
16753
  let eventData;
@@ -16764,7 +16847,7 @@ ${input.slice(result.pos)}
16764
16847
  return result;
16765
16848
  }
16766
16849
  }
16767
- var Abstract$0 = $TV($TEXT($S($EXPECT($L116, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16850
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L115, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16768
16851
  return { $loc, token: $1, ts: true };
16769
16852
  });
16770
16853
  function Abstract(state) {
@@ -16789,7 +16872,7 @@ ${input.slice(result.pos)}
16789
16872
  return result;
16790
16873
  }
16791
16874
  }
16792
- var Ampersand$0 = $TV($EXPECT($L99, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16875
+ var Ampersand$0 = $TV($EXPECT($L98, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16793
16876
  return { $loc, token: $1 };
16794
16877
  });
16795
16878
  function Ampersand(state) {
@@ -16814,7 +16897,7 @@ ${input.slice(result.pos)}
16814
16897
  return result;
16815
16898
  }
16816
16899
  }
16817
- var As$0 = $TS($S($EXPECT($L117, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16900
+ var As$0 = $TS($S($EXPECT($L116, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16818
16901
  return { $loc, token: $1 };
16819
16902
  });
16820
16903
  function As(state) {
@@ -16839,7 +16922,7 @@ ${input.slice(result.pos)}
16839
16922
  return result;
16840
16923
  }
16841
16924
  }
16842
- var At$0 = $TV($EXPECT($L118, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16925
+ var At$0 = $TV($EXPECT($L117, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16843
16926
  return { $loc, token: $1 };
16844
16927
  });
16845
16928
  function At(state) {
@@ -16864,7 +16947,7 @@ ${input.slice(result.pos)}
16864
16947
  return result;
16865
16948
  }
16866
16949
  }
16867
- var AtAt$0 = $TV($EXPECT($L119, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16950
+ var AtAt$0 = $TV($EXPECT($L118, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16868
16951
  return { $loc, token: "@" };
16869
16952
  });
16870
16953
  function AtAt(state) {
@@ -16889,7 +16972,7 @@ ${input.slice(result.pos)}
16889
16972
  return result;
16890
16973
  }
16891
16974
  }
16892
- var Async$0 = $TS($S($EXPECT($L120, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16975
+ var Async$0 = $TS($S($EXPECT($L119, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16893
16976
  return { $loc, token: $1, type: "Async" };
16894
16977
  });
16895
16978
  function Async(state) {
@@ -16914,7 +16997,7 @@ ${input.slice(result.pos)}
16914
16997
  return result;
16915
16998
  }
16916
16999
  }
16917
- var Await$0 = $TS($S($EXPECT($L121, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17000
+ var Await$0 = $TS($S($EXPECT($L120, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16918
17001
  return { $loc, token: $1, type: "Await" };
16919
17002
  });
16920
17003
  function Await(state) {
@@ -16939,7 +17022,7 @@ ${input.slice(result.pos)}
16939
17022
  return result;
16940
17023
  }
16941
17024
  }
16942
- var Backtick$0 = $TV($EXPECT($L115, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17025
+ var Backtick$0 = $TV($EXPECT($L114, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16943
17026
  return { $loc, token: $1 };
16944
17027
  });
16945
17028
  function Backtick(state) {
@@ -16964,7 +17047,7 @@ ${input.slice(result.pos)}
16964
17047
  return result;
16965
17048
  }
16966
17049
  }
16967
- var By$0 = $TS($S($EXPECT($L122, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17050
+ var By$0 = $TS($S($EXPECT($L121, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16968
17051
  return { $loc, token: $1 };
16969
17052
  });
16970
17053
  function By(state) {
@@ -16989,7 +17072,7 @@ ${input.slice(result.pos)}
16989
17072
  return result;
16990
17073
  }
16991
17074
  }
16992
- var Case$0 = $TS($S($EXPECT($L123, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17075
+ var Case$0 = $TS($S($EXPECT($L122, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16993
17076
  return { $loc, token: $1 };
16994
17077
  });
16995
17078
  function Case(state) {
@@ -17014,7 +17097,7 @@ ${input.slice(result.pos)}
17014
17097
  return result;
17015
17098
  }
17016
17099
  }
17017
- var Catch$0 = $TS($S($EXPECT($L124, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17100
+ var Catch$0 = $TS($S($EXPECT($L123, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17018
17101
  return { $loc, token: $1 };
17019
17102
  });
17020
17103
  function Catch(state) {
@@ -17039,7 +17122,7 @@ ${input.slice(result.pos)}
17039
17122
  return result;
17040
17123
  }
17041
17124
  }
17042
- var Class$0 = $TS($S($EXPECT($L125, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17125
+ var Class$0 = $TS($S($EXPECT($L124, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17043
17126
  return { $loc, token: $1 };
17044
17127
  });
17045
17128
  function Class(state) {
@@ -17064,7 +17147,7 @@ ${input.slice(result.pos)}
17064
17147
  return result;
17065
17148
  }
17066
17149
  }
17067
- var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17150
+ var CloseBrace$0 = $TV($EXPECT($L25, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17068
17151
  return { $loc, token: $1 };
17069
17152
  });
17070
17153
  function CloseBrace(state) {
@@ -17089,7 +17172,7 @@ ${input.slice(result.pos)}
17089
17172
  return result;
17090
17173
  }
17091
17174
  }
17092
- var CloseBracket$0 = $TV($EXPECT($L35, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17175
+ var CloseBracket$0 = $TV($EXPECT($L34, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17093
17176
  return { $loc, token: $1 };
17094
17177
  });
17095
17178
  function CloseBracket(state) {
@@ -17114,7 +17197,7 @@ ${input.slice(result.pos)}
17114
17197
  return result;
17115
17198
  }
17116
17199
  }
17117
- var CloseParen$0 = $TV($EXPECT($L126, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17200
+ var CloseParen$0 = $TV($EXPECT($L125, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17118
17201
  return { $loc, token: $1 };
17119
17202
  });
17120
17203
  function CloseParen(state) {
@@ -17139,7 +17222,7 @@ ${input.slice(result.pos)}
17139
17222
  return result;
17140
17223
  }
17141
17224
  }
17142
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17225
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17143
17226
  return { $loc, token: "${" };
17144
17227
  });
17145
17228
  function CoffeeSubstitutionStart(state) {
@@ -17189,7 +17272,7 @@ ${input.slice(result.pos)}
17189
17272
  return result;
17190
17273
  }
17191
17274
  }
17192
- var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17275
+ var Comma$0 = $TV($EXPECT($L22, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17193
17276
  return { $loc, token: $1 };
17194
17277
  });
17195
17278
  function Comma(state) {
@@ -17214,7 +17297,7 @@ ${input.slice(result.pos)}
17214
17297
  return result;
17215
17298
  }
17216
17299
  }
17217
- var ConstructorShorthand$0 = $TV($EXPECT($L118, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17300
+ var ConstructorShorthand$0 = $TV($EXPECT($L117, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17218
17301
  return { $loc, token: "constructor" };
17219
17302
  });
17220
17303
  function ConstructorShorthand(state) {
@@ -17239,7 +17322,7 @@ ${input.slice(result.pos)}
17239
17322
  return result;
17240
17323
  }
17241
17324
  }
17242
- var Declare$0 = $TS($S($EXPECT($L128, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17325
+ var Declare$0 = $TS($S($EXPECT($L127, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17243
17326
  return { $loc, token: $1 };
17244
17327
  });
17245
17328
  function Declare(state) {
@@ -17264,7 +17347,7 @@ ${input.slice(result.pos)}
17264
17347
  return result;
17265
17348
  }
17266
17349
  }
17267
- var Default$0 = $TS($S($EXPECT($L129, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17350
+ var Default$0 = $TS($S($EXPECT($L128, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17268
17351
  return { $loc, token: $1 };
17269
17352
  });
17270
17353
  function Default(state) {
@@ -17289,7 +17372,7 @@ ${input.slice(result.pos)}
17289
17372
  return result;
17290
17373
  }
17291
17374
  }
17292
- var Delete$0 = $TS($S($EXPECT($L130, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17375
+ var Delete$0 = $TS($S($EXPECT($L129, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17293
17376
  return { $loc, token: $1 };
17294
17377
  });
17295
17378
  function Delete(state) {
@@ -17314,7 +17397,7 @@ ${input.slice(result.pos)}
17314
17397
  return result;
17315
17398
  }
17316
17399
  }
17317
- var Do$0 = $TS($S($EXPECT($L131, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17400
+ var Do$0 = $TS($S($EXPECT($L130, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17318
17401
  return { $loc, token: $1 };
17319
17402
  });
17320
17403
  function Do(state) {
@@ -17371,10 +17454,10 @@ ${input.slice(result.pos)}
17371
17454
  return result;
17372
17455
  }
17373
17456
  }
17374
- var DotDot$0 = $TS($S($EXPECT($L132, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17457
+ var DotDot$0 = $TS($S($EXPECT($L131, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17375
17458
  return { $loc, token: $1 };
17376
17459
  });
17377
- var DotDot$1 = $TV($EXPECT($L133, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17460
+ var DotDot$1 = $TV($EXPECT($L132, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17378
17461
  return { $loc, token: ".." };
17379
17462
  });
17380
17463
  function DotDot(state) {
@@ -17399,10 +17482,10 @@ ${input.slice(result.pos)}
17399
17482
  return result;
17400
17483
  }
17401
17484
  }
17402
- var DotDotDot$0 = $TV($EXPECT($L134, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17485
+ var DotDotDot$0 = $TV($EXPECT($L133, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17403
17486
  return { $loc, token: $1 };
17404
17487
  });
17405
- var DotDotDot$1 = $TV($EXPECT($L135, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17488
+ var DotDotDot$1 = $TV($EXPECT($L134, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17406
17489
  return { $loc, token: "..." };
17407
17490
  });
17408
17491
  function DotDotDot(state) {
@@ -17427,7 +17510,7 @@ ${input.slice(result.pos)}
17427
17510
  return result;
17428
17511
  }
17429
17512
  }
17430
- var DoubleColon$0 = $TV($EXPECT($L136, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17513
+ var DoubleColon$0 = $TV($EXPECT($L135, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17431
17514
  return { $loc, token: $1 };
17432
17515
  });
17433
17516
  function DoubleColon(state) {
@@ -17452,7 +17535,7 @@ ${input.slice(result.pos)}
17452
17535
  return result;
17453
17536
  }
17454
17537
  }
17455
- var DoubleQuote$0 = $TV($EXPECT($L137, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17538
+ var DoubleQuote$0 = $TV($EXPECT($L136, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17456
17539
  return { $loc, token: $1 };
17457
17540
  });
17458
17541
  function DoubleQuote(state) {
@@ -17477,6 +17560,31 @@ ${input.slice(result.pos)}
17477
17560
  return result;
17478
17561
  }
17479
17562
  }
17563
+ var Each$0 = $TS($S($EXPECT($L137, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17564
+ return { $loc, token: $1 };
17565
+ });
17566
+ function Each(state) {
17567
+ let eventData;
17568
+ if (state.events) {
17569
+ const result = state.events.enter?.("Each", state);
17570
+ if (result) {
17571
+ if (result.cache)
17572
+ return result.cache;
17573
+ eventData = result.data;
17574
+ }
17575
+ }
17576
+ if (state.tokenize) {
17577
+ const result = $TOKEN("Each", state, Each$0(state));
17578
+ if (state.events)
17579
+ state.events.exit?.("Each", state, result, eventData);
17580
+ return result;
17581
+ } else {
17582
+ const result = Each$0(state);
17583
+ if (state.events)
17584
+ state.events.exit?.("Each", state, result, eventData);
17585
+ return result;
17586
+ }
17587
+ }
17480
17588
  var Else$0 = $TS($S($EXPECT($L138, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17481
17589
  return { $loc, token: $1 };
17482
17590
  });
@@ -17727,7 +17835,7 @@ ${input.slice(result.pos)}
17727
17835
  return result;
17728
17836
  }
17729
17837
  }
17730
- var Import$0 = $TS($S($EXPECT($L17, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17838
+ var Import$0 = $TS($S($EXPECT($L16, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17731
17839
  return { $loc, token: $1 };
17732
17840
  });
17733
17841
  function Import(state) {
@@ -17951,7 +18059,7 @@ ${input.slice(result.pos)}
17951
18059
  return result;
17952
18060
  }
17953
18061
  }
17954
- var Of$0 = $TS($S($EXPECT($L85, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18062
+ var Of$0 = $TS($S($EXPECT($L84, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17955
18063
  return { $loc, token: $1 };
17956
18064
  });
17957
18065
  function Of(state) {
@@ -18026,7 +18134,7 @@ ${input.slice(result.pos)}
18026
18134
  return result;
18027
18135
  }
18028
18136
  }
18029
- var OpenBracket$0 = $TV($EXPECT($L114, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18137
+ var OpenBracket$0 = $TV($EXPECT($L113, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18030
18138
  return { $loc, token: $1 };
18031
18139
  });
18032
18140
  function OpenBracket(state) {
@@ -18307,7 +18415,7 @@ ${input.slice(result.pos)}
18307
18415
  return result;
18308
18416
  }
18309
18417
  }
18310
- var Semicolon$0 = $TV($EXPECT($L101, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18418
+ var Semicolon$0 = $TV($EXPECT($L100, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18311
18419
  return { $loc, token: $1 };
18312
18420
  });
18313
18421
  function Semicolon(state) {
@@ -18357,7 +18465,7 @@ ${input.slice(result.pos)}
18357
18465
  return result;
18358
18466
  }
18359
18467
  }
18360
- var Star$0 = $TV($EXPECT($L55, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18468
+ var Star$0 = $TV($EXPECT($L54, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18361
18469
  return { $loc, token: $1 };
18362
18470
  });
18363
18471
  function Star(state) {
@@ -18385,7 +18493,7 @@ ${input.slice(result.pos)}
18385
18493
  var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18386
18494
  return { $loc, token: $1 };
18387
18495
  });
18388
- 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) {
18496
+ 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) {
18389
18497
  return { $loc, token: "static " };
18390
18498
  });
18391
18499
  function Static(state) {
@@ -18435,7 +18543,32 @@ ${input.slice(result.pos)}
18435
18543
  return result;
18436
18544
  }
18437
18545
  }
18438
- var Switch$0 = $TS($S($EXPECT($L172, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18546
+ var Super$0 = $TS($S($EXPECT($L172, fail, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18547
+ return { $loc, token: $1 };
18548
+ });
18549
+ function Super(state) {
18550
+ let eventData;
18551
+ if (state.events) {
18552
+ const result = state.events.enter?.("Super", state);
18553
+ if (result) {
18554
+ if (result.cache)
18555
+ return result.cache;
18556
+ eventData = result.data;
18557
+ }
18558
+ }
18559
+ if (state.tokenize) {
18560
+ const result = $TOKEN("Super", state, Super$0(state));
18561
+ if (state.events)
18562
+ state.events.exit?.("Super", state, result, eventData);
18563
+ return result;
18564
+ } else {
18565
+ const result = Super$0(state);
18566
+ if (state.events)
18567
+ state.events.exit?.("Super", state, result, eventData);
18568
+ return result;
18569
+ }
18570
+ }
18571
+ var Switch$0 = $TS($S($EXPECT($L173, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18439
18572
  return { $loc, token: $1 };
18440
18573
  });
18441
18574
  function Switch(state) {
@@ -18460,7 +18593,7 @@ ${input.slice(result.pos)}
18460
18593
  return result;
18461
18594
  }
18462
18595
  }
18463
- var Target$0 = $TS($S($EXPECT($L173, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18596
+ var Target$0 = $TS($S($EXPECT($L174, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18464
18597
  return { $loc, token: $1 };
18465
18598
  });
18466
18599
  function Target(state) {
@@ -18485,7 +18618,7 @@ ${input.slice(result.pos)}
18485
18618
  return result;
18486
18619
  }
18487
18620
  }
18488
- var Then$0 = $TS($S(__, $EXPECT($L174, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18621
+ var Then$0 = $TS($S(__, $EXPECT($L175, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18489
18622
  return { $loc, token: "" };
18490
18623
  });
18491
18624
  function Then(state) {
@@ -18510,7 +18643,7 @@ ${input.slice(result.pos)}
18510
18643
  return result;
18511
18644
  }
18512
18645
  }
18513
- var This$0 = $TS($S($EXPECT($L175, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18646
+ var This$0 = $TS($S($EXPECT($L176, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18514
18647
  return { $loc, token: $1 };
18515
18648
  });
18516
18649
  function This(state) {
@@ -18535,7 +18668,7 @@ ${input.slice(result.pos)}
18535
18668
  return result;
18536
18669
  }
18537
18670
  }
18538
- var Throw$0 = $TS($S($EXPECT($L176, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18671
+ var Throw$0 = $TS($S($EXPECT($L177, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18539
18672
  return { $loc, token: $1 };
18540
18673
  });
18541
18674
  function Throw(state) {
@@ -18560,7 +18693,7 @@ ${input.slice(result.pos)}
18560
18693
  return result;
18561
18694
  }
18562
18695
  }
18563
- var TripleDoubleQuote$0 = $TV($EXPECT($L177, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18696
+ var TripleDoubleQuote$0 = $TV($EXPECT($L178, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18564
18697
  return { $loc, token: "`" };
18565
18698
  });
18566
18699
  function TripleDoubleQuote(state) {
@@ -18585,7 +18718,7 @@ ${input.slice(result.pos)}
18585
18718
  return result;
18586
18719
  }
18587
18720
  }
18588
- var TripleSingleQuote$0 = $TV($EXPECT($L178, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18721
+ var TripleSingleQuote$0 = $TV($EXPECT($L179, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18589
18722
  return { $loc, token: "`" };
18590
18723
  });
18591
18724
  function TripleSingleQuote(state) {
@@ -18610,7 +18743,7 @@ ${input.slice(result.pos)}
18610
18743
  return result;
18611
18744
  }
18612
18745
  }
18613
- var TripleSlash$0 = $TV($EXPECT($L179, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18746
+ var TripleSlash$0 = $TV($EXPECT($L180, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18614
18747
  return { $loc, token: "/" };
18615
18748
  });
18616
18749
  function TripleSlash(state) {
@@ -18635,7 +18768,7 @@ ${input.slice(result.pos)}
18635
18768
  return result;
18636
18769
  }
18637
18770
  }
18638
- var TripleTick$0 = $TV($EXPECT($L180, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18771
+ var TripleTick$0 = $TV($EXPECT($L181, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18639
18772
  return { $loc, token: "`" };
18640
18773
  });
18641
18774
  function TripleTick(state) {
@@ -18660,7 +18793,7 @@ ${input.slice(result.pos)}
18660
18793
  return result;
18661
18794
  }
18662
18795
  }
18663
- var Try$0 = $TS($S($EXPECT($L181, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18796
+ var Try$0 = $TS($S($EXPECT($L182, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18664
18797
  return { $loc, token: $1 };
18665
18798
  });
18666
18799
  function Try(state) {
@@ -18685,7 +18818,7 @@ ${input.slice(result.pos)}
18685
18818
  return result;
18686
18819
  }
18687
18820
  }
18688
- var Typeof$0 = $TS($S($EXPECT($L182, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18821
+ var Typeof$0 = $TS($S($EXPECT($L183, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18689
18822
  return { $loc, token: $1 };
18690
18823
  });
18691
18824
  function Typeof(state) {
@@ -18710,7 +18843,7 @@ ${input.slice(result.pos)}
18710
18843
  return result;
18711
18844
  }
18712
18845
  }
18713
- var Unless$0 = $TS($S($EXPECT($L183, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18846
+ var Unless$0 = $TS($S($EXPECT($L184, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18714
18847
  return { $loc, token: $1 };
18715
18848
  });
18716
18849
  function Unless(state) {
@@ -18735,7 +18868,7 @@ ${input.slice(result.pos)}
18735
18868
  return result;
18736
18869
  }
18737
18870
  }
18738
- var Until$0 = $TS($S($EXPECT($L184, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18871
+ var Until$0 = $TS($S($EXPECT($L185, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18739
18872
  return { $loc, token: $1 };
18740
18873
  });
18741
18874
  function Until(state) {
@@ -18760,7 +18893,7 @@ ${input.slice(result.pos)}
18760
18893
  return result;
18761
18894
  }
18762
18895
  }
18763
- var Var$0 = $TS($S($EXPECT($L185, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18896
+ var Var$0 = $TS($S($EXPECT($L186, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18764
18897
  return { $loc, token: $1 };
18765
18898
  });
18766
18899
  function Var(state) {
@@ -18785,7 +18918,7 @@ ${input.slice(result.pos)}
18785
18918
  return result;
18786
18919
  }
18787
18920
  }
18788
- var Void$0 = $TS($S($EXPECT($L186, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18921
+ var Void$0 = $TS($S($EXPECT($L187, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18789
18922
  return { $loc, token: $1 };
18790
18923
  });
18791
18924
  function Void(state) {
@@ -18810,7 +18943,7 @@ ${input.slice(result.pos)}
18810
18943
  return result;
18811
18944
  }
18812
18945
  }
18813
- var When$0 = $TS($S($EXPECT($L187, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18946
+ var When$0 = $TS($S($EXPECT($L188, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18814
18947
  return { $loc, token: "case" };
18815
18948
  });
18816
18949
  function When(state) {
@@ -18835,7 +18968,7 @@ ${input.slice(result.pos)}
18835
18968
  return result;
18836
18969
  }
18837
18970
  }
18838
- var While$0 = $TS($S($EXPECT($L188, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18971
+ var While$0 = $TS($S($EXPECT($L189, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18839
18972
  return { $loc, token: $1 };
18840
18973
  });
18841
18974
  function While(state) {
@@ -18860,7 +18993,7 @@ ${input.slice(result.pos)}
18860
18993
  return result;
18861
18994
  }
18862
18995
  }
18863
- var Yield$0 = $TS($S($EXPECT($L189, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18996
+ var Yield$0 = $TS($S($EXPECT($L190, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18864
18997
  return { $loc, token: $1, type: "Yield" };
18865
18998
  });
18866
18999
  function Yield(state) {
@@ -19005,7 +19138,7 @@ ${input.slice(result.pos)}
19005
19138
  return result;
19006
19139
  }
19007
19140
  }
19008
- 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) {
19141
+ 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) {
19009
19142
  return { type: "JSXElement", children: $0, tag: $2 };
19010
19143
  });
19011
19144
  function JSXSelfClosingElement(state) {
@@ -19081,7 +19214,7 @@ ${input.slice(result.pos)}
19081
19214
  return result;
19082
19215
  }
19083
19216
  }
19084
- var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19217
+ var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L33, fail, 'JSXOpeningElement ">"'));
19085
19218
  function JSXOpeningElement(state) {
19086
19219
  let eventData;
19087
19220
  if (state.events) {
@@ -19133,7 +19266,7 @@ ${input.slice(result.pos)}
19133
19266
  return result;
19134
19267
  }
19135
19268
  }
19136
- var JSXClosingElement$0 = $S($EXPECT($L191, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19269
+ var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L33, fail, 'JSXClosingElement ">"'));
19137
19270
  function JSXClosingElement(state) {
19138
19271
  let eventData;
19139
19272
  if (state.events) {
@@ -19171,7 +19304,7 @@ ${input.slice(result.pos)}
19171
19304
  ];
19172
19305
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
19173
19306
  });
19174
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L192, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19307
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L193, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19175
19308
  var children = $3;
19176
19309
  $0 = $0.slice(1);
19177
19310
  return {
@@ -19202,7 +19335,7 @@ ${input.slice(result.pos)}
19202
19335
  return result;
19203
19336
  }
19204
19337
  }
19205
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L192, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19338
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L193, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19206
19339
  module2.JSXTagStack.push("");
19207
19340
  return $1;
19208
19341
  });
@@ -19256,7 +19389,7 @@ ${input.slice(result.pos)}
19256
19389
  return result;
19257
19390
  }
19258
19391
  }
19259
- var JSXClosingFragment$0 = $EXPECT($L193, fail, 'JSXClosingFragment "</>"');
19392
+ var JSXClosingFragment$0 = $EXPECT($L194, fail, 'JSXClosingFragment "</>"');
19260
19393
  function JSXClosingFragment(state) {
19261
19394
  let eventData;
19262
19395
  if (state.events) {
@@ -19836,7 +19969,7 @@ ${input.slice(result.pos)}
19836
19969
  return result;
19837
19970
  }
19838
19971
  }
19839
- var InlineJSXCallExpression$0 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19972
+ var InlineJSXCallExpression$0 = $TS($S(Super, ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19840
19973
  var args = $2;
19841
19974
  var rest = $3;
19842
19975
  return processCallMemberExpression({
@@ -19848,7 +19981,7 @@ ${input.slice(result.pos)}
19848
19981
  ]
19849
19982
  });
19850
19983
  });
19851
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19984
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19852
19985
  var args = $2;
19853
19986
  var rest = $3;
19854
19987
  return processCallMemberExpression({
@@ -20096,7 +20229,7 @@ ${input.slice(result.pos)}
20096
20229
  }
20097
20230
  return $skip;
20098
20231
  });
20099
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L26, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20232
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L25, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20100
20233
  return { children: [], jsxChildren: [] };
20101
20234
  });
20102
20235
  function JSXNestedChildren(state) {
@@ -20225,7 +20358,7 @@ ${input.slice(result.pos)}
20225
20358
  return result;
20226
20359
  }
20227
20360
  }
20228
- var JSXComment$0 = $TS($S($EXPECT($L194, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L195, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20361
+ var JSXComment$0 = $TS($S($EXPECT($L195, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L196, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20229
20362
  return ["{/*", $2, "*/}"];
20230
20363
  });
20231
20364
  function JSXComment(state) {
@@ -20554,7 +20687,7 @@ ${input.slice(result.pos)}
20554
20687
  return result;
20555
20688
  }
20556
20689
  }
20557
- var TypeKeyword$0 = $TS($S($EXPECT($L196, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20690
+ var TypeKeyword$0 = $TS($S($EXPECT($L197, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20558
20691
  return { $loc, token: $1 };
20559
20692
  });
20560
20693
  function TypeKeyword(state) {
@@ -20579,7 +20712,7 @@ ${input.slice(result.pos)}
20579
20712
  return result;
20580
20713
  }
20581
20714
  }
20582
- var Enum$0 = $TS($S($EXPECT($L197, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20715
+ var Enum$0 = $TS($S($EXPECT($L198, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20583
20716
  return { $loc, token: $1 };
20584
20717
  });
20585
20718
  function Enum(state) {
@@ -20604,7 +20737,7 @@ ${input.slice(result.pos)}
20604
20737
  return result;
20605
20738
  }
20606
20739
  }
20607
- var Interface$0 = $TS($S($EXPECT($L198, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20740
+ var Interface$0 = $TS($S($EXPECT($L199, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20608
20741
  return { $loc, token: $1 };
20609
20742
  });
20610
20743
  function Interface(state) {
@@ -20629,7 +20762,7 @@ ${input.slice(result.pos)}
20629
20762
  return result;
20630
20763
  }
20631
20764
  }
20632
- var Global$0 = $TS($S($EXPECT($L199, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20765
+ var Global$0 = $TS($S($EXPECT($L200, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20633
20766
  return { $loc, token: $1 };
20634
20767
  });
20635
20768
  function Global(state) {
@@ -20654,7 +20787,7 @@ ${input.slice(result.pos)}
20654
20787
  return result;
20655
20788
  }
20656
20789
  }
20657
- var Module$0 = $TS($S($EXPECT($L200, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20790
+ var Module$0 = $TS($S($EXPECT($L201, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20658
20791
  return { $loc, token: $1 };
20659
20792
  });
20660
20793
  function Module(state) {
@@ -20679,7 +20812,7 @@ ${input.slice(result.pos)}
20679
20812
  return result;
20680
20813
  }
20681
20814
  }
20682
- var Namespace$0 = $TS($S($EXPECT($L201, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20815
+ var Namespace$0 = $TS($S($EXPECT($L202, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20683
20816
  return { $loc, token: $1 };
20684
20817
  });
20685
20818
  function Namespace(state) {
@@ -21373,7 +21506,7 @@ ${input.slice(result.pos)}
21373
21506
  return result;
21374
21507
  }
21375
21508
  }
21376
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L202, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21509
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L203, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21377
21510
  var asserts = $1;
21378
21511
  var t = $2;
21379
21512
  if (asserts) {
@@ -21555,9 +21688,9 @@ ${input.slice(result.pos)}
21555
21688
  return result;
21556
21689
  }
21557
21690
  }
21558
- var TypeUnaryOp$0 = $S($EXPECT($L203, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21559
- var TypeUnaryOp$1 = $S($EXPECT($L182, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21560
- var TypeUnaryOp$2 = $S($EXPECT($L204, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21691
+ var TypeUnaryOp$0 = $S($EXPECT($L204, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21692
+ var TypeUnaryOp$1 = $S($EXPECT($L183, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21693
+ var TypeUnaryOp$2 = $S($EXPECT($L205, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21561
21694
  var TypeUnaryOp$3 = $S($EXPECT($L166, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21562
21695
  function TypeUnaryOp(state) {
21563
21696
  let eventData;
@@ -21649,8 +21782,8 @@ ${input.slice(result.pos)}
21649
21782
  return result;
21650
21783
  }
21651
21784
  }
21652
- var ImportType$0 = $S($EXPECT($L17, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21653
- var ImportType$1 = $S($EXPECT($L17, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21785
+ var ImportType$0 = $S($EXPECT($L16, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21786
+ var ImportType$1 = $S($EXPECT($L16, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21654
21787
  function ImportType(state) {
21655
21788
  let eventData;
21656
21789
  if (state.events) {
@@ -21953,10 +22086,10 @@ ${input.slice(result.pos)}
21953
22086
  }
21954
22087
  var TypeLiteral$0 = TypeTemplateLiteral;
21955
22088
  var TypeLiteral$1 = Literal;
21956
- var TypeLiteral$2 = $TS($S($EXPECT($L186, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
22089
+ var TypeLiteral$2 = $TS($S($EXPECT($L187, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
21957
22090
  return { type: "VoidType", $loc, token: $1 };
21958
22091
  });
21959
- var TypeLiteral$3 = $TV($EXPECT($L205, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
22092
+ var TypeLiteral$3 = $TV($EXPECT($L206, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
21960
22093
  return { $loc, token: "[]" };
21961
22094
  });
21962
22095
  function TypeLiteral(state) {
@@ -22031,7 +22164,7 @@ ${input.slice(result.pos)}
22031
22164
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
22032
22165
  return value[1];
22033
22166
  });
22034
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22167
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L34, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L25, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22035
22168
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
22036
22169
  function InlineInterfacePropertyDelimiter(state) {
22037
22170
  let eventData;
@@ -22055,10 +22188,10 @@ ${input.slice(result.pos)}
22055
22188
  return result;
22056
22189
  }
22057
22190
  }
22058
- var TypeBinaryOp$0 = $TV($EXPECT($L100, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22191
+ var TypeBinaryOp$0 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22059
22192
  return { $loc, token: "|" };
22060
22193
  });
22061
- var TypeBinaryOp$1 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22194
+ var TypeBinaryOp$1 = $TV($EXPECT($L98, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22062
22195
  return { $loc, token: "&" };
22063
22196
  });
22064
22197
  function TypeBinaryOp(state) {
@@ -22112,7 +22245,7 @@ ${input.slice(result.pos)}
22112
22245
  return result;
22113
22246
  }
22114
22247
  }
22115
- 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) {
22248
+ 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) {
22116
22249
  return { $loc, token: "=>" };
22117
22250
  });
22118
22251
  function TypeArrowFunction(state) {
@@ -22137,7 +22270,7 @@ ${input.slice(result.pos)}
22137
22270
  return result;
22138
22271
  }
22139
22272
  }
22140
- var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22273
+ var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L33, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22141
22274
  var args = $2;
22142
22275
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
22143
22276
  });
@@ -22209,7 +22342,7 @@ ${input.slice(result.pos)}
22209
22342
  return result;
22210
22343
  }
22211
22344
  }
22212
- 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) {
22345
+ 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) {
22213
22346
  var parameters = $3;
22214
22347
  return {
22215
22348
  type: "TypeParameters",
@@ -22310,7 +22443,7 @@ ${input.slice(result.pos)}
22310
22443
  }
22311
22444
  }
22312
22445
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
22313
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'TypeParameterDelimiter ">"')));
22446
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L33, fail, 'TypeParameterDelimiter ">"')));
22314
22447
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
22315
22448
  return value[1];
22316
22449
  });
@@ -22414,7 +22547,7 @@ ${input.slice(result.pos)}
22414
22547
  return result;
22415
22548
  }
22416
22549
  }
22417
- 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) {
22550
+ 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) {
22418
22551
  var options = $3;
22419
22552
  return {
22420
22553
  type: "CivetPrologue",
@@ -23657,11 +23790,7 @@ ${input.slice(result.pos)}
23657
23790
  module2.getRef = function(base) {
23658
23791
  if (refs.hasOwnProperty(base))
23659
23792
  return refs[base];
23660
- const ref = {
23661
- type: "Ref",
23662
- base,
23663
- id: base
23664
- };
23793
+ const ref = makeRef(base);
23665
23794
  if (declareRef.hasOwnProperty(base))
23666
23795
  declareRef[base](ref);
23667
23796
  return refs[base] = ref;
@@ -24042,12 +24171,14 @@ ${input.slice(result.pos)}
24042
24171
  literalValue,
24043
24172
  makeEmptyBlock,
24044
24173
  makeLeftHandSideExpression,
24174
+ makeRef,
24045
24175
  maybeRef,
24046
24176
  modifyString,
24177
+ processAssignmentDeclaration,
24047
24178
  processBinaryOpExpression,
24048
24179
  processCallMemberExpression,
24049
24180
  processCoffeeInterpolation,
24050
- processAssignmentDeclaration,
24181
+ processForInOf,
24051
24182
  processProgram,
24052
24183
  processUnaryExpression,
24053
24184
  quoteString,