@danielx/civet 0.6.92 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/dist/browser.js +1182 -954
  2. package/dist/main.js +1182 -954
  3. package/dist/main.mjs +1182 -954
  4. package/package.json +3 -2
package/dist/main.js CHANGED
@@ -463,6 +463,32 @@ function removeParentPointers(node) {
463
463
  }
464
464
  }
465
465
  }
466
+ function maybeWrap(node, parent) {
467
+ if (!isASTNodeObject(node)) {
468
+ updateParentPointers(node = {
469
+ type: "Wrapper",
470
+ children: [node],
471
+ parent
472
+ });
473
+ }
474
+ return node;
475
+ }
476
+ function maybeUnwrap(node) {
477
+ if (node?.type === "Wrapper") {
478
+ return node.children[0];
479
+ } else {
480
+ return node;
481
+ }
482
+ }
483
+ function isASTNodeObject(node) {
484
+ return typeof node === "object" && node != null && !Array.isArray(node);
485
+ }
486
+ function isParent(node) {
487
+ return node != null && node.children != null;
488
+ }
489
+ function isToken(node) {
490
+ return node != null && node.token != null;
491
+ }
466
492
  function isEmptyBareBlock(node) {
467
493
  if (node?.type !== "BlockStatement")
468
494
  return false;
@@ -491,12 +517,32 @@ function isWhitespaceOrEmpty(node) {
491
517
  return;
492
518
  }
493
519
  function isExit(node) {
494
- return [
495
- "ReturnStatement",
496
- "ThrowStatement",
497
- "BreakStatement",
498
- "ContinueStatement"
499
- ].includes(node?.type);
520
+ if (!(node != null)) {
521
+ return false;
522
+ }
523
+ switch (node.type) {
524
+ case "ReturnStatement":
525
+ case "ThrowStatement":
526
+ case "BreakStatement":
527
+ case "ContinueStatement": {
528
+ return true;
529
+ }
530
+ case "IfStatement": {
531
+ return isExit(node.then) && isExit(node.else?.at(-1));
532
+ }
533
+ case "BlockStatement": {
534
+ return isExit(node.expressions.at(-1)?.[1]);
535
+ }
536
+ case "IterationStatement": {
537
+ return node.condition?.type === "ParenthesizedExpression" && node.condition.expression?.type === "Literal" && node.condition.expression?.raw === "true" && gatherRecursiveWithinFunction(
538
+ node.block,
539
+ ({ type }) => type === "BreakStatement"
540
+ ).length === 0;
541
+ }
542
+ default: {
543
+ return false;
544
+ }
545
+ }
500
546
  }
501
547
  function isComma(node) {
502
548
  if (node?.token === ",") {
@@ -508,7 +554,7 @@ function isComma(node) {
508
554
  return;
509
555
  }
510
556
  function insertTrimmingSpace(target, c) {
511
- if (!target) {
557
+ if (!(target != null)) {
512
558
  return target;
513
559
  }
514
560
  if (Array.isArray(target)) {
@@ -518,35 +564,80 @@ function insertTrimmingSpace(target, c) {
518
564
  return target.map((e, i) => {
519
565
  if (i === 0) {
520
566
  return insertTrimmingSpace(e, c);
567
+ } else {
568
+ return e;
521
569
  }
522
- return e;
523
570
  });
524
- }
525
- if (target.children) {
571
+ } else if (isParent(target)) {
526
572
  return {
527
573
  ...target,
528
574
  children: insertTrimmingSpace(target.children, c)
529
575
  };
530
- }
531
- if (target.token) {
576
+ } else if (isToken(target)) {
532
577
  return {
533
578
  ...target,
534
579
  token: target.token.replace(/^ ?/, c)
535
580
  };
581
+ } else {
582
+ return target;
583
+ }
584
+ }
585
+ function inplaceInsertTrimmingSpace(target, c) {
586
+ if (!(target != null)) {
587
+ return target;
588
+ }
589
+ if (Array.isArray(target)) {
590
+ inplaceInsertTrimmingSpace(target[0], c);
591
+ } else if (isParent(target)) {
592
+ inplaceInsertTrimmingSpace(target.children, c);
593
+ } else if (isToken(target)) {
594
+ target.token = target.token.replace(/^ ?/, c);
536
595
  }
537
- return target;
538
596
  }
539
597
  function getTrimmingSpace(target) {
540
- if (!target)
598
+ if (!(target != null)) {
541
599
  return;
542
- if (Array.isArray(target))
600
+ }
601
+ if (Array.isArray(target)) {
543
602
  return getTrimmingSpace(target[0]);
544
- if (target.children)
603
+ } else if (isParent(target)) {
545
604
  return getTrimmingSpace(target.children[0]);
546
- if (target.token)
605
+ } else if (isToken(target)) {
547
606
  return target.token.match(/^ ?/)[0];
607
+ }
608
+ ;
548
609
  return;
549
610
  }
611
+ function prepend(prefix, node) {
612
+ if (!(prefix && prefix.length)) {
613
+ return node;
614
+ }
615
+ if (Array.isArray(node)) {
616
+ return [prefix, ...node];
617
+ } else if (isParent(node)) {
618
+ return {
619
+ ...node,
620
+ children: [prefix, ...node.children]
621
+ };
622
+ } else {
623
+ return [prefix, node];
624
+ }
625
+ }
626
+ function inplacePrepend(prefix, node) {
627
+ if (!prefix) {
628
+ return;
629
+ }
630
+ if (Array.isArray(prefix) && !prefix.length) {
631
+ return;
632
+ }
633
+ if (Array.isArray(node)) {
634
+ node.unshift(prefix);
635
+ } else if (isParent(node)) {
636
+ node.children.unshift(prefix);
637
+ } else {
638
+ throw new Error("Can't prepend to a leaf node");
639
+ }
640
+ }
550
641
  function literalValue(literal) {
551
642
  let { raw } = literal;
552
643
  switch (raw) {
@@ -601,12 +692,12 @@ function startsWith(target, value) {
601
692
  return startsWith(target[i], value);
602
693
  }
603
694
  }
695
+ if (typeof target === "string")
696
+ return value.test(target);
604
697
  if (target.children)
605
698
  return startsWith(target.children, value);
606
699
  if (target.token)
607
700
  return value.test(target.token);
608
- if (typeof target === "string")
609
- return value.test(target);
610
701
  return;
611
702
  }
612
703
  function hasAwait(exp) {
@@ -626,70 +717,60 @@ function deepCopy(node) {
626
717
  if (Array.isArray(node)) {
627
718
  return node.map(deepCopy);
628
719
  }
720
+ if (node?.type === "Ref")
721
+ return node;
629
722
  return Object.fromEntries(
630
723
  Object.entries(node).map(([key, value]) => {
631
724
  return [key, deepCopy(value)];
632
725
  })
633
726
  );
634
727
  }
635
- function makeAmpersandFunction(bodyAfterRef = []) {
636
- const ref = makeRef("$");
637
- const body = [ref, ...bodyAfterRef];
638
- const parameters = {
639
- type: "Parameters",
640
- children: [ref],
641
- names: []
642
- };
643
- const block = {
644
- expressions: body
645
- };
646
- return {
647
- type: "ArrowFunction",
648
- signature: {
649
- modifier: {}
650
- },
651
- children: [parameters, " => ", body],
652
- ref,
653
- body,
654
- ampersandBlock: true,
655
- block,
656
- parameters
657
- };
658
- }
659
- function makeAmpersandFunctionExpression(prefix, rhs) {
660
- let ref, body, typeSuffix;
661
- if (!rhs) {
662
- body = ref = makeRef("$");
663
- } else {
664
- ({ ref, typeSuffix } = rhs);
665
- if (!ref) {
666
- throw new Error("Could not find ref in ampersand shorthand block");
728
+ function removeHoistDecs(node) {
729
+ if (node == null)
730
+ return;
731
+ if (typeof node !== "object")
732
+ return;
733
+ if ("hoistDec" in node) {
734
+ node.hoistDec = void 0;
735
+ }
736
+ if (Array.isArray(node)) {
737
+ for (const child of node) {
738
+ removeHoistDecs(child);
667
739
  }
668
- body = rhs;
740
+ return;
669
741
  }
670
- if (prefix.length) {
671
- body = {
672
- type: "UnaryExpression",
673
- children: [processUnaryExpression(prefix, body, void 0)]
674
- };
742
+ if (node.children) {
743
+ for (const child of node.children) {
744
+ removeHoistDecs(child);
745
+ }
675
746
  }
676
- const parameters = {
747
+ }
748
+ function makeAmpersandFunction(rhs) {
749
+ let { ref, typeSuffix, body } = rhs;
750
+ if (!(ref != null)) {
751
+ ref = makeRef("$");
752
+ inplacePrepend(ref, body);
753
+ }
754
+ if (body?.type === "ObjectExpression") {
755
+ body = makeLeftHandSideExpression(body);
756
+ }
757
+ const parameters = makeNode({
677
758
  type: "Parameters",
678
759
  children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
679
760
  names: []
680
- };
761
+ });
681
762
  const expressions = [body];
682
- const block = {
763
+ const block = makeNode({
683
764
  bare: true,
684
765
  expressions,
685
766
  children: [expressions]
686
- };
767
+ });
687
768
  const children = [parameters, " => ", block];
688
769
  const async = hasAwait(body);
689
770
  if (async) {
690
771
  children.unshift("async ");
691
772
  }
692
- return {
773
+ return makeNode({
693
774
  type: "ArrowFunction",
694
775
  signature: {
695
776
  modifier: {
@@ -702,45 +783,7 @@ function makeAmpersandFunctionExpression(prefix, rhs) {
702
783
  ampersandBlock: true,
703
784
  block,
704
785
  parameters
705
- };
706
- }
707
- function makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS) {
708
- const ref = makeRef("$");
709
- let exp = {
710
- type: "AmpersandRef",
711
- children: [ref],
712
- names: [],
713
- ref
714
- };
715
- if (callExpRest) {
716
- exp.children.push(...callExpRest[1]);
717
- }
718
- if (unaryPostfix) {
719
- exp = processUnaryExpression([], exp, unaryPostfix);
720
- }
721
- if (assign) {
722
- const [op1, more, rhs] = assign;
723
- const lhs = [
724
- [void 0, exp, ...op1],
725
- ...more.map((x) => [x[0], x[1], ...x[2]])
726
- ];
727
- exp = {
728
- type: "AssignmentExpression",
729
- children: [lhs, rhs],
730
- names: null,
731
- lhs,
732
- assigned: exp,
733
- exp: rhs
734
- };
735
- }
736
- if (binopRHS) {
737
- exp = {
738
- children: processBinaryOpExpression([exp, binopRHS[1]])
739
- };
740
- }
741
- exp.ref = ref;
742
- exp.typeSuffix = typeSuffix;
743
- return exp;
786
+ });
744
787
  }
745
788
  function makeLeftHandSideExpression(expression) {
746
789
  if (expression.parenthesized) {
@@ -757,6 +800,7 @@ function makeLeftHandSideExpression(expression) {
757
800
  case "NewExpression":
758
801
  case "ParenthesizedExpression":
759
802
  case "Ref":
803
+ case "Placeholder":
760
804
  case "StatementExpression":
761
805
  return expression;
762
806
  }
@@ -769,10 +813,12 @@ function makeLeftHandSideExpression(expression) {
769
813
  });
770
814
  }
771
815
  function updateParentPointers(node, parent, depth = 1) {
772
- if (node == null)
816
+ if (!(node != null)) {
773
817
  return;
774
- if (typeof node !== "object")
818
+ }
819
+ if (!(typeof node === "object")) {
775
820
  return;
821
+ }
776
822
  if (Array.isArray(node)) {
777
823
  for (const child of node) {
778
824
  updateParentPointers(child, parent, depth);
@@ -780,9 +826,10 @@ function updateParentPointers(node, parent, depth = 1) {
780
826
  return;
781
827
  }
782
828
  node = node;
783
- if (parent != null)
829
+ if (parent != null) {
784
830
  node.parent = parent;
785
- if (depth && node.children) {
831
+ }
832
+ if (depth && isParent(node)) {
786
833
  for (const child of node.children) {
787
834
  updateParentPointers(child, node, depth - 1);
788
835
  }
@@ -954,7 +1001,13 @@ function gatherRecursiveWithinFunction(node, predicate) {
954
1001
  return gatherRecursive(node, predicate, isFunction);
955
1002
  }
956
1003
  function findChildIndex(parent, child) {
1004
+ if (!(parent != null)) {
1005
+ return -1;
1006
+ }
957
1007
  const children = Array.isArray(parent) ? parent : parent.children;
1008
+ if (!(children != null)) {
1009
+ return -1;
1010
+ }
958
1011
  for (let i1 = 0, len = children.length; i1 < len; i1++) {
959
1012
  const i = i1;
960
1013
  const c = children[i1];
@@ -963,18 +1016,13 @@ function findChildIndex(parent, child) {
963
1016
  }
964
1017
  }
965
1018
  function arrayRecurse(array) {
966
- const results = [];
967
1019
  for (let i2 = 0, len1 = array.length; i2 < len1; i2++) {
968
- const i = i2;
969
1020
  const c = array[i2];
970
1021
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
971
1022
  return true;
972
- } else {
973
- results.push(void 0);
974
1023
  }
975
1024
  }
976
- ;
977
- return results;
1025
+ return false;
978
1026
  }
979
1027
  return -1;
980
1028
  }
@@ -985,7 +1033,7 @@ function findAncestor(node, predicate, stopPredicate) {
985
1033
  return { ancestor: parent, child: node };
986
1034
  }
987
1035
  node = parent;
988
- parent = node.parent;
1036
+ ({ parent } = node);
989
1037
  }
990
1038
  return { ancestor: void 0, child: node };
991
1039
  }
@@ -1174,7 +1222,7 @@ function insertHoistDec(block, node, dec) {
1174
1222
  }
1175
1223
  function processBlocks(statements) {
1176
1224
  insertSemicolon(statements);
1177
- gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(function({ expressions }) {
1225
+ gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(({ expressions }) => {
1178
1226
  return processBlocks(expressions);
1179
1227
  });
1180
1228
  }
@@ -1184,7 +1232,7 @@ function insertSemicolon(statements) {
1184
1232
  const i = i1;
1185
1233
  const s = statements[i1];
1186
1234
  if (i < l - 1) {
1187
- if (needsPrecedingSemicolon(statements[i + 1])) {
1235
+ if (needsPrecedingSemicolon(statements[i + 1][1])) {
1188
1236
  const delim = s[2];
1189
1237
  if (!delim) {
1190
1238
  s[2] = ";";
@@ -1196,40 +1244,45 @@ function insertSemicolon(statements) {
1196
1244
  }
1197
1245
  }
1198
1246
  function needsPrecedingSemicolon(exp) {
1199
- let following;
1200
- if (Array.isArray(exp)) {
1201
- [, following] = exp;
1202
- } else {
1203
- following = exp;
1247
+ if (!exp) {
1248
+ return false;
1204
1249
  }
1205
- if (!following) {
1250
+ if (Array.isArray(exp)) {
1251
+ for (let i2 = 0, len1 = exp.length; i2 < len1; i2++) {
1252
+ const child = exp[i2];
1253
+ if (!(child != null)) {
1254
+ continue;
1255
+ }
1256
+ return needsPrecedingSemicolon(child);
1257
+ }
1206
1258
  return false;
1207
1259
  }
1208
- if (Array.isArray(following)) {
1209
- return needsPrecedingSemicolon(following[0]);
1260
+ if (typeof exp === "string") {
1261
+ return /^\s*[\(\[\`\+\-\/]/.test(exp);
1210
1262
  }
1211
- switch (following.type) {
1263
+ switch (exp.type) {
1212
1264
  case "ParenthesizedExpression":
1213
1265
  case "ArrayExpression":
1214
1266
  case "ArrowFunction":
1215
1267
  case "TemplateLiteral":
1216
1268
  case "RegularExpressionLiteral":
1217
- case "RangeExpression": {
1269
+ case "RangeExpression":
1270
+ case "ComputedPropertyName": {
1218
1271
  return true;
1219
1272
  }
1220
1273
  case "AssignmentExpression": {
1221
- return startsWith(following, /^(\[|\()/);
1274
+ return startsWith(exp, /^(\[|\()/);
1222
1275
  }
1223
1276
  case "Literal": {
1224
- return following.raw?.startsWith("-") || following.raw?.startsWith("+");
1277
+ return exp.raw?.startsWith("-") || exp.raw?.startsWith("+");
1225
1278
  }
1226
1279
  case "PipelineExpression":
1227
1280
  case "UnwrappedExpression": {
1228
- return needsPrecedingSemicolon(following.children[1]);
1281
+ return needsPrecedingSemicolon(exp.children[1]);
1229
1282
  }
1230
1283
  default: {
1231
- if (following.children) {
1232
- return needsPrecedingSemicolon(following.children[0]);
1284
+ if (exp.children) {
1285
+ return needsPrecedingSemicolon(exp.children);
1233
1286
  }
1234
1287
  ;
1235
1288
  return;
@@ -1368,8 +1421,7 @@ function processPatternMatching(statements, ReservedWord, getRef) {
1368
1421
  const { clauses } = caseBlock;
1369
1422
  for (const c of clauses) {
1370
1423
  if (c.type === "WhenClause" && c.break) {
1371
- const last = c.block?.expressions?.at(-1)?.[1];
1372
- if (isExit(last)) {
1424
+ if (isExit(c.block)) {
1373
1425
  c.children.splice(c.children.indexOf(c.break), 1);
1374
1426
  c.break = void 0;
1375
1427
  }
@@ -1928,10 +1980,16 @@ function assignResults(node, collect) {
1928
1980
  if (!Array.isArray(node)) {
1929
1981
  return;
1930
1982
  }
1931
- let [, exp] = node;
1983
+ let [, exp, semi] = node;
1984
+ if (semi?.type === "SemicolonDelimiter") {
1985
+ return;
1986
+ }
1932
1987
  if (!exp) {
1933
1988
  return;
1934
1989
  }
1990
+ if (isExit(exp)) {
1991
+ return;
1992
+ }
1935
1993
  const outer = exp;
1936
1994
  let { type } = exp;
1937
1995
  if (type === "LabelledStatement") {
@@ -2023,6 +2081,9 @@ function insertReturn(node, outerNode = node) {
2023
2081
  if (!exp) {
2024
2082
  return;
2025
2083
  }
2084
+ if (isExit(exp)) {
2085
+ return;
2086
+ }
2026
2087
  const outer = exp;
2027
2088
  let { type } = exp;
2028
2089
  if (type === "LabelledStatement") {
@@ -2223,9 +2284,6 @@ function expressionizeIteration(exp) {
2223
2284
  function skipImplicitArguments(args) {
2224
2285
  if (args.length === 1) {
2225
2286
  let arg0 = args[0];
2226
- if (Array.isArray(arg0)) {
2227
- arg0 = arg0[1];
2228
- }
2229
2287
  if (arg0.type === "StatementExpression") {
2230
2288
  arg0 = arg0.statement;
2231
2289
  }
@@ -2255,7 +2313,11 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
2255
2313
  let [splices, assignments] = gatherBindingCode(pattern);
2256
2314
  splices = splices.map((s) => [", ", s]);
2257
2315
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
2258
- const initializer = [ws, assign, e];
2316
+ const initializer = makeNode({
2317
+ type: "Initializer",
2318
+ exp: e,
2319
+ children: [ws, assign, e]
2320
+ });
2259
2321
  const binding = makeNode({
2260
2322
  type: "Binding",
2261
2323
  pattern,
@@ -2294,7 +2356,7 @@ function processDeclarations(statements) {
2294
2356
  });
2295
2357
  }
2296
2358
  function prependStatementExpressionBlock(initializer, statement) {
2297
- let exp = initializer[2];
2359
+ let { exp } = initializer;
2298
2360
  let ws;
2299
2361
  if (Array.isArray(exp)) {
2300
2362
  ws = exp[0];
@@ -2314,7 +2376,7 @@ function prependStatementExpressionBlock(initializer, statement) {
2314
2376
  const statement2 = statementExp.statement;
2315
2377
  blockStatement[1] = statement2;
2316
2378
  if (statement2.type === "DoStatement") {
2317
- ref = initializer[2] = makeRef();
2379
+ ref = initializer.exp = initializer.children[2] = makeRef();
2318
2380
  assignResults(blockStatement, (resultNode) => {
2319
2381
  return makeNode({
2320
2382
  type: "AssignmentExpression",
@@ -2330,10 +2392,10 @@ function prependStatementExpressionBlock(initializer, statement) {
2330
2392
  } else {
2331
2393
  wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
2332
2394
  });
2333
- ref = initializer[2] = statement2.resultsRef;
2395
+ ref = initializer.exp = initializer.children[2] = statement2.resultsRef;
2334
2396
  }
2335
2397
  } else {
2336
- ref = initializer[2] = makeRef();
2398
+ ref = initializer.exp = initializer.children[2] = makeRef();
2337
2399
  assignResults(blockStatement, (resultNode) => {
2338
2400
  return makeNode({
2339
2401
  type: "AssignmentExpression",
@@ -2532,8 +2594,7 @@ function dynamizeImportDeclaration(decl) {
2532
2594
  }
2533
2595
  })();
2534
2596
  const c = "const";
2535
- const initializer = [
2536
- " = ",
2597
+ const exp = [
2537
2598
  justDefault ? "(" : void 0,
2538
2599
  { type: "Await", children: ["await"] },
2539
2600
  " ",
@@ -2542,6 +2603,11 @@ function dynamizeImportDeclaration(decl) {
2542
2603
  dynamizeFromClause(decl.from),
2543
2604
  justDefault ? ").default" : void 0
2544
2605
  ];
2606
+ const initializer = {
2607
+ type: "Initializer",
2608
+ exp,
2609
+ children: [" ", "= ", exp]
2610
+ };
2545
2611
  const bindings = [{
2546
2612
  type: "Binding",
2547
2613
  names: pattern.names,
@@ -2551,11 +2617,15 @@ function dynamizeImportDeclaration(decl) {
2551
2617
  }];
2552
2618
  if (binding && specifiers) {
2553
2619
  const pattern2 = binding;
2554
- const initializer2 = [
2555
- " = ",
2620
+ const exp2 = [
2556
2621
  pattern,
2557
2622
  ".default"
2558
2623
  ];
2624
+ const initializer2 = {
2625
+ type: "Initializer",
2626
+ exp,
2627
+ children: [" ", "= ", exp2]
2628
+ };
2559
2629
  bindings.push({
2560
2630
  type: "Binding",
2561
2631
  names: binding.names,
@@ -2564,10 +2634,11 @@ function dynamizeImportDeclaration(decl) {
2564
2634
  children: [pattern2, initializer2]
2565
2635
  });
2566
2636
  const pattern3 = convertNamedImportsToObject(imports.children.at(-1), true);
2567
- const initializer3 = [
2568
- " = ",
2569
- pattern
2570
- ];
2637
+ const initializer3 = {
2638
+ type: "Initializer",
2639
+ exp: pattern,
2640
+ children: [" ", "= ", pattern]
2641
+ };
2571
2642
  bindings.push({
2572
2643
  type: "Binding",
2573
2644
  names: specifiers.names,
@@ -2715,6 +2786,7 @@ function processPipelineExpressions(statements) {
2715
2786
  switch (access.type) {
2716
2787
  case "PropertyAccess":
2717
2788
  case "SliceExpression":
2789
+ case "Index":
2718
2790
  break;
2719
2791
  default:
2720
2792
  children.unshift({
@@ -2751,6 +2823,7 @@ function processPipelineExpressions(statements) {
2751
2823
  exp: children
2752
2824
  });
2753
2825
  arg = clone(arg);
2826
+ removeHoistDecs(arg);
2754
2827
  if (arg.children[0].type === "Ref") {
2755
2828
  arg.children[0] = usingRef;
2756
2829
  }
@@ -3374,9 +3447,7 @@ __export(lib_exports, {
3374
3447
  isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
3375
3448
  lastAccessInCallExpression: () => lastAccessInCallExpression,
3376
3449
  literalValue: () => literalValue,
3377
- makeAmpersandBlockRHSBody: () => makeAmpersandBlockRHSBody,
3378
3450
  makeAmpersandFunction: () => makeAmpersandFunction,
3379
- makeAmpersandFunctionExpression: () => makeAmpersandFunctionExpression,
3380
3451
  makeEmptyBlock: () => makeEmptyBlock,
3381
3452
  makeExpressionStatement: () => makeExpressionStatement,
3382
3453
  makeGetterMethod: () => makeGetterMethod,
@@ -3386,6 +3457,7 @@ __export(lib_exports, {
3386
3457
  modifyString: () => modifyString,
3387
3458
  negateCondition: () => negateCondition,
3388
3459
  precedenceStep: () => precedenceStep,
3460
+ prepend: () => prepend,
3389
3461
  processAssignmentDeclaration: () => processAssignmentDeclaration,
3390
3462
  processBinaryOpExpression: () => processBinaryOpExpression,
3391
3463
  processCallMemberExpression: () => processCallMemberExpression,
@@ -3725,8 +3797,9 @@ function processCallMemberExpression(node) {
3725
3797
  }
3726
3798
  return node;
3727
3799
  }
3728
- function replaceNode(node, newNode) {
3729
- if (!(node.parent != null)) {
3800
+ function replaceNode(node, newNode, parent) {
3801
+ parent ??= node.parent;
3802
+ if (!(parent != null)) {
3730
3803
  throw new Error("replaceNode failed: node has no parent");
3731
3804
  }
3732
3805
  function recurse(children) {
@@ -3744,12 +3817,20 @@ function replaceNode(node, newNode) {
3744
3817
  }
3745
3818
  return false;
3746
3819
  }
3747
- if (!recurse(node.parent.children)) {
3820
+ if (!recurse(parent.children)) {
3748
3821
  throw new Error("replaceNode failed: didn't find child node in parent");
3749
3822
  }
3750
- if (typeof newNode === "object" && !Array.isArray(newNode)) {
3751
- newNode.parent = node.parent;
3823
+ for (const key in parent) {
3824
+ const value = parent[key];
3825
+ if (value === node) {
3826
+ parent[key] = newNode;
3827
+ return;
3828
+ }
3829
+ }
3830
+ if (isASTNodeObject(newNode)) {
3831
+ newNode.parent = parent;
3752
3832
  }
3833
+ node.parent = void 0;
3753
3834
  }
3754
3835
  function makeExpressionStatement(expression) {
3755
3836
  if (Array.isArray(expression) && expression[1]?.[0]?.[0]?.[1]?.token === ",") {
@@ -4013,10 +4094,13 @@ function processAssignments(statements) {
4013
4094
  (exp) => {
4014
4095
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
4015
4096
  let block;
4016
- if (exp.parent.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4097
+ if (exp.parent?.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4017
4098
  block = makeBlockFragment();
4018
4099
  let ref4;
4019
- if (ref4 = prependStatementExpressionBlock([null, null, $2], block)) {
4100
+ if (ref4 = prependStatementExpressionBlock(
4101
+ { type: "Initializer", exp: $2, children: [void 0, void 0, $2] },
4102
+ block
4103
+ )) {
4020
4104
  const ref = ref4;
4021
4105
  exp.children = exp.children.map(function(c) {
4022
4106
  if (c === $2)
@@ -4339,7 +4423,7 @@ function processProgram(root, config, m, ReservedWord) {
4339
4423
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
4340
4424
  addParentPointers(root);
4341
4425
  const { expressions: statements } = root;
4342
- processPartialPlaceholders(statements);
4426
+ processPlaceholders(statements);
4343
4427
  processNegativeIndexAccess(statements);
4344
4428
  processTypes(statements);
4345
4429
  processDeclarationConditions(statements, m.getRef);
@@ -4384,40 +4468,140 @@ function populateRefs(statements) {
4384
4468
  });
4385
4469
  }
4386
4470
  }
4387
- function processPartialPlaceholders(statements) {
4388
- const partialMap = /* @__PURE__ */ new Map();
4389
- gatherRecursiveAll(statements, ($3) => $3.type === "PartialPlaceholder").forEach((_exp) => {
4471
+ function processPlaceholders(statements) {
4472
+ const placeholderMap = /* @__PURE__ */ new Map();
4473
+ gatherRecursiveAll(statements, ($3) => $3.type === "Placeholder").forEach((_exp) => {
4390
4474
  const exp = _exp;
4391
- let { ancestor } = findAncestor(exp, ($4) => $4?.type === "Call");
4392
- ancestor = ancestor?.parent;
4393
- while (ancestor?.parent?.type === "UnaryExpression") {
4394
- ancestor = ancestor.parent;
4475
+ let ancestor;
4476
+ if (exp.subtype === ".") {
4477
+ ({ ancestor } = findAncestor(exp, ($4) => $4.type === "Call"));
4478
+ ancestor = ancestor?.parent;
4479
+ while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
4480
+ ancestor = ancestor.parent;
4481
+ }
4482
+ if (!ancestor) {
4483
+ replaceNode(exp, {
4484
+ type: "Error",
4485
+ message: "Partial placeholder . outside of call expression"
4486
+ });
4487
+ return;
4488
+ }
4489
+ } else {
4490
+ let child;
4491
+ ({ ancestor, child } = findAncestor(exp, (ancestor2, child2) => {
4492
+ const { type } = ancestor2;
4493
+ return type === "Call" || type === "BlockStatement" || type === "PipelineExpression" || // Declaration
4494
+ type === "Initializer" || // Right-hand side of assignment
4495
+ type === "AssignmentExpression" && ancestor2.exp === child2;
4496
+ }));
4497
+ switch (ancestor?.type) {
4498
+ case "Call": {
4499
+ const i = findChildIndex(ancestor.args, child);
4500
+ if (i >= 0) {
4501
+ ancestor.args[i] = maybeWrap(ancestor.args[i], ancestor);
4502
+ ancestor = ancestor.args[i];
4503
+ } else {
4504
+ ancestor = void 0;
4505
+ }
4506
+ ;
4507
+ break;
4508
+ }
4509
+ case "BlockStatement": {
4510
+ const i = findChildIndex(ancestor.expressions, child);
4511
+ if (i >= 0) {
4512
+ ancestor.expressions[i][1] = maybeWrap(ancestor.expressions[i][1], ancestor);
4513
+ ancestor = ancestor.expressions[i][1];
4514
+ } else {
4515
+ ancestor = void 0;
4516
+ }
4517
+ ;
4518
+ break;
4519
+ }
4520
+ case "PipelineExpression": {
4521
+ const i = findChildIndex(ancestor, child);
4522
+ if (i === 1) {
4523
+ ancestor = ancestor;
4524
+ } else if (i === 2) {
4525
+ const j = findChildIndex(ancestor.children[i], child);
4526
+ ancestor.children[i][j][3] = maybeWrap(ancestor.children[i][j][3], ancestor);
4527
+ ancestor = ancestor.children[i][j][3];
4528
+ } else {
4529
+ ancestor = void 0;
4530
+ }
4531
+ ;
4532
+ break;
4533
+ }
4534
+ case "AssignmentExpression":
4535
+ case "Initializer": {
4536
+ const i = findChildIndex(ancestor, child);
4537
+ if (i >= 0 && ancestor.exp === ancestor.children[i]) {
4538
+ ancestor.exp = ancestor.children[i] = maybeWrap(ancestor.exp, ancestor);
4539
+ ancestor = ancestor.exp;
4540
+ } else {
4541
+ ancestor = void 0;
4542
+ }
4543
+ ;
4544
+ break;
4545
+ }
4546
+ }
4547
+ if (!ancestor) {
4548
+ replaceNode(exp, {
4549
+ type: "Error",
4550
+ message: "Ampersand placeholder & outside of block"
4551
+ });
4552
+ }
4395
4553
  }
4396
- if (ancestor) {
4397
- if (partialMap.has(ancestor)) {
4398
- return partialMap.get(ancestor).push(exp);
4554
+ if (ancestor != null) {
4555
+ if (placeholderMap.has(ancestor)) {
4556
+ return placeholderMap.get(ancestor).push(exp);
4399
4557
  } else {
4400
- return partialMap.set(ancestor, [exp]);
4558
+ return placeholderMap.set(ancestor, [exp]);
4401
4559
  }
4402
- } else {
4403
- return replaceNode(exp, {
4404
- type: "Error",
4405
- message: "Partial placeholder outside of call expression",
4406
- parent: exp.parent
4407
- });
4408
4560
  }
4561
+ ;
4562
+ return;
4409
4563
  });
4410
- for (const [ancestor, placeholders] of partialMap) {
4564
+ for (const [ancestor, placeholders] of placeholderMap) {
4411
4565
  let ref = makeRef("$");
4412
- placeholders.forEach((exp) => {
4413
- return replaceNode(exp.children.at(-1), ref);
4414
- });
4415
- const rhs = {
4416
- ref,
4417
- children: [ancestor]
4418
- };
4419
- const fnExp = makeAmpersandFunctionExpression([], rhs);
4420
- replaceNode(ancestor, fnExp);
4566
+ let typeSuffix;
4567
+ for (let i4 = 0, len3 = placeholders.length; i4 < len3; i4++) {
4568
+ const placeholder = placeholders[i4];
4569
+ typeSuffix ??= placeholder.typeSuffix;
4570
+ replaceNode(placeholder.children.at(-1), ref);
4571
+ }
4572
+ const { parent } = ancestor;
4573
+ const body = maybeUnwrap(ancestor);
4574
+ let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
4575
+ let outer;
4576
+ switch (parent?.type) {
4577
+ case "Call": {
4578
+ outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
4579
+ break;
4580
+ }
4581
+ case "BlockStatement": {
4582
+ outer = ancestor === parent.expressions[findChildIndex(parent.expressions, ancestor)][1];
4583
+ break;
4584
+ }
4585
+ case "PipelineExpression": {
4586
+ outer = ancestor === parent.children[2][findChildIndex(parent.children[2], ancestor)][3];
4587
+ break;
4588
+ }
4589
+ case "AssignmentExpression":
4590
+ case "Initializer": {
4591
+ outer = ancestor === parent.exp;
4592
+ break;
4593
+ }
4594
+ }
4595
+ if (!outer) {
4596
+ fnExp = makeLeftHandSideExpression(fnExp);
4597
+ }
4598
+ replaceNode(ancestor, fnExp, parent);
4599
+ let ref7;
4600
+ if (ref7 = getTrimmingSpace(body)) {
4601
+ const ws = ref7;
4602
+ inplaceInsertTrimmingSpace(body, "");
4603
+ inplacePrepend(ws, fnExp);
4604
+ }
4421
4605
  }
4422
4606
  return;
4423
4607
  }
@@ -4488,9 +4672,9 @@ function replaceNodes(root, predicate, replacer) {
4488
4672
  return root;
4489
4673
  }
4490
4674
  }
4491
- for (let i4 = 0, len3 = array.length; i4 < len3; i4++) {
4492
- const i = i4;
4493
- const node = array[i4];
4675
+ for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4676
+ const i = i5;
4677
+ const node = array[i5];
4494
4678
  if (!(node != null)) {
4495
4679
  return;
4496
4680
  }
@@ -4514,9 +4698,9 @@ function replaceNodesRecursive(root, predicate, replacer) {
4514
4698
  return root;
4515
4699
  }
4516
4700
  }
4517
- for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4518
- const i = i5;
4519
- const node = array[i5];
4701
+ for (let i6 = 0, len5 = array.length; i6 < len5; i6++) {
4702
+ const i = i6;
4703
+ const node = array[i6];
4520
4704
  if (!(node != null)) {
4521
4705
  continue;
4522
4706
  }
@@ -5113,6 +5297,7 @@ var require_parser = __commonJS({
5113
5297
  ExplicitArguments,
5114
5298
  ApplicationStart,
5115
5299
  ForbiddenImplicitCalls,
5300
+ ReservedBinary,
5116
5301
  ArgumentsWithTrailingMemberExpressions,
5117
5302
  TrailingMemberExpressions,
5118
5303
  AllowedTrailingMemberExpressions,
@@ -5145,8 +5330,11 @@ var require_parser = __commonJS({
5145
5330
  AssignmentExpression,
5146
5331
  NonPipelineAssignmentExpression,
5147
5332
  SingleLineAssignmentExpression,
5333
+ NonPipelineSingleLineAssignmentExpression,
5148
5334
  AssignmentExpressionTail,
5335
+ NonPipelineAssignmentExpressionTail,
5149
5336
  ActualAssignment,
5337
+ NonPipelineActualAssignment,
5150
5338
  YieldExpression,
5151
5339
  YieldTail,
5152
5340
  ArrowFunction,
@@ -5163,7 +5351,8 @@ var require_parser = __commonJS({
5163
5351
  PipelineTailItem,
5164
5352
  PrimaryExpression,
5165
5353
  ParenthesizedExpression,
5166
- PartialPlaceholder,
5354
+ Placeholder,
5355
+ AmpersandTypeSuffix,
5167
5356
  ClassDeclaration,
5168
5357
  ClassExpression,
5169
5358
  ClassBinding,
@@ -5252,15 +5441,11 @@ var require_parser = __commonJS({
5252
5441
  FunctionDeclaration,
5253
5442
  FunctionSignature,
5254
5443
  FunctionExpression,
5255
- AmpersandFunctionExpression,
5256
5444
  OperatorDeclaration,
5257
5445
  OperatorSignature,
5258
5446
  OperatorBehavior,
5259
5447
  OperatorPrecedence,
5260
5448
  OperatorAssociativity,
5261
- AmpersandBlockRHS,
5262
- AmpersandTypeSuffix,
5263
- AmpersandBlockRHSBody,
5264
5449
  ThinArrowFunction,
5265
5450
  Arrow,
5266
5451
  ExplicitBlock,
@@ -5849,302 +6034,302 @@ var require_parser = __commonJS({
5849
6034
  var $L23 = $L("import.meta");
5850
6035
  var $L24 = $L("return.value");
5851
6036
  var $L25 = $L(",");
5852
- var $L26 = $L("(&)");
5853
- var $L27 = $L("tighter");
5854
- var $L28 = $L("looser");
5855
- var $L29 = $L("same");
5856
- var $L30 = $L("left");
5857
- var $L31 = $L("right");
5858
- var $L32 = $L("non");
5859
- var $L33 = $L("relational");
5860
- var $L34 = $L("arguments");
5861
- var $L35 = $L("->");
5862
- var $L36 = $L("\u2192");
5863
- var $L37 = $L("}");
5864
- var $L38 = $L("null");
5865
- var $L39 = $L("true");
5866
- var $L40 = $L("false");
5867
- var $L41 = $L("yes");
5868
- var $L42 = $L("on");
5869
- var $L43 = $L("no");
5870
- var $L44 = $L("off");
5871
- var $L45 = $L(">");
5872
- var $L46 = $L("]");
5873
- var $L47 = $L("**=");
5874
- var $L48 = $L("*=");
5875
- var $L49 = $L("/=");
5876
- var $L50 = $L("%=");
5877
- var $L51 = $L("+=");
5878
- var $L52 = $L("-=");
5879
- var $L53 = $L("<<=");
5880
- var $L54 = $L(">>>=");
5881
- var $L55 = $L(">>=");
5882
- var $L56 = $L("&&=");
5883
- var $L57 = $L("&=");
5884
- var $L58 = $L("^=");
5885
- var $L59 = $L("||=");
5886
- var $L60 = $L("|=");
5887
- var $L61 = $L("??=");
5888
- var $L62 = $L("?=");
5889
- var $L63 = $L("and=");
5890
- var $L64 = $L("or=");
5891
- var $L65 = $L("**");
5892
- var $L66 = $L("*");
5893
- var $L67 = $L("/");
5894
- var $L68 = $L("%%");
5895
- var $L69 = $L("%");
5896
- var $L70 = $L("+");
5897
- var $L71 = $L("<=");
5898
- var $L72 = $L("\u2264");
5899
- var $L73 = $L(">=");
5900
- var $L74 = $L("\u2265");
5901
- var $L75 = $L("<?");
5902
- var $L76 = $L("!<?");
5903
- var $L77 = $L("<<");
5904
- var $L78 = $L("\xAB");
5905
- var $L79 = $L(">>>");
5906
- var $L80 = $L("\u22D9");
5907
- var $L81 = $L(">>");
5908
- var $L82 = $L("\xBB");
5909
- var $L83 = $L("!==");
5910
- var $L84 = $L("\u2262");
5911
- var $L85 = $L("!=");
5912
- var $L86 = $L("\u2260");
5913
- var $L87 = $L("isnt");
5914
- var $L88 = $L("===");
5915
- var $L89 = $L("\u2263");
5916
- var $L90 = $L("\u2A76");
5917
- var $L91 = $L("==");
5918
- var $L92 = $L("\u2261");
5919
- var $L93 = $L("\u2A75");
5920
- var $L94 = $L("and");
5921
- var $L95 = $L("&&");
5922
- var $L96 = $L("or");
5923
- var $L97 = $L("||");
5924
- var $L98 = $L("\u2016");
5925
- var $L99 = $L("^^");
5926
- var $L100 = $L("xor");
5927
- var $L101 = $L("xnor");
5928
- var $L102 = $L("??");
5929
- var $L103 = $L("\u2047");
5930
- var $L104 = $L("instanceof");
5931
- var $L105 = $L("\u2208");
5932
- var $L106 = $L("\u220B");
5933
- var $L107 = $L("\u220C");
5934
- var $L108 = $L("\u2209");
5935
- var $L109 = $L("&");
5936
- var $L110 = $L("|");
5937
- var $L111 = $L("$:");
5938
- var $L112 = $L(";");
5939
- var $L113 = $L("break");
5940
- var $L114 = $L("continue");
5941
- var $L115 = $L("debugger");
5942
- var $L116 = $L("require");
5943
- var $L117 = $L("with");
5944
- var $L118 = $L("assert");
5945
- var $L119 = $L(":=");
5946
- var $L120 = $L("\u2254");
5947
- var $L121 = $L(".=");
5948
- var $L122 = $L("::=");
5949
- var $L123 = $L("/*");
5950
- var $L124 = $L("*/");
5951
- var $L125 = $L("\\");
5952
- var $L126 = $L(")");
5953
- var $L127 = $L("abstract");
5954
- var $L128 = $L("as");
5955
- var $L129 = $L("@");
5956
- var $L130 = $L("@@");
5957
- var $L131 = $L("async");
5958
- var $L132 = $L("await");
5959
- var $L133 = $L("`");
5960
- var $L134 = $L("by");
5961
- var $L135 = $L("case");
5962
- var $L136 = $L("catch");
5963
- var $L137 = $L("class");
5964
- var $L138 = $L("#{");
5965
- var $L139 = $L("declare");
5966
- var $L140 = $L("default");
5967
- var $L141 = $L("delete");
5968
- var $L142 = $L("do");
5969
- var $L143 = $L("..");
5970
- var $L144 = $L("\u2025");
5971
- var $L145 = $L("...");
5972
- var $L146 = $L("\u2026");
5973
- var $L147 = $L("::");
5974
- var $L148 = $L('"');
5975
- var $L149 = $L("each");
5976
- var $L150 = $L("else");
5977
- var $L151 = $L("!");
5978
- var $L152 = $L("export");
5979
- var $L153 = $L("extends");
5980
- var $L154 = $L("finally");
5981
- var $L155 = $L("for");
5982
- var $L156 = $L("from");
5983
- var $L157 = $L("function");
5984
- var $L158 = $L("get");
5985
- var $L159 = $L("set");
5986
- var $L160 = $L("#");
5987
- var $L161 = $L("if");
5988
- var $L162 = $L("in");
5989
- var $L163 = $L("infer");
5990
- var $L164 = $L("let");
5991
- var $L165 = $L("const");
5992
- var $L166 = $L("is");
5993
- var $L167 = $L("loop");
5994
- var $L168 = $L("new");
5995
- var $L169 = $L("not");
5996
- var $L170 = $L("of");
5997
- var $L171 = $L("[");
5998
- var $L172 = $L("operator");
5999
- var $L173 = $L("override");
6000
- var $L174 = $L("own");
6001
- var $L175 = $L("public");
6002
- var $L176 = $L("private");
6003
- var $L177 = $L("protected");
6004
- var $L178 = $L("||>");
6005
- var $L179 = $L("|\u25B7");
6006
- var $L180 = $L("|>=");
6007
- var $L181 = $L("\u25B7=");
6008
- var $L182 = $L("|>");
6009
- var $L183 = $L("\u25B7");
6010
- var $L184 = $L("readonly");
6011
- var $L185 = $L("return");
6012
- var $L186 = $L("satisfies");
6013
- var $L187 = $L("'");
6014
- var $L188 = $L("static");
6015
- var $L189 = $L("${");
6016
- var $L190 = $L("super");
6017
- var $L191 = $L("switch");
6018
- var $L192 = $L("target");
6019
- var $L193 = $L("then");
6020
- var $L194 = $L("this");
6021
- var $L195 = $L("throw");
6022
- var $L196 = $L('"""');
6023
- var $L197 = $L("'''");
6024
- var $L198 = $L("///");
6025
- var $L199 = $L("```");
6026
- var $L200 = $L("try");
6027
- var $L201 = $L("typeof");
6028
- var $L202 = $L("undefined");
6029
- var $L203 = $L("unless");
6030
- var $L204 = $L("until");
6031
- var $L205 = $L("using");
6032
- var $L206 = $L("var");
6033
- var $L207 = $L("void");
6034
- var $L208 = $L("when");
6035
- var $L209 = $L("while");
6036
- var $L210 = $L("yield");
6037
- var $L211 = $L("/>");
6038
- var $L212 = $L("</");
6039
- var $L213 = $L("<>");
6040
- var $L214 = $L("</>");
6041
- var $L215 = $L("<!--");
6042
- var $L216 = $L("-->");
6043
- var $L217 = $L("type");
6044
- var $L218 = $L("enum");
6045
- var $L219 = $L("interface");
6046
- var $L220 = $L("global");
6047
- var $L221 = $L("module");
6048
- var $L222 = $L("namespace");
6049
- var $L223 = $L("asserts");
6050
- var $L224 = $L("keyof");
6051
- var $L225 = $L("???");
6052
- var $L226 = $L("[]");
6053
- var $L227 = $L("civet");
6037
+ var $L26 = $L("tighter");
6038
+ var $L27 = $L("looser");
6039
+ var $L28 = $L("same");
6040
+ var $L29 = $L("left");
6041
+ var $L30 = $L("right");
6042
+ var $L31 = $L("non");
6043
+ var $L32 = $L("relational");
6044
+ var $L33 = $L("arguments");
6045
+ var $L34 = $L("->");
6046
+ var $L35 = $L("\u2192");
6047
+ var $L36 = $L("}");
6048
+ var $L37 = $L("null");
6049
+ var $L38 = $L("true");
6050
+ var $L39 = $L("false");
6051
+ var $L40 = $L("yes");
6052
+ var $L41 = $L("on");
6053
+ var $L42 = $L("no");
6054
+ var $L43 = $L("off");
6055
+ var $L44 = $L(">");
6056
+ var $L45 = $L("]");
6057
+ var $L46 = $L("**=");
6058
+ var $L47 = $L("*=");
6059
+ var $L48 = $L("/=");
6060
+ var $L49 = $L("%=");
6061
+ var $L50 = $L("+=");
6062
+ var $L51 = $L("-=");
6063
+ var $L52 = $L("<<=");
6064
+ var $L53 = $L(">>>=");
6065
+ var $L54 = $L(">>=");
6066
+ var $L55 = $L("&&=");
6067
+ var $L56 = $L("&=");
6068
+ var $L57 = $L("^=");
6069
+ var $L58 = $L("||=");
6070
+ var $L59 = $L("|=");
6071
+ var $L60 = $L("??=");
6072
+ var $L61 = $L("?=");
6073
+ var $L62 = $L("and=");
6074
+ var $L63 = $L("or=");
6075
+ var $L64 = $L("**");
6076
+ var $L65 = $L("*");
6077
+ var $L66 = $L("/");
6078
+ var $L67 = $L("%%");
6079
+ var $L68 = $L("%");
6080
+ var $L69 = $L("+");
6081
+ var $L70 = $L("<=");
6082
+ var $L71 = $L("\u2264");
6083
+ var $L72 = $L(">=");
6084
+ var $L73 = $L("\u2265");
6085
+ var $L74 = $L("<?");
6086
+ var $L75 = $L("!<?");
6087
+ var $L76 = $L("<<");
6088
+ var $L77 = $L("\xAB");
6089
+ var $L78 = $L(">>>");
6090
+ var $L79 = $L("\u22D9");
6091
+ var $L80 = $L(">>");
6092
+ var $L81 = $L("\xBB");
6093
+ var $L82 = $L("!==");
6094
+ var $L83 = $L("\u2262");
6095
+ var $L84 = $L("!=");
6096
+ var $L85 = $L("\u2260");
6097
+ var $L86 = $L("isnt");
6098
+ var $L87 = $L("===");
6099
+ var $L88 = $L("\u2263");
6100
+ var $L89 = $L("\u2A76");
6101
+ var $L90 = $L("==");
6102
+ var $L91 = $L("\u2261");
6103
+ var $L92 = $L("\u2A75");
6104
+ var $L93 = $L("and");
6105
+ var $L94 = $L("&&");
6106
+ var $L95 = $L("or");
6107
+ var $L96 = $L("||");
6108
+ var $L97 = $L("\u2016");
6109
+ var $L98 = $L("^^");
6110
+ var $L99 = $L("xor");
6111
+ var $L100 = $L("xnor");
6112
+ var $L101 = $L("??");
6113
+ var $L102 = $L("\u2047");
6114
+ var $L103 = $L("instanceof");
6115
+ var $L104 = $L("\u2208");
6116
+ var $L105 = $L("\u220B");
6117
+ var $L106 = $L("\u220C");
6118
+ var $L107 = $L("\u2209");
6119
+ var $L108 = $L("&");
6120
+ var $L109 = $L("|");
6121
+ var $L110 = $L("$:");
6122
+ var $L111 = $L(";");
6123
+ var $L112 = $L("break");
6124
+ var $L113 = $L("continue");
6125
+ var $L114 = $L("debugger");
6126
+ var $L115 = $L("require");
6127
+ var $L116 = $L("with");
6128
+ var $L117 = $L("assert");
6129
+ var $L118 = $L(":=");
6130
+ var $L119 = $L("\u2254");
6131
+ var $L120 = $L(".=");
6132
+ var $L121 = $L("::=");
6133
+ var $L122 = $L("/*");
6134
+ var $L123 = $L("*/");
6135
+ var $L124 = $L("\\");
6136
+ var $L125 = $L(")");
6137
+ var $L126 = $L("abstract");
6138
+ var $L127 = $L("as");
6139
+ var $L128 = $L("@");
6140
+ var $L129 = $L("@@");
6141
+ var $L130 = $L("async");
6142
+ var $L131 = $L("await");
6143
+ var $L132 = $L("`");
6144
+ var $L133 = $L("by");
6145
+ var $L134 = $L("case");
6146
+ var $L135 = $L("catch");
6147
+ var $L136 = $L("class");
6148
+ var $L137 = $L("#{");
6149
+ var $L138 = $L("declare");
6150
+ var $L139 = $L("default");
6151
+ var $L140 = $L("delete");
6152
+ var $L141 = $L("do");
6153
+ var $L142 = $L("..");
6154
+ var $L143 = $L("\u2025");
6155
+ var $L144 = $L("...");
6156
+ var $L145 = $L("\u2026");
6157
+ var $L146 = $L("::");
6158
+ var $L147 = $L('"');
6159
+ var $L148 = $L("each");
6160
+ var $L149 = $L("else");
6161
+ var $L150 = $L("!");
6162
+ var $L151 = $L("export");
6163
+ var $L152 = $L("extends");
6164
+ var $L153 = $L("finally");
6165
+ var $L154 = $L("for");
6166
+ var $L155 = $L("from");
6167
+ var $L156 = $L("function");
6168
+ var $L157 = $L("get");
6169
+ var $L158 = $L("set");
6170
+ var $L159 = $L("#");
6171
+ var $L160 = $L("if");
6172
+ var $L161 = $L("in");
6173
+ var $L162 = $L("infer");
6174
+ var $L163 = $L("let");
6175
+ var $L164 = $L("const");
6176
+ var $L165 = $L("is");
6177
+ var $L166 = $L("loop");
6178
+ var $L167 = $L("new");
6179
+ var $L168 = $L("not");
6180
+ var $L169 = $L("of");
6181
+ var $L170 = $L("[");
6182
+ var $L171 = $L("operator");
6183
+ var $L172 = $L("override");
6184
+ var $L173 = $L("own");
6185
+ var $L174 = $L("public");
6186
+ var $L175 = $L("private");
6187
+ var $L176 = $L("protected");
6188
+ var $L177 = $L("||>");
6189
+ var $L178 = $L("|\u25B7");
6190
+ var $L179 = $L("|>=");
6191
+ var $L180 = $L("\u25B7=");
6192
+ var $L181 = $L("|>");
6193
+ var $L182 = $L("\u25B7");
6194
+ var $L183 = $L("readonly");
6195
+ var $L184 = $L("return");
6196
+ var $L185 = $L("satisfies");
6197
+ var $L186 = $L("'");
6198
+ var $L187 = $L("static");
6199
+ var $L188 = $L("${");
6200
+ var $L189 = $L("super");
6201
+ var $L190 = $L("switch");
6202
+ var $L191 = $L("target");
6203
+ var $L192 = $L("then");
6204
+ var $L193 = $L("this");
6205
+ var $L194 = $L("throw");
6206
+ var $L195 = $L('"""');
6207
+ var $L196 = $L("'''");
6208
+ var $L197 = $L("///");
6209
+ var $L198 = $L("```");
6210
+ var $L199 = $L("try");
6211
+ var $L200 = $L("typeof");
6212
+ var $L201 = $L("undefined");
6213
+ var $L202 = $L("unless");
6214
+ var $L203 = $L("until");
6215
+ var $L204 = $L("using");
6216
+ var $L205 = $L("var");
6217
+ var $L206 = $L("void");
6218
+ var $L207 = $L("when");
6219
+ var $L208 = $L("while");
6220
+ var $L209 = $L("yield");
6221
+ var $L210 = $L("/>");
6222
+ var $L211 = $L("</");
6223
+ var $L212 = $L("<>");
6224
+ var $L213 = $L("</>");
6225
+ var $L214 = $L("<!--");
6226
+ var $L215 = $L("-->");
6227
+ var $L216 = $L("type");
6228
+ var $L217 = $L("enum");
6229
+ var $L218 = $L("interface");
6230
+ var $L219 = $L("global");
6231
+ var $L220 = $L("module");
6232
+ var $L221 = $L("namespace");
6233
+ var $L222 = $L("asserts");
6234
+ var $L223 = $L("keyof");
6235
+ var $L224 = $L("???");
6236
+ var $L225 = $L("[]");
6237
+ var $L226 = $L("civet");
6054
6238
  var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
6055
- var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6056
- var $R2 = $R(new RegExp("[0-9]", "suy"));
6057
- var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6058
- var $R4 = $R(new RegExp("[ \\t]", "suy"));
6059
- var $R5 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6060
- var $R6 = $R(new RegExp("(?=['\"`])", "suy"));
6061
- var $R7 = $R(new RegExp("(?=[\\/?])", "suy"));
6062
- var $R8 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6063
- var $R9 = $R(new RegExp("[)}]", "suy"));
6064
- var $R10 = $R(new RegExp("[+-]", "suy"));
6065
- var $R11 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
6066
- var $R12 = $R(new RegExp("[&]", "suy"));
6067
- var $R13 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6068
- var $R14 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6069
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6070
- var $R16 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6071
- var $R17 = $R(new RegExp("(?=\\[)", "suy"));
6072
- var $R18 = $R(new RegExp("[!+-]?", "suy"));
6073
- var $R19 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
6074
- var $R20 = $R(new RegExp("!\\^\\^?", "suy"));
6075
- var $R21 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6076
- var $R22 = $R(new RegExp("[:.]", "suy"));
6077
- var $R23 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6078
- var $R24 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6079
- var $R25 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6080
- var $R26 = $R(new RegExp('[^;"\\s]+', "suy"));
6081
- var $R27 = $R(new RegExp("(?=[0-9.])", "suy"));
6082
- var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6083
- var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6084
- var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6085
- var $R31 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6086
- var $R32 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6087
- var $R33 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6088
- var $R34 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6089
- var $R35 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6090
- var $R36 = $R(new RegExp("(?=[0-9])", "suy"));
6091
- var $R37 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6092
- var $R38 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6093
- var $R39 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6094
- var $R40 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6095
- var $R41 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6096
- var $R42 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6097
- var $R43 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6098
- var $R44 = $R(new RegExp("(?:\\\\.)", "suy"));
6099
- var $R45 = $R(new RegExp("[\\s]+", "suy"));
6100
- var $R46 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6101
- var $R47 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6102
- var $R48 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6103
- var $R49 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6104
- var $R50 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6105
- var $R51 = $R(new RegExp("(?=[`'\"])", "suy"));
6106
- var $R52 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6107
- var $R53 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6108
- var $R54 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6109
- var $R55 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6110
- var $R56 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6111
- var $R57 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6112
- var $R58 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
6113
- var $R59 = $R(new RegExp("(?=\\/|#)", "suy"));
6114
- var $R60 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6115
- var $R61 = $R(new RegExp(".", "suy"));
6116
- var $R62 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6117
- var $R63 = $R(new RegExp("[^]*?###", "suy"));
6118
- var $R64 = $R(new RegExp("###(?!#)", "suy"));
6119
- var $R65 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6120
- var $R66 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6121
- var $R67 = $R(new RegExp("[ \\t]+", "suy"));
6122
- var $R68 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6123
- var $R69 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6124
- var $R70 = $R(new RegExp("[=:]", "suy"));
6125
- var $R71 = $R(new RegExp("['\u2019]s", "suy"));
6126
- var $R72 = $R(new RegExp("\\s", "suy"));
6127
- var $R73 = $R(new RegExp("(?=[<])", "suy"));
6128
- var $R74 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6129
- var $R75 = $R(new RegExp("[!+-]", "suy"));
6130
- var $R76 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6131
- var $R77 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6132
- var $R78 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6133
- var $R79 = $R(new RegExp("[<>]", "suy"));
6134
- var $R80 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6135
- var $R81 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6136
- var $R82 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6137
- var $R83 = $R(new RegExp("[+-]?", "suy"));
6138
- var $R84 = $R(new RegExp("(?=if|unless)", "suy"));
6139
- var $R85 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6140
- var $R86 = $R(new RegExp("[\\t ]*", "suy"));
6141
- var $R87 = $R(new RegExp("[ \\t]*", "suy"));
6142
- var $R88 = $R(new RegExp("[\\s]*", "suy"));
6143
- var $R89 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6144
- var $R90 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6145
- var $R91 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6146
- var $R92 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6147
- var $R93 = $R(new RegExp("[^]*", "suy"));
6239
+ var $R1 = $R(new RegExp("&(?=\\s)", "suy"));
6240
+ var $R2 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6241
+ var $R3 = $R(new RegExp("[0-9]", "suy"));
6242
+ var $R4 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6243
+ var $R5 = $R(new RegExp("[ \\t]", "suy"));
6244
+ var $R6 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6245
+ var $R7 = $R(new RegExp("[&=]", "suy"));
6246
+ var $R8 = $R(new RegExp("(?=['\"`])", "suy"));
6247
+ var $R9 = $R(new RegExp("(?=[\\/?])", "suy"));
6248
+ var $R10 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6249
+ var $R11 = $R(new RegExp("[)}]", "suy"));
6250
+ var $R12 = $R(new RegExp("[+-]", "suy"));
6251
+ var $R13 = $R(new RegExp("\\+\\+|--|[\\+\\-&]\\S", "suy"));
6252
+ var $R14 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6253
+ var $R15 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6254
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6255
+ var $R17 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6256
+ var $R18 = $R(new RegExp("(?=\\[)", "suy"));
6257
+ var $R19 = $R(new RegExp("[!+-]?", "suy"));
6258
+ var $R20 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
6259
+ var $R21 = $R(new RegExp("!\\^\\^?", "suy"));
6260
+ var $R22 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6261
+ var $R23 = $R(new RegExp("[:.]", "suy"));
6262
+ var $R24 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6263
+ var $R25 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6264
+ var $R26 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6265
+ var $R27 = $R(new RegExp('[^;"\\s]+', "suy"));
6266
+ var $R28 = $R(new RegExp("(?=[0-9.])", "suy"));
6267
+ var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6268
+ var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6269
+ var $R31 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6270
+ var $R32 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6271
+ var $R33 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6272
+ var $R34 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6273
+ var $R35 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6274
+ var $R36 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6275
+ var $R37 = $R(new RegExp("(?=[0-9])", "suy"));
6276
+ var $R38 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6277
+ var $R39 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6278
+ var $R40 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6279
+ var $R41 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6280
+ var $R42 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6281
+ var $R43 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6282
+ var $R44 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6283
+ var $R45 = $R(new RegExp("(?:\\\\.)", "suy"));
6284
+ var $R46 = $R(new RegExp("[\\s]+", "suy"));
6285
+ var $R47 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6286
+ var $R48 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6287
+ var $R49 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6288
+ var $R50 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6289
+ var $R51 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6290
+ var $R52 = $R(new RegExp("(?=[`'\"])", "suy"));
6291
+ var $R53 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6292
+ var $R54 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6293
+ var $R55 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6294
+ var $R56 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6295
+ var $R57 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6296
+ var $R58 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6297
+ var $R59 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
6298
+ var $R60 = $R(new RegExp("(?=\\/|#)", "suy"));
6299
+ var $R61 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6300
+ var $R62 = $R(new RegExp(".", "suy"));
6301
+ var $R63 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6302
+ var $R64 = $R(new RegExp("[^]*?###", "suy"));
6303
+ var $R65 = $R(new RegExp("###(?!#)", "suy"));
6304
+ var $R66 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6305
+ var $R67 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6306
+ var $R68 = $R(new RegExp("[ \\t]+", "suy"));
6307
+ var $R69 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6308
+ var $R70 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6309
+ var $R71 = $R(new RegExp("[=:]", "suy"));
6310
+ var $R72 = $R(new RegExp("['\u2019]s", "suy"));
6311
+ var $R73 = $R(new RegExp("\\s", "suy"));
6312
+ var $R74 = $R(new RegExp("(?=[<])", "suy"));
6313
+ var $R75 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6314
+ var $R76 = $R(new RegExp("[!+-]", "suy"));
6315
+ var $R77 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6316
+ var $R78 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6317
+ var $R79 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6318
+ var $R80 = $R(new RegExp("[<>]", "suy"));
6319
+ var $R81 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6320
+ var $R82 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6321
+ var $R83 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6322
+ var $R84 = $R(new RegExp("[+-]?", "suy"));
6323
+ var $R85 = $R(new RegExp("(?=if|unless)", "suy"));
6324
+ var $R86 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6325
+ var $R87 = $R(new RegExp("[\\t ]*", "suy"));
6326
+ var $R88 = $R(new RegExp("[ \\t]*", "suy"));
6327
+ var $R89 = $R(new RegExp("[\\s]*", "suy"));
6328
+ var $R90 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6329
+ var $R91 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6330
+ var $R92 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6331
+ var $R93 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6332
+ var $R94 = $R(new RegExp("[^]*", "suy"));
6148
6333
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6149
6334
  var statements = $4;
6150
6335
  processProgram({
@@ -6203,12 +6388,7 @@ var require_parser = __commonJS({
6203
6388
  var ws = $2;
6204
6389
  var statement = $3;
6205
6390
  var delimiter = $4;
6206
- if (ws) {
6207
- statement = {
6208
- ...statement,
6209
- children: [ws, ...statement.children]
6210
- };
6211
- }
6391
+ statement = prepend(ws, statement);
6212
6392
  return [statement, delimiter];
6213
6393
  });
6214
6394
  function TopLevelStatement(ctx, state) {
@@ -6321,7 +6501,7 @@ var require_parser = __commonJS({
6321
6501
  function Arguments(ctx, state) {
6322
6502
  return $EVENT_C(ctx, state, "Arguments", Arguments$$);
6323
6503
  }
6324
- var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6504
+ var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(Trimmed_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6325
6505
  var open = $2;
6326
6506
  var ws = $3;
6327
6507
  var args = $4;
@@ -6331,7 +6511,7 @@ var require_parser = __commonJS({
6331
6511
  return {
6332
6512
  type: "Call",
6333
6513
  args,
6334
- children: [open, insertTrimmingSpace(ws, ""), args, close]
6514
+ children: [open, ws, args, close]
6335
6515
  };
6336
6516
  });
6337
6517
  function ImplicitArguments(ctx, state) {
@@ -6366,27 +6546,32 @@ var require_parser = __commonJS({
6366
6546
  function ApplicationStart(ctx, state) {
6367
6547
  return $EVENT_C(ctx, state, "ApplicationStart", ApplicationStart$$);
6368
6548
  }
6369
- var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R1, "ForbiddenImplicitCalls /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6549
+ var ForbiddenImplicitCalls$0 = ReservedBinary;
6370
6550
  var ForbiddenImplicitCalls$1 = $EXPECT($L2, 'ForbiddenImplicitCalls "/ "');
6371
- var ForbiddenImplicitCalls$2 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6372
- var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6373
- var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6551
+ var ForbiddenImplicitCalls$2 = $S($Y($S($R$0($EXPECT($R1, "ForbiddenImplicitCalls /&(?=\\s)/")), $N($S(NotDedented, $C(Ampersand, ReservedBinary))), $C(IndentedFurther, $N(EOS)))), BinaryOpRHS);
6552
+ var ForbiddenImplicitCalls$3 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6553
+ var ForbiddenImplicitCalls$4 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6554
+ var ForbiddenImplicitCalls$5 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6374
6555
  var id = $1;
6375
6556
  if (module2.operators.has(id.name))
6376
6557
  return $0;
6377
6558
  return $skip;
6378
6559
  });
6379
- var ForbiddenImplicitCalls$5 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6560
+ var ForbiddenImplicitCalls$6 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6380
6561
  var id = $3;
6381
6562
  if (module2.operators.has(id.name))
6382
6563
  return $0;
6383
6564
  return $skip;
6384
6565
  });
6385
- var ForbiddenImplicitCalls$6 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6386
- var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6];
6566
+ var ForbiddenImplicitCalls$7 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6567
+ var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6, ForbiddenImplicitCalls$7];
6387
6568
  function ForbiddenImplicitCalls(ctx, state) {
6388
6569
  return $EVENT_C(ctx, state, "ForbiddenImplicitCalls", ForbiddenImplicitCalls$$);
6389
6570
  }
6571
+ var ReservedBinary$0 = $R$0($EXPECT($R2, "ReservedBinary /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6572
+ function ReservedBinary(ctx, state) {
6573
+ return $EVENT(ctx, state, "ReservedBinary", ReservedBinary$0);
6574
+ }
6390
6575
  var ArgumentsWithTrailingMemberExpressions$0 = $TS($S(Arguments, AllowedTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
6391
6576
  var args = $1;
6392
6577
  var trailing = $2;
@@ -6395,8 +6580,16 @@ var require_parser = __commonJS({
6395
6580
  function ArgumentsWithTrailingMemberExpressions(ctx, state) {
6396
6581
  return $EVENT(ctx, state, "ArgumentsWithTrailingMemberExpressions", ArgumentsWithTrailingMemberExpressions$0);
6397
6582
  }
6398
- var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingMemberExpressions "?"')), $EXPECT($L7, 'TrailingMemberExpressions "."'), $N($EXPECT($R2, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
6399
- return $1.concat($2);
6583
+ var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingMemberExpressions "?"')), $EXPECT($L7, 'TrailingMemberExpressions "."'), $N($EXPECT($R3, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
6584
+ return $1.concat($2.map(([ws, , memberExpressionRest]) => {
6585
+ if (Array.isArray(memberExpressionRest)) {
6586
+ return [ws, ...memberExpressionRest];
6587
+ }
6588
+ return {
6589
+ ...memberExpressionRest,
6590
+ children: [ws, ...memberExpressionRest.children]
6591
+ };
6592
+ }));
6400
6593
  });
6401
6594
  function TrailingMemberExpressions(ctx, state) {
6402
6595
  return $EVENT(ctx, state, "TrailingMemberExpressions", TrailingMemberExpressions$0);
@@ -6409,7 +6602,7 @@ var require_parser = __commonJS({
6409
6602
  function AllowedTrailingMemberExpressions(ctx, state) {
6410
6603
  return $EVENT_C(ctx, state, "AllowedTrailingMemberExpressions", AllowedTrailingMemberExpressions$$);
6411
6604
  }
6412
- var TrailingCallExpressions$0 = $P($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingCallExpressions "?"')), $EXPECT($L7, 'TrailingCallExpressions "."'), $N($R$0($EXPECT($R2, "TrailingCallExpressions /[0-9]/"))))), $P(CallExpressionRest)));
6605
+ var TrailingCallExpressions$0 = $P($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingCallExpressions "?"')), $EXPECT($L7, 'TrailingCallExpressions "."'), $N($R$0($EXPECT($R3, "TrailingCallExpressions /[0-9]/"))))), $P(CallExpressionRest)));
6413
6606
  function TrailingCallExpressions(ctx, state) {
6414
6607
  return $EVENT(ctx, state, "TrailingCallExpressions", TrailingCallExpressions$0);
6415
6608
  }
@@ -6423,10 +6616,10 @@ var require_parser = __commonJS({
6423
6616
  function CommaDelimiter(ctx, state) {
6424
6617
  return $EVENT(ctx, state, "CommaDelimiter", CommaDelimiter$0);
6425
6618
  }
6426
- var ArgumentList$0 = $TS($S(ArgumentPart, $Q($S(CommaDelimiter, $N(EOS), ArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6619
+ var ArgumentList$0 = $TS($S(ArgumentPart, $Q($S(CommaDelimiter, $N(EOS), $E(_), ArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6427
6620
  return [
6428
6621
  $1,
6429
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6622
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6430
6623
  ...$3.flatMap(
6431
6624
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6432
6625
  )
@@ -6436,17 +6629,20 @@ var require_parser = __commonJS({
6436
6629
  return [insertTrimmingSpace($1, "")];
6437
6630
  });
6438
6631
  var ArgumentList$2 = NestedArgumentList;
6439
- var ArgumentList$3 = $TS($S($S($E(_), ArgumentPart), $Q($S(CommaDelimiter, $S($E(_), ArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6440
- return [$1, ...$2.flat()];
6632
+ var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6633
+ return [
6634
+ prepend($1, $2),
6635
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6636
+ ];
6441
6637
  });
6442
6638
  var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
6443
6639
  function ArgumentList(ctx, state) {
6444
6640
  return $EVENT_C(ctx, state, "ArgumentList", ArgumentList$$);
6445
6641
  }
6446
- var NonPipelineArgumentList$0 = $TS($S(NonPipelineArgumentPart, $Q($S(CommaDelimiter, $N(EOS), NonPipelineArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6642
+ var NonPipelineArgumentList$0 = $TS($S(NonPipelineArgumentPart, $Q($S(CommaDelimiter, $N(EOS), $E(_), NonPipelineArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6447
6643
  return [
6448
6644
  $1,
6449
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6645
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6450
6646
  ...$3.flatMap(
6451
6647
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6452
6648
  )
@@ -6456,8 +6652,11 @@ var require_parser = __commonJS({
6456
6652
  return [insertTrimmingSpace($1, "")];
6457
6653
  });
6458
6654
  var NonPipelineArgumentList$2 = NestedArgumentList;
6459
- var NonPipelineArgumentList$3 = $TS($S($S($E(_), NonPipelineArgumentPart), $Q($S(CommaDelimiter, $S($E(_), NonPipelineArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6460
- return [$1, ...$2.flat()];
6655
+ var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6656
+ return [
6657
+ prepend($1, $2),
6658
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6659
+ ];
6461
6660
  });
6462
6661
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
6463
6662
  function NonPipelineArgumentList(ctx, state) {
@@ -6563,20 +6762,19 @@ var require_parser = __commonJS({
6563
6762
  function RHS(ctx, state) {
6564
6763
  return $EVENT_C(ctx, state, "RHS", RHS$$);
6565
6764
  }
6566
- var UnaryExpression$0 = AmpersandFunctionExpression;
6567
- var UnaryExpression$1 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6765
+ var UnaryExpression$0 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6568
6766
  var pre = $1;
6569
6767
  var exp = $2;
6570
6768
  var post = $3;
6571
6769
  return processUnaryExpression(pre, exp, post);
6572
6770
  });
6573
- var UnaryExpression$2 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6771
+ var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6574
6772
  var ws = $3;
6575
6773
  var exp = $4;
6576
6774
  ws = insertTrimmingSpace(ws, "");
6577
6775
  return ["(", ...ws, exp, ")()"];
6578
6776
  });
6579
- var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1, UnaryExpression$2];
6777
+ var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1];
6580
6778
  function UnaryExpression(ctx, state) {
6581
6779
  return $EVENT_C(ctx, state, "UnaryExpression", UnaryExpression$$);
6582
6780
  }
@@ -6617,7 +6815,7 @@ var require_parser = __commonJS({
6617
6815
  var TypePostfix$0 = $TS($S(_, NWTypePostfix), function($skip, $loc, $0, $1, $2) {
6618
6816
  var ws = $1;
6619
6817
  var postfix = $2;
6620
- return [ws, postfix];
6818
+ return prepend(ws, postfix);
6621
6819
  });
6622
6820
  function TypePostfix(ctx, state) {
6623
6821
  return $EVENT(ctx, state, "TypePostfix", TypePostfix$0);
@@ -6663,7 +6861,7 @@ var require_parser = __commonJS({
6663
6861
  children: $0
6664
6862
  };
6665
6863
  });
6666
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6864
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R4, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6667
6865
  if (!$2)
6668
6866
  return $1;
6669
6867
  return {
@@ -6689,15 +6887,20 @@ var require_parser = __commonJS({
6689
6887
  function UpdateExpressionSymbol(ctx, state) {
6690
6888
  return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
6691
6889
  }
6692
- var AssignmentExpression$0 = PipelineExpression;
6693
- var AssignmentExpression$1 = SingleLineAssignmentExpression;
6694
- var AssignmentExpression$2 = $S(__, AssignmentExpressionTail);
6695
- var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2];
6890
+ var AssignmentExpression$0 = $TS($S($E(_), ActualAssignment), function($skip, $loc, $0, $1, $2) {
6891
+ var ws = $1;
6892
+ var assign = $2;
6893
+ return prepend(ws, assign);
6894
+ });
6895
+ var AssignmentExpression$1 = PipelineExpression;
6896
+ var AssignmentExpression$2 = SingleLineAssignmentExpression;
6897
+ var AssignmentExpression$3 = $S(__, AssignmentExpressionTail);
6898
+ var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2, AssignmentExpression$3];
6696
6899
  function AssignmentExpression(ctx, state) {
6697
6900
  return $EVENT_C(ctx, state, "AssignmentExpression", AssignmentExpression$$);
6698
6901
  }
6699
- var NonPipelineAssignmentExpression$0 = SingleLineAssignmentExpression;
6700
- var NonPipelineAssignmentExpression$1 = $S(__, AssignmentExpressionTail);
6902
+ var NonPipelineAssignmentExpression$0 = NonPipelineSingleLineAssignmentExpression;
6903
+ var NonPipelineAssignmentExpression$1 = $S(__, NonPipelineAssignmentExpressionTail);
6701
6904
  var NonPipelineAssignmentExpression$$ = [NonPipelineAssignmentExpression$0, NonPipelineAssignmentExpression$1];
6702
6905
  function NonPipelineAssignmentExpression(ctx, state) {
6703
6906
  return $EVENT_C(ctx, state, "NonPipelineAssignmentExpression", NonPipelineAssignmentExpression$$);
@@ -6705,20 +6908,19 @@ var require_parser = __commonJS({
6705
6908
  var SingleLineAssignmentExpression$0 = $TS($S($E(_), AssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6706
6909
  var ws = $1;
6707
6910
  var tail = $2;
6708
- if (ws?.length) {
6709
- if (tail.children && tail.type !== "IterationExpression") {
6710
- return {
6711
- ...tail,
6712
- children: [...ws, ...tail.children]
6713
- };
6714
- }
6715
- return $0;
6716
- }
6717
- return tail;
6911
+ return prepend(ws, tail);
6718
6912
  });
6719
6913
  function SingleLineAssignmentExpression(ctx, state) {
6720
6914
  return $EVENT(ctx, state, "SingleLineAssignmentExpression", SingleLineAssignmentExpression$0);
6721
6915
  }
6916
+ var NonPipelineSingleLineAssignmentExpression$0 = $TS($S($E(_), NonPipelineAssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6917
+ var ws = $1;
6918
+ var tail = $2;
6919
+ return prepend(ws, tail);
6920
+ });
6921
+ function NonPipelineSingleLineAssignmentExpression(ctx, state) {
6922
+ return $EVENT(ctx, state, "NonPipelineSingleLineAssignmentExpression", NonPipelineSingleLineAssignmentExpression$0);
6923
+ }
6722
6924
  var AssignmentExpressionTail$0 = YieldExpression;
6723
6925
  var AssignmentExpressionTail$1 = ArrowFunction;
6724
6926
  var AssignmentExpressionTail$2 = ActualAssignment;
@@ -6727,6 +6929,14 @@ var require_parser = __commonJS({
6727
6929
  function AssignmentExpressionTail(ctx, state) {
6728
6930
  return $EVENT_C(ctx, state, "AssignmentExpressionTail", AssignmentExpressionTail$$);
6729
6931
  }
6932
+ var NonPipelineAssignmentExpressionTail$0 = YieldExpression;
6933
+ var NonPipelineAssignmentExpressionTail$1 = ArrowFunction;
6934
+ var NonPipelineAssignmentExpressionTail$2 = NonPipelineActualAssignment;
6935
+ var NonPipelineAssignmentExpressionTail$3 = ConditionalExpression;
6936
+ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail$0, NonPipelineAssignmentExpressionTail$1, NonPipelineAssignmentExpressionTail$2, NonPipelineAssignmentExpressionTail$3];
6937
+ function NonPipelineAssignmentExpressionTail(ctx, state) {
6938
+ return $EVENT_C(ctx, state, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
6939
+ }
6730
6940
  var ActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
6731
6941
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6732
6942
  $0 = [$1, $2];
@@ -6744,6 +6954,23 @@ var require_parser = __commonJS({
6744
6954
  function ActualAssignment(ctx, state) {
6745
6955
  return $EVENT(ctx, state, "ActualAssignment", ActualAssignment$0);
6746
6956
  }
6957
+ var NonPipelineActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
6958
+ $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6959
+ $0 = [$1, $2];
6960
+ return {
6961
+ type: "AssignmentExpression",
6962
+ children: $0,
6963
+ // NOTE: This null marks the assignment for later processing to distinguish it
6964
+ // from fake assignments that only add a name to a scope
6965
+ names: null,
6966
+ lhs: $1,
6967
+ assigned: $1[0][1],
6968
+ exp: $2
6969
+ };
6970
+ });
6971
+ function NonPipelineActualAssignment(ctx, state) {
6972
+ return $EVENT(ctx, state, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
6973
+ }
6747
6974
  var YieldExpression$0 = $S(Yield, YieldTail);
6748
6975
  function YieldExpression(ctx, state) {
6749
6976
  return $EVENT(ctx, state, "YieldExpression", YieldExpression$0);
@@ -6812,7 +7039,7 @@ var require_parser = __commonJS({
6812
7039
  if (exp.type === "ObjectExpression") {
6813
7040
  exp = makeLeftHandSideExpression(exp);
6814
7041
  }
6815
- const expressions = [exp];
7042
+ const expressions = [["", exp]];
6816
7043
  return {
6817
7044
  type: "BlockStatement",
6818
7045
  bare: true,
@@ -6836,7 +7063,7 @@ var require_parser = __commonJS({
6836
7063
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
6837
7064
  }
6838
7065
  var TernaryRest$0 = NestedTernaryRest;
6839
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R4, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
7066
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
6840
7067
  return $0.slice(2);
6841
7068
  });
6842
7069
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -6859,9 +7086,6 @@ var require_parser = __commonJS({
6859
7086
  var ws = $1;
6860
7087
  var head = $2;
6861
7088
  var body = $3;
6862
- if (head.token === "&") {
6863
- head = makeAmpersandFunction();
6864
- }
6865
7089
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
6866
7090
  const expressions = [{
6867
7091
  type: "PipelineExpression",
@@ -6885,8 +7109,7 @@ var require_parser = __commonJS({
6885
7109
  }
6886
7110
  var PipelineHeadItem$0 = NonPipelineExtendedExpression;
6887
7111
  var PipelineHeadItem$1 = ParenthesizedExpression;
6888
- var PipelineHeadItem$2 = Ampersand;
6889
- var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1, PipelineHeadItem$2];
7112
+ var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
6890
7113
  function PipelineHeadItem(ctx, state) {
6891
7114
  return $EVENT_C(ctx, state, "PipelineHeadItem", PipelineHeadItem$$);
6892
7115
  }
@@ -6900,13 +7123,14 @@ var require_parser = __commonJS({
6900
7123
  return value[0];
6901
7124
  });
6902
7125
  var PipelineTailItem$3 = $TS($S(NWTypePostfix, $Q(TypePostfix)), function($skip, $loc, $0, $1, $2) {
6903
- return makeAmpersandFunction([" ", $1, ...$2]);
7126
+ return makeAmpersandFunction({
7127
+ body: [" ", $1, ...$2]
7128
+ });
6904
7129
  });
6905
- var PipelineTailItem$4 = AmpersandFunctionExpression;
6906
- var PipelineTailItem$5 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
6907
- return value[1];
7130
+ var PipelineTailItem$4 = $T($S(PipelineHeadItem), function(value) {
7131
+ return value[0];
6908
7132
  });
6909
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4, PipelineTailItem$5];
7133
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
6910
7134
  function PipelineTailItem(ctx, state) {
6911
7135
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
6912
7136
  }
@@ -6920,7 +7144,7 @@ var require_parser = __commonJS({
6920
7144
  var PrimaryExpression$7 = ClassExpression;
6921
7145
  var PrimaryExpression$8 = RegularExpressionLiteral;
6922
7146
  var PrimaryExpression$9 = ParenthesizedExpression;
6923
- var PrimaryExpression$10 = PartialPlaceholder;
7147
+ var PrimaryExpression$10 = Placeholder;
6924
7148
  var PrimaryExpression$11 = JSXImplicitFragment;
6925
7149
  var PrimaryExpression$$ = [PrimaryExpression$0, PrimaryExpression$1, PrimaryExpression$2, PrimaryExpression$3, PrimaryExpression$4, PrimaryExpression$5, PrimaryExpression$6, PrimaryExpression$7, PrimaryExpression$8, PrimaryExpression$9, PrimaryExpression$10, PrimaryExpression$11];
6926
7150
  function PrimaryExpression(ctx, state) {
@@ -6956,15 +7180,40 @@ var require_parser = __commonJS({
6956
7180
  function ParenthesizedExpression(ctx, state) {
6957
7181
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
6958
7182
  }
6959
- var PartialPlaceholder$0 = $TS($S(Dot, $N($EXPECT($R5, "PartialPlaceholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
7183
+ var Placeholder$0 = $TS($S(Dot, $N($EXPECT($R6, "Placeholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
6960
7184
  var dot = $1;
6961
7185
  return {
6962
- type: "PartialPlaceholder",
7186
+ type: "Placeholder",
7187
+ subtype: ".",
6963
7188
  children: [dot]
6964
7189
  };
6965
7190
  });
6966
- function PartialPlaceholder(ctx, state) {
6967
- return $EVENT(ctx, state, "PartialPlaceholder", PartialPlaceholder$0);
7191
+ var Placeholder$1 = $TS($S(Ampersand, $N($EXPECT($R7, "Placeholder /[&=]/")), $E(AmpersandTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
7192
+ var amp = $1;
7193
+ var typeSuffix = $3;
7194
+ return {
7195
+ type: "Placeholder",
7196
+ subtype: "&",
7197
+ typeSuffix,
7198
+ children: [amp]
7199
+ };
7200
+ });
7201
+ var Placeholder$2 = $TS($S($Y(AccessStart), $Y(PropertyAccess), $N(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
7202
+ return {
7203
+ type: "Placeholder",
7204
+ subtype: "&",
7205
+ children: [{ token: "&" }]
7206
+ };
7207
+ });
7208
+ var Placeholder$$ = [Placeholder$0, Placeholder$1, Placeholder$2];
7209
+ function Placeholder(ctx, state) {
7210
+ return $EVENT_C(ctx, state, "Placeholder", Placeholder$$);
7211
+ }
7212
+ var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
7213
+ return value[1];
7214
+ });
7215
+ function AmpersandTypeSuffix(ctx, state) {
7216
+ return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
6968
7217
  }
6969
7218
  var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
6970
7219
  if ($1.id)
@@ -7115,19 +7364,25 @@ var require_parser = __commonJS({
7115
7364
  return $EVENT(ctx, state, "ImplementsTarget", ImplementsTarget$0);
7116
7365
  }
7117
7366
  var ClassBody$0 = $TS($S(__, OpenBrace, $E(NestedClassElements), __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7118
- var elements = $3;
7367
+ var expressions = $3;
7368
+ if (!expressions)
7369
+ expressions = $0[2] = [];
7119
7370
  return {
7120
- type: "ClassBody",
7371
+ type: "BlockStatement",
7372
+ subtype: "ClassBody",
7121
7373
  children: $0,
7122
- elements
7374
+ expressions
7123
7375
  };
7124
7376
  });
7125
7377
  var ClassBody$1 = $TS($S(InsertOpenBrace, $E(NestedClassElements), InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7126
- var elements = $2;
7378
+ var expressions = $2;
7379
+ if (!expressions)
7380
+ expressions = $0[1] = [];
7127
7381
  return {
7128
- type: "ClassBody",
7382
+ type: "BlockStatement",
7383
+ subtype: "ClassBody",
7129
7384
  children: $0,
7130
- elements
7385
+ expressions
7131
7386
  };
7132
7387
  });
7133
7388
  var ClassBody$$ = [ClassBody$0, ClassBody$1];
@@ -7399,7 +7654,7 @@ var require_parser = __commonJS({
7399
7654
  var CallExpressionRest$1 = $T($S(TypeArguments, $N($C(IdentifierName, NumericLiteral))), function(value) {
7400
7655
  return value[0];
7401
7656
  });
7402
- var CallExpressionRest$2 = $TS($S($EXPECT($R6, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7657
+ var CallExpressionRest$2 = $TS($S($EXPECT($R8, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7403
7658
  var literal = $2;
7404
7659
  if (literal.type === "StringLiteral") {
7405
7660
  literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
@@ -7422,7 +7677,7 @@ var require_parser = __commonJS({
7422
7677
  function CallExpressionRest(ctx, state) {
7423
7678
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
7424
7679
  }
7425
- var OptionalShorthand$0 = $TS($S($EXPECT($R7, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7680
+ var OptionalShorthand$0 = $TS($S($EXPECT($R9, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7426
7681
  var comments = $2;
7427
7682
  var q = $3;
7428
7683
  var d = $4;
@@ -7476,7 +7731,7 @@ var require_parser = __commonJS({
7476
7731
  function MemberBase(ctx, state) {
7477
7732
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
7478
7733
  }
7479
- var MemberExpressionRest$0 = $TS($S($EXPECT($R8, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7734
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R10, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7480
7735
  var comments = $2;
7481
7736
  var body = $3;
7482
7737
  if (Array.isArray(body))
@@ -7918,10 +8173,7 @@ var require_parser = __commonJS({
7918
8173
  var ws = $1;
7919
8174
  var params = $2;
7920
8175
  params = [...params];
7921
- params[0] = {
7922
- ...params[0],
7923
- children: [ws, ...params[0].children]
7924
- };
8176
+ params[0] = prepend(ws, params[0]);
7925
8177
  return params;
7926
8178
  });
7927
8179
  function NestedParameter(ctx, state) {
@@ -7960,7 +8212,7 @@ var require_parser = __commonJS({
7960
8212
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
7961
8213
  }
7962
8214
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
7963
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R9, "ParameterElementDelimiter /[)}]/"))));
8215
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R11, "ParameterElementDelimiter /[)}]/"))));
7964
8216
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7965
8217
  return value[1];
7966
8218
  });
@@ -7971,7 +8223,7 @@ var require_parser = __commonJS({
7971
8223
  var BindingIdentifier$0 = $TS($S(__, NWBindingIdentifier), function($skip, $loc, $0, $1, $2) {
7972
8224
  var ws = $1;
7973
8225
  var identifier = $2;
7974
- return { ...identifier, children: [...ws, ...identifier.children] };
8226
+ return prepend(ws, identifier);
7975
8227
  });
7976
8228
  function BindingIdentifier(ctx, state) {
7977
8229
  return $EVENT(ctx, state, "BindingIdentifier", BindingIdentifier$0);
@@ -8029,7 +8281,7 @@ var require_parser = __commonJS({
8029
8281
  expression
8030
8282
  };
8031
8283
  });
8032
- var PinPattern$2 = $TV($S($EXPECT($R10, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8284
+ var PinPattern$2 = $TV($S($EXPECT($R12, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8033
8285
  var expression = $0;
8034
8286
  return {
8035
8287
  type: "PinPattern",
@@ -8174,10 +8426,7 @@ var require_parser = __commonJS({
8174
8426
  return props.map((prop, i) => {
8175
8427
  if (i > 0)
8176
8428
  return prop;
8177
- return {
8178
- ...prop,
8179
- children: [ws, ...prop.children]
8180
- };
8429
+ return prepend(ws, prop);
8181
8430
  });
8182
8431
  });
8183
8432
  function NestedBindingPropertyList(ctx, state) {
@@ -8413,10 +8662,7 @@ var require_parser = __commonJS({
8413
8662
  block
8414
8663
  };
8415
8664
  });
8416
- var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
8417
- return makeAmpersandFunction();
8418
- });
8419
- var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8665
+ var FunctionExpression$1 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8420
8666
  var open = $1;
8421
8667
  var op = $2;
8422
8668
  var close = $3;
@@ -8447,7 +8693,7 @@ var require_parser = __commonJS({
8447
8693
  parameters
8448
8694
  };
8449
8695
  });
8450
- var FunctionExpression$3 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8696
+ var FunctionExpression$2 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8451
8697
  var open = $1;
8452
8698
  var lhs = $2;
8453
8699
  var ws1 = $3;
@@ -8480,7 +8726,7 @@ var require_parser = __commonJS({
8480
8726
  parameters
8481
8727
  };
8482
8728
  });
8483
- var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($R11, "FunctionExpression /\\+\\+|--|[\\+-]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8729
+ var FunctionExpression$3 = $TS($S(OpenParen, __, $N($EXPECT($R13, "FunctionExpression /\\+\\+|--|[\\+\\-&]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8484
8730
  var open = $1;
8485
8731
  var ws1 = $2;
8486
8732
  var op = $4;
@@ -8513,21 +8759,10 @@ var require_parser = __commonJS({
8513
8759
  parameters
8514
8760
  };
8515
8761
  });
8516
- var FunctionExpression$5 = AmpersandFunctionExpression;
8517
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5];
8762
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
8518
8763
  function FunctionExpression(ctx, state) {
8519
8764
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
8520
8765
  }
8521
- var AmpersandFunctionExpression$0 = $TS($S($Q(UnaryOp), $C(Ampersand, $S($N(NumericLiteral), $Y($S($E(QuestionMark), Dot, $N(Dot))))), $E(AmpersandBlockRHS)), function($skip, $loc, $0, $1, $2, $3) {
8522
- var prefix = $1;
8523
- var rhs = $3;
8524
- if (!prefix.length && !rhs)
8525
- return $skip;
8526
- return makeAmpersandFunctionExpression(prefix, rhs);
8527
- });
8528
- function AmpersandFunctionExpression(ctx, state) {
8529
- return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
8530
- }
8531
8766
  var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
8532
8767
  var op = $1;
8533
8768
  var behavior = $2;
@@ -8608,7 +8843,7 @@ var require_parser = __commonJS({
8608
8843
  function OperatorBehavior(ctx, state) {
8609
8844
  return $EVENT_C(ctx, state, "OperatorBehavior", OperatorBehavior$$);
8610
8845
  }
8611
- var OperatorPrecedence$0 = $TS($S($E(_), $C($EXPECT($L27, 'OperatorPrecedence "tighter"'), $EXPECT($L28, 'OperatorPrecedence "looser"'), $EXPECT($L29, 'OperatorPrecedence "same"')), NonIdContinue, $E(_), $C(Identifier, $S(OpenParen, BinaryOp, CloseParen))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8846
+ var OperatorPrecedence$0 = $TS($S($E(_), $C($EXPECT($L26, 'OperatorPrecedence "tighter"'), $EXPECT($L27, 'OperatorPrecedence "looser"'), $EXPECT($L28, 'OperatorPrecedence "same"')), NonIdContinue, $E(_), $C(Identifier, $S(OpenParen, BinaryOp, CloseParen))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8612
8847
  var mod = $2;
8613
8848
  var op = $5;
8614
8849
  let prec = op.type === "Identifier" ? module2.operators.get(op.name).prec : getPrecedence(op[1]);
@@ -8625,7 +8860,7 @@ var require_parser = __commonJS({
8625
8860
  function OperatorPrecedence(ctx, state) {
8626
8861
  return $EVENT(ctx, state, "OperatorPrecedence", OperatorPrecedence$0);
8627
8862
  }
8628
- var OperatorAssociativity$0 = $TS($S($E(_), $C($EXPECT($L30, 'OperatorAssociativity "left"'), $EXPECT($L31, 'OperatorAssociativity "right"'), $EXPECT($L32, 'OperatorAssociativity "non"'), $EXPECT($L33, 'OperatorAssociativity "relational"'), $EXPECT($L34, 'OperatorAssociativity "arguments"')), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8863
+ var OperatorAssociativity$0 = $TS($S($E(_), $C($EXPECT($L29, 'OperatorAssociativity "left"'), $EXPECT($L30, 'OperatorAssociativity "right"'), $EXPECT($L31, 'OperatorAssociativity "non"'), $EXPECT($L32, 'OperatorAssociativity "relational"'), $EXPECT($L33, 'OperatorAssociativity "arguments"')), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8629
8864
  var assoc = $2;
8630
8865
  if (assoc === "relational") {
8631
8866
  return { relational: true, assoc: "non" };
@@ -8635,33 +8870,6 @@ var require_parser = __commonJS({
8635
8870
  function OperatorAssociativity(ctx, state) {
8636
8871
  return $EVENT(ctx, state, "OperatorAssociativity", OperatorAssociativity$0);
8637
8872
  }
8638
- var AmpersandBlockRHS$0 = $TS($S(ForbidTrailingMemberProperty, $E(AmpersandBlockRHSBody), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
8639
- if (!$2)
8640
- return $skip;
8641
- return $2;
8642
- });
8643
- function AmpersandBlockRHS(ctx, state) {
8644
- return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
8645
- }
8646
- var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
8647
- return value[1];
8648
- });
8649
- function AmpersandTypeSuffix(ctx, state) {
8650
- return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
8651
- }
8652
- var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R12, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8653
- var typeSuffix = $1;
8654
- var callExpRest = $2;
8655
- var unaryPostfix = $3;
8656
- var assign = $4;
8657
- var binopRHS = $5;
8658
- if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
8659
- return $skip;
8660
- return makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS);
8661
- });
8662
- function AmpersandBlockRHSBody(ctx, state) {
8663
- return $EVENT(ctx, state, "AmpersandBlockRHSBody", AmpersandBlockRHSBody$0);
8664
- }
8665
8873
  var ThinArrowFunction$0 = $TS($S($E($S(Async, _)), ArrowParameters, $E(ReturnTypeSuffix), $E(_), Arrow, NoCommaBracedOrEmptyBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8666
8874
  var async = $1;
8667
8875
  var parameters = $2;
@@ -8705,7 +8913,7 @@ var require_parser = __commonJS({
8705
8913
  function ThinArrowFunction(ctx, state) {
8706
8914
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
8707
8915
  }
8708
- var Arrow$0 = $TV($C($EXPECT($L35, 'Arrow "->"'), $EXPECT($L36, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8916
+ var Arrow$0 = $TV($C($EXPECT($L34, 'Arrow "->"'), $EXPECT($L35, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8709
8917
  return { $loc, token: "->" };
8710
8918
  });
8711
8919
  function Arrow(ctx, state) {
@@ -9008,7 +9216,7 @@ var require_parser = __commonJS({
9008
9216
  }
9009
9217
  var BracedContent$0 = NestedBlockStatements;
9010
9218
  var BracedContent$1 = SingleLineStatements;
9011
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L37, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9219
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L36, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9012
9220
  const expressions = [];
9013
9221
  return {
9014
9222
  type: "BlockStatement",
@@ -9050,15 +9258,14 @@ var require_parser = __commonJS({
9050
9258
  var ws = $2;
9051
9259
  var statement = $3;
9052
9260
  var delimiter = $4;
9053
- if (ws) {
9054
- statement = { ...statement, children: [ws, ...statement.children] };
9055
- }
9261
+ if (ws)
9262
+ statement = prepend(ws, statement);
9056
9263
  return [statement, delimiter];
9057
9264
  });
9058
9265
  function BlockStatementPart(ctx, state) {
9059
9266
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
9060
9267
  }
9061
- var Literal$0 = $TS($S($EXPECT($R13, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9268
+ var Literal$0 = $TS($S($EXPECT($R14, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9062
9269
  var literal = $2;
9063
9270
  return {
9064
9271
  type: "Literal",
@@ -9078,13 +9285,13 @@ var require_parser = __commonJS({
9078
9285
  function LiteralContent(ctx, state) {
9079
9286
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
9080
9287
  }
9081
- var NullLiteral$0 = $TS($S($EXPECT($L38, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9288
+ var NullLiteral$0 = $TS($S($EXPECT($L37, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9082
9289
  return { $loc, token: $1 };
9083
9290
  });
9084
9291
  function NullLiteral(ctx, state) {
9085
9292
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
9086
9293
  }
9087
- var BooleanLiteral$0 = $T($S($EXPECT($R14, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9294
+ var BooleanLiteral$0 = $T($S($EXPECT($R15, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9088
9295
  return value[1];
9089
9296
  });
9090
9297
  function BooleanLiteral(ctx, state) {
@@ -9093,31 +9300,31 @@ var require_parser = __commonJS({
9093
9300
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9094
9301
  return value[1];
9095
9302
  });
9096
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L39, '_BooleanLiteral "true"'), $EXPECT($L40, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9303
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L38, '_BooleanLiteral "true"'), $EXPECT($L39, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9097
9304
  return { $loc, token: $1 };
9098
9305
  });
9099
9306
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
9100
9307
  function _BooleanLiteral(ctx, state) {
9101
9308
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
9102
9309
  }
9103
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L41, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L42, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9310
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L40, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L41, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9104
9311
  return { $loc, token: "true" };
9105
9312
  });
9106
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L43, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L44, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9313
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L42, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L43, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9107
9314
  return { $loc, token: "false" };
9108
9315
  });
9109
9316
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
9110
9317
  function CoffeeScriptBooleanLiteral(ctx, state) {
9111
9318
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
9112
9319
  }
9113
- var Identifier$0 = $T($S($EXPECT($R15, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9320
+ var Identifier$0 = $T($S($EXPECT($R16, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9114
9321
  var id = value[2];
9115
9322
  return id;
9116
9323
  });
9117
9324
  function Identifier(ctx, state) {
9118
9325
  return $EVENT(ctx, state, "Identifier", Identifier$0);
9119
9326
  }
9120
- var IdentifierName$0 = $TR($EXPECT($R16, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9327
+ var IdentifierName$0 = $TR($EXPECT($R17, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9121
9328
  return {
9122
9329
  type: "Identifier",
9123
9330
  name: $0,
@@ -9135,11 +9342,11 @@ var require_parser = __commonJS({
9135
9342
  function IdentifierReference(ctx, state) {
9136
9343
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
9137
9344
  }
9138
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L45, 'UpcomingAssignment ">"')))));
9345
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L44, 'UpcomingAssignment ">"')))));
9139
9346
  function UpcomingAssignment(ctx, state) {
9140
9347
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
9141
9348
  }
9142
- var ArrayLiteral$0 = $T($S($EXPECT($R17, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9349
+ var ArrayLiteral$0 = $T($S($EXPECT($R18, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9143
9350
  return value[1];
9144
9351
  });
9145
9352
  function ArrayLiteral(ctx, state) {
@@ -9154,10 +9361,7 @@ var require_parser = __commonJS({
9154
9361
  return $skip;
9155
9362
  const [content, ws, close] = $3;
9156
9363
  if (content.type === "RangeExpression") {
9157
- return {
9158
- ...content,
9159
- children: [...content.children, ...ws]
9160
- };
9364
+ return prepend(ws, content);
9161
9365
  }
9162
9366
  let children;
9163
9367
  if (Array.isArray(content)) {
@@ -9311,7 +9515,7 @@ var require_parser = __commonJS({
9311
9515
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
9312
9516
  }
9313
9517
  var ArrayElementDelimiter$0 = $S(__, Comma);
9314
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L46, 'ArrayElementDelimiter "]"')));
9518
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L45, 'ArrayElementDelimiter "]"')));
9315
9519
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9316
9520
  return value[1];
9317
9521
  });
@@ -9507,7 +9711,7 @@ var require_parser = __commonJS({
9507
9711
  prop = [prop];
9508
9712
  if (i === 0) {
9509
9713
  const [first, ...rest] = prop;
9510
- prop = [{ ...first, children: [...ws, ...first.children] }, ...rest];
9714
+ prop = [prepend(ws, first), ...rest];
9511
9715
  }
9512
9716
  const last = prop[prop.length - 1];
9513
9717
  prop = [
@@ -9565,7 +9769,7 @@ var require_parser = __commonJS({
9565
9769
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
9566
9770
  }
9567
9771
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
9568
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ObjectPropertyDelimiter "}"')));
9772
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ObjectPropertyDelimiter "}"')));
9569
9773
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9570
9774
  return value[1];
9571
9775
  });
@@ -9576,12 +9780,9 @@ var require_parser = __commonJS({
9576
9780
  var PropertyDefinition$0 = $TS($S($E(_), NamedProperty), function($skip, $loc, $0, $1, $2) {
9577
9781
  var ws = $1;
9578
9782
  var prop = $2;
9579
- return {
9580
- ...prop,
9581
- children: [ws, ...prop.children]
9582
- };
9783
+ return prepend(ws, prop);
9583
9784
  });
9584
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R18, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9785
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R19, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9585
9786
  var ws = $1;
9586
9787
  var toggle = $2;
9587
9788
  var id = $3;
@@ -9613,10 +9814,7 @@ var require_parser = __commonJS({
9613
9814
  }
9614
9815
  if (!def.block || def.block.empty)
9615
9816
  return $skip;
9616
- return {
9617
- ...def,
9618
- children: [ws, ...def.children]
9619
- };
9817
+ return prepend(ws, def);
9620
9818
  });
9621
9819
  var PropertyDefinition$3 = $TS($S($E(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
9622
9820
  var ws = $1;
@@ -9630,7 +9828,7 @@ var require_parser = __commonJS({
9630
9828
  value: exp
9631
9829
  };
9632
9830
  });
9633
- var PropertyDefinition$4 = $TS($S($E(_), $N(EOS), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9831
+ var PropertyDefinition$4 = $TS($S($E(_), $N($C(EOS, $EXPECT($L7, 'PropertyDefinition "."'))), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9634
9832
  var ws = $1;
9635
9833
  var pre = $3;
9636
9834
  var value = $4;
@@ -9638,7 +9836,7 @@ var require_parser = __commonJS({
9638
9836
  if (!pre.length && !post) {
9639
9837
  switch (value.type) {
9640
9838
  case "Identifier":
9641
- return { ...value, children: [ws, ...value.children] };
9839
+ return prepend(ws, value);
9642
9840
  case "ObjectExpression":
9643
9841
  let first = value.properties[0];
9644
9842
  if (first) {
@@ -9766,7 +9964,7 @@ var require_parser = __commonJS({
9766
9964
  implicit: true
9767
9965
  };
9768
9966
  });
9769
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R10, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9967
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R12, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9770
9968
  const expression = [$2, $3];
9771
9969
  return {
9772
9970
  type: "ComputedPropertyName",
@@ -9775,10 +9973,10 @@ var require_parser = __commonJS({
9775
9973
  implicit: true
9776
9974
  };
9777
9975
  });
9778
- var ComputedPropertyName$3 = $TS($S(InsertOpenBracket, PartialPlaceholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
9779
- var open = $1;
9780
- var expression = $2;
9781
- var close = $3;
9976
+ var ComputedPropertyName$3 = $TS($S($Y($EXPECT($L7, 'ComputedPropertyName "."')), InsertOpenBracket, Placeholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9977
+ var open = $2;
9978
+ var expression = $3;
9979
+ var close = $4;
9782
9980
  return {
9783
9981
  type: "ComputedPropertyName",
9784
9982
  expression,
@@ -10083,10 +10281,10 @@ var require_parser = __commonJS({
10083
10281
  function OperatorAssignmentOp(ctx, state) {
10084
10282
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
10085
10283
  }
10086
- var AssignmentOpSymbol$0 = $EXPECT($L47, 'AssignmentOpSymbol "**="');
10087
- var AssignmentOpSymbol$1 = $EXPECT($L48, 'AssignmentOpSymbol "*="');
10088
- var AssignmentOpSymbol$2 = $EXPECT($L49, 'AssignmentOpSymbol "/="');
10089
- var AssignmentOpSymbol$3 = $EXPECT($L50, 'AssignmentOpSymbol "%="');
10284
+ var AssignmentOpSymbol$0 = $EXPECT($L46, 'AssignmentOpSymbol "**="');
10285
+ var AssignmentOpSymbol$1 = $EXPECT($L47, 'AssignmentOpSymbol "*="');
10286
+ var AssignmentOpSymbol$2 = $EXPECT($L48, 'AssignmentOpSymbol "/="');
10287
+ var AssignmentOpSymbol$3 = $EXPECT($L49, 'AssignmentOpSymbol "%="');
10090
10288
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L9, 'AssignmentOpSymbol "++"'), $EXPECT($L11, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
10091
10289
  return {
10092
10290
  special: true,
@@ -10095,18 +10293,18 @@ var require_parser = __commonJS({
10095
10293
  children: [$2]
10096
10294
  };
10097
10295
  });
10098
- var AssignmentOpSymbol$5 = $EXPECT($L51, 'AssignmentOpSymbol "+="');
10099
- var AssignmentOpSymbol$6 = $EXPECT($L52, 'AssignmentOpSymbol "-="');
10100
- var AssignmentOpSymbol$7 = $EXPECT($L53, 'AssignmentOpSymbol "<<="');
10101
- var AssignmentOpSymbol$8 = $EXPECT($L54, 'AssignmentOpSymbol ">>>="');
10102
- var AssignmentOpSymbol$9 = $EXPECT($L55, 'AssignmentOpSymbol ">>="');
10103
- var AssignmentOpSymbol$10 = $EXPECT($L56, 'AssignmentOpSymbol "&&="');
10104
- var AssignmentOpSymbol$11 = $EXPECT($L57, 'AssignmentOpSymbol "&="');
10105
- var AssignmentOpSymbol$12 = $EXPECT($L58, 'AssignmentOpSymbol "^="');
10106
- var AssignmentOpSymbol$13 = $EXPECT($L59, 'AssignmentOpSymbol "||="');
10107
- var AssignmentOpSymbol$14 = $EXPECT($L60, 'AssignmentOpSymbol "|="');
10108
- var AssignmentOpSymbol$15 = $EXPECT($L61, 'AssignmentOpSymbol "??="');
10109
- var AssignmentOpSymbol$16 = $T($EXPECT($L62, 'AssignmentOpSymbol "?="'), function(value) {
10296
+ var AssignmentOpSymbol$5 = $EXPECT($L50, 'AssignmentOpSymbol "+="');
10297
+ var AssignmentOpSymbol$6 = $EXPECT($L51, 'AssignmentOpSymbol "-="');
10298
+ var AssignmentOpSymbol$7 = $EXPECT($L52, 'AssignmentOpSymbol "<<="');
10299
+ var AssignmentOpSymbol$8 = $EXPECT($L53, 'AssignmentOpSymbol ">>>="');
10300
+ var AssignmentOpSymbol$9 = $EXPECT($L54, 'AssignmentOpSymbol ">>="');
10301
+ var AssignmentOpSymbol$10 = $EXPECT($L55, 'AssignmentOpSymbol "&&="');
10302
+ var AssignmentOpSymbol$11 = $EXPECT($L56, 'AssignmentOpSymbol "&="');
10303
+ var AssignmentOpSymbol$12 = $EXPECT($L57, 'AssignmentOpSymbol "^="');
10304
+ var AssignmentOpSymbol$13 = $EXPECT($L58, 'AssignmentOpSymbol "||="');
10305
+ var AssignmentOpSymbol$14 = $EXPECT($L59, 'AssignmentOpSymbol "|="');
10306
+ var AssignmentOpSymbol$15 = $EXPECT($L60, 'AssignmentOpSymbol "??="');
10307
+ var AssignmentOpSymbol$16 = $T($EXPECT($L61, 'AssignmentOpSymbol "?="'), function(value) {
10110
10308
  return "??=";
10111
10309
  });
10112
10310
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10119,10 +10317,10 @@ var require_parser = __commonJS({
10119
10317
  function AssignmentOpSymbol(ctx, state) {
10120
10318
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
10121
10319
  }
10122
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "and="'), function(value) {
10320
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L62, 'CoffeeWordAssignmentOp "and="'), function(value) {
10123
10321
  return "&&=";
10124
10322
  });
10125
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L64, 'CoffeeWordAssignmentOp "or="'), function(value) {
10323
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "or="'), function(value) {
10126
10324
  return "||=";
10127
10325
  });
10128
10326
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -10156,7 +10354,7 @@ var require_parser = __commonJS({
10156
10354
  function IdentifierBinaryOp(ctx, state) {
10157
10355
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
10158
10356
  }
10159
- var BinaryOp$0 = $T($S($EXPECT($R19, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
10357
+ var BinaryOp$0 = $T($S($EXPECT($R20, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
10160
10358
  var op = value[1];
10161
10359
  return op;
10162
10360
  });
@@ -10193,33 +10391,33 @@ var require_parser = __commonJS({
10193
10391
  function _BinaryOp(ctx, state) {
10194
10392
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
10195
10393
  }
10196
- var BinaryOpSymbol$0 = $EXPECT($L65, 'BinaryOpSymbol "**"');
10197
- var BinaryOpSymbol$1 = $EXPECT($L66, 'BinaryOpSymbol "*"');
10198
- var BinaryOpSymbol$2 = $EXPECT($L67, 'BinaryOpSymbol "/"');
10199
- var BinaryOpSymbol$3 = $TV($EXPECT($L68, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10394
+ var BinaryOpSymbol$0 = $EXPECT($L64, 'BinaryOpSymbol "**"');
10395
+ var BinaryOpSymbol$1 = $EXPECT($L65, 'BinaryOpSymbol "*"');
10396
+ var BinaryOpSymbol$2 = $EXPECT($L66, 'BinaryOpSymbol "/"');
10397
+ var BinaryOpSymbol$3 = $TV($EXPECT($L67, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10200
10398
  return {
10201
10399
  call: module2.getRef("modulo"),
10202
10400
  special: true
10203
10401
  };
10204
10402
  });
10205
- var BinaryOpSymbol$4 = $EXPECT($L69, 'BinaryOpSymbol "%"');
10403
+ var BinaryOpSymbol$4 = $EXPECT($L68, 'BinaryOpSymbol "%"');
10206
10404
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L9, 'BinaryOpSymbol "++"'), $EXPECT($L11, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
10207
10405
  return {
10208
10406
  method: "concat",
10209
10407
  special: true
10210
10408
  };
10211
10409
  });
10212
- var BinaryOpSymbol$6 = $EXPECT($L70, 'BinaryOpSymbol "+"');
10410
+ var BinaryOpSymbol$6 = $EXPECT($L69, 'BinaryOpSymbol "+"');
10213
10411
  var BinaryOpSymbol$7 = $EXPECT($L22, 'BinaryOpSymbol "-"');
10214
- var BinaryOpSymbol$8 = $EXPECT($L71, 'BinaryOpSymbol "<="');
10215
- var BinaryOpSymbol$9 = $T($EXPECT($L72, 'BinaryOpSymbol "\u2264"'), function(value) {
10412
+ var BinaryOpSymbol$8 = $EXPECT($L70, 'BinaryOpSymbol "<="');
10413
+ var BinaryOpSymbol$9 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
10216
10414
  return "<=";
10217
10415
  });
10218
- var BinaryOpSymbol$10 = $EXPECT($L73, 'BinaryOpSymbol ">="');
10219
- var BinaryOpSymbol$11 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2265"'), function(value) {
10416
+ var BinaryOpSymbol$10 = $EXPECT($L72, 'BinaryOpSymbol ">="');
10417
+ var BinaryOpSymbol$11 = $T($EXPECT($L73, 'BinaryOpSymbol "\u2265"'), function(value) {
10220
10418
  return ">=";
10221
10419
  });
10222
- var BinaryOpSymbol$12 = $TV($EXPECT($L75, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10420
+ var BinaryOpSymbol$12 = $TV($EXPECT($L74, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10223
10421
  return {
10224
10422
  $loc,
10225
10423
  token: "instanceof",
@@ -10227,7 +10425,7 @@ var require_parser = __commonJS({
10227
10425
  special: true
10228
10426
  };
10229
10427
  });
10230
- var BinaryOpSymbol$13 = $TV($EXPECT($L76, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10428
+ var BinaryOpSymbol$13 = $TV($EXPECT($L75, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10231
10429
  return {
10232
10430
  $loc,
10233
10431
  token: "instanceof",
@@ -10236,76 +10434,76 @@ var require_parser = __commonJS({
10236
10434
  negated: true
10237
10435
  };
10238
10436
  });
10239
- var BinaryOpSymbol$14 = $EXPECT($L77, 'BinaryOpSymbol "<<"');
10240
- var BinaryOpSymbol$15 = $T($EXPECT($L78, 'BinaryOpSymbol "\xAB"'), function(value) {
10437
+ var BinaryOpSymbol$14 = $EXPECT($L76, 'BinaryOpSymbol "<<"');
10438
+ var BinaryOpSymbol$15 = $T($EXPECT($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
10241
10439
  return "<<";
10242
10440
  });
10243
10441
  var BinaryOpSymbol$16 = $EXPECT($L17, 'BinaryOpSymbol "<"');
10244
- var BinaryOpSymbol$17 = $EXPECT($L79, 'BinaryOpSymbol ">>>"');
10245
- var BinaryOpSymbol$18 = $T($EXPECT($L80, 'BinaryOpSymbol "\u22D9"'), function(value) {
10442
+ var BinaryOpSymbol$17 = $EXPECT($L78, 'BinaryOpSymbol ">>>"');
10443
+ var BinaryOpSymbol$18 = $T($EXPECT($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
10246
10444
  return ">>>";
10247
10445
  });
10248
- var BinaryOpSymbol$19 = $EXPECT($L81, 'BinaryOpSymbol ">>"');
10249
- var BinaryOpSymbol$20 = $T($EXPECT($L82, 'BinaryOpSymbol "\xBB"'), function(value) {
10446
+ var BinaryOpSymbol$19 = $EXPECT($L80, 'BinaryOpSymbol ">>"');
10447
+ var BinaryOpSymbol$20 = $T($EXPECT($L81, 'BinaryOpSymbol "\xBB"'), function(value) {
10250
10448
  return ">>";
10251
10449
  });
10252
- var BinaryOpSymbol$21 = $EXPECT($L45, 'BinaryOpSymbol ">"');
10253
- var BinaryOpSymbol$22 = $EXPECT($L83, 'BinaryOpSymbol "!=="');
10254
- var BinaryOpSymbol$23 = $T($EXPECT($L84, 'BinaryOpSymbol "\u2262"'), function(value) {
10450
+ var BinaryOpSymbol$21 = $EXPECT($L44, 'BinaryOpSymbol ">"');
10451
+ var BinaryOpSymbol$22 = $EXPECT($L82, 'BinaryOpSymbol "!=="');
10452
+ var BinaryOpSymbol$23 = $T($EXPECT($L83, 'BinaryOpSymbol "\u2262"'), function(value) {
10255
10453
  return "!==";
10256
10454
  });
10257
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L85, 'BinaryOpSymbol "!="'), $EXPECT($L86, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10455
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L84, 'BinaryOpSymbol "!="'), $EXPECT($L85, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10258
10456
  if (module2.config.coffeeEq)
10259
10457
  return "!==";
10260
10458
  return "!=";
10261
10459
  });
10262
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L87, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10460
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L86, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10263
10461
  if (module2.config.coffeeIsnt)
10264
10462
  return "!==";
10265
10463
  return $skip;
10266
10464
  });
10267
- var BinaryOpSymbol$26 = $EXPECT($L88, 'BinaryOpSymbol "==="');
10268
- var BinaryOpSymbol$27 = $T($C($EXPECT($L89, 'BinaryOpSymbol "\u2263"'), $EXPECT($L90, 'BinaryOpSymbol "\u2A76"')), function(value) {
10465
+ var BinaryOpSymbol$26 = $EXPECT($L87, 'BinaryOpSymbol "==="');
10466
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L88, 'BinaryOpSymbol "\u2263"'), $EXPECT($L89, 'BinaryOpSymbol "\u2A76"')), function(value) {
10269
10467
  return "===";
10270
10468
  });
10271
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L91, 'BinaryOpSymbol "=="'), $EXPECT($L92, 'BinaryOpSymbol "\u2261"'), $EXPECT($L93, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10469
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "=="'), $EXPECT($L91, 'BinaryOpSymbol "\u2261"'), $EXPECT($L92, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10272
10470
  if (module2.config.coffeeEq)
10273
10471
  return "===";
10274
10472
  return "==";
10275
10473
  });
10276
- var BinaryOpSymbol$29 = $T($S($EXPECT($L94, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10474
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L93, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10277
10475
  return "&&";
10278
10476
  });
10279
- var BinaryOpSymbol$30 = $EXPECT($L95, 'BinaryOpSymbol "&&"');
10280
- var BinaryOpSymbol$31 = $T($S($EXPECT($L96, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10477
+ var BinaryOpSymbol$30 = $EXPECT($L94, 'BinaryOpSymbol "&&"');
10478
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L95, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10281
10479
  return "||";
10282
10480
  });
10283
- var BinaryOpSymbol$32 = $EXPECT($L97, 'BinaryOpSymbol "||"');
10284
- var BinaryOpSymbol$33 = $T($EXPECT($L98, 'BinaryOpSymbol "\u2016"'), function(value) {
10481
+ var BinaryOpSymbol$32 = $EXPECT($L96, 'BinaryOpSymbol "||"');
10482
+ var BinaryOpSymbol$33 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2016"'), function(value) {
10285
10483
  return "||";
10286
10484
  });
10287
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L99, 'BinaryOpSymbol "^^"'), $S($EXPECT($L100, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10485
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L98, 'BinaryOpSymbol "^^"'), $S($EXPECT($L99, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10288
10486
  return {
10289
10487
  call: module2.getRef("xor"),
10290
10488
  special: true,
10291
10489
  prec: "^^"
10292
10490
  };
10293
10491
  });
10294
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R20, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L101, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10492
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R21, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L100, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10295
10493
  return {
10296
10494
  call: module2.getRef("xnor"),
10297
10495
  special: true,
10298
10496
  prec: "^^"
10299
10497
  };
10300
10498
  });
10301
- var BinaryOpSymbol$36 = $EXPECT($L102, 'BinaryOpSymbol "??"');
10302
- var BinaryOpSymbol$37 = $T($EXPECT($L103, 'BinaryOpSymbol "\u2047"'), function(value) {
10499
+ var BinaryOpSymbol$36 = $EXPECT($L101, 'BinaryOpSymbol "??"');
10500
+ var BinaryOpSymbol$37 = $T($EXPECT($L102, 'BinaryOpSymbol "\u2047"'), function(value) {
10303
10501
  return "??";
10304
10502
  });
10305
10503
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
10306
10504
  return "??";
10307
10505
  });
10308
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L104, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10506
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L103, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10309
10507
  return {
10310
10508
  $loc,
10311
10509
  token: $1,
@@ -10322,7 +10520,7 @@ var require_parser = __commonJS({
10322
10520
  var op = $3;
10323
10521
  return { ...op, $loc };
10324
10522
  });
10325
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L105, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10523
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L104, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10326
10524
  return {
10327
10525
  method: "includes",
10328
10526
  relational: true,
@@ -10330,14 +10528,14 @@ var require_parser = __commonJS({
10330
10528
  special: true
10331
10529
  };
10332
10530
  });
10333
- var BinaryOpSymbol$43 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10531
+ var BinaryOpSymbol$43 = $TV($EXPECT($L105, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10334
10532
  return {
10335
10533
  method: "includes",
10336
10534
  relational: true,
10337
10535
  special: true
10338
10536
  };
10339
10537
  });
10340
- var BinaryOpSymbol$44 = $TV($EXPECT($L107, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10538
+ var BinaryOpSymbol$44 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10341
10539
  return {
10342
10540
  method: "includes",
10343
10541
  relational: true,
@@ -10345,7 +10543,7 @@ var require_parser = __commonJS({
10345
10543
  negated: true
10346
10544
  };
10347
10545
  });
10348
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L108, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10546
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L107, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10349
10547
  return {
10350
10548
  method: "includes",
10351
10549
  relational: true,
@@ -10378,9 +10576,9 @@ var require_parser = __commonJS({
10378
10576
  return "===";
10379
10577
  });
10380
10578
  var BinaryOpSymbol$48 = In;
10381
- var BinaryOpSymbol$49 = $EXPECT($L109, 'BinaryOpSymbol "&"');
10579
+ var BinaryOpSymbol$49 = $EXPECT($L108, 'BinaryOpSymbol "&"');
10382
10580
  var BinaryOpSymbol$50 = $EXPECT($L21, 'BinaryOpSymbol "^"');
10383
- var BinaryOpSymbol$51 = $EXPECT($L110, 'BinaryOpSymbol "|"');
10581
+ var BinaryOpSymbol$51 = $EXPECT($L109, 'BinaryOpSymbol "|"');
10384
10582
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
10385
10583
  function BinaryOpSymbol(ctx, state) {
10386
10584
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -10428,7 +10626,7 @@ var require_parser = __commonJS({
10428
10626
  function CoffeeOfOp(ctx, state) {
10429
10627
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
10430
10628
  }
10431
- var NotOp$0 = $TS($S($EXPECT($L104, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10629
+ var NotOp$0 = $TS($S($EXPECT($L103, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10432
10630
  return {
10433
10631
  $loc,
10434
10632
  token: "instanceof",
@@ -10449,30 +10647,30 @@ var require_parser = __commonJS({
10449
10647
  function NotOp(ctx, state) {
10450
10648
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
10451
10649
  }
10452
- var Xor$0 = $EXPECT($L99, 'Xor "^^"');
10453
- var Xor$1 = $S($EXPECT($L100, 'Xor "xor"'), NonIdContinue);
10650
+ var Xor$0 = $EXPECT($L98, 'Xor "^^"');
10651
+ var Xor$1 = $S($EXPECT($L99, 'Xor "xor"'), NonIdContinue);
10454
10652
  var Xor$$ = [Xor$0, Xor$1];
10455
10653
  function Xor(ctx, state) {
10456
10654
  return $EVENT_C(ctx, state, "Xor", Xor$$);
10457
10655
  }
10458
- var Xnor$0 = $R$0($EXPECT($R20, "Xnor /!\\^\\^?/"));
10459
- var Xnor$1 = $EXPECT($L101, 'Xnor "xnor"');
10656
+ var Xnor$0 = $R$0($EXPECT($R21, "Xnor /!\\^\\^?/"));
10657
+ var Xnor$1 = $EXPECT($L100, 'Xnor "xnor"');
10460
10658
  var Xnor$$ = [Xnor$0, Xnor$1];
10461
10659
  function Xnor(ctx, state) {
10462
10660
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
10463
10661
  }
10464
- var UnaryOp$0 = $TR($EXPECT($R21, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10662
+ var UnaryOp$0 = $TR($EXPECT($R22, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10465
10663
  return { $loc, token: $0 };
10466
10664
  });
10467
10665
  var UnaryOp$1 = AwaitOp;
10468
- var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R22, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10666
+ var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R23, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10469
10667
  var op = $1;
10470
10668
  var ws = $3;
10471
10669
  if (!ws)
10472
10670
  return [op, [" "]];
10473
10671
  return [op, ws];
10474
10672
  });
10475
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R22, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10673
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R23, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10476
10674
  return [value[0], value[3]];
10477
10675
  });
10478
10676
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -10500,7 +10698,7 @@ var require_parser = __commonJS({
10500
10698
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
10501
10699
  }
10502
10700
  var StatementListItem$0 = Declaration;
10503
- var StatementListItem$1 = $TS($S($N($EXPECT($L111, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10701
+ var StatementListItem$1 = $TS($S($N($EXPECT($L110, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10504
10702
  return makeLeftHandSideExpression($2);
10505
10703
  });
10506
10704
  var StatementListItem$2 = PostfixedStatement;
@@ -10567,7 +10765,7 @@ var require_parser = __commonJS({
10567
10765
  function NonPipelinePostfixedExpression(ctx, state) {
10568
10766
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
10569
10767
  }
10570
- var PostfixStatement$0 = $T($S($EXPECT($R23, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10768
+ var PostfixStatement$0 = $T($S($EXPECT($R24, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10571
10769
  return value[1];
10572
10770
  });
10573
10771
  function PostfixStatement(ctx, state) {
@@ -10610,7 +10808,7 @@ var require_parser = __commonJS({
10610
10808
  function NoCommaStatement(ctx, state) {
10611
10809
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
10612
10810
  }
10613
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L112, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10811
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L111, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10614
10812
  return { type: "EmptyStatement", children: $1 || [] };
10615
10813
  });
10616
10814
  function EmptyStatement(ctx, state) {
@@ -10641,7 +10839,7 @@ var require_parser = __commonJS({
10641
10839
  var w = $3;
10642
10840
  return [id, colon, w];
10643
10841
  });
10644
- var Label$1 = $S($EXPECT($L111, 'Label "$:"'), Whitespace);
10842
+ var Label$1 = $S($EXPECT($L110, 'Label "$:"'), Whitespace);
10645
10843
  var Label$$ = [Label$0, Label$1];
10646
10844
  function Label(ctx, state) {
10647
10845
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10700,7 +10898,7 @@ var require_parser = __commonJS({
10700
10898
  function UnlessClause(ctx, state) {
10701
10899
  return $EVENT(ctx, state, "UnlessClause", UnlessClause$0);
10702
10900
  }
10703
- var IterationStatement$0 = $T($S($EXPECT($R24, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10901
+ var IterationStatement$0 = $T($S($EXPECT($R25, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10704
10902
  return value[1];
10705
10903
  });
10706
10904
  function IterationStatement(ctx, state) {
@@ -10738,6 +10936,7 @@ var require_parser = __commonJS({
10738
10936
  var clause = $1;
10739
10937
  var block = $2;
10740
10938
  return {
10939
+ ...clause,
10741
10940
  type: "IterationStatement",
10742
10941
  children: [...clause.children, block],
10743
10942
  block
@@ -10746,15 +10945,38 @@ var require_parser = __commonJS({
10746
10945
  function LoopStatement(ctx, state) {
10747
10946
  return $EVENT(ctx, state, "LoopStatement", LoopStatement$0);
10748
10947
  }
10749
- var LoopClause$0 = $T($S(Loop), function(value) {
10750
- return { "type": "IterationStatement", "children": [value[0]] };
10948
+ var LoopClause$0 = $TV(Loop, function($skip, $loc, $0, $1) {
10949
+ var kind = $0;
10950
+ const expression = {
10951
+ type: "Literal",
10952
+ children: ["true"],
10953
+ raw: "true"
10954
+ };
10955
+ const condition = {
10956
+ type: "ParenthesizedExpression",
10957
+ children: ["(", expression, ")"],
10958
+ expression
10959
+ };
10960
+ return {
10961
+ type: "IterationStatement",
10962
+ subtype: kind.token,
10963
+ children: [kind, condition],
10964
+ condition
10965
+ };
10751
10966
  });
10752
10967
  function LoopClause(ctx, state) {
10753
10968
  return $EVENT(ctx, state, "LoopClause", LoopClause$0);
10754
10969
  }
10755
- var DoWhileStatement$0 = $T($S(Do, NoPostfixBracedBlock, __, WhileClause), function(value) {
10756
- var block = value[1];
10757
- return { "type": "IterationStatement", "children": value, "block": block };
10970
+ var DoWhileStatement$0 = $TS($S(Do, NoPostfixBracedBlock, __, WhileClause), function($skip, $loc, $0, $1, $2, $3, $4) {
10971
+ var block = $2;
10972
+ var clause = $4;
10973
+ return {
10974
+ ...clause,
10975
+ type: "IterationStatement",
10976
+ subtype: "do-while",
10977
+ children: $0,
10978
+ block
10979
+ };
10758
10980
  });
10759
10981
  function DoWhileStatement(ctx, state) {
10760
10982
  return $EVENT(ctx, state, "DoWhileStatement", DoWhileStatement$0);
@@ -10793,6 +11015,7 @@ var require_parser = __commonJS({
10793
11015
  }
10794
11016
  return {
10795
11017
  type: "IterationStatement",
11018
+ subtype: kind.token,
10796
11019
  children: [kind, ws, condition],
10797
11020
  condition
10798
11021
  };
@@ -11053,7 +11276,7 @@ var require_parser = __commonJS({
11053
11276
  names: binding.names
11054
11277
  };
11055
11278
  });
11056
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R25, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11279
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R26, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11057
11280
  var c = $1;
11058
11281
  var binding = $2;
11059
11282
  return {
@@ -11613,19 +11836,19 @@ var require_parser = __commonJS({
11613
11836
  function ThrowStatement(ctx, state) {
11614
11837
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
11615
11838
  }
11616
- var Break$0 = $TS($S($EXPECT($L113, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11839
+ var Break$0 = $TS($S($EXPECT($L112, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11617
11840
  return { $loc, token: $1 };
11618
11841
  });
11619
11842
  function Break(ctx, state) {
11620
11843
  return $EVENT(ctx, state, "Break", Break$0);
11621
11844
  }
11622
- var Continue$0 = $TS($S($EXPECT($L114, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11845
+ var Continue$0 = $TS($S($EXPECT($L113, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11623
11846
  return { $loc, token: $1 };
11624
11847
  });
11625
11848
  function Continue(ctx, state) {
11626
11849
  return $EVENT(ctx, state, "Continue", Continue$0);
11627
11850
  }
11628
- var Debugger$0 = $TS($S($EXPECT($L115, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11851
+ var Debugger$0 = $TS($S($EXPECT($L114, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11629
11852
  return { $loc, token: $1 };
11630
11853
  });
11631
11854
  function Debugger(ctx, state) {
@@ -11642,7 +11865,7 @@ var require_parser = __commonJS({
11642
11865
  function MaybeNestedExpression(ctx, state) {
11643
11866
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
11644
11867
  }
11645
- var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L116, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11868
+ var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L115, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11646
11869
  const imp = [
11647
11870
  { ...$1, ts: true },
11648
11871
  { ...$1, token: "const", js: true }
@@ -11750,7 +11973,7 @@ var require_parser = __commonJS({
11750
11973
  function FromClause(ctx, state) {
11751
11974
  return $EVENT(ctx, state, "FromClause", FromClause$0);
11752
11975
  }
11753
- var ImportAssertion$0 = $TS($S($E(_), $C($EXPECT($L117, 'ImportAssertion "with"'), $EXPECT($L118, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11976
+ var ImportAssertion$0 = $TS($S($E(_), $C($EXPECT($L116, 'ImportAssertion "with"'), $EXPECT($L117, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11754
11977
  var keyword = $2;
11755
11978
  var object = $5;
11756
11979
  return {
@@ -11882,7 +12105,7 @@ var require_parser = __commonJS({
11882
12105
  function UnprocessedModuleSpecifier(ctx, state) {
11883
12106
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
11884
12107
  }
11885
- var UnquotedSpecifier$0 = $TV($EXPECT($R26, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
12108
+ var UnquotedSpecifier$0 = $TV($EXPECT($R27, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
11886
12109
  var spec = $0;
11887
12110
  return { $loc, token: `"${spec}"` };
11888
12111
  });
@@ -12054,19 +12277,19 @@ var require_parser = __commonJS({
12054
12277
  function LexicalDeclaration(ctx, state) {
12055
12278
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
12056
12279
  }
12057
- var ConstAssignment$0 = $TV($C($EXPECT($L119, 'ConstAssignment ":="'), $EXPECT($L120, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12280
+ var ConstAssignment$0 = $TV($C($EXPECT($L118, 'ConstAssignment ":="'), $EXPECT($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12058
12281
  return { $loc, token: "=" };
12059
12282
  });
12060
12283
  function ConstAssignment(ctx, state) {
12061
12284
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
12062
12285
  }
12063
- var LetAssignment$0 = $TV($EXPECT($L121, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12286
+ var LetAssignment$0 = $TV($EXPECT($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12064
12287
  return { $loc, token: "=" };
12065
12288
  });
12066
12289
  function LetAssignment(ctx, state) {
12067
12290
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
12068
12291
  }
12069
- var TypeAssignment$0 = $TV($EXPECT($L122, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12292
+ var TypeAssignment$0 = $TV($EXPECT($L121, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12070
12293
  return { $loc, token: "=" };
12071
12294
  });
12072
12295
  function TypeAssignment(ctx, state) {
@@ -12107,7 +12330,10 @@ var require_parser = __commonJS({
12107
12330
  function LexicalBinding(ctx, state) {
12108
12331
  return $EVENT_C(ctx, state, "LexicalBinding", LexicalBinding$$);
12109
12332
  }
12110
- var Initializer$0 = $S(__, Equals, ExtendedExpression);
12333
+ var Initializer$0 = $T($S(__, Equals, ExtendedExpression), function(value) {
12334
+ var exp = value[2];
12335
+ return { "type": "Initializer", "exp": exp, "children": value };
12336
+ });
12111
12337
  function Initializer(ctx, state) {
12112
12338
  return $EVENT(ctx, state, "Initializer", Initializer$0);
12113
12339
  }
@@ -12135,7 +12361,7 @@ var require_parser = __commonJS({
12135
12361
  function VariableDeclarationList(ctx, state) {
12136
12362
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
12137
12363
  }
12138
- var NumericLiteral$0 = $TS($S($EXPECT($R27, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12364
+ var NumericLiteral$0 = $TS($S($EXPECT($R28, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12139
12365
  var token = $2;
12140
12366
  return { type: "NumericLiteral", $loc, token };
12141
12367
  });
@@ -12151,36 +12377,36 @@ var require_parser = __commonJS({
12151
12377
  function NumericLiteralKind(ctx, state) {
12152
12378
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
12153
12379
  }
12154
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R28, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12380
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R29, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12155
12381
  function DecimalBigIntegerLiteral(ctx, state) {
12156
12382
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
12157
12383
  }
12158
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12384
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12159
12385
  return $1 + ".";
12160
12386
  });
12161
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12162
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12387
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12388
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R32, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12163
12389
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
12164
12390
  function DecimalLiteral(ctx, state) {
12165
12391
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
12166
12392
  }
12167
- var ExponentPart$0 = $R$0($EXPECT($R32, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12393
+ var ExponentPart$0 = $R$0($EXPECT($R33, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12168
12394
  function ExponentPart(ctx, state) {
12169
12395
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
12170
12396
  }
12171
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R33, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12397
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R34, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12172
12398
  function BinaryIntegerLiteral(ctx, state) {
12173
12399
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
12174
12400
  }
12175
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R34, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12401
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R35, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12176
12402
  function OctalIntegerLiteral(ctx, state) {
12177
12403
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
12178
12404
  }
12179
- var HexIntegerLiteral$0 = $R$0($EXPECT($R35, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12405
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R36, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12180
12406
  function HexIntegerLiteral(ctx, state) {
12181
12407
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
12182
12408
  }
12183
- var IntegerLiteral$0 = $TS($S($EXPECT($R36, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12409
+ var IntegerLiteral$0 = $TS($S($EXPECT($R37, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12184
12410
  var token = $2;
12185
12411
  return { $loc, token };
12186
12412
  });
@@ -12196,7 +12422,7 @@ var require_parser = __commonJS({
12196
12422
  function IntegerLiteralKind(ctx, state) {
12197
12423
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
12198
12424
  }
12199
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R37, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12425
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R38, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12200
12426
  function DecimalIntegerLiteral(ctx, state) {
12201
12427
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
12202
12428
  }
@@ -12220,25 +12446,25 @@ var require_parser = __commonJS({
12220
12446
  function StringLiteral(ctx, state) {
12221
12447
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
12222
12448
  }
12223
- var DoubleStringCharacters$0 = $TR($EXPECT($R38, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12449
+ var DoubleStringCharacters$0 = $TR($EXPECT($R39, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12224
12450
  return { $loc, token: $0 };
12225
12451
  });
12226
12452
  function DoubleStringCharacters(ctx, state) {
12227
12453
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
12228
12454
  }
12229
- var SingleStringCharacters$0 = $TR($EXPECT($R39, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12455
+ var SingleStringCharacters$0 = $TR($EXPECT($R40, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12230
12456
  return { $loc, token: $0 };
12231
12457
  });
12232
12458
  function SingleStringCharacters(ctx, state) {
12233
12459
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
12234
12460
  }
12235
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R40, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12461
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R41, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12236
12462
  return { $loc, token: $0 };
12237
12463
  });
12238
12464
  function TripleDoubleStringCharacters(ctx, state) {
12239
12465
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
12240
12466
  }
12241
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R41, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12467
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R42, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12242
12468
  return { $loc, token: $0 };
12243
12469
  });
12244
12470
  function TripleSingleStringCharacters(ctx, state) {
@@ -12261,14 +12487,14 @@ var require_parser = __commonJS({
12261
12487
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
12262
12488
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
12263
12489
  }
12264
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R42, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12490
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R43, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12265
12491
  return { $loc, token: $0 };
12266
12492
  });
12267
12493
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
12268
12494
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
12269
12495
  }
12270
12496
  var RegularExpressionLiteral$0 = HeregexLiteral;
12271
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12497
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12272
12498
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
12273
12499
  });
12274
12500
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -12281,7 +12507,7 @@ var require_parser = __commonJS({
12281
12507
  function RegularExpressionClass(ctx, state) {
12282
12508
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
12283
12509
  }
12284
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R43, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12510
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R44, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12285
12511
  return { $loc, token: $0 };
12286
12512
  });
12287
12513
  function RegularExpressionClassCharacters(ctx, state) {
@@ -12338,7 +12564,7 @@ var require_parser = __commonJS({
12338
12564
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
12339
12565
  return { "type": "Substitution", "children": value[0] };
12340
12566
  });
12341
- var HeregexPart$3 = $TR($EXPECT($R44, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12567
+ var HeregexPart$3 = $TR($EXPECT($R45, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12342
12568
  let token = $0;
12343
12569
  switch ($0[1]) {
12344
12570
  case "\n":
@@ -12356,13 +12582,13 @@ var require_parser = __commonJS({
12356
12582
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
12357
12583
  return { $loc, token: "" };
12358
12584
  });
12359
- var HeregexPart$5 = $TR($EXPECT($R45, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12585
+ var HeregexPart$5 = $TR($EXPECT($R46, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12360
12586
  return { $loc, token: "" };
12361
12587
  });
12362
- var HeregexPart$6 = $TR($EXPECT($R46, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12588
+ var HeregexPart$6 = $TR($EXPECT($R47, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12363
12589
  return { $loc, token: "\\/" };
12364
12590
  });
12365
- var HeregexPart$7 = $TR($EXPECT($R47, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12591
+ var HeregexPart$7 = $TR($EXPECT($R48, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12366
12592
  return { $loc, token: $0 };
12367
12593
  });
12368
12594
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -12375,7 +12601,7 @@ var require_parser = __commonJS({
12375
12601
  function HeregexComment(ctx, state) {
12376
12602
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
12377
12603
  }
12378
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R48, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12604
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R49, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12379
12605
  function RegularExpressionBody(ctx, state) {
12380
12606
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
12381
12607
  }
@@ -12385,15 +12611,15 @@ var require_parser = __commonJS({
12385
12611
  function RegExpPart(ctx, state) {
12386
12612
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
12387
12613
  }
12388
- var RegExpCharacter$0 = $R$0($EXPECT($R49, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12614
+ var RegExpCharacter$0 = $R$0($EXPECT($R50, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12389
12615
  function RegExpCharacter(ctx, state) {
12390
12616
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
12391
12617
  }
12392
- var RegularExpressionFlags$0 = $R$0($EXPECT($R50, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12618
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R51, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12393
12619
  function RegularExpressionFlags(ctx, state) {
12394
12620
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
12395
12621
  }
12396
- var TemplateLiteral$0 = $T($S($EXPECT($R51, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12622
+ var TemplateLiteral$0 = $T($S($EXPECT($R52, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12397
12623
  return value[1];
12398
12624
  });
12399
12625
  function TemplateLiteral(ctx, state) {
@@ -12433,28 +12659,28 @@ var require_parser = __commonJS({
12433
12659
  function TemplateSubstitution(ctx, state) {
12434
12660
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
12435
12661
  }
12436
- var TemplateCharacters$0 = $TR($EXPECT($R52, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12662
+ var TemplateCharacters$0 = $TR($EXPECT($R53, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12437
12663
  return { $loc, token: $0 };
12438
12664
  });
12439
12665
  function TemplateCharacters(ctx, state) {
12440
12666
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
12441
12667
  }
12442
- var TemplateBlockCharacters$0 = $TR($EXPECT($R53, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12668
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R54, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12443
12669
  return { $loc, token: $0 };
12444
12670
  });
12445
12671
  function TemplateBlockCharacters(ctx, state) {
12446
12672
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
12447
12673
  }
12448
- var ReservedWord$0 = $S($R$0($EXPECT($R54, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12449
- var ReservedWord$1 = $S($R$0($EXPECT($R55, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12450
- var ReservedWord$2 = $S($R$0($EXPECT($R56, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12451
- var ReservedWord$3 = $S($R$0($EXPECT($R57, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12452
- var ReservedWord$4 = $R$0($EXPECT($R58, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
12674
+ var ReservedWord$0 = $S($R$0($EXPECT($R55, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12675
+ var ReservedWord$1 = $S($R$0($EXPECT($R56, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12676
+ var ReservedWord$2 = $S($R$0($EXPECT($R57, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12677
+ var ReservedWord$3 = $S($R$0($EXPECT($R58, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12678
+ var ReservedWord$4 = $R$0($EXPECT($R59, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
12453
12679
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
12454
12680
  function ReservedWord(ctx, state) {
12455
12681
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
12456
12682
  }
12457
- var Comment$0 = $T($S($EXPECT($R59, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12683
+ var Comment$0 = $T($S($EXPECT($R60, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12458
12684
  return value[1];
12459
12685
  });
12460
12686
  function Comment(ctx, state) {
@@ -12472,7 +12698,7 @@ var require_parser = __commonJS({
12472
12698
  function SingleLineComment(ctx, state) {
12473
12699
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
12474
12700
  }
12475
- var JSSingleLineComment$0 = $TR($EXPECT($R60, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12701
+ var JSSingleLineComment$0 = $TR($EXPECT($R61, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12476
12702
  return { type: "Comment", $loc, token: $0 };
12477
12703
  });
12478
12704
  function JSSingleLineComment(ctx, state) {
@@ -12484,30 +12710,30 @@ var require_parser = __commonJS({
12484
12710
  function MultiLineComment(ctx, state) {
12485
12711
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
12486
12712
  }
12487
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($R61, "JSMultiLineComment /./"))), $EXPECT($L124, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12713
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L122, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L123, 'JSMultiLineComment "*/"')), $EXPECT($R62, "JSMultiLineComment /./"))), $EXPECT($L123, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12488
12714
  return { type: "Comment", $loc, token: $1 };
12489
12715
  });
12490
12716
  function JSMultiLineComment(ctx, state) {
12491
12717
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
12492
12718
  }
12493
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R62, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12719
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R63, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12494
12720
  return { type: "Comment", $loc, token: `//${$1}` };
12495
12721
  });
12496
12722
  function CoffeeSingleLineComment(ctx, state) {
12497
12723
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
12498
12724
  }
12499
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R63, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12725
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R64, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12500
12726
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
12501
12727
  return { type: "Comment", $loc, token: `/*${$2}*/` };
12502
12728
  });
12503
12729
  function CoffeeMultiLineComment(ctx, state) {
12504
12730
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
12505
12731
  }
12506
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R64, "CoffeeHereCommentStart /###(?!#)/"));
12732
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R65, "CoffeeHereCommentStart /###(?!#)/"));
12507
12733
  function CoffeeHereCommentStart(ctx, state) {
12508
12734
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
12509
12735
  }
12510
- var InlineComment$0 = $TR($EXPECT($R65, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12736
+ var InlineComment$0 = $TR($EXPECT($R66, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12511
12737
  return { $loc, token: $0 };
12512
12738
  });
12513
12739
  function InlineComment(ctx, state) {
@@ -12521,30 +12747,30 @@ var require_parser = __commonJS({
12521
12747
  function TrailingComment(ctx, state) {
12522
12748
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
12523
12749
  }
12524
- var _$0 = $T($S($EXPECT($R66, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12750
+ var _$0 = $T($S($EXPECT($R67, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12525
12751
  return value[1];
12526
12752
  });
12527
12753
  function _(ctx, state) {
12528
12754
  return $EVENT(ctx, state, "_", _$0);
12529
12755
  }
12530
- var NonNewlineWhitespace$0 = $TR($EXPECT($R67, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12756
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R68, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12531
12757
  return { $loc, token: $0 };
12532
12758
  });
12533
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L125, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12759
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L124, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12534
12760
  return " ";
12535
12761
  });
12536
12762
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
12537
12763
  function NonNewlineWhitespace(ctx, state) {
12538
12764
  return $EVENT_C(ctx, state, "NonNewlineWhitespace", NonNewlineWhitespace$$);
12539
12765
  }
12540
- var Trimmed_$0 = $TV($E(_), function($skip, $loc, $0, $1) {
12766
+ var Trimmed_$0 = $TV(_, function($skip, $loc, $0, $1) {
12541
12767
  var ws = $0;
12542
12768
  return insertTrimmingSpace(ws, "");
12543
12769
  });
12544
12770
  function Trimmed_(ctx, state) {
12545
12771
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
12546
12772
  }
12547
- var __$0 = $T($S($EXPECT($R68, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12773
+ var __$0 = $T($S($EXPECT($R69, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12548
12774
  return value[1];
12549
12775
  });
12550
12776
  var __$1 = $EXPECT($L0, '__ ""');
@@ -12552,7 +12778,7 @@ var require_parser = __commonJS({
12552
12778
  function __(ctx, state) {
12553
12779
  return $EVENT_C(ctx, state, "__", __$$);
12554
12780
  }
12555
- var Whitespace$0 = $TR($EXPECT($R45, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12781
+ var Whitespace$0 = $TR($EXPECT($R46, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12556
12782
  return { $loc, token: $0 };
12557
12783
  });
12558
12784
  function Whitespace(ctx, state) {
@@ -12576,7 +12802,7 @@ var require_parser = __commonJS({
12576
12802
  }
12577
12803
  var StatementDelimiter$0 = $Y(EOS);
12578
12804
  var StatementDelimiter$1 = SemicolonDelimiter;
12579
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L37, 'StatementDelimiter "}"'), $EXPECT($L126, 'StatementDelimiter ")"'), $EXPECT($L46, 'StatementDelimiter "]"'))));
12805
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L36, 'StatementDelimiter "}"'), $EXPECT($L125, 'StatementDelimiter ")"'), $EXPECT($L45, 'StatementDelimiter "]"'))));
12580
12806
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
12581
12807
  function StatementDelimiter(ctx, state) {
12582
12808
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -12590,7 +12816,7 @@ var require_parser = __commonJS({
12590
12816
  function SemicolonDelimiter(ctx, state) {
12591
12817
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
12592
12818
  }
12593
- var NonIdContinue$0 = $R$0($EXPECT($R69, "NonIdContinue /(?!\\p{ID_Continue})/"));
12819
+ var NonIdContinue$0 = $R$0($EXPECT($R70, "NonIdContinue /(?!\\p{ID_Continue})/"));
12594
12820
  function NonIdContinue(ctx, state) {
12595
12821
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
12596
12822
  }
@@ -12600,55 +12826,55 @@ var require_parser = __commonJS({
12600
12826
  function Loc(ctx, state) {
12601
12827
  return $EVENT(ctx, state, "Loc", Loc$0);
12602
12828
  }
12603
- var Abstract$0 = $TV($TEXT($S($EXPECT($L127, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12829
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L126, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12604
12830
  return { $loc, token: $1, ts: true };
12605
12831
  });
12606
12832
  function Abstract(ctx, state) {
12607
12833
  return $EVENT(ctx, state, "Abstract", Abstract$0);
12608
12834
  }
12609
- var Ampersand$0 = $TV($EXPECT($L109, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12835
+ var Ampersand$0 = $TV($EXPECT($L108, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12610
12836
  return { $loc, token: $1 };
12611
12837
  });
12612
12838
  function Ampersand(ctx, state) {
12613
12839
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
12614
12840
  }
12615
- var As$0 = $TS($S($EXPECT($L128, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12841
+ var As$0 = $TS($S($EXPECT($L127, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12616
12842
  return { $loc, token: $1 };
12617
12843
  });
12618
12844
  function As(ctx, state) {
12619
12845
  return $EVENT(ctx, state, "As", As$0);
12620
12846
  }
12621
- var At$0 = $TV($EXPECT($L129, 'At "@"'), function($skip, $loc, $0, $1) {
12847
+ var At$0 = $TV($EXPECT($L128, 'At "@"'), function($skip, $loc, $0, $1) {
12622
12848
  return { $loc, token: $1 };
12623
12849
  });
12624
12850
  function At(ctx, state) {
12625
12851
  return $EVENT(ctx, state, "At", At$0);
12626
12852
  }
12627
- var AtAt$0 = $TV($EXPECT($L130, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12853
+ var AtAt$0 = $TV($EXPECT($L129, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12628
12854
  return { $loc, token: "@" };
12629
12855
  });
12630
12856
  function AtAt(ctx, state) {
12631
12857
  return $EVENT(ctx, state, "AtAt", AtAt$0);
12632
12858
  }
12633
- var Async$0 = $TS($S($EXPECT($L131, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12859
+ var Async$0 = $TS($S($EXPECT($L130, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12634
12860
  return { $loc, token: $1, type: "Async" };
12635
12861
  });
12636
12862
  function Async(ctx, state) {
12637
12863
  return $EVENT(ctx, state, "Async", Async$0);
12638
12864
  }
12639
- var Await$0 = $TS($S($EXPECT($L132, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12865
+ var Await$0 = $TS($S($EXPECT($L131, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12640
12866
  return { $loc, token: $1, type: "Await" };
12641
12867
  });
12642
12868
  function Await(ctx, state) {
12643
12869
  return $EVENT(ctx, state, "Await", Await$0);
12644
12870
  }
12645
- var Backtick$0 = $TV($EXPECT($L133, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12871
+ var Backtick$0 = $TV($EXPECT($L132, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12646
12872
  return { $loc, token: $1 };
12647
12873
  });
12648
12874
  function Backtick(ctx, state) {
12649
12875
  return $EVENT(ctx, state, "Backtick", Backtick$0);
12650
12876
  }
12651
- var By$0 = $TS($S($EXPECT($L134, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12877
+ var By$0 = $TS($S($EXPECT($L133, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12652
12878
  return { $loc, token: $1 };
12653
12879
  });
12654
12880
  function By(ctx, state) {
@@ -12660,55 +12886,55 @@ var require_parser = __commonJS({
12660
12886
  function Caret(ctx, state) {
12661
12887
  return $EVENT(ctx, state, "Caret", Caret$0);
12662
12888
  }
12663
- var Case$0 = $TS($S($EXPECT($L135, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12889
+ var Case$0 = $TS($S($EXPECT($L134, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12664
12890
  return { $loc, token: $1 };
12665
12891
  });
12666
12892
  function Case(ctx, state) {
12667
12893
  return $EVENT(ctx, state, "Case", Case$0);
12668
12894
  }
12669
- var Catch$0 = $TS($S($EXPECT($L136, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12895
+ var Catch$0 = $TS($S($EXPECT($L135, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12670
12896
  return { $loc, token: $1 };
12671
12897
  });
12672
12898
  function Catch(ctx, state) {
12673
12899
  return $EVENT(ctx, state, "Catch", Catch$0);
12674
12900
  }
12675
- var Class$0 = $TS($S($EXPECT($L137, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12901
+ var Class$0 = $TS($S($EXPECT($L136, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12676
12902
  return { $loc, token: $1 };
12677
12903
  });
12678
12904
  function Class(ctx, state) {
12679
12905
  return $EVENT(ctx, state, "Class", Class$0);
12680
12906
  }
12681
- var CloseAngleBracket$0 = $TV($EXPECT($L45, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12907
+ var CloseAngleBracket$0 = $TV($EXPECT($L44, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12682
12908
  return { $loc, token: $1 };
12683
12909
  });
12684
12910
  function CloseAngleBracket(ctx, state) {
12685
12911
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
12686
12912
  }
12687
- var CloseBrace$0 = $TV($EXPECT($L37, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12913
+ var CloseBrace$0 = $TV($EXPECT($L36, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12688
12914
  return { $loc, token: $1 };
12689
12915
  });
12690
12916
  function CloseBrace(ctx, state) {
12691
12917
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
12692
12918
  }
12693
- var CloseBracket$0 = $TV($EXPECT($L46, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12919
+ var CloseBracket$0 = $TV($EXPECT($L45, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12694
12920
  return { $loc, token: $1 };
12695
12921
  });
12696
12922
  function CloseBracket(ctx, state) {
12697
12923
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
12698
12924
  }
12699
- var CloseParen$0 = $TV($EXPECT($L126, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12925
+ var CloseParen$0 = $TV($EXPECT($L125, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12700
12926
  return { $loc, token: $1 };
12701
12927
  });
12702
12928
  function CloseParen(ctx, state) {
12703
12929
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
12704
12930
  }
12705
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L138, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12931
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L137, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12706
12932
  return { $loc, token: "${" };
12707
12933
  });
12708
12934
  function CoffeeSubstitutionStart(ctx, state) {
12709
12935
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
12710
12936
  }
12711
- var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R70, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12937
+ var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R71, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12712
12938
  return { $loc, token: $1 };
12713
12939
  });
12714
12940
  function Colon(ctx, state) {
@@ -12720,31 +12946,31 @@ var require_parser = __commonJS({
12720
12946
  function Comma(ctx, state) {
12721
12947
  return $EVENT(ctx, state, "Comma", Comma$0);
12722
12948
  }
12723
- var ConstructorShorthand$0 = $TV($EXPECT($L129, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12949
+ var ConstructorShorthand$0 = $TV($EXPECT($L128, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12724
12950
  return { $loc, token: "constructor" };
12725
12951
  });
12726
12952
  function ConstructorShorthand(ctx, state) {
12727
12953
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
12728
12954
  }
12729
- var Declare$0 = $TS($S($EXPECT($L139, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12955
+ var Declare$0 = $TS($S($EXPECT($L138, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12730
12956
  return { $loc, token: $1 };
12731
12957
  });
12732
12958
  function Declare(ctx, state) {
12733
12959
  return $EVENT(ctx, state, "Declare", Declare$0);
12734
12960
  }
12735
- var Default$0 = $TS($S($EXPECT($L140, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12961
+ var Default$0 = $TS($S($EXPECT($L139, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12736
12962
  return { $loc, token: $1 };
12737
12963
  });
12738
12964
  function Default(ctx, state) {
12739
12965
  return $EVENT(ctx, state, "Default", Default$0);
12740
12966
  }
12741
- var Delete$0 = $TS($S($EXPECT($L141, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12967
+ var Delete$0 = $TS($S($EXPECT($L140, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12742
12968
  return { $loc, token: $1 };
12743
12969
  });
12744
12970
  function Delete(ctx, state) {
12745
12971
  return $EVENT(ctx, state, "Delete", Delete$0);
12746
12972
  }
12747
- var Do$0 = $TS($S($EXPECT($L142, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12973
+ var Do$0 = $TS($S($EXPECT($L141, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12748
12974
  return { $loc, token: $1 };
12749
12975
  });
12750
12976
  function Do(ctx, state) {
@@ -12753,56 +12979,56 @@ var require_parser = __commonJS({
12753
12979
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
12754
12980
  return { $loc, token: $1 };
12755
12981
  });
12756
- var Dot$1 = $TS($S($EXPECT($R71, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
12982
+ var Dot$1 = $TS($S($EXPECT($R72, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
12757
12983
  var ws = $2;
12758
12984
  return [
12759
12985
  { $loc, token: "." },
12760
- insertTrimmingSpace(ws, "")
12986
+ ws
12761
12987
  ];
12762
12988
  });
12763
12989
  var Dot$$ = [Dot$0, Dot$1];
12764
12990
  function Dot(ctx, state) {
12765
12991
  return $EVENT_C(ctx, state, "Dot", Dot$$);
12766
12992
  }
12767
- var DotDot$0 = $TS($S($EXPECT($L143, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
12993
+ var DotDot$0 = $TS($S($EXPECT($L142, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
12768
12994
  return { $loc, token: $1 };
12769
12995
  });
12770
- var DotDot$1 = $TV($EXPECT($L144, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
12996
+ var DotDot$1 = $TV($EXPECT($L143, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
12771
12997
  return { $loc, token: ".." };
12772
12998
  });
12773
12999
  var DotDot$$ = [DotDot$0, DotDot$1];
12774
13000
  function DotDot(ctx, state) {
12775
13001
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
12776
13002
  }
12777
- var DotDotDot$0 = $TV($EXPECT($L145, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
13003
+ var DotDotDot$0 = $TV($EXPECT($L144, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
12778
13004
  return { $loc, token: $1 };
12779
13005
  });
12780
- var DotDotDot$1 = $TV($EXPECT($L146, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
13006
+ var DotDotDot$1 = $TV($EXPECT($L145, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
12781
13007
  return { $loc, token: "..." };
12782
13008
  });
12783
13009
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
12784
13010
  function DotDotDot(ctx, state) {
12785
13011
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
12786
13012
  }
12787
- var DoubleColon$0 = $TV($EXPECT($L147, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
13013
+ var DoubleColon$0 = $TV($EXPECT($L146, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12788
13014
  return { $loc, token: $1 };
12789
13015
  });
12790
13016
  function DoubleColon(ctx, state) {
12791
13017
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
12792
13018
  }
12793
- var DoubleQuote$0 = $TV($EXPECT($L148, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
13019
+ var DoubleQuote$0 = $TV($EXPECT($L147, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12794
13020
  return { $loc, token: $1 };
12795
13021
  });
12796
13022
  function DoubleQuote(ctx, state) {
12797
13023
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
12798
13024
  }
12799
- var Each$0 = $TS($S($EXPECT($L149, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13025
+ var Each$0 = $TS($S($EXPECT($L148, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12800
13026
  return { $loc, token: $1 };
12801
13027
  });
12802
13028
  function Each(ctx, state) {
12803
13029
  return $EVENT(ctx, state, "Each", Each$0);
12804
13030
  }
12805
- var Else$0 = $TS($S($EXPECT($L150, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13031
+ var Else$0 = $TS($S($EXPECT($L149, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12806
13032
  return { $loc, token: $1 };
12807
13033
  });
12808
13034
  function Else(ctx, state) {
@@ -12814,97 +13040,97 @@ var require_parser = __commonJS({
12814
13040
  function Equals(ctx, state) {
12815
13041
  return $EVENT(ctx, state, "Equals", Equals$0);
12816
13042
  }
12817
- var ExclamationPoint$0 = $TV($EXPECT($L151, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
13043
+ var ExclamationPoint$0 = $TV($EXPECT($L150, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
12818
13044
  return { $loc, token: $1 };
12819
13045
  });
12820
13046
  function ExclamationPoint(ctx, state) {
12821
13047
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
12822
13048
  }
12823
- var Export$0 = $TS($S($EXPECT($L152, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13049
+ var Export$0 = $TS($S($EXPECT($L151, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12824
13050
  return { $loc, token: $1 };
12825
13051
  });
12826
13052
  function Export(ctx, state) {
12827
13053
  return $EVENT(ctx, state, "Export", Export$0);
12828
13054
  }
12829
- var Extends$0 = $TS($S($EXPECT($L153, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13055
+ var Extends$0 = $TS($S($EXPECT($L152, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12830
13056
  return { $loc, token: $1 };
12831
13057
  });
12832
13058
  function Extends(ctx, state) {
12833
13059
  return $EVENT(ctx, state, "Extends", Extends$0);
12834
13060
  }
12835
- var Finally$0 = $TS($S($EXPECT($L154, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13061
+ var Finally$0 = $TS($S($EXPECT($L153, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12836
13062
  return { $loc, token: $1 };
12837
13063
  });
12838
13064
  function Finally(ctx, state) {
12839
13065
  return $EVENT(ctx, state, "Finally", Finally$0);
12840
13066
  }
12841
- var For$0 = $TS($S($EXPECT($L155, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13067
+ var For$0 = $TS($S($EXPECT($L154, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12842
13068
  return { $loc, token: $1 };
12843
13069
  });
12844
13070
  function For(ctx, state) {
12845
13071
  return $EVENT(ctx, state, "For", For$0);
12846
13072
  }
12847
- var From$0 = $TS($S($EXPECT($L156, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13073
+ var From$0 = $TS($S($EXPECT($L155, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12848
13074
  return { $loc, token: $1 };
12849
13075
  });
12850
13076
  function From(ctx, state) {
12851
13077
  return $EVENT(ctx, state, "From", From$0);
12852
13078
  }
12853
- var Function$0 = $TS($S($EXPECT($L157, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13079
+ var Function$0 = $TS($S($EXPECT($L156, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12854
13080
  return { $loc, token: $1 };
12855
13081
  });
12856
13082
  function Function(ctx, state) {
12857
13083
  return $EVENT(ctx, state, "Function", Function$0);
12858
13084
  }
12859
- var GetOrSet$0 = $TS($S($C($EXPECT($L158, 'GetOrSet "get"'), $EXPECT($L159, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13085
+ var GetOrSet$0 = $TS($S($C($EXPECT($L157, 'GetOrSet "get"'), $EXPECT($L158, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12860
13086
  return { $loc, token: $1, type: "GetOrSet" };
12861
13087
  });
12862
13088
  function GetOrSet(ctx, state) {
12863
13089
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
12864
13090
  }
12865
- var Hash$0 = $TV($EXPECT($L160, 'Hash "#"'), function($skip, $loc, $0, $1) {
13091
+ var Hash$0 = $TV($EXPECT($L159, 'Hash "#"'), function($skip, $loc, $0, $1) {
12866
13092
  return { $loc, token: $1 };
12867
13093
  });
12868
13094
  function Hash(ctx, state) {
12869
13095
  return $EVENT(ctx, state, "Hash", Hash$0);
12870
13096
  }
12871
- var If$0 = $TV($TEXT($S($EXPECT($L161, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
13097
+ var If$0 = $TV($TEXT($S($EXPECT($L160, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
12872
13098
  return { $loc, token: $1 };
12873
13099
  });
12874
13100
  function If(ctx, state) {
12875
13101
  return $EVENT(ctx, state, "If", If$0);
12876
13102
  }
12877
- var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R72, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
13103
+ var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R73, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
12878
13104
  return { $loc, token: $1 };
12879
13105
  });
12880
13106
  function Import(ctx, state) {
12881
13107
  return $EVENT(ctx, state, "Import", Import$0);
12882
13108
  }
12883
- var In$0 = $TS($S($EXPECT($L162, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13109
+ var In$0 = $TS($S($EXPECT($L161, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12884
13110
  return { $loc, token: $1 };
12885
13111
  });
12886
13112
  function In(ctx, state) {
12887
13113
  return $EVENT(ctx, state, "In", In$0);
12888
13114
  }
12889
- var Infer$0 = $TS($S($EXPECT($L163, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13115
+ var Infer$0 = $TS($S($EXPECT($L162, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12890
13116
  return { $loc, token: $1 };
12891
13117
  });
12892
13118
  function Infer(ctx, state) {
12893
13119
  return $EVENT(ctx, state, "Infer", Infer$0);
12894
13120
  }
12895
- var LetOrConst$0 = $TS($S($C($EXPECT($L164, 'LetOrConst "let"'), $EXPECT($L165, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13121
+ var LetOrConst$0 = $TS($S($C($EXPECT($L163, 'LetOrConst "let"'), $EXPECT($L164, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12896
13122
  return { $loc, token: $1 };
12897
13123
  });
12898
13124
  function LetOrConst(ctx, state) {
12899
13125
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
12900
13126
  }
12901
- var Const$0 = $TS($S($EXPECT($L165, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13127
+ var Const$0 = $TS($S($EXPECT($L164, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12902
13128
  return { $loc, token: $1 };
12903
13129
  });
12904
13130
  function Const(ctx, state) {
12905
13131
  return $EVENT(ctx, state, "Const", Const$0);
12906
13132
  }
12907
- var Is$0 = $TS($S($EXPECT($L166, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13133
+ var Is$0 = $TS($S($EXPECT($L165, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12908
13134
  return { $loc, token: $1 };
12909
13135
  });
12910
13136
  function Is(ctx, state) {
@@ -12916,25 +13142,25 @@ var require_parser = __commonJS({
12916
13142
  function LetOrConstOrVar(ctx, state) {
12917
13143
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
12918
13144
  }
12919
- var Loop$0 = $TS($S($EXPECT($L167, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12920
- return { $loc, token: "while(true)" };
13145
+ var Loop$0 = $TS($S($EXPECT($L166, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13146
+ return { $loc, token: "while" };
12921
13147
  });
12922
13148
  function Loop(ctx, state) {
12923
13149
  return $EVENT(ctx, state, "Loop", Loop$0);
12924
13150
  }
12925
- var New$0 = $TS($S($EXPECT($L168, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13151
+ var New$0 = $TS($S($EXPECT($L167, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12926
13152
  return { $loc, token: $1 };
12927
13153
  });
12928
13154
  function New(ctx, state) {
12929
13155
  return $EVENT(ctx, state, "New", New$0);
12930
13156
  }
12931
- var Not$0 = $TS($S($EXPECT($L169, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
13157
+ var Not$0 = $TS($S($EXPECT($L168, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12932
13158
  return { $loc, token: "!" };
12933
13159
  });
12934
13160
  function Not(ctx, state) {
12935
13161
  return $EVENT(ctx, state, "Not", Not$0);
12936
13162
  }
12937
- var Of$0 = $TS($S($EXPECT($L170, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13163
+ var Of$0 = $TS($S($EXPECT($L169, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12938
13164
  return { $loc, token: $1 };
12939
13165
  });
12940
13166
  function Of(ctx, state) {
@@ -12952,7 +13178,7 @@ var require_parser = __commonJS({
12952
13178
  function OpenBrace(ctx, state) {
12953
13179
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
12954
13180
  }
12955
- var OpenBracket$0 = $TV($EXPECT($L171, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
13181
+ var OpenBracket$0 = $TV($EXPECT($L170, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12956
13182
  return { $loc, token: $1 };
12957
13183
  });
12958
13184
  function OpenBracket(ctx, state) {
@@ -12964,49 +13190,49 @@ var require_parser = __commonJS({
12964
13190
  function OpenParen(ctx, state) {
12965
13191
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
12966
13192
  }
12967
- var Operator$0 = $TS($S($EXPECT($L172, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13193
+ var Operator$0 = $TS($S($EXPECT($L171, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12968
13194
  return { $loc, token: $1 };
12969
13195
  });
12970
13196
  function Operator(ctx, state) {
12971
13197
  return $EVENT(ctx, state, "Operator", Operator$0);
12972
13198
  }
12973
- var Override$0 = $TS($S($EXPECT($L173, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13199
+ var Override$0 = $TS($S($EXPECT($L172, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12974
13200
  return { $loc, token: $1, ts: true };
12975
13201
  });
12976
13202
  function Override(ctx, state) {
12977
13203
  return $EVENT(ctx, state, "Override", Override$0);
12978
13204
  }
12979
- var Own$0 = $TS($S($EXPECT($L174, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13205
+ var Own$0 = $TS($S($EXPECT($L173, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12980
13206
  return { $loc, token: $1 };
12981
13207
  });
12982
13208
  function Own(ctx, state) {
12983
13209
  return $EVENT(ctx, state, "Own", Own$0);
12984
13210
  }
12985
- var Public$0 = $TS($S($EXPECT($L175, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13211
+ var Public$0 = $TS($S($EXPECT($L174, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12986
13212
  return { $loc, token: $1 };
12987
13213
  });
12988
13214
  function Public(ctx, state) {
12989
13215
  return $EVENT(ctx, state, "Public", Public$0);
12990
13216
  }
12991
- var Private$0 = $TS($S($EXPECT($L176, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13217
+ var Private$0 = $TS($S($EXPECT($L175, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12992
13218
  return { $loc, token: $1 };
12993
13219
  });
12994
13220
  function Private(ctx, state) {
12995
13221
  return $EVENT(ctx, state, "Private", Private$0);
12996
13222
  }
12997
- var Protected$0 = $TS($S($EXPECT($L177, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13223
+ var Protected$0 = $TS($S($EXPECT($L176, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12998
13224
  return { $loc, token: $1 };
12999
13225
  });
13000
13226
  function Protected(ctx, state) {
13001
13227
  return $EVENT(ctx, state, "Protected", Protected$0);
13002
13228
  }
13003
- var Pipe$0 = $TV($C($EXPECT($L178, 'Pipe "||>"'), $EXPECT($L179, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13229
+ var Pipe$0 = $TV($C($EXPECT($L177, 'Pipe "||>"'), $EXPECT($L178, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13004
13230
  return { $loc, token: "||>" };
13005
13231
  });
13006
- var Pipe$1 = $TV($C($EXPECT($L180, 'Pipe "|>="'), $EXPECT($L181, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13232
+ var Pipe$1 = $TV($C($EXPECT($L179, 'Pipe "|>="'), $EXPECT($L180, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13007
13233
  return { $loc, token: "|>=" };
13008
13234
  });
13009
- var Pipe$2 = $TV($C($EXPECT($L182, 'Pipe "|>"'), $EXPECT($L183, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13235
+ var Pipe$2 = $TV($C($EXPECT($L181, 'Pipe "|>"'), $EXPECT($L182, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13010
13236
  return { $loc, token: "|>" };
13011
13237
  });
13012
13238
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -13019,179 +13245,179 @@ var require_parser = __commonJS({
13019
13245
  function QuestionMark(ctx, state) {
13020
13246
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
13021
13247
  }
13022
- var Readonly$0 = $TS($S($EXPECT($L184, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13248
+ var Readonly$0 = $TS($S($EXPECT($L183, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13023
13249
  return { $loc, token: $1, ts: true };
13024
13250
  });
13025
13251
  function Readonly(ctx, state) {
13026
13252
  return $EVENT(ctx, state, "Readonly", Readonly$0);
13027
13253
  }
13028
- var Return$0 = $TS($S($EXPECT($L185, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13254
+ var Return$0 = $TS($S($EXPECT($L184, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13029
13255
  return { $loc, token: $1 };
13030
13256
  });
13031
13257
  function Return(ctx, state) {
13032
13258
  return $EVENT(ctx, state, "Return", Return$0);
13033
13259
  }
13034
- var Satisfies$0 = $TS($S($EXPECT($L186, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13260
+ var Satisfies$0 = $TS($S($EXPECT($L185, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13035
13261
  return { $loc, token: $1 };
13036
13262
  });
13037
13263
  function Satisfies(ctx, state) {
13038
13264
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
13039
13265
  }
13040
- var Semicolon$0 = $TV($EXPECT($L112, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13266
+ var Semicolon$0 = $TV($EXPECT($L111, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13041
13267
  return { $loc, token: $1 };
13042
13268
  });
13043
13269
  function Semicolon(ctx, state) {
13044
13270
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
13045
13271
  }
13046
- var SingleQuote$0 = $TV($EXPECT($L187, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13272
+ var SingleQuote$0 = $TV($EXPECT($L186, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13047
13273
  return { $loc, token: $1 };
13048
13274
  });
13049
13275
  function SingleQuote(ctx, state) {
13050
13276
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
13051
13277
  }
13052
- var Star$0 = $TV($EXPECT($L66, 'Star "*"'), function($skip, $loc, $0, $1) {
13278
+ var Star$0 = $TV($EXPECT($L65, 'Star "*"'), function($skip, $loc, $0, $1) {
13053
13279
  return { $loc, token: $1 };
13054
13280
  });
13055
13281
  function Star(ctx, state) {
13056
13282
  return $EVENT(ctx, state, "Star", Star$0);
13057
13283
  }
13058
- var Static$0 = $TS($S($EXPECT($L188, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13284
+ var Static$0 = $TS($S($EXPECT($L187, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13059
13285
  return { $loc, token: $1 };
13060
13286
  });
13061
- var Static$1 = $TS($S($EXPECT($L129, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L129, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13287
+ var Static$1 = $TS($S($EXPECT($L128, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L128, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13062
13288
  return { $loc, token: "static " };
13063
13289
  });
13064
13290
  var Static$$ = [Static$0, Static$1];
13065
13291
  function Static(ctx, state) {
13066
13292
  return $EVENT_C(ctx, state, "Static", Static$$);
13067
13293
  }
13068
- var SubstitutionStart$0 = $TV($EXPECT($L189, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13294
+ var SubstitutionStart$0 = $TV($EXPECT($L188, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13069
13295
  return { $loc, token: $1 };
13070
13296
  });
13071
13297
  function SubstitutionStart(ctx, state) {
13072
13298
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
13073
13299
  }
13074
- var Super$0 = $TS($S($EXPECT($L190, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13300
+ var Super$0 = $TS($S($EXPECT($L189, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13075
13301
  return { $loc, token: $1 };
13076
13302
  });
13077
13303
  function Super(ctx, state) {
13078
13304
  return $EVENT(ctx, state, "Super", Super$0);
13079
13305
  }
13080
- var Switch$0 = $TS($S($EXPECT($L191, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13306
+ var Switch$0 = $TS($S($EXPECT($L190, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13081
13307
  return { $loc, token: $1 };
13082
13308
  });
13083
13309
  function Switch(ctx, state) {
13084
13310
  return $EVENT(ctx, state, "Switch", Switch$0);
13085
13311
  }
13086
- var Target$0 = $TS($S($EXPECT($L192, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13312
+ var Target$0 = $TS($S($EXPECT($L191, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13087
13313
  return { $loc, token: $1 };
13088
13314
  });
13089
13315
  function Target(ctx, state) {
13090
13316
  return $EVENT(ctx, state, "Target", Target$0);
13091
13317
  }
13092
- var Then$0 = $TS($S(__, $EXPECT($L193, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13318
+ var Then$0 = $TS($S(__, $EXPECT($L192, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13093
13319
  return { $loc, token: "" };
13094
13320
  });
13095
13321
  function Then(ctx, state) {
13096
13322
  return $EVENT(ctx, state, "Then", Then$0);
13097
13323
  }
13098
- var This$0 = $TS($S($EXPECT($L194, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13324
+ var This$0 = $TS($S($EXPECT($L193, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13099
13325
  return { $loc, token: $1 };
13100
13326
  });
13101
13327
  function This(ctx, state) {
13102
13328
  return $EVENT(ctx, state, "This", This$0);
13103
13329
  }
13104
- var Throw$0 = $TS($S($EXPECT($L195, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13330
+ var Throw$0 = $TS($S($EXPECT($L194, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13105
13331
  return { $loc, token: $1 };
13106
13332
  });
13107
13333
  function Throw(ctx, state) {
13108
13334
  return $EVENT(ctx, state, "Throw", Throw$0);
13109
13335
  }
13110
- var TripleDoubleQuote$0 = $TV($EXPECT($L196, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13336
+ var TripleDoubleQuote$0 = $TV($EXPECT($L195, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13111
13337
  return { $loc, token: "`" };
13112
13338
  });
13113
13339
  function TripleDoubleQuote(ctx, state) {
13114
13340
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
13115
13341
  }
13116
- var TripleSingleQuote$0 = $TV($EXPECT($L197, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13342
+ var TripleSingleQuote$0 = $TV($EXPECT($L196, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13117
13343
  return { $loc, token: "`" };
13118
13344
  });
13119
13345
  function TripleSingleQuote(ctx, state) {
13120
13346
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
13121
13347
  }
13122
- var TripleSlash$0 = $TV($EXPECT($L198, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13348
+ var TripleSlash$0 = $TV($EXPECT($L197, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13123
13349
  return { $loc, token: "/" };
13124
13350
  });
13125
13351
  function TripleSlash(ctx, state) {
13126
13352
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
13127
13353
  }
13128
- var TripleTick$0 = $TV($EXPECT($L199, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13354
+ var TripleTick$0 = $TV($EXPECT($L198, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13129
13355
  return { $loc, token: "`" };
13130
13356
  });
13131
13357
  function TripleTick(ctx, state) {
13132
13358
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
13133
13359
  }
13134
- var Try$0 = $TS($S($EXPECT($L200, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13360
+ var Try$0 = $TS($S($EXPECT($L199, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13135
13361
  return { $loc, token: $1 };
13136
13362
  });
13137
13363
  function Try(ctx, state) {
13138
13364
  return $EVENT(ctx, state, "Try", Try$0);
13139
13365
  }
13140
- var Typeof$0 = $TS($S($EXPECT($L201, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13366
+ var Typeof$0 = $TS($S($EXPECT($L200, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13141
13367
  return { $loc, token: $1 };
13142
13368
  });
13143
13369
  function Typeof(ctx, state) {
13144
13370
  return $EVENT(ctx, state, "Typeof", Typeof$0);
13145
13371
  }
13146
- var Undefined$0 = $TS($S($EXPECT($L202, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13372
+ var Undefined$0 = $TS($S($EXPECT($L201, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13147
13373
  return { $loc, token: $1 };
13148
13374
  });
13149
13375
  function Undefined(ctx, state) {
13150
13376
  return $EVENT(ctx, state, "Undefined", Undefined$0);
13151
13377
  }
13152
- var Unless$0 = $TS($S($EXPECT($L203, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13378
+ var Unless$0 = $TS($S($EXPECT($L202, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13153
13379
  return { $loc, token: $1, negated: true };
13154
13380
  });
13155
13381
  function Unless(ctx, state) {
13156
13382
  return $EVENT(ctx, state, "Unless", Unless$0);
13157
13383
  }
13158
- var Until$0 = $TS($S($EXPECT($L204, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13384
+ var Until$0 = $TS($S($EXPECT($L203, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13159
13385
  return { $loc, token: $1 };
13160
13386
  });
13161
13387
  function Until(ctx, state) {
13162
13388
  return $EVENT(ctx, state, "Until", Until$0);
13163
13389
  }
13164
- var Using$0 = $TS($S($EXPECT($L205, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13390
+ var Using$0 = $TS($S($EXPECT($L204, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13165
13391
  return { $loc, token: $1 };
13166
13392
  });
13167
13393
  function Using(ctx, state) {
13168
13394
  return $EVENT(ctx, state, "Using", Using$0);
13169
13395
  }
13170
- var Var$0 = $TS($S($EXPECT($L206, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13396
+ var Var$0 = $TS($S($EXPECT($L205, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13171
13397
  return { $loc, token: $1 };
13172
13398
  });
13173
13399
  function Var(ctx, state) {
13174
13400
  return $EVENT(ctx, state, "Var", Var$0);
13175
13401
  }
13176
- var Void$0 = $TS($S($EXPECT($L207, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13402
+ var Void$0 = $TS($S($EXPECT($L206, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13177
13403
  return { $loc, token: $1 };
13178
13404
  });
13179
13405
  function Void(ctx, state) {
13180
13406
  return $EVENT(ctx, state, "Void", Void$0);
13181
13407
  }
13182
- var When$0 = $TS($S($EXPECT($L208, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13408
+ var When$0 = $TS($S($EXPECT($L207, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13183
13409
  return { $loc, token: "case" };
13184
13410
  });
13185
13411
  function When(ctx, state) {
13186
13412
  return $EVENT(ctx, state, "When", When$0);
13187
13413
  }
13188
- var While$0 = $TS($S($EXPECT($L209, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13414
+ var While$0 = $TS($S($EXPECT($L208, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13189
13415
  return { $loc, token: $1 };
13190
13416
  });
13191
13417
  function While(ctx, state) {
13192
13418
  return $EVENT(ctx, state, "While", While$0);
13193
13419
  }
13194
- var Yield$0 = $TS($S($EXPECT($L210, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13420
+ var Yield$0 = $TS($S($EXPECT($L209, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13195
13421
  return { $loc, token: $1, type: "Yield" };
13196
13422
  });
13197
13423
  function Yield(ctx, state) {
@@ -13220,7 +13446,7 @@ var require_parser = __commonJS({
13220
13446
  function JSXImplicitFragment(ctx, state) {
13221
13447
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
13222
13448
  }
13223
- var JSXTag$0 = $T($S($EXPECT($R73, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13449
+ var JSXTag$0 = $T($S($EXPECT($R74, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13224
13450
  return value[1];
13225
13451
  });
13226
13452
  function JSXTag(ctx, state) {
@@ -13270,7 +13496,7 @@ var require_parser = __commonJS({
13270
13496
  function JSXElement(ctx, state) {
13271
13497
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
13272
13498
  }
13273
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L211, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13499
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L210, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13274
13500
  return { type: "JSXElement", children: $0, tag: $2 };
13275
13501
  });
13276
13502
  function JSXSelfClosingElement(ctx, state) {
@@ -13289,7 +13515,7 @@ var require_parser = __commonJS({
13289
13515
  function PopJSXStack(ctx, state) {
13290
13516
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
13291
13517
  }
13292
- var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L45, 'JSXOpeningElement ">"'));
13518
+ var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L44, 'JSXOpeningElement ">"'));
13293
13519
  function JSXOpeningElement(ctx, state) {
13294
13520
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
13295
13521
  }
@@ -13304,7 +13530,7 @@ var require_parser = __commonJS({
13304
13530
  function JSXOptionalClosingElement(ctx, state) {
13305
13531
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
13306
13532
  }
13307
- var JSXClosingElement$0 = $S($EXPECT($L212, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
13533
+ var JSXClosingElement$0 = $S($EXPECT($L211, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L44, 'JSXClosingElement ">"'));
13308
13534
  function JSXClosingElement(ctx, state) {
13309
13535
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
13310
13536
  }
@@ -13325,7 +13551,7 @@ var require_parser = __commonJS({
13325
13551
  ];
13326
13552
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
13327
13553
  });
13328
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L213, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13554
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L212, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13329
13555
  var children = $3;
13330
13556
  $0 = $0.slice(1);
13331
13557
  return {
@@ -13338,7 +13564,7 @@ var require_parser = __commonJS({
13338
13564
  function JSXFragment(ctx, state) {
13339
13565
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
13340
13566
  }
13341
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L213, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13567
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L212, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13342
13568
  module2.JSXTagStack.push("");
13343
13569
  return $1;
13344
13570
  });
@@ -13355,11 +13581,11 @@ var require_parser = __commonJS({
13355
13581
  function JSXOptionalClosingFragment(ctx, state) {
13356
13582
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
13357
13583
  }
13358
- var JSXClosingFragment$0 = $EXPECT($L214, 'JSXClosingFragment "</>"');
13584
+ var JSXClosingFragment$0 = $EXPECT($L213, 'JSXClosingFragment "</>"');
13359
13585
  function JSXClosingFragment(ctx, state) {
13360
13586
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
13361
13587
  }
13362
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L160, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13588
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L159, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13363
13589
  return module2.config.defaultElement;
13364
13590
  });
13365
13591
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -13367,7 +13593,7 @@ var require_parser = __commonJS({
13367
13593
  function JSXElementName(ctx, state) {
13368
13594
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
13369
13595
  }
13370
- var JSXIdentifierName$0 = $R$0($EXPECT($R74, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13596
+ var JSXIdentifierName$0 = $R$0($EXPECT($R75, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13371
13597
  function JSXIdentifierName(ctx, state) {
13372
13598
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
13373
13599
  }
@@ -13537,7 +13763,7 @@ var require_parser = __commonJS({
13537
13763
  }
13538
13764
  return $skip;
13539
13765
  });
13540
- var JSXAttribute$5 = $TS($S($EXPECT($L160, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13766
+ var JSXAttribute$5 = $TS($S($EXPECT($L159, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13541
13767
  return [" ", "id=", $2];
13542
13768
  });
13543
13769
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -13546,7 +13772,7 @@ var require_parser = __commonJS({
13546
13772
  class: $2
13547
13773
  };
13548
13774
  });
13549
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R75, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13775
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R76, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13550
13776
  var toggle = $1;
13551
13777
  var id = $2;
13552
13778
  const value = toggle === "+" ? "true" : "false";
@@ -13556,11 +13782,11 @@ var require_parser = __commonJS({
13556
13782
  function JSXAttribute(ctx, state) {
13557
13783
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
13558
13784
  }
13559
- var JSXAttributeSpace$0 = $R$0($EXPECT($R76, "JSXAttributeSpace /[\\s>]|\\/>/"));
13785
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R77, "JSXAttributeSpace /[\\s>]|\\/>/"));
13560
13786
  function JSXAttributeSpace(ctx, state) {
13561
13787
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
13562
13788
  }
13563
- var JSXShorthandString$0 = $TR($EXPECT($R77, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13789
+ var JSXShorthandString$0 = $TR($EXPECT($R78, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13564
13790
  return quoteString($0);
13565
13791
  });
13566
13792
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -13594,7 +13820,7 @@ var require_parser = __commonJS({
13594
13820
  }
13595
13821
  return [open, value, close];
13596
13822
  });
13597
- var JSXAttributeValue$4 = $R$0($EXPECT($R78, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13823
+ var JSXAttributeValue$4 = $R$0($EXPECT($R79, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13598
13824
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
13599
13825
  function JSXAttributeValue(ctx, state) {
13600
13826
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -13607,7 +13833,7 @@ var require_parser = __commonJS({
13607
13833
  function InlineJSXAttributeValue(ctx, state) {
13608
13834
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
13609
13835
  }
13610
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R79, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13836
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R80, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13611
13837
  var op = $2;
13612
13838
  var rhs = $3;
13613
13839
  return [[], op, [], rhs];
@@ -13624,7 +13850,7 @@ var require_parser = __commonJS({
13624
13850
  function InlineJSXUnaryExpression(ctx, state) {
13625
13851
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
13626
13852
  }
13627
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R80, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13853
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R81, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13628
13854
  return { $loc, token: $0 };
13629
13855
  });
13630
13856
  function InlineJSXUnaryOp(ctx, state) {
@@ -13779,7 +14005,7 @@ var require_parser = __commonJS({
13779
14005
  }
13780
14006
  return $skip;
13781
14007
  });
13782
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L37, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
14008
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L36, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
13783
14009
  return { children: [], jsxChildren: [] };
13784
14010
  });
13785
14011
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -13834,19 +14060,19 @@ var require_parser = __commonJS({
13834
14060
  function JSXChild(ctx, state) {
13835
14061
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
13836
14062
  }
13837
- var JSXComment$0 = $TS($S($EXPECT($L215, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L216, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
14063
+ var JSXComment$0 = $TS($S($EXPECT($L214, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L215, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13838
14064
  return ["{/*", $2, "*/}"];
13839
14065
  });
13840
14066
  function JSXComment(ctx, state) {
13841
14067
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
13842
14068
  }
13843
- var JSXCommentContent$0 = $TR($EXPECT($R81, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14069
+ var JSXCommentContent$0 = $TR($EXPECT($R82, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13844
14070
  return { $loc, token: $0.replace(/\*\//g, "* /") };
13845
14071
  });
13846
14072
  function JSXCommentContent(ctx, state) {
13847
14073
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
13848
14074
  }
13849
- var JSXText$0 = $TR($EXPECT($R82, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14075
+ var JSXText$0 = $TR($EXPECT($R83, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13850
14076
  return {
13851
14077
  type: "JSXText",
13852
14078
  token: $0,
@@ -14021,37 +14247,37 @@ var require_parser = __commonJS({
14021
14247
  function InterfaceExtendsTarget(ctx, state) {
14022
14248
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
14023
14249
  }
14024
- var TypeKeyword$0 = $TS($S($EXPECT($L217, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14250
+ var TypeKeyword$0 = $TS($S($EXPECT($L216, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14025
14251
  return { $loc, token: $1 };
14026
14252
  });
14027
14253
  function TypeKeyword(ctx, state) {
14028
14254
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
14029
14255
  }
14030
- var Enum$0 = $TS($S($EXPECT($L218, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14256
+ var Enum$0 = $TS($S($EXPECT($L217, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14031
14257
  return { $loc, token: $1 };
14032
14258
  });
14033
14259
  function Enum(ctx, state) {
14034
14260
  return $EVENT(ctx, state, "Enum", Enum$0);
14035
14261
  }
14036
- var Interface$0 = $TS($S($EXPECT($L219, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14262
+ var Interface$0 = $TS($S($EXPECT($L218, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14037
14263
  return { $loc, token: $1 };
14038
14264
  });
14039
14265
  function Interface(ctx, state) {
14040
14266
  return $EVENT(ctx, state, "Interface", Interface$0);
14041
14267
  }
14042
- var Global$0 = $TS($S($EXPECT($L220, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14268
+ var Global$0 = $TS($S($EXPECT($L219, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14043
14269
  return { $loc, token: $1 };
14044
14270
  });
14045
14271
  function Global(ctx, state) {
14046
14272
  return $EVENT(ctx, state, "Global", Global$0);
14047
14273
  }
14048
- var Module$0 = $TS($S($EXPECT($L221, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14274
+ var Module$0 = $TS($S($EXPECT($L220, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14049
14275
  return { $loc, token: $1 };
14050
14276
  });
14051
14277
  function Module(ctx, state) {
14052
14278
  return $EVENT(ctx, state, "Module", Module$0);
14053
14279
  }
14054
- var Namespace$0 = $TS($S($EXPECT($L222, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14280
+ var Namespace$0 = $TS($S($EXPECT($L221, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14055
14281
  return { $loc, token: $1 };
14056
14282
  });
14057
14283
  function Namespace(ctx, state) {
@@ -14267,7 +14493,7 @@ var require_parser = __commonJS({
14267
14493
  function TypeProperty(ctx, state) {
14268
14494
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
14269
14495
  }
14270
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R83, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R10, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
14496
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R84, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R12, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
14271
14497
  function TypeIndexSignature(ctx, state) {
14272
14498
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
14273
14499
  }
@@ -14327,7 +14553,7 @@ var require_parser = __commonJS({
14327
14553
  function ReturnTypeSuffix(ctx, state) {
14328
14554
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
14329
14555
  }
14330
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L223, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14556
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L222, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14331
14557
  var asserts = $1;
14332
14558
  var t = $2;
14333
14559
  if (asserts) {
@@ -14348,7 +14574,7 @@ var require_parser = __commonJS({
14348
14574
  function ReturnType(ctx, state) {
14349
14575
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
14350
14576
  }
14351
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L166, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14577
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L165, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14352
14578
  var lhs = $1;
14353
14579
  var rhs = $2;
14354
14580
  if (!rhs)
@@ -14406,8 +14632,8 @@ var require_parser = __commonJS({
14406
14632
  function TypeUnarySuffix(ctx, state) {
14407
14633
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
14408
14634
  }
14409
- var TypeUnaryOp$0 = $S($EXPECT($L224, 'TypeUnaryOp "keyof"'), NonIdContinue);
14410
- var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
14635
+ var TypeUnaryOp$0 = $S($EXPECT($L223, 'TypeUnaryOp "keyof"'), NonIdContinue);
14636
+ var TypeUnaryOp$1 = $S($EXPECT($L183, 'TypeUnaryOp "readonly"'), NonIdContinue);
14411
14637
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
14412
14638
  function TypeUnaryOp(ctx, state) {
14413
14639
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -14423,7 +14649,7 @@ var require_parser = __commonJS({
14423
14649
  "]"
14424
14650
  ];
14425
14651
  });
14426
- var TypeIndexedAccess$2 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
14652
+ var TypeIndexedAccess$2 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E($C(IdentifierName, LengthShorthand))), function($skip, $loc, $0, $1, $2, $3) {
14427
14653
  var p = $2;
14428
14654
  var id = $3;
14429
14655
  const open = { ...p, token: '["' };
@@ -14437,7 +14663,7 @@ var require_parser = __commonJS({
14437
14663
  function TypeIndexedAccess(ctx, state) {
14438
14664
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
14439
14665
  }
14440
- var UnknownAlias$0 = $TV($EXPECT($L225, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14666
+ var UnknownAlias$0 = $TV($EXPECT($L224, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14441
14667
  return { $loc, token: "unknown" };
14442
14668
  });
14443
14669
  function UnknownAlias(ctx, state) {
@@ -14500,7 +14726,7 @@ var require_parser = __commonJS({
14500
14726
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
14501
14727
  }
14502
14728
  var ImportType$0 = $S($EXPECT($L20, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
14503
- var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
14729
+ var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, $E(Trimmed_), StringLiteral, InsertCloseParen);
14504
14730
  var ImportType$$ = [ImportType$0, ImportType$1];
14505
14731
  function ImportType(ctx, state) {
14506
14732
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
@@ -14563,7 +14789,7 @@ var require_parser = __commonJS({
14563
14789
  function NestedType(ctx, state) {
14564
14790
  return $EVENT(ctx, state, "NestedType", NestedType$0);
14565
14791
  }
14566
- var TypeConditional$0 = $TS($S($E(_), $EXPECT($R84, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14792
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14567
14793
  return [$1, expressionizeTypeIf($3)];
14568
14794
  });
14569
14795
  var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
@@ -14643,17 +14869,17 @@ var require_parser = __commonJS({
14643
14869
  }
14644
14870
  var TypeLiteral$0 = TypeTemplateLiteral;
14645
14871
  var TypeLiteral$1 = Literal;
14646
- var TypeLiteral$2 = $TS($S($EXPECT($R10, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14872
+ var TypeLiteral$2 = $TS($S($EXPECT($R12, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14647
14873
  var sign = $1;
14648
14874
  var num = $2;
14649
14875
  if (sign[0] === "+")
14650
14876
  return num;
14651
14877
  return $0;
14652
14878
  });
14653
- var TypeLiteral$3 = $TS($S($EXPECT($L207, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14879
+ var TypeLiteral$3 = $TS($S($EXPECT($L206, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14654
14880
  return { type: "VoidType", $loc, token: $1 };
14655
14881
  });
14656
- var TypeLiteral$4 = $TV($EXPECT($L226, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14882
+ var TypeLiteral$4 = $TV($EXPECT($L225, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14657
14883
  return { $loc, token: "[]" };
14658
14884
  });
14659
14885
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
@@ -14672,16 +14898,16 @@ var require_parser = __commonJS({
14672
14898
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
14673
14899
  return value[1];
14674
14900
  });
14675
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L46, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "}"'))));
14901
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L45, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "}"'))));
14676
14902
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
14677
14903
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
14678
14904
  function InlineInterfacePropertyDelimiter(ctx, state) {
14679
14905
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
14680
14906
  }
14681
- var TypeBinaryOp$0 = $TV($EXPECT($L110, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14907
+ var TypeBinaryOp$0 = $TV($EXPECT($L109, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14682
14908
  return { $loc, token: "|" };
14683
14909
  });
14684
- var TypeBinaryOp$1 = $TV($EXPECT($L109, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14910
+ var TypeBinaryOp$1 = $TV($EXPECT($L108, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14685
14911
  return { $loc, token: "&" };
14686
14912
  });
14687
14913
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -14698,7 +14924,7 @@ var require_parser = __commonJS({
14698
14924
  function TypeFunction(ctx, state) {
14699
14925
  return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
14700
14926
  }
14701
- var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L35, 'TypeArrowFunction "->"'), $EXPECT($L36, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14927
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L34, 'TypeArrowFunction "->"'), $EXPECT($L35, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14702
14928
  return { $loc, token: "=>" };
14703
14929
  });
14704
14930
  function TypeArrowFunction(ctx, state) {
@@ -14736,7 +14962,7 @@ var require_parser = __commonJS({
14736
14962
  function TypeParameters(ctx, state) {
14737
14963
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
14738
14964
  }
14739
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L165, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14965
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L164, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14740
14966
  function TypeParameter(ctx, state) {
14741
14967
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
14742
14968
  }
@@ -14749,7 +14975,7 @@ var require_parser = __commonJS({
14749
14975
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
14750
14976
  }
14751
14977
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
14752
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L45, 'TypeParameterDelimiter ">"')));
14978
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L44, 'TypeParameterDelimiter ">"')));
14753
14979
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
14754
14980
  return value[1];
14755
14981
  });
@@ -14763,15 +14989,15 @@ var require_parser = __commonJS({
14763
14989
  function ThisType(ctx, state) {
14764
14990
  return $EVENT(ctx, state, "ThisType", ThisType$0);
14765
14991
  }
14766
- var Shebang$0 = $S($R$0($EXPECT($R85, "Shebang /#![^\\r\\n]*/")), EOL);
14992
+ var Shebang$0 = $S($R$0($EXPECT($R86, "Shebang /#![^\\r\\n]*/")), EOL);
14767
14993
  function Shebang(ctx, state) {
14768
14994
  return $EVENT(ctx, state, "Shebang", Shebang$0);
14769
14995
  }
14770
- var CivetPrologue$0 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14996
+ var CivetPrologue$0 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14771
14997
  var content = value[2];
14772
14998
  return content;
14773
14999
  });
14774
- var CivetPrologue$1 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
15000
+ var CivetPrologue$1 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14775
15001
  var content = value[2];
14776
15002
  return content;
14777
15003
  });
@@ -14779,7 +15005,7 @@ var require_parser = __commonJS({
14779
15005
  function CivetPrologue(ctx, state) {
14780
15006
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
14781
15007
  }
14782
- var CivetPrologueContent$0 = $TS($S($EXPECT($L227, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R88, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
15008
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L226, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R89, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
14783
15009
  var options = $3;
14784
15010
  return {
14785
15011
  type: "CivetPrologue",
@@ -14790,7 +15016,7 @@ var require_parser = __commonJS({
14790
15016
  function CivetPrologueContent(ctx, state) {
14791
15017
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
14792
15018
  }
14793
- var CivetOption$0 = $TR($EXPECT($R89, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15019
+ var CivetOption$0 = $TR($EXPECT($R90, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14794
15020
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
14795
15021
  if (l)
14796
15022
  return l.toUpperCase();
@@ -14807,11 +15033,11 @@ var require_parser = __commonJS({
14807
15033
  function CivetOption(ctx, state) {
14808
15034
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
14809
15035
  }
14810
- var UnknownPrologue$0 = $S($R$0($EXPECT($R86, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
15036
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R87, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
14811
15037
  function UnknownPrologue(ctx, state) {
14812
15038
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
14813
15039
  }
14814
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R90, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
15040
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R91, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
14815
15041
  function TripleSlashDirective(ctx, state) {
14816
15042
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
14817
15043
  }
@@ -14827,13 +15053,13 @@ var require_parser = __commonJS({
14827
15053
  function PrologueString(ctx, state) {
14828
15054
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
14829
15055
  }
14830
- var EOS$0 = $T($S($EXPECT($R91, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
15056
+ var EOS$0 = $T($S($EXPECT($R92, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
14831
15057
  return value[1];
14832
15058
  });
14833
15059
  function EOS(ctx, state) {
14834
15060
  return $EVENT(ctx, state, "EOS", EOS$0);
14835
15061
  }
14836
- var EOL$0 = $TR($EXPECT($R92, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15062
+ var EOL$0 = $TR($EXPECT($R93, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14837
15063
  return { $loc, token: $0 };
14838
15064
  });
14839
15065
  function EOL(ctx, state) {
@@ -15405,11 +15631,11 @@ var require_parser = __commonJS({
15405
15631
  function Prologue(ctx, state) {
15406
15632
  return $EVENT(ctx, state, "Prologue", Prologue$0);
15407
15633
  }
15408
- var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R93, "ProloguePrefix /[^]*/")));
15634
+ var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R94, "ProloguePrefix /[^]*/")));
15409
15635
  function ProloguePrefix(ctx, state) {
15410
15636
  return $EVENT(ctx, state, "ProloguePrefix", ProloguePrefix$0);
15411
15637
  }
15412
- var Indent$0 = $TR($EXPECT($R87, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15638
+ var Indent$0 = $TR($EXPECT($R88, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15413
15639
  const level = getIndentLevel($0, module2.config.tab);
15414
15640
  return {
15415
15641
  $loc,
@@ -15539,6 +15765,7 @@ var require_parser = __commonJS({
15539
15765
  exports2.ExplicitArguments = ExplicitArguments;
15540
15766
  exports2.ApplicationStart = ApplicationStart;
15541
15767
  exports2.ForbiddenImplicitCalls = ForbiddenImplicitCalls;
15768
+ exports2.ReservedBinary = ReservedBinary;
15542
15769
  exports2.ArgumentsWithTrailingMemberExpressions = ArgumentsWithTrailingMemberExpressions;
15543
15770
  exports2.TrailingMemberExpressions = TrailingMemberExpressions;
15544
15771
  exports2.AllowedTrailingMemberExpressions = AllowedTrailingMemberExpressions;
@@ -15571,8 +15798,11 @@ var require_parser = __commonJS({
15571
15798
  exports2.AssignmentExpression = AssignmentExpression;
15572
15799
  exports2.NonPipelineAssignmentExpression = NonPipelineAssignmentExpression;
15573
15800
  exports2.SingleLineAssignmentExpression = SingleLineAssignmentExpression;
15801
+ exports2.NonPipelineSingleLineAssignmentExpression = NonPipelineSingleLineAssignmentExpression;
15574
15802
  exports2.AssignmentExpressionTail = AssignmentExpressionTail;
15803
+ exports2.NonPipelineAssignmentExpressionTail = NonPipelineAssignmentExpressionTail;
15575
15804
  exports2.ActualAssignment = ActualAssignment;
15805
+ exports2.NonPipelineActualAssignment = NonPipelineActualAssignment;
15576
15806
  exports2.YieldExpression = YieldExpression;
15577
15807
  exports2.YieldTail = YieldTail;
15578
15808
  exports2.ArrowFunction = ArrowFunction;
@@ -15589,7 +15819,8 @@ var require_parser = __commonJS({
15589
15819
  exports2.PipelineTailItem = PipelineTailItem;
15590
15820
  exports2.PrimaryExpression = PrimaryExpression;
15591
15821
  exports2.ParenthesizedExpression = ParenthesizedExpression;
15592
- exports2.PartialPlaceholder = PartialPlaceholder;
15822
+ exports2.Placeholder = Placeholder;
15823
+ exports2.AmpersandTypeSuffix = AmpersandTypeSuffix;
15593
15824
  exports2.ClassDeclaration = ClassDeclaration;
15594
15825
  exports2.ClassExpression = ClassExpression;
15595
15826
  exports2.ClassBinding = ClassBinding;
@@ -15678,15 +15909,11 @@ var require_parser = __commonJS({
15678
15909
  exports2.FunctionDeclaration = FunctionDeclaration;
15679
15910
  exports2.FunctionSignature = FunctionSignature;
15680
15911
  exports2.FunctionExpression = FunctionExpression;
15681
- exports2.AmpersandFunctionExpression = AmpersandFunctionExpression;
15682
15912
  exports2.OperatorDeclaration = OperatorDeclaration;
15683
15913
  exports2.OperatorSignature = OperatorSignature;
15684
15914
  exports2.OperatorBehavior = OperatorBehavior;
15685
15915
  exports2.OperatorPrecedence = OperatorPrecedence;
15686
15916
  exports2.OperatorAssociativity = OperatorAssociativity;
15687
- exports2.AmpersandBlockRHS = AmpersandBlockRHS;
15688
- exports2.AmpersandTypeSuffix = AmpersandTypeSuffix;
15689
- exports2.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
15690
15917
  exports2.ThinArrowFunction = ThinArrowFunction;
15691
15918
  exports2.Arrow = Arrow;
15692
15919
  exports2.ExplicitBlock = ExplicitBlock;
@@ -16268,9 +16495,10 @@ module.exports = __toCommonJS(main_exports);
16268
16495
  var import_parser = __toESM(require_parser());
16269
16496
 
16270
16497
  // source/generate.civet
16498
+ init_util();
16271
16499
  function stringify(node) {
16272
16500
  try {
16273
- return JSON.stringify(node);
16501
+ return JSON.stringify(removeParentPointers(node));
16274
16502
  } catch (e) {
16275
16503
  return `${node}`;
16276
16504
  }