@danielx/civet 0.6.93 → 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 +1047 -915
  2. package/dist/main.js +1047 -915
  3. package/dist/main.mjs +1047 -915
  4. package/package.json +1 -1
package/dist/browser.js CHANGED
@@ -471,6 +471,32 @@ var Civet = (() => {
471
471
  }
472
472
  }
473
473
  }
474
+ function maybeWrap(node, parent) {
475
+ if (!isASTNodeObject(node)) {
476
+ updateParentPointers(node = {
477
+ type: "Wrapper",
478
+ children: [node],
479
+ parent
480
+ });
481
+ }
482
+ return node;
483
+ }
484
+ function maybeUnwrap(node) {
485
+ if (node?.type === "Wrapper") {
486
+ return node.children[0];
487
+ } else {
488
+ return node;
489
+ }
490
+ }
491
+ function isASTNodeObject(node) {
492
+ return typeof node === "object" && node != null && !Array.isArray(node);
493
+ }
494
+ function isParent(node) {
495
+ return node != null && node.children != null;
496
+ }
497
+ function isToken(node) {
498
+ return node != null && node.token != null;
499
+ }
474
500
  function isEmptyBareBlock(node) {
475
501
  if (node?.type !== "BlockStatement")
476
502
  return false;
@@ -536,7 +562,7 @@ var Civet = (() => {
536
562
  return;
537
563
  }
538
564
  function insertTrimmingSpace(target, c) {
539
- if (!target) {
565
+ if (!(target != null)) {
540
566
  return target;
541
567
  }
542
568
  if (Array.isArray(target)) {
@@ -546,35 +572,80 @@ var Civet = (() => {
546
572
  return target.map((e, i) => {
547
573
  if (i === 0) {
548
574
  return insertTrimmingSpace(e, c);
575
+ } else {
576
+ return e;
549
577
  }
550
- return e;
551
578
  });
552
- }
553
- if (target.children) {
579
+ } else if (isParent(target)) {
554
580
  return {
555
581
  ...target,
556
582
  children: insertTrimmingSpace(target.children, c)
557
583
  };
558
- }
559
- if (target.token) {
584
+ } else if (isToken(target)) {
560
585
  return {
561
586
  ...target,
562
587
  token: target.token.replace(/^ ?/, c)
563
588
  };
589
+ } else {
590
+ return target;
591
+ }
592
+ }
593
+ function inplaceInsertTrimmingSpace(target, c) {
594
+ if (!(target != null)) {
595
+ return target;
596
+ }
597
+ if (Array.isArray(target)) {
598
+ inplaceInsertTrimmingSpace(target[0], c);
599
+ } else if (isParent(target)) {
600
+ inplaceInsertTrimmingSpace(target.children, c);
601
+ } else if (isToken(target)) {
602
+ target.token = target.token.replace(/^ ?/, c);
564
603
  }
565
- return target;
566
604
  }
567
605
  function getTrimmingSpace(target) {
568
- if (!target)
606
+ if (!(target != null)) {
569
607
  return;
570
- if (Array.isArray(target))
608
+ }
609
+ if (Array.isArray(target)) {
571
610
  return getTrimmingSpace(target[0]);
572
- if (target.children)
611
+ } else if (isParent(target)) {
573
612
  return getTrimmingSpace(target.children[0]);
574
- if (target.token)
613
+ } else if (isToken(target)) {
575
614
  return target.token.match(/^ ?/)[0];
615
+ }
616
+ ;
576
617
  return;
577
618
  }
619
+ function prepend(prefix, node) {
620
+ if (!(prefix && prefix.length)) {
621
+ return node;
622
+ }
623
+ if (Array.isArray(node)) {
624
+ return [prefix, ...node];
625
+ } else if (isParent(node)) {
626
+ return {
627
+ ...node,
628
+ children: [prefix, ...node.children]
629
+ };
630
+ } else {
631
+ return [prefix, node];
632
+ }
633
+ }
634
+ function inplacePrepend(prefix, node) {
635
+ if (!prefix) {
636
+ return;
637
+ }
638
+ if (Array.isArray(prefix) && !prefix.length) {
639
+ return;
640
+ }
641
+ if (Array.isArray(node)) {
642
+ node.unshift(prefix);
643
+ } else if (isParent(node)) {
644
+ node.children.unshift(prefix);
645
+ } else {
646
+ throw new Error("Can't prepend to a leaf node");
647
+ }
648
+ }
578
649
  function literalValue(literal) {
579
650
  let { raw } = literal;
580
651
  switch (raw) {
@@ -629,12 +700,12 @@ var Civet = (() => {
629
700
  return startsWith(target[i], value);
630
701
  }
631
702
  }
703
+ if (typeof target === "string")
704
+ return value.test(target);
632
705
  if (target.children)
633
706
  return startsWith(target.children, value);
634
707
  if (target.token)
635
708
  return value.test(target.token);
636
- if (typeof target === "string")
637
- return value.test(target);
638
709
  return;
639
710
  }
640
711
  function hasAwait(exp) {
@@ -682,64 +753,32 @@ var Civet = (() => {
682
753
  }
683
754
  }
684
755
  }
685
- function makeAmpersandFunction(bodyAfterRef = []) {
686
- const ref = makeRef("$");
687
- const body = [ref, ...bodyAfterRef];
688
- const parameters = {
689
- type: "Parameters",
690
- children: [ref],
691
- names: []
692
- };
693
- const block = {
694
- expressions: body
695
- };
696
- return {
697
- type: "ArrowFunction",
698
- signature: {
699
- modifier: {}
700
- },
701
- children: [parameters, " => ", body],
702
- ref,
703
- body,
704
- ampersandBlock: true,
705
- block,
706
- parameters
707
- };
708
- }
709
- function makeAmpersandFunctionExpression(prefix, rhs) {
710
- let ref, body, typeSuffix;
711
- if (!rhs) {
712
- body = ref = makeRef("$");
713
- } else {
714
- ({ ref, typeSuffix } = rhs);
715
- if (!ref) {
716
- throw new Error("Could not find ref in ampersand shorthand block");
717
- }
718
- body = rhs;
756
+ function makeAmpersandFunction(rhs) {
757
+ let { ref, typeSuffix, body } = rhs;
758
+ if (!(ref != null)) {
759
+ ref = makeRef("$");
760
+ inplacePrepend(ref, body);
719
761
  }
720
- if (prefix.length) {
721
- body = {
722
- type: "UnaryExpression",
723
- children: [processUnaryExpression(prefix, body, void 0)]
724
- };
762
+ if (body?.type === "ObjectExpression") {
763
+ body = makeLeftHandSideExpression(body);
725
764
  }
726
- const parameters = {
765
+ const parameters = makeNode({
727
766
  type: "Parameters",
728
767
  children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
729
768
  names: []
730
- };
769
+ });
731
770
  const expressions = [body];
732
- const block = {
771
+ const block = makeNode({
733
772
  bare: true,
734
773
  expressions,
735
774
  children: [expressions]
736
- };
775
+ });
737
776
  const children = [parameters, " => ", block];
738
777
  const async = hasAwait(body);
739
778
  if (async) {
740
779
  children.unshift("async ");
741
780
  }
742
- return {
781
+ return makeNode({
743
782
  type: "ArrowFunction",
744
783
  signature: {
745
784
  modifier: {
@@ -752,45 +791,7 @@ var Civet = (() => {
752
791
  ampersandBlock: true,
753
792
  block,
754
793
  parameters
755
- };
756
- }
757
- function makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS) {
758
- const ref = makeRef("$");
759
- let exp = {
760
- type: "AmpersandRef",
761
- children: [ref],
762
- names: [],
763
- ref
764
- };
765
- if (callExpRest) {
766
- exp.children.push(...callExpRest[1]);
767
- }
768
- if (unaryPostfix) {
769
- exp = processUnaryExpression([], exp, unaryPostfix);
770
- }
771
- if (assign) {
772
- const [op1, more, rhs] = assign;
773
- const lhs = [
774
- [void 0, exp, ...op1],
775
- ...more.map((x) => [x[0], x[1], ...x[2]])
776
- ];
777
- exp = {
778
- type: "AssignmentExpression",
779
- children: [lhs, rhs],
780
- names: null,
781
- lhs,
782
- assigned: exp,
783
- exp: rhs
784
- };
785
- }
786
- if (binopRHS) {
787
- exp = {
788
- children: processBinaryOpExpression([exp, binopRHS[1]])
789
- };
790
- }
791
- exp.ref = ref;
792
- exp.typeSuffix = typeSuffix;
793
- return exp;
794
+ });
794
795
  }
795
796
  function makeLeftHandSideExpression(expression) {
796
797
  if (expression.parenthesized) {
@@ -807,6 +808,7 @@ var Civet = (() => {
807
808
  case "NewExpression":
808
809
  case "ParenthesizedExpression":
809
810
  case "Ref":
811
+ case "Placeholder":
810
812
  case "StatementExpression":
811
813
  return expression;
812
814
  }
@@ -819,10 +821,12 @@ var Civet = (() => {
819
821
  });
820
822
  }
821
823
  function updateParentPointers(node, parent, depth = 1) {
822
- if (node == null)
824
+ if (!(node != null)) {
823
825
  return;
824
- if (typeof node !== "object")
826
+ }
827
+ if (!(typeof node === "object")) {
825
828
  return;
829
+ }
826
830
  if (Array.isArray(node)) {
827
831
  for (const child of node) {
828
832
  updateParentPointers(child, parent, depth);
@@ -830,9 +834,10 @@ var Civet = (() => {
830
834
  return;
831
835
  }
832
836
  node = node;
833
- if (parent != null)
837
+ if (parent != null) {
834
838
  node.parent = parent;
835
- if (depth && node.children) {
839
+ }
840
+ if (depth && isParent(node)) {
836
841
  for (const child of node.children) {
837
842
  updateParentPointers(child, node, depth - 1);
838
843
  }
@@ -1004,7 +1009,13 @@ var Civet = (() => {
1004
1009
  return gatherRecursive(node, predicate, isFunction);
1005
1010
  }
1006
1011
  function findChildIndex(parent, child) {
1012
+ if (!(parent != null)) {
1013
+ return -1;
1014
+ }
1007
1015
  const children = Array.isArray(parent) ? parent : parent.children;
1016
+ if (!(children != null)) {
1017
+ return -1;
1018
+ }
1008
1019
  for (let i1 = 0, len = children.length; i1 < len; i1++) {
1009
1020
  const i = i1;
1010
1021
  const c = children[i1];
@@ -1013,18 +1024,13 @@ var Civet = (() => {
1013
1024
  }
1014
1025
  }
1015
1026
  function arrayRecurse(array) {
1016
- const results = [];
1017
1027
  for (let i2 = 0, len1 = array.length; i2 < len1; i2++) {
1018
- const i = i2;
1019
1028
  const c = array[i2];
1020
1029
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1021
1030
  return true;
1022
- } else {
1023
- results.push(void 0);
1024
1031
  }
1025
1032
  }
1026
- ;
1027
- return results;
1033
+ return false;
1028
1034
  }
1029
1035
  return -1;
1030
1036
  }
@@ -1035,7 +1041,7 @@ var Civet = (() => {
1035
1041
  return { ancestor: parent, child: node };
1036
1042
  }
1037
1043
  node = parent;
1038
- parent = node.parent;
1044
+ ({ parent } = node);
1039
1045
  }
1040
1046
  return { ancestor: void 0, child: node };
1041
1047
  }
@@ -2286,9 +2292,6 @@ var Civet = (() => {
2286
2292
  function skipImplicitArguments(args) {
2287
2293
  if (args.length === 1) {
2288
2294
  let arg0 = args[0];
2289
- if (Array.isArray(arg0)) {
2290
- arg0 = arg0[1];
2291
- }
2292
2295
  if (arg0.type === "StatementExpression") {
2293
2296
  arg0 = arg0.statement;
2294
2297
  }
@@ -2318,7 +2321,11 @@ var Civet = (() => {
2318
2321
  let [splices, assignments] = gatherBindingCode(pattern);
2319
2322
  splices = splices.map((s) => [", ", s]);
2320
2323
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
2321
- const initializer = [ws, assign, e];
2324
+ const initializer = makeNode({
2325
+ type: "Initializer",
2326
+ exp: e,
2327
+ children: [ws, assign, e]
2328
+ });
2322
2329
  const binding = makeNode({
2323
2330
  type: "Binding",
2324
2331
  pattern,
@@ -2357,7 +2364,7 @@ var Civet = (() => {
2357
2364
  });
2358
2365
  }
2359
2366
  function prependStatementExpressionBlock(initializer, statement) {
2360
- let exp = initializer[2];
2367
+ let { exp } = initializer;
2361
2368
  let ws;
2362
2369
  if (Array.isArray(exp)) {
2363
2370
  ws = exp[0];
@@ -2377,7 +2384,7 @@ var Civet = (() => {
2377
2384
  const statement2 = statementExp.statement;
2378
2385
  blockStatement[1] = statement2;
2379
2386
  if (statement2.type === "DoStatement") {
2380
- ref = initializer[2] = makeRef();
2387
+ ref = initializer.exp = initializer.children[2] = makeRef();
2381
2388
  assignResults(blockStatement, (resultNode) => {
2382
2389
  return makeNode({
2383
2390
  type: "AssignmentExpression",
@@ -2393,10 +2400,10 @@ var Civet = (() => {
2393
2400
  } else {
2394
2401
  wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
2395
2402
  });
2396
- ref = initializer[2] = statement2.resultsRef;
2403
+ ref = initializer.exp = initializer.children[2] = statement2.resultsRef;
2397
2404
  }
2398
2405
  } else {
2399
- ref = initializer[2] = makeRef();
2406
+ ref = initializer.exp = initializer.children[2] = makeRef();
2400
2407
  assignResults(blockStatement, (resultNode) => {
2401
2408
  return makeNode({
2402
2409
  type: "AssignmentExpression",
@@ -2595,8 +2602,7 @@ var Civet = (() => {
2595
2602
  }
2596
2603
  })();
2597
2604
  const c = "const";
2598
- const initializer = [
2599
- " = ",
2605
+ const exp = [
2600
2606
  justDefault ? "(" : void 0,
2601
2607
  { type: "Await", children: ["await"] },
2602
2608
  " ",
@@ -2605,6 +2611,11 @@ var Civet = (() => {
2605
2611
  dynamizeFromClause(decl.from),
2606
2612
  justDefault ? ").default" : void 0
2607
2613
  ];
2614
+ const initializer = {
2615
+ type: "Initializer",
2616
+ exp,
2617
+ children: [" ", "= ", exp]
2618
+ };
2608
2619
  const bindings = [{
2609
2620
  type: "Binding",
2610
2621
  names: pattern.names,
@@ -2614,11 +2625,15 @@ var Civet = (() => {
2614
2625
  }];
2615
2626
  if (binding && specifiers) {
2616
2627
  const pattern2 = binding;
2617
- const initializer2 = [
2618
- " = ",
2628
+ const exp2 = [
2619
2629
  pattern,
2620
2630
  ".default"
2621
2631
  ];
2632
+ const initializer2 = {
2633
+ type: "Initializer",
2634
+ exp,
2635
+ children: [" ", "= ", exp2]
2636
+ };
2622
2637
  bindings.push({
2623
2638
  type: "Binding",
2624
2639
  names: binding.names,
@@ -2627,10 +2642,11 @@ var Civet = (() => {
2627
2642
  children: [pattern2, initializer2]
2628
2643
  });
2629
2644
  const pattern3 = convertNamedImportsToObject(imports.children.at(-1), true);
2630
- const initializer3 = [
2631
- " = ",
2632
- pattern
2633
- ];
2645
+ const initializer3 = {
2646
+ type: "Initializer",
2647
+ exp: pattern,
2648
+ children: [" ", "= ", pattern]
2649
+ };
2634
2650
  bindings.push({
2635
2651
  type: "Binding",
2636
2652
  names: specifiers.names,
@@ -3439,9 +3455,7 @@ var Civet = (() => {
3439
3455
  isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
3440
3456
  lastAccessInCallExpression: () => lastAccessInCallExpression,
3441
3457
  literalValue: () => literalValue,
3442
- makeAmpersandBlockRHSBody: () => makeAmpersandBlockRHSBody,
3443
3458
  makeAmpersandFunction: () => makeAmpersandFunction,
3444
- makeAmpersandFunctionExpression: () => makeAmpersandFunctionExpression,
3445
3459
  makeEmptyBlock: () => makeEmptyBlock,
3446
3460
  makeExpressionStatement: () => makeExpressionStatement,
3447
3461
  makeGetterMethod: () => makeGetterMethod,
@@ -3451,6 +3465,7 @@ var Civet = (() => {
3451
3465
  modifyString: () => modifyString,
3452
3466
  negateCondition: () => negateCondition,
3453
3467
  precedenceStep: () => precedenceStep,
3468
+ prepend: () => prepend,
3454
3469
  processAssignmentDeclaration: () => processAssignmentDeclaration,
3455
3470
  processBinaryOpExpression: () => processBinaryOpExpression,
3456
3471
  processCallMemberExpression: () => processCallMemberExpression,
@@ -3790,8 +3805,9 @@ var Civet = (() => {
3790
3805
  }
3791
3806
  return node;
3792
3807
  }
3793
- function replaceNode(node, newNode) {
3794
- if (!(node.parent != null)) {
3808
+ function replaceNode(node, newNode, parent) {
3809
+ parent ??= node.parent;
3810
+ if (!(parent != null)) {
3795
3811
  throw new Error("replaceNode failed: node has no parent");
3796
3812
  }
3797
3813
  function recurse(children) {
@@ -3809,12 +3825,20 @@ var Civet = (() => {
3809
3825
  }
3810
3826
  return false;
3811
3827
  }
3812
- if (!recurse(node.parent.children)) {
3828
+ if (!recurse(parent.children)) {
3813
3829
  throw new Error("replaceNode failed: didn't find child node in parent");
3814
3830
  }
3815
- if (typeof newNode === "object" && !Array.isArray(newNode)) {
3816
- newNode.parent = node.parent;
3831
+ for (const key in parent) {
3832
+ const value = parent[key];
3833
+ if (value === node) {
3834
+ parent[key] = newNode;
3835
+ return;
3836
+ }
3817
3837
  }
3838
+ if (isASTNodeObject(newNode)) {
3839
+ newNode.parent = parent;
3840
+ }
3841
+ node.parent = void 0;
3818
3842
  }
3819
3843
  function makeExpressionStatement(expression) {
3820
3844
  if (Array.isArray(expression) && expression[1]?.[0]?.[0]?.[1]?.token === ",") {
@@ -4078,10 +4102,13 @@ var Civet = (() => {
4078
4102
  (exp) => {
4079
4103
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
4080
4104
  let block;
4081
- if (exp.parent.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4105
+ if (exp.parent?.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4082
4106
  block = makeBlockFragment();
4083
4107
  let ref4;
4084
- if (ref4 = prependStatementExpressionBlock([null, null, $2], block)) {
4108
+ if (ref4 = prependStatementExpressionBlock(
4109
+ { type: "Initializer", exp: $2, children: [void 0, void 0, $2] },
4110
+ block
4111
+ )) {
4085
4112
  const ref = ref4;
4086
4113
  exp.children = exp.children.map(function(c) {
4087
4114
  if (c === $2)
@@ -4404,7 +4431,7 @@ var Civet = (() => {
4404
4431
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
4405
4432
  addParentPointers(root);
4406
4433
  const { expressions: statements } = root;
4407
- processPartialPlaceholders(statements);
4434
+ processPlaceholders(statements);
4408
4435
  processNegativeIndexAccess(statements);
4409
4436
  processTypes(statements);
4410
4437
  processDeclarationConditions(statements, m.getRef);
@@ -4449,40 +4476,140 @@ var Civet = (() => {
4449
4476
  });
4450
4477
  }
4451
4478
  }
4452
- function processPartialPlaceholders(statements) {
4453
- const partialMap = /* @__PURE__ */ new Map();
4454
- gatherRecursiveAll(statements, ($3) => $3.type === "PartialPlaceholder").forEach((_exp) => {
4479
+ function processPlaceholders(statements) {
4480
+ const placeholderMap = /* @__PURE__ */ new Map();
4481
+ gatherRecursiveAll(statements, ($3) => $3.type === "Placeholder").forEach((_exp) => {
4455
4482
  const exp = _exp;
4456
- let { ancestor } = findAncestor(exp, ($4) => $4?.type === "Call");
4457
- ancestor = ancestor?.parent;
4458
- while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
4459
- ancestor = ancestor.parent;
4483
+ let ancestor;
4484
+ if (exp.subtype === ".") {
4485
+ ({ ancestor } = findAncestor(exp, ($4) => $4.type === "Call"));
4486
+ ancestor = ancestor?.parent;
4487
+ while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
4488
+ ancestor = ancestor.parent;
4489
+ }
4490
+ if (!ancestor) {
4491
+ replaceNode(exp, {
4492
+ type: "Error",
4493
+ message: "Partial placeholder . outside of call expression"
4494
+ });
4495
+ return;
4496
+ }
4497
+ } else {
4498
+ let child;
4499
+ ({ ancestor, child } = findAncestor(exp, (ancestor2, child2) => {
4500
+ const { type } = ancestor2;
4501
+ return type === "Call" || type === "BlockStatement" || type === "PipelineExpression" || // Declaration
4502
+ type === "Initializer" || // Right-hand side of assignment
4503
+ type === "AssignmentExpression" && ancestor2.exp === child2;
4504
+ }));
4505
+ switch (ancestor?.type) {
4506
+ case "Call": {
4507
+ const i = findChildIndex(ancestor.args, child);
4508
+ if (i >= 0) {
4509
+ ancestor.args[i] = maybeWrap(ancestor.args[i], ancestor);
4510
+ ancestor = ancestor.args[i];
4511
+ } else {
4512
+ ancestor = void 0;
4513
+ }
4514
+ ;
4515
+ break;
4516
+ }
4517
+ case "BlockStatement": {
4518
+ const i = findChildIndex(ancestor.expressions, child);
4519
+ if (i >= 0) {
4520
+ ancestor.expressions[i][1] = maybeWrap(ancestor.expressions[i][1], ancestor);
4521
+ ancestor = ancestor.expressions[i][1];
4522
+ } else {
4523
+ ancestor = void 0;
4524
+ }
4525
+ ;
4526
+ break;
4527
+ }
4528
+ case "PipelineExpression": {
4529
+ const i = findChildIndex(ancestor, child);
4530
+ if (i === 1) {
4531
+ ancestor = ancestor;
4532
+ } else if (i === 2) {
4533
+ const j = findChildIndex(ancestor.children[i], child);
4534
+ ancestor.children[i][j][3] = maybeWrap(ancestor.children[i][j][3], ancestor);
4535
+ ancestor = ancestor.children[i][j][3];
4536
+ } else {
4537
+ ancestor = void 0;
4538
+ }
4539
+ ;
4540
+ break;
4541
+ }
4542
+ case "AssignmentExpression":
4543
+ case "Initializer": {
4544
+ const i = findChildIndex(ancestor, child);
4545
+ if (i >= 0 && ancestor.exp === ancestor.children[i]) {
4546
+ ancestor.exp = ancestor.children[i] = maybeWrap(ancestor.exp, ancestor);
4547
+ ancestor = ancestor.exp;
4548
+ } else {
4549
+ ancestor = void 0;
4550
+ }
4551
+ ;
4552
+ break;
4553
+ }
4554
+ }
4555
+ if (!ancestor) {
4556
+ replaceNode(exp, {
4557
+ type: "Error",
4558
+ message: "Ampersand placeholder & outside of block"
4559
+ });
4560
+ }
4460
4561
  }
4461
- if (ancestor) {
4462
- if (partialMap.has(ancestor)) {
4463
- return partialMap.get(ancestor).push(exp);
4562
+ if (ancestor != null) {
4563
+ if (placeholderMap.has(ancestor)) {
4564
+ return placeholderMap.get(ancestor).push(exp);
4464
4565
  } else {
4465
- return partialMap.set(ancestor, [exp]);
4566
+ return placeholderMap.set(ancestor, [exp]);
4466
4567
  }
4467
- } else {
4468
- return replaceNode(exp, {
4469
- type: "Error",
4470
- message: "Partial placeholder outside of call expression",
4471
- parent: exp.parent
4472
- });
4473
4568
  }
4569
+ ;
4570
+ return;
4474
4571
  });
4475
- for (const [ancestor, placeholders] of partialMap) {
4572
+ for (const [ancestor, placeholders] of placeholderMap) {
4476
4573
  let ref = makeRef("$");
4477
- placeholders.forEach((exp) => {
4478
- return replaceNode(exp.children.at(-1), ref);
4479
- });
4480
- const rhs = {
4481
- ref,
4482
- children: [ancestor]
4483
- };
4484
- const fnExp = makeAmpersandFunctionExpression([], rhs);
4485
- replaceNode(ancestor, fnExp);
4574
+ let typeSuffix;
4575
+ for (let i4 = 0, len3 = placeholders.length; i4 < len3; i4++) {
4576
+ const placeholder = placeholders[i4];
4577
+ typeSuffix ??= placeholder.typeSuffix;
4578
+ replaceNode(placeholder.children.at(-1), ref);
4579
+ }
4580
+ const { parent } = ancestor;
4581
+ const body = maybeUnwrap(ancestor);
4582
+ let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
4583
+ let outer;
4584
+ switch (parent?.type) {
4585
+ case "Call": {
4586
+ outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
4587
+ break;
4588
+ }
4589
+ case "BlockStatement": {
4590
+ outer = ancestor === parent.expressions[findChildIndex(parent.expressions, ancestor)][1];
4591
+ break;
4592
+ }
4593
+ case "PipelineExpression": {
4594
+ outer = ancestor === parent.children[2][findChildIndex(parent.children[2], ancestor)][3];
4595
+ break;
4596
+ }
4597
+ case "AssignmentExpression":
4598
+ case "Initializer": {
4599
+ outer = ancestor === parent.exp;
4600
+ break;
4601
+ }
4602
+ }
4603
+ if (!outer) {
4604
+ fnExp = makeLeftHandSideExpression(fnExp);
4605
+ }
4606
+ replaceNode(ancestor, fnExp, parent);
4607
+ let ref7;
4608
+ if (ref7 = getTrimmingSpace(body)) {
4609
+ const ws = ref7;
4610
+ inplaceInsertTrimmingSpace(body, "");
4611
+ inplacePrepend(ws, fnExp);
4612
+ }
4486
4613
  }
4487
4614
  return;
4488
4615
  }
@@ -4553,9 +4680,9 @@ var Civet = (() => {
4553
4680
  return root;
4554
4681
  }
4555
4682
  }
4556
- for (let i4 = 0, len3 = array.length; i4 < len3; i4++) {
4557
- const i = i4;
4558
- const node = array[i4];
4683
+ for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4684
+ const i = i5;
4685
+ const node = array[i5];
4559
4686
  if (!(node != null)) {
4560
4687
  return;
4561
4688
  }
@@ -4579,9 +4706,9 @@ var Civet = (() => {
4579
4706
  return root;
4580
4707
  }
4581
4708
  }
4582
- for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4583
- const i = i5;
4584
- const node = array[i5];
4709
+ for (let i6 = 0, len5 = array.length; i6 < len5; i6++) {
4710
+ const i = i6;
4711
+ const node = array[i6];
4585
4712
  if (!(node != null)) {
4586
4713
  continue;
4587
4714
  }
@@ -5178,6 +5305,7 @@ ${input.slice(result.pos)}
5178
5305
  ExplicitArguments,
5179
5306
  ApplicationStart,
5180
5307
  ForbiddenImplicitCalls,
5308
+ ReservedBinary,
5181
5309
  ArgumentsWithTrailingMemberExpressions,
5182
5310
  TrailingMemberExpressions,
5183
5311
  AllowedTrailingMemberExpressions,
@@ -5210,8 +5338,11 @@ ${input.slice(result.pos)}
5210
5338
  AssignmentExpression,
5211
5339
  NonPipelineAssignmentExpression,
5212
5340
  SingleLineAssignmentExpression,
5341
+ NonPipelineSingleLineAssignmentExpression,
5213
5342
  AssignmentExpressionTail,
5343
+ NonPipelineAssignmentExpressionTail,
5214
5344
  ActualAssignment,
5345
+ NonPipelineActualAssignment,
5215
5346
  YieldExpression,
5216
5347
  YieldTail,
5217
5348
  ArrowFunction,
@@ -5228,7 +5359,8 @@ ${input.slice(result.pos)}
5228
5359
  PipelineTailItem,
5229
5360
  PrimaryExpression,
5230
5361
  ParenthesizedExpression,
5231
- PartialPlaceholder,
5362
+ Placeholder,
5363
+ AmpersandTypeSuffix,
5232
5364
  ClassDeclaration,
5233
5365
  ClassExpression,
5234
5366
  ClassBinding,
@@ -5317,15 +5449,11 @@ ${input.slice(result.pos)}
5317
5449
  FunctionDeclaration,
5318
5450
  FunctionSignature,
5319
5451
  FunctionExpression,
5320
- AmpersandFunctionExpression,
5321
5452
  OperatorDeclaration,
5322
5453
  OperatorSignature,
5323
5454
  OperatorBehavior,
5324
5455
  OperatorPrecedence,
5325
5456
  OperatorAssociativity,
5326
- AmpersandBlockRHS,
5327
- AmpersandTypeSuffix,
5328
- AmpersandBlockRHSBody,
5329
5457
  ThinArrowFunction,
5330
5458
  Arrow,
5331
5459
  ExplicitBlock,
@@ -5914,302 +6042,302 @@ ${input.slice(result.pos)}
5914
6042
  var $L23 = $L("import.meta");
5915
6043
  var $L24 = $L("return.value");
5916
6044
  var $L25 = $L(",");
5917
- var $L26 = $L("(&)");
5918
- var $L27 = $L("tighter");
5919
- var $L28 = $L("looser");
5920
- var $L29 = $L("same");
5921
- var $L30 = $L("left");
5922
- var $L31 = $L("right");
5923
- var $L32 = $L("non");
5924
- var $L33 = $L("relational");
5925
- var $L34 = $L("arguments");
5926
- var $L35 = $L("->");
5927
- var $L36 = $L("\u2192");
5928
- var $L37 = $L("}");
5929
- var $L38 = $L("null");
5930
- var $L39 = $L("true");
5931
- var $L40 = $L("false");
5932
- var $L41 = $L("yes");
5933
- var $L42 = $L("on");
5934
- var $L43 = $L("no");
5935
- var $L44 = $L("off");
5936
- var $L45 = $L(">");
5937
- var $L46 = $L("]");
5938
- var $L47 = $L("**=");
5939
- var $L48 = $L("*=");
5940
- var $L49 = $L("/=");
5941
- var $L50 = $L("%=");
5942
- var $L51 = $L("+=");
5943
- var $L52 = $L("-=");
5944
- var $L53 = $L("<<=");
5945
- var $L54 = $L(">>>=");
5946
- var $L55 = $L(">>=");
5947
- var $L56 = $L("&&=");
5948
- var $L57 = $L("&=");
5949
- var $L58 = $L("^=");
5950
- var $L59 = $L("||=");
5951
- var $L60 = $L("|=");
5952
- var $L61 = $L("??=");
5953
- var $L62 = $L("?=");
5954
- var $L63 = $L("and=");
5955
- var $L64 = $L("or=");
5956
- var $L65 = $L("**");
5957
- var $L66 = $L("*");
5958
- var $L67 = $L("/");
5959
- var $L68 = $L("%%");
5960
- var $L69 = $L("%");
5961
- var $L70 = $L("+");
5962
- var $L71 = $L("<=");
5963
- var $L72 = $L("\u2264");
5964
- var $L73 = $L(">=");
5965
- var $L74 = $L("\u2265");
5966
- var $L75 = $L("<?");
5967
- var $L76 = $L("!<?");
5968
- var $L77 = $L("<<");
5969
- var $L78 = $L("\xAB");
5970
- var $L79 = $L(">>>");
5971
- var $L80 = $L("\u22D9");
5972
- var $L81 = $L(">>");
5973
- var $L82 = $L("\xBB");
5974
- var $L83 = $L("!==");
5975
- var $L84 = $L("\u2262");
5976
- var $L85 = $L("!=");
5977
- var $L86 = $L("\u2260");
5978
- var $L87 = $L("isnt");
5979
- var $L88 = $L("===");
5980
- var $L89 = $L("\u2263");
5981
- var $L90 = $L("\u2A76");
5982
- var $L91 = $L("==");
5983
- var $L92 = $L("\u2261");
5984
- var $L93 = $L("\u2A75");
5985
- var $L94 = $L("and");
5986
- var $L95 = $L("&&");
5987
- var $L96 = $L("or");
5988
- var $L97 = $L("||");
5989
- var $L98 = $L("\u2016");
5990
- var $L99 = $L("^^");
5991
- var $L100 = $L("xor");
5992
- var $L101 = $L("xnor");
5993
- var $L102 = $L("??");
5994
- var $L103 = $L("\u2047");
5995
- var $L104 = $L("instanceof");
5996
- var $L105 = $L("\u2208");
5997
- var $L106 = $L("\u220B");
5998
- var $L107 = $L("\u220C");
5999
- var $L108 = $L("\u2209");
6000
- var $L109 = $L("&");
6001
- var $L110 = $L("|");
6002
- var $L111 = $L("$:");
6003
- var $L112 = $L(";");
6004
- var $L113 = $L("break");
6005
- var $L114 = $L("continue");
6006
- var $L115 = $L("debugger");
6007
- var $L116 = $L("require");
6008
- var $L117 = $L("with");
6009
- var $L118 = $L("assert");
6010
- var $L119 = $L(":=");
6011
- var $L120 = $L("\u2254");
6012
- var $L121 = $L(".=");
6013
- var $L122 = $L("::=");
6014
- var $L123 = $L("/*");
6015
- var $L124 = $L("*/");
6016
- var $L125 = $L("\\");
6017
- var $L126 = $L(")");
6018
- var $L127 = $L("abstract");
6019
- var $L128 = $L("as");
6020
- var $L129 = $L("@");
6021
- var $L130 = $L("@@");
6022
- var $L131 = $L("async");
6023
- var $L132 = $L("await");
6024
- var $L133 = $L("`");
6025
- var $L134 = $L("by");
6026
- var $L135 = $L("case");
6027
- var $L136 = $L("catch");
6028
- var $L137 = $L("class");
6029
- var $L138 = $L("#{");
6030
- var $L139 = $L("declare");
6031
- var $L140 = $L("default");
6032
- var $L141 = $L("delete");
6033
- var $L142 = $L("do");
6034
- var $L143 = $L("..");
6035
- var $L144 = $L("\u2025");
6036
- var $L145 = $L("...");
6037
- var $L146 = $L("\u2026");
6038
- var $L147 = $L("::");
6039
- var $L148 = $L('"');
6040
- var $L149 = $L("each");
6041
- var $L150 = $L("else");
6042
- var $L151 = $L("!");
6043
- var $L152 = $L("export");
6044
- var $L153 = $L("extends");
6045
- var $L154 = $L("finally");
6046
- var $L155 = $L("for");
6047
- var $L156 = $L("from");
6048
- var $L157 = $L("function");
6049
- var $L158 = $L("get");
6050
- var $L159 = $L("set");
6051
- var $L160 = $L("#");
6052
- var $L161 = $L("if");
6053
- var $L162 = $L("in");
6054
- var $L163 = $L("infer");
6055
- var $L164 = $L("let");
6056
- var $L165 = $L("const");
6057
- var $L166 = $L("is");
6058
- var $L167 = $L("loop");
6059
- var $L168 = $L("new");
6060
- var $L169 = $L("not");
6061
- var $L170 = $L("of");
6062
- var $L171 = $L("[");
6063
- var $L172 = $L("operator");
6064
- var $L173 = $L("override");
6065
- var $L174 = $L("own");
6066
- var $L175 = $L("public");
6067
- var $L176 = $L("private");
6068
- var $L177 = $L("protected");
6069
- var $L178 = $L("||>");
6070
- var $L179 = $L("|\u25B7");
6071
- var $L180 = $L("|>=");
6072
- var $L181 = $L("\u25B7=");
6073
- var $L182 = $L("|>");
6074
- var $L183 = $L("\u25B7");
6075
- var $L184 = $L("readonly");
6076
- var $L185 = $L("return");
6077
- var $L186 = $L("satisfies");
6078
- var $L187 = $L("'");
6079
- var $L188 = $L("static");
6080
- var $L189 = $L("${");
6081
- var $L190 = $L("super");
6082
- var $L191 = $L("switch");
6083
- var $L192 = $L("target");
6084
- var $L193 = $L("then");
6085
- var $L194 = $L("this");
6086
- var $L195 = $L("throw");
6087
- var $L196 = $L('"""');
6088
- var $L197 = $L("'''");
6089
- var $L198 = $L("///");
6090
- var $L199 = $L("```");
6091
- var $L200 = $L("try");
6092
- var $L201 = $L("typeof");
6093
- var $L202 = $L("undefined");
6094
- var $L203 = $L("unless");
6095
- var $L204 = $L("until");
6096
- var $L205 = $L("using");
6097
- var $L206 = $L("var");
6098
- var $L207 = $L("void");
6099
- var $L208 = $L("when");
6100
- var $L209 = $L("while");
6101
- var $L210 = $L("yield");
6102
- var $L211 = $L("/>");
6103
- var $L212 = $L("</");
6104
- var $L213 = $L("<>");
6105
- var $L214 = $L("</>");
6106
- var $L215 = $L("<!--");
6107
- var $L216 = $L("-->");
6108
- var $L217 = $L("type");
6109
- var $L218 = $L("enum");
6110
- var $L219 = $L("interface");
6111
- var $L220 = $L("global");
6112
- var $L221 = $L("module");
6113
- var $L222 = $L("namespace");
6114
- var $L223 = $L("asserts");
6115
- var $L224 = $L("keyof");
6116
- var $L225 = $L("???");
6117
- var $L226 = $L("[]");
6118
- var $L227 = $L("civet");
6045
+ var $L26 = $L("tighter");
6046
+ var $L27 = $L("looser");
6047
+ var $L28 = $L("same");
6048
+ var $L29 = $L("left");
6049
+ var $L30 = $L("right");
6050
+ var $L31 = $L("non");
6051
+ var $L32 = $L("relational");
6052
+ var $L33 = $L("arguments");
6053
+ var $L34 = $L("->");
6054
+ var $L35 = $L("\u2192");
6055
+ var $L36 = $L("}");
6056
+ var $L37 = $L("null");
6057
+ var $L38 = $L("true");
6058
+ var $L39 = $L("false");
6059
+ var $L40 = $L("yes");
6060
+ var $L41 = $L("on");
6061
+ var $L42 = $L("no");
6062
+ var $L43 = $L("off");
6063
+ var $L44 = $L(">");
6064
+ var $L45 = $L("]");
6065
+ var $L46 = $L("**=");
6066
+ var $L47 = $L("*=");
6067
+ var $L48 = $L("/=");
6068
+ var $L49 = $L("%=");
6069
+ var $L50 = $L("+=");
6070
+ var $L51 = $L("-=");
6071
+ var $L52 = $L("<<=");
6072
+ var $L53 = $L(">>>=");
6073
+ var $L54 = $L(">>=");
6074
+ var $L55 = $L("&&=");
6075
+ var $L56 = $L("&=");
6076
+ var $L57 = $L("^=");
6077
+ var $L58 = $L("||=");
6078
+ var $L59 = $L("|=");
6079
+ var $L60 = $L("??=");
6080
+ var $L61 = $L("?=");
6081
+ var $L62 = $L("and=");
6082
+ var $L63 = $L("or=");
6083
+ var $L64 = $L("**");
6084
+ var $L65 = $L("*");
6085
+ var $L66 = $L("/");
6086
+ var $L67 = $L("%%");
6087
+ var $L68 = $L("%");
6088
+ var $L69 = $L("+");
6089
+ var $L70 = $L("<=");
6090
+ var $L71 = $L("\u2264");
6091
+ var $L72 = $L(">=");
6092
+ var $L73 = $L("\u2265");
6093
+ var $L74 = $L("<?");
6094
+ var $L75 = $L("!<?");
6095
+ var $L76 = $L("<<");
6096
+ var $L77 = $L("\xAB");
6097
+ var $L78 = $L(">>>");
6098
+ var $L79 = $L("\u22D9");
6099
+ var $L80 = $L(">>");
6100
+ var $L81 = $L("\xBB");
6101
+ var $L82 = $L("!==");
6102
+ var $L83 = $L("\u2262");
6103
+ var $L84 = $L("!=");
6104
+ var $L85 = $L("\u2260");
6105
+ var $L86 = $L("isnt");
6106
+ var $L87 = $L("===");
6107
+ var $L88 = $L("\u2263");
6108
+ var $L89 = $L("\u2A76");
6109
+ var $L90 = $L("==");
6110
+ var $L91 = $L("\u2261");
6111
+ var $L92 = $L("\u2A75");
6112
+ var $L93 = $L("and");
6113
+ var $L94 = $L("&&");
6114
+ var $L95 = $L("or");
6115
+ var $L96 = $L("||");
6116
+ var $L97 = $L("\u2016");
6117
+ var $L98 = $L("^^");
6118
+ var $L99 = $L("xor");
6119
+ var $L100 = $L("xnor");
6120
+ var $L101 = $L("??");
6121
+ var $L102 = $L("\u2047");
6122
+ var $L103 = $L("instanceof");
6123
+ var $L104 = $L("\u2208");
6124
+ var $L105 = $L("\u220B");
6125
+ var $L106 = $L("\u220C");
6126
+ var $L107 = $L("\u2209");
6127
+ var $L108 = $L("&");
6128
+ var $L109 = $L("|");
6129
+ var $L110 = $L("$:");
6130
+ var $L111 = $L(";");
6131
+ var $L112 = $L("break");
6132
+ var $L113 = $L("continue");
6133
+ var $L114 = $L("debugger");
6134
+ var $L115 = $L("require");
6135
+ var $L116 = $L("with");
6136
+ var $L117 = $L("assert");
6137
+ var $L118 = $L(":=");
6138
+ var $L119 = $L("\u2254");
6139
+ var $L120 = $L(".=");
6140
+ var $L121 = $L("::=");
6141
+ var $L122 = $L("/*");
6142
+ var $L123 = $L("*/");
6143
+ var $L124 = $L("\\");
6144
+ var $L125 = $L(")");
6145
+ var $L126 = $L("abstract");
6146
+ var $L127 = $L("as");
6147
+ var $L128 = $L("@");
6148
+ var $L129 = $L("@@");
6149
+ var $L130 = $L("async");
6150
+ var $L131 = $L("await");
6151
+ var $L132 = $L("`");
6152
+ var $L133 = $L("by");
6153
+ var $L134 = $L("case");
6154
+ var $L135 = $L("catch");
6155
+ var $L136 = $L("class");
6156
+ var $L137 = $L("#{");
6157
+ var $L138 = $L("declare");
6158
+ var $L139 = $L("default");
6159
+ var $L140 = $L("delete");
6160
+ var $L141 = $L("do");
6161
+ var $L142 = $L("..");
6162
+ var $L143 = $L("\u2025");
6163
+ var $L144 = $L("...");
6164
+ var $L145 = $L("\u2026");
6165
+ var $L146 = $L("::");
6166
+ var $L147 = $L('"');
6167
+ var $L148 = $L("each");
6168
+ var $L149 = $L("else");
6169
+ var $L150 = $L("!");
6170
+ var $L151 = $L("export");
6171
+ var $L152 = $L("extends");
6172
+ var $L153 = $L("finally");
6173
+ var $L154 = $L("for");
6174
+ var $L155 = $L("from");
6175
+ var $L156 = $L("function");
6176
+ var $L157 = $L("get");
6177
+ var $L158 = $L("set");
6178
+ var $L159 = $L("#");
6179
+ var $L160 = $L("if");
6180
+ var $L161 = $L("in");
6181
+ var $L162 = $L("infer");
6182
+ var $L163 = $L("let");
6183
+ var $L164 = $L("const");
6184
+ var $L165 = $L("is");
6185
+ var $L166 = $L("loop");
6186
+ var $L167 = $L("new");
6187
+ var $L168 = $L("not");
6188
+ var $L169 = $L("of");
6189
+ var $L170 = $L("[");
6190
+ var $L171 = $L("operator");
6191
+ var $L172 = $L("override");
6192
+ var $L173 = $L("own");
6193
+ var $L174 = $L("public");
6194
+ var $L175 = $L("private");
6195
+ var $L176 = $L("protected");
6196
+ var $L177 = $L("||>");
6197
+ var $L178 = $L("|\u25B7");
6198
+ var $L179 = $L("|>=");
6199
+ var $L180 = $L("\u25B7=");
6200
+ var $L181 = $L("|>");
6201
+ var $L182 = $L("\u25B7");
6202
+ var $L183 = $L("readonly");
6203
+ var $L184 = $L("return");
6204
+ var $L185 = $L("satisfies");
6205
+ var $L186 = $L("'");
6206
+ var $L187 = $L("static");
6207
+ var $L188 = $L("${");
6208
+ var $L189 = $L("super");
6209
+ var $L190 = $L("switch");
6210
+ var $L191 = $L("target");
6211
+ var $L192 = $L("then");
6212
+ var $L193 = $L("this");
6213
+ var $L194 = $L("throw");
6214
+ var $L195 = $L('"""');
6215
+ var $L196 = $L("'''");
6216
+ var $L197 = $L("///");
6217
+ var $L198 = $L("```");
6218
+ var $L199 = $L("try");
6219
+ var $L200 = $L("typeof");
6220
+ var $L201 = $L("undefined");
6221
+ var $L202 = $L("unless");
6222
+ var $L203 = $L("until");
6223
+ var $L204 = $L("using");
6224
+ var $L205 = $L("var");
6225
+ var $L206 = $L("void");
6226
+ var $L207 = $L("when");
6227
+ var $L208 = $L("while");
6228
+ var $L209 = $L("yield");
6229
+ var $L210 = $L("/>");
6230
+ var $L211 = $L("</");
6231
+ var $L212 = $L("<>");
6232
+ var $L213 = $L("</>");
6233
+ var $L214 = $L("<!--");
6234
+ var $L215 = $L("-->");
6235
+ var $L216 = $L("type");
6236
+ var $L217 = $L("enum");
6237
+ var $L218 = $L("interface");
6238
+ var $L219 = $L("global");
6239
+ var $L220 = $L("module");
6240
+ var $L221 = $L("namespace");
6241
+ var $L222 = $L("asserts");
6242
+ var $L223 = $L("keyof");
6243
+ var $L224 = $L("???");
6244
+ var $L225 = $L("[]");
6245
+ var $L226 = $L("civet");
6119
6246
  var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
6120
- var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6121
- var $R2 = $R(new RegExp("[0-9]", "suy"));
6122
- var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6123
- var $R4 = $R(new RegExp("[ \\t]", "suy"));
6124
- var $R5 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6125
- var $R6 = $R(new RegExp("(?=['\"`])", "suy"));
6126
- var $R7 = $R(new RegExp("(?=[\\/?])", "suy"));
6127
- var $R8 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6128
- var $R9 = $R(new RegExp("[)}]", "suy"));
6129
- var $R10 = $R(new RegExp("[+-]", "suy"));
6130
- var $R11 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
6131
- var $R12 = $R(new RegExp("[&]", "suy"));
6132
- var $R13 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6133
- var $R14 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6134
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6135
- var $R16 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6136
- var $R17 = $R(new RegExp("(?=\\[)", "suy"));
6137
- var $R18 = $R(new RegExp("[!+-]?", "suy"));
6138
- 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"));
6139
- var $R20 = $R(new RegExp("!\\^\\^?", "suy"));
6140
- var $R21 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6141
- var $R22 = $R(new RegExp("[:.]", "suy"));
6142
- var $R23 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6143
- var $R24 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6144
- var $R25 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6145
- var $R26 = $R(new RegExp('[^;"\\s]+', "suy"));
6146
- var $R27 = $R(new RegExp("(?=[0-9.])", "suy"));
6147
- var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6148
- var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6149
- var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6150
- var $R31 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6151
- var $R32 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6152
- var $R33 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6153
- var $R34 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6154
- var $R35 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6155
- var $R36 = $R(new RegExp("(?=[0-9])", "suy"));
6156
- var $R37 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6157
- var $R38 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6158
- var $R39 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6159
- var $R40 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6160
- var $R41 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6161
- var $R42 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6162
- var $R43 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6163
- var $R44 = $R(new RegExp("(?:\\\\.)", "suy"));
6164
- var $R45 = $R(new RegExp("[\\s]+", "suy"));
6165
- var $R46 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6166
- var $R47 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6167
- var $R48 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6168
- var $R49 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6169
- var $R50 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6170
- var $R51 = $R(new RegExp("(?=[`'\"])", "suy"));
6171
- var $R52 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6172
- var $R53 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6173
- var $R54 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6174
- var $R55 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6175
- var $R56 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6176
- var $R57 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6177
- 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"));
6178
- var $R59 = $R(new RegExp("(?=\\/|#)", "suy"));
6179
- var $R60 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6180
- var $R61 = $R(new RegExp(".", "suy"));
6181
- var $R62 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6182
- var $R63 = $R(new RegExp("[^]*?###", "suy"));
6183
- var $R64 = $R(new RegExp("###(?!#)", "suy"));
6184
- var $R65 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6185
- var $R66 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6186
- var $R67 = $R(new RegExp("[ \\t]+", "suy"));
6187
- var $R68 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6188
- var $R69 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6189
- var $R70 = $R(new RegExp("[=:]", "suy"));
6190
- var $R71 = $R(new RegExp("['\u2019]s", "suy"));
6191
- var $R72 = $R(new RegExp("\\s", "suy"));
6192
- var $R73 = $R(new RegExp("(?=[<])", "suy"));
6193
- var $R74 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6194
- var $R75 = $R(new RegExp("[!+-]", "suy"));
6195
- var $R76 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6196
- var $R77 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6197
- var $R78 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6198
- var $R79 = $R(new RegExp("[<>]", "suy"));
6199
- var $R80 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6200
- var $R81 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6201
- var $R82 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6202
- var $R83 = $R(new RegExp("[+-]?", "suy"));
6203
- var $R84 = $R(new RegExp("(?=if|unless)", "suy"));
6204
- var $R85 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6205
- var $R86 = $R(new RegExp("[\\t ]*", "suy"));
6206
- var $R87 = $R(new RegExp("[ \\t]*", "suy"));
6207
- var $R88 = $R(new RegExp("[\\s]*", "suy"));
6208
- var $R89 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6209
- var $R90 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6210
- var $R91 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6211
- var $R92 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6212
- var $R93 = $R(new RegExp("[^]*", "suy"));
6247
+ var $R1 = $R(new RegExp("&(?=\\s)", "suy"));
6248
+ var $R2 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6249
+ var $R3 = $R(new RegExp("[0-9]", "suy"));
6250
+ var $R4 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6251
+ var $R5 = $R(new RegExp("[ \\t]", "suy"));
6252
+ var $R6 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6253
+ var $R7 = $R(new RegExp("[&=]", "suy"));
6254
+ var $R8 = $R(new RegExp("(?=['\"`])", "suy"));
6255
+ var $R9 = $R(new RegExp("(?=[\\/?])", "suy"));
6256
+ var $R10 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6257
+ var $R11 = $R(new RegExp("[)}]", "suy"));
6258
+ var $R12 = $R(new RegExp("[+-]", "suy"));
6259
+ var $R13 = $R(new RegExp("\\+\\+|--|[\\+\\-&]\\S", "suy"));
6260
+ var $R14 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6261
+ var $R15 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6262
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6263
+ var $R17 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6264
+ var $R18 = $R(new RegExp("(?=\\[)", "suy"));
6265
+ var $R19 = $R(new RegExp("[!+-]?", "suy"));
6266
+ 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"));
6267
+ var $R21 = $R(new RegExp("!\\^\\^?", "suy"));
6268
+ var $R22 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6269
+ var $R23 = $R(new RegExp("[:.]", "suy"));
6270
+ var $R24 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6271
+ var $R25 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6272
+ var $R26 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6273
+ var $R27 = $R(new RegExp('[^;"\\s]+', "suy"));
6274
+ var $R28 = $R(new RegExp("(?=[0-9.])", "suy"));
6275
+ var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6276
+ var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6277
+ var $R31 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6278
+ var $R32 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6279
+ var $R33 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6280
+ var $R34 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6281
+ var $R35 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6282
+ var $R36 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6283
+ var $R37 = $R(new RegExp("(?=[0-9])", "suy"));
6284
+ var $R38 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6285
+ var $R39 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6286
+ var $R40 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6287
+ var $R41 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6288
+ var $R42 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6289
+ var $R43 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6290
+ var $R44 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6291
+ var $R45 = $R(new RegExp("(?:\\\\.)", "suy"));
6292
+ var $R46 = $R(new RegExp("[\\s]+", "suy"));
6293
+ var $R47 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6294
+ var $R48 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6295
+ var $R49 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6296
+ var $R50 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6297
+ var $R51 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6298
+ var $R52 = $R(new RegExp("(?=[`'\"])", "suy"));
6299
+ var $R53 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6300
+ var $R54 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6301
+ var $R55 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6302
+ var $R56 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6303
+ var $R57 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6304
+ var $R58 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6305
+ 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"));
6306
+ var $R60 = $R(new RegExp("(?=\\/|#)", "suy"));
6307
+ var $R61 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6308
+ var $R62 = $R(new RegExp(".", "suy"));
6309
+ var $R63 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6310
+ var $R64 = $R(new RegExp("[^]*?###", "suy"));
6311
+ var $R65 = $R(new RegExp("###(?!#)", "suy"));
6312
+ var $R66 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6313
+ var $R67 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6314
+ var $R68 = $R(new RegExp("[ \\t]+", "suy"));
6315
+ var $R69 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6316
+ var $R70 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6317
+ var $R71 = $R(new RegExp("[=:]", "suy"));
6318
+ var $R72 = $R(new RegExp("['\u2019]s", "suy"));
6319
+ var $R73 = $R(new RegExp("\\s", "suy"));
6320
+ var $R74 = $R(new RegExp("(?=[<])", "suy"));
6321
+ var $R75 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6322
+ var $R76 = $R(new RegExp("[!+-]", "suy"));
6323
+ var $R77 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6324
+ var $R78 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6325
+ var $R79 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6326
+ var $R80 = $R(new RegExp("[<>]", "suy"));
6327
+ var $R81 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6328
+ var $R82 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6329
+ var $R83 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6330
+ var $R84 = $R(new RegExp("[+-]?", "suy"));
6331
+ var $R85 = $R(new RegExp("(?=if|unless)", "suy"));
6332
+ var $R86 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6333
+ var $R87 = $R(new RegExp("[\\t ]*", "suy"));
6334
+ var $R88 = $R(new RegExp("[ \\t]*", "suy"));
6335
+ var $R89 = $R(new RegExp("[\\s]*", "suy"));
6336
+ var $R90 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6337
+ var $R91 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6338
+ var $R92 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6339
+ var $R93 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6340
+ var $R94 = $R(new RegExp("[^]*", "suy"));
6213
6341
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6214
6342
  var statements = $4;
6215
6343
  processProgram({
@@ -6268,12 +6396,7 @@ ${input.slice(result.pos)}
6268
6396
  var ws = $2;
6269
6397
  var statement = $3;
6270
6398
  var delimiter = $4;
6271
- if (ws) {
6272
- statement = {
6273
- ...statement,
6274
- children: [ws, ...statement.children]
6275
- };
6276
- }
6399
+ statement = prepend(ws, statement);
6277
6400
  return [statement, delimiter];
6278
6401
  });
6279
6402
  function TopLevelStatement(ctx, state) {
@@ -6386,7 +6509,7 @@ ${input.slice(result.pos)}
6386
6509
  function Arguments(ctx, state) {
6387
6510
  return $EVENT_C(ctx, state, "Arguments", Arguments$$);
6388
6511
  }
6389
- var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6512
+ var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(Trimmed_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6390
6513
  var open = $2;
6391
6514
  var ws = $3;
6392
6515
  var args = $4;
@@ -6396,7 +6519,7 @@ ${input.slice(result.pos)}
6396
6519
  return {
6397
6520
  type: "Call",
6398
6521
  args,
6399
- children: [open, insertTrimmingSpace(ws, ""), args, close]
6522
+ children: [open, ws, args, close]
6400
6523
  };
6401
6524
  });
6402
6525
  function ImplicitArguments(ctx, state) {
@@ -6431,27 +6554,32 @@ ${input.slice(result.pos)}
6431
6554
  function ApplicationStart(ctx, state) {
6432
6555
  return $EVENT_C(ctx, state, "ApplicationStart", ApplicationStart$$);
6433
6556
  }
6434
- var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R1, "ForbiddenImplicitCalls /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6557
+ var ForbiddenImplicitCalls$0 = ReservedBinary;
6435
6558
  var ForbiddenImplicitCalls$1 = $EXPECT($L2, 'ForbiddenImplicitCalls "/ "');
6436
- var ForbiddenImplicitCalls$2 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6437
- var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6438
- var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6559
+ var ForbiddenImplicitCalls$2 = $S($Y($S($R$0($EXPECT($R1, "ForbiddenImplicitCalls /&(?=\\s)/")), $N($S(NotDedented, $C(Ampersand, ReservedBinary))), $C(IndentedFurther, $N(EOS)))), BinaryOpRHS);
6560
+ var ForbiddenImplicitCalls$3 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6561
+ var ForbiddenImplicitCalls$4 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6562
+ var ForbiddenImplicitCalls$5 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6439
6563
  var id = $1;
6440
6564
  if (module.operators.has(id.name))
6441
6565
  return $0;
6442
6566
  return $skip;
6443
6567
  });
6444
- var ForbiddenImplicitCalls$5 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6568
+ var ForbiddenImplicitCalls$6 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6445
6569
  var id = $3;
6446
6570
  if (module.operators.has(id.name))
6447
6571
  return $0;
6448
6572
  return $skip;
6449
6573
  });
6450
- var ForbiddenImplicitCalls$6 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6451
- var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6];
6574
+ var ForbiddenImplicitCalls$7 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6575
+ var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6, ForbiddenImplicitCalls$7];
6452
6576
  function ForbiddenImplicitCalls(ctx, state) {
6453
6577
  return $EVENT_C(ctx, state, "ForbiddenImplicitCalls", ForbiddenImplicitCalls$$);
6454
6578
  }
6579
+ var ReservedBinary$0 = $R$0($EXPECT($R2, "ReservedBinary /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6580
+ function ReservedBinary(ctx, state) {
6581
+ return $EVENT(ctx, state, "ReservedBinary", ReservedBinary$0);
6582
+ }
6455
6583
  var ArgumentsWithTrailingMemberExpressions$0 = $TS($S(Arguments, AllowedTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
6456
6584
  var args = $1;
6457
6585
  var trailing = $2;
@@ -6460,7 +6588,7 @@ ${input.slice(result.pos)}
6460
6588
  function ArgumentsWithTrailingMemberExpressions(ctx, state) {
6461
6589
  return $EVENT(ctx, state, "ArgumentsWithTrailingMemberExpressions", ArgumentsWithTrailingMemberExpressions$0);
6462
6590
  }
6463
- 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) {
6591
+ 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) {
6464
6592
  return $1.concat($2.map(([ws, , memberExpressionRest]) => {
6465
6593
  if (Array.isArray(memberExpressionRest)) {
6466
6594
  return [ws, ...memberExpressionRest];
@@ -6482,7 +6610,7 @@ ${input.slice(result.pos)}
6482
6610
  function AllowedTrailingMemberExpressions(ctx, state) {
6483
6611
  return $EVENT_C(ctx, state, "AllowedTrailingMemberExpressions", AllowedTrailingMemberExpressions$$);
6484
6612
  }
6485
- 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)));
6613
+ 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)));
6486
6614
  function TrailingCallExpressions(ctx, state) {
6487
6615
  return $EVENT(ctx, state, "TrailingCallExpressions", TrailingCallExpressions$0);
6488
6616
  }
@@ -6496,10 +6624,10 @@ ${input.slice(result.pos)}
6496
6624
  function CommaDelimiter(ctx, state) {
6497
6625
  return $EVENT(ctx, state, "CommaDelimiter", CommaDelimiter$0);
6498
6626
  }
6499
- 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) {
6627
+ 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) {
6500
6628
  return [
6501
6629
  $1,
6502
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6630
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6503
6631
  ...$3.flatMap(
6504
6632
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6505
6633
  )
@@ -6509,17 +6637,20 @@ ${input.slice(result.pos)}
6509
6637
  return [insertTrimmingSpace($1, "")];
6510
6638
  });
6511
6639
  var ArgumentList$2 = NestedArgumentList;
6512
- var ArgumentList$3 = $TS($S($S($E(_), ArgumentPart), $Q($S(CommaDelimiter, $S($E(_), ArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6513
- return [$1, ...$2.flat()];
6640
+ var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6641
+ return [
6642
+ prepend($1, $2),
6643
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6644
+ ];
6514
6645
  });
6515
6646
  var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
6516
6647
  function ArgumentList(ctx, state) {
6517
6648
  return $EVENT_C(ctx, state, "ArgumentList", ArgumentList$$);
6518
6649
  }
6519
- 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) {
6650
+ 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) {
6520
6651
  return [
6521
6652
  $1,
6522
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6653
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6523
6654
  ...$3.flatMap(
6524
6655
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6525
6656
  )
@@ -6529,8 +6660,11 @@ ${input.slice(result.pos)}
6529
6660
  return [insertTrimmingSpace($1, "")];
6530
6661
  });
6531
6662
  var NonPipelineArgumentList$2 = NestedArgumentList;
6532
- var NonPipelineArgumentList$3 = $TS($S($S($E(_), NonPipelineArgumentPart), $Q($S(CommaDelimiter, $S($E(_), NonPipelineArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6533
- return [$1, ...$2.flat()];
6663
+ var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6664
+ return [
6665
+ prepend($1, $2),
6666
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6667
+ ];
6534
6668
  });
6535
6669
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
6536
6670
  function NonPipelineArgumentList(ctx, state) {
@@ -6636,20 +6770,19 @@ ${input.slice(result.pos)}
6636
6770
  function RHS(ctx, state) {
6637
6771
  return $EVENT_C(ctx, state, "RHS", RHS$$);
6638
6772
  }
6639
- var UnaryExpression$0 = AmpersandFunctionExpression;
6640
- var UnaryExpression$1 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6773
+ var UnaryExpression$0 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6641
6774
  var pre = $1;
6642
6775
  var exp = $2;
6643
6776
  var post = $3;
6644
6777
  return processUnaryExpression(pre, exp, post);
6645
6778
  });
6646
- var UnaryExpression$2 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6779
+ var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6647
6780
  var ws = $3;
6648
6781
  var exp = $4;
6649
6782
  ws = insertTrimmingSpace(ws, "");
6650
6783
  return ["(", ...ws, exp, ")()"];
6651
6784
  });
6652
- var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1, UnaryExpression$2];
6785
+ var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1];
6653
6786
  function UnaryExpression(ctx, state) {
6654
6787
  return $EVENT_C(ctx, state, "UnaryExpression", UnaryExpression$$);
6655
6788
  }
@@ -6690,7 +6823,7 @@ ${input.slice(result.pos)}
6690
6823
  var TypePostfix$0 = $TS($S(_, NWTypePostfix), function($skip, $loc, $0, $1, $2) {
6691
6824
  var ws = $1;
6692
6825
  var postfix = $2;
6693
- return [ws, postfix];
6826
+ return prepend(ws, postfix);
6694
6827
  });
6695
6828
  function TypePostfix(ctx, state) {
6696
6829
  return $EVENT(ctx, state, "TypePostfix", TypePostfix$0);
@@ -6736,7 +6869,7 @@ ${input.slice(result.pos)}
6736
6869
  children: $0
6737
6870
  };
6738
6871
  });
6739
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6872
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R4, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6740
6873
  if (!$2)
6741
6874
  return $1;
6742
6875
  return {
@@ -6762,15 +6895,20 @@ ${input.slice(result.pos)}
6762
6895
  function UpdateExpressionSymbol(ctx, state) {
6763
6896
  return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
6764
6897
  }
6765
- var AssignmentExpression$0 = PipelineExpression;
6766
- var AssignmentExpression$1 = SingleLineAssignmentExpression;
6767
- var AssignmentExpression$2 = $S(__, AssignmentExpressionTail);
6768
- var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2];
6898
+ var AssignmentExpression$0 = $TS($S($E(_), ActualAssignment), function($skip, $loc, $0, $1, $2) {
6899
+ var ws = $1;
6900
+ var assign = $2;
6901
+ return prepend(ws, assign);
6902
+ });
6903
+ var AssignmentExpression$1 = PipelineExpression;
6904
+ var AssignmentExpression$2 = SingleLineAssignmentExpression;
6905
+ var AssignmentExpression$3 = $S(__, AssignmentExpressionTail);
6906
+ var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2, AssignmentExpression$3];
6769
6907
  function AssignmentExpression(ctx, state) {
6770
6908
  return $EVENT_C(ctx, state, "AssignmentExpression", AssignmentExpression$$);
6771
6909
  }
6772
- var NonPipelineAssignmentExpression$0 = SingleLineAssignmentExpression;
6773
- var NonPipelineAssignmentExpression$1 = $S(__, AssignmentExpressionTail);
6910
+ var NonPipelineAssignmentExpression$0 = NonPipelineSingleLineAssignmentExpression;
6911
+ var NonPipelineAssignmentExpression$1 = $S(__, NonPipelineAssignmentExpressionTail);
6774
6912
  var NonPipelineAssignmentExpression$$ = [NonPipelineAssignmentExpression$0, NonPipelineAssignmentExpression$1];
6775
6913
  function NonPipelineAssignmentExpression(ctx, state) {
6776
6914
  return $EVENT_C(ctx, state, "NonPipelineAssignmentExpression", NonPipelineAssignmentExpression$$);
@@ -6778,20 +6916,19 @@ ${input.slice(result.pos)}
6778
6916
  var SingleLineAssignmentExpression$0 = $TS($S($E(_), AssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6779
6917
  var ws = $1;
6780
6918
  var tail = $2;
6781
- if (ws?.length) {
6782
- if (tail.children && tail.type !== "IterationExpression") {
6783
- return {
6784
- ...tail,
6785
- children: [...ws, ...tail.children]
6786
- };
6787
- }
6788
- return $0;
6789
- }
6790
- return tail;
6919
+ return prepend(ws, tail);
6791
6920
  });
6792
6921
  function SingleLineAssignmentExpression(ctx, state) {
6793
6922
  return $EVENT(ctx, state, "SingleLineAssignmentExpression", SingleLineAssignmentExpression$0);
6794
6923
  }
6924
+ var NonPipelineSingleLineAssignmentExpression$0 = $TS($S($E(_), NonPipelineAssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6925
+ var ws = $1;
6926
+ var tail = $2;
6927
+ return prepend(ws, tail);
6928
+ });
6929
+ function NonPipelineSingleLineAssignmentExpression(ctx, state) {
6930
+ return $EVENT(ctx, state, "NonPipelineSingleLineAssignmentExpression", NonPipelineSingleLineAssignmentExpression$0);
6931
+ }
6795
6932
  var AssignmentExpressionTail$0 = YieldExpression;
6796
6933
  var AssignmentExpressionTail$1 = ArrowFunction;
6797
6934
  var AssignmentExpressionTail$2 = ActualAssignment;
@@ -6800,6 +6937,14 @@ ${input.slice(result.pos)}
6800
6937
  function AssignmentExpressionTail(ctx, state) {
6801
6938
  return $EVENT_C(ctx, state, "AssignmentExpressionTail", AssignmentExpressionTail$$);
6802
6939
  }
6940
+ var NonPipelineAssignmentExpressionTail$0 = YieldExpression;
6941
+ var NonPipelineAssignmentExpressionTail$1 = ArrowFunction;
6942
+ var NonPipelineAssignmentExpressionTail$2 = NonPipelineActualAssignment;
6943
+ var NonPipelineAssignmentExpressionTail$3 = ConditionalExpression;
6944
+ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail$0, NonPipelineAssignmentExpressionTail$1, NonPipelineAssignmentExpressionTail$2, NonPipelineAssignmentExpressionTail$3];
6945
+ function NonPipelineAssignmentExpressionTail(ctx, state) {
6946
+ return $EVENT_C(ctx, state, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
6947
+ }
6803
6948
  var ActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
6804
6949
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6805
6950
  $0 = [$1, $2];
@@ -6817,6 +6962,23 @@ ${input.slice(result.pos)}
6817
6962
  function ActualAssignment(ctx, state) {
6818
6963
  return $EVENT(ctx, state, "ActualAssignment", ActualAssignment$0);
6819
6964
  }
6965
+ var NonPipelineActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
6966
+ $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6967
+ $0 = [$1, $2];
6968
+ return {
6969
+ type: "AssignmentExpression",
6970
+ children: $0,
6971
+ // NOTE: This null marks the assignment for later processing to distinguish it
6972
+ // from fake assignments that only add a name to a scope
6973
+ names: null,
6974
+ lhs: $1,
6975
+ assigned: $1[0][1],
6976
+ exp: $2
6977
+ };
6978
+ });
6979
+ function NonPipelineActualAssignment(ctx, state) {
6980
+ return $EVENT(ctx, state, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
6981
+ }
6820
6982
  var YieldExpression$0 = $S(Yield, YieldTail);
6821
6983
  function YieldExpression(ctx, state) {
6822
6984
  return $EVENT(ctx, state, "YieldExpression", YieldExpression$0);
@@ -6885,7 +7047,7 @@ ${input.slice(result.pos)}
6885
7047
  if (exp.type === "ObjectExpression") {
6886
7048
  exp = makeLeftHandSideExpression(exp);
6887
7049
  }
6888
- const expressions = [exp];
7050
+ const expressions = [["", exp]];
6889
7051
  return {
6890
7052
  type: "BlockStatement",
6891
7053
  bare: true,
@@ -6909,7 +7071,7 @@ ${input.slice(result.pos)}
6909
7071
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
6910
7072
  }
6911
7073
  var TernaryRest$0 = NestedTernaryRest;
6912
- 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) {
7074
+ 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) {
6913
7075
  return $0.slice(2);
6914
7076
  });
6915
7077
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -6932,9 +7094,6 @@ ${input.slice(result.pos)}
6932
7094
  var ws = $1;
6933
7095
  var head = $2;
6934
7096
  var body = $3;
6935
- if (head.token === "&") {
6936
- head = makeAmpersandFunction();
6937
- }
6938
7097
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
6939
7098
  const expressions = [{
6940
7099
  type: "PipelineExpression",
@@ -6958,8 +7117,7 @@ ${input.slice(result.pos)}
6958
7117
  }
6959
7118
  var PipelineHeadItem$0 = NonPipelineExtendedExpression;
6960
7119
  var PipelineHeadItem$1 = ParenthesizedExpression;
6961
- var PipelineHeadItem$2 = Ampersand;
6962
- var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1, PipelineHeadItem$2];
7120
+ var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
6963
7121
  function PipelineHeadItem(ctx, state) {
6964
7122
  return $EVENT_C(ctx, state, "PipelineHeadItem", PipelineHeadItem$$);
6965
7123
  }
@@ -6973,13 +7131,14 @@ ${input.slice(result.pos)}
6973
7131
  return value[0];
6974
7132
  });
6975
7133
  var PipelineTailItem$3 = $TS($S(NWTypePostfix, $Q(TypePostfix)), function($skip, $loc, $0, $1, $2) {
6976
- return makeAmpersandFunction([" ", $1, ...$2]);
7134
+ return makeAmpersandFunction({
7135
+ body: [" ", $1, ...$2]
7136
+ });
6977
7137
  });
6978
- var PipelineTailItem$4 = AmpersandFunctionExpression;
6979
- var PipelineTailItem$5 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
6980
- return value[1];
7138
+ var PipelineTailItem$4 = $T($S(PipelineHeadItem), function(value) {
7139
+ return value[0];
6981
7140
  });
6982
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4, PipelineTailItem$5];
7141
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
6983
7142
  function PipelineTailItem(ctx, state) {
6984
7143
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
6985
7144
  }
@@ -6993,7 +7152,7 @@ ${input.slice(result.pos)}
6993
7152
  var PrimaryExpression$7 = ClassExpression;
6994
7153
  var PrimaryExpression$8 = RegularExpressionLiteral;
6995
7154
  var PrimaryExpression$9 = ParenthesizedExpression;
6996
- var PrimaryExpression$10 = PartialPlaceholder;
7155
+ var PrimaryExpression$10 = Placeholder;
6997
7156
  var PrimaryExpression$11 = JSXImplicitFragment;
6998
7157
  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];
6999
7158
  function PrimaryExpression(ctx, state) {
@@ -7029,15 +7188,40 @@ ${input.slice(result.pos)}
7029
7188
  function ParenthesizedExpression(ctx, state) {
7030
7189
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
7031
7190
  }
7032
- var PartialPlaceholder$0 = $TS($S(Dot, $N($EXPECT($R5, "PartialPlaceholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
7191
+ var Placeholder$0 = $TS($S(Dot, $N($EXPECT($R6, "Placeholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
7033
7192
  var dot = $1;
7034
7193
  return {
7035
- type: "PartialPlaceholder",
7194
+ type: "Placeholder",
7195
+ subtype: ".",
7036
7196
  children: [dot]
7037
7197
  };
7038
7198
  });
7039
- function PartialPlaceholder(ctx, state) {
7040
- return $EVENT(ctx, state, "PartialPlaceholder", PartialPlaceholder$0);
7199
+ var Placeholder$1 = $TS($S(Ampersand, $N($EXPECT($R7, "Placeholder /[&=]/")), $E(AmpersandTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
7200
+ var amp = $1;
7201
+ var typeSuffix = $3;
7202
+ return {
7203
+ type: "Placeholder",
7204
+ subtype: "&",
7205
+ typeSuffix,
7206
+ children: [amp]
7207
+ };
7208
+ });
7209
+ var Placeholder$2 = $TS($S($Y(AccessStart), $Y(PropertyAccess), $N(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
7210
+ return {
7211
+ type: "Placeholder",
7212
+ subtype: "&",
7213
+ children: [{ token: "&" }]
7214
+ };
7215
+ });
7216
+ var Placeholder$$ = [Placeholder$0, Placeholder$1, Placeholder$2];
7217
+ function Placeholder(ctx, state) {
7218
+ return $EVENT_C(ctx, state, "Placeholder", Placeholder$$);
7219
+ }
7220
+ var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
7221
+ return value[1];
7222
+ });
7223
+ function AmpersandTypeSuffix(ctx, state) {
7224
+ return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
7041
7225
  }
7042
7226
  var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
7043
7227
  if ($1.id)
@@ -7478,7 +7662,7 @@ ${input.slice(result.pos)}
7478
7662
  var CallExpressionRest$1 = $T($S(TypeArguments, $N($C(IdentifierName, NumericLiteral))), function(value) {
7479
7663
  return value[0];
7480
7664
  });
7481
- var CallExpressionRest$2 = $TS($S($EXPECT($R6, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7665
+ var CallExpressionRest$2 = $TS($S($EXPECT($R8, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7482
7666
  var literal = $2;
7483
7667
  if (literal.type === "StringLiteral") {
7484
7668
  literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
@@ -7501,7 +7685,7 @@ ${input.slice(result.pos)}
7501
7685
  function CallExpressionRest(ctx, state) {
7502
7686
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
7503
7687
  }
7504
- var OptionalShorthand$0 = $TS($S($EXPECT($R7, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7688
+ var OptionalShorthand$0 = $TS($S($EXPECT($R9, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7505
7689
  var comments = $2;
7506
7690
  var q = $3;
7507
7691
  var d = $4;
@@ -7555,7 +7739,7 @@ ${input.slice(result.pos)}
7555
7739
  function MemberBase(ctx, state) {
7556
7740
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
7557
7741
  }
7558
- var MemberExpressionRest$0 = $TS($S($EXPECT($R8, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7742
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R10, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7559
7743
  var comments = $2;
7560
7744
  var body = $3;
7561
7745
  if (Array.isArray(body))
@@ -7997,10 +8181,7 @@ ${input.slice(result.pos)}
7997
8181
  var ws = $1;
7998
8182
  var params = $2;
7999
8183
  params = [...params];
8000
- params[0] = {
8001
- ...params[0],
8002
- children: [ws, ...params[0].children]
8003
- };
8184
+ params[0] = prepend(ws, params[0]);
8004
8185
  return params;
8005
8186
  });
8006
8187
  function NestedParameter(ctx, state) {
@@ -8039,7 +8220,7 @@ ${input.slice(result.pos)}
8039
8220
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
8040
8221
  }
8041
8222
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
8042
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R9, "ParameterElementDelimiter /[)}]/"))));
8223
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R11, "ParameterElementDelimiter /[)}]/"))));
8043
8224
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8044
8225
  return value[1];
8045
8226
  });
@@ -8050,7 +8231,7 @@ ${input.slice(result.pos)}
8050
8231
  var BindingIdentifier$0 = $TS($S(__, NWBindingIdentifier), function($skip, $loc, $0, $1, $2) {
8051
8232
  var ws = $1;
8052
8233
  var identifier = $2;
8053
- return { ...identifier, children: [...ws, ...identifier.children] };
8234
+ return prepend(ws, identifier);
8054
8235
  });
8055
8236
  function BindingIdentifier(ctx, state) {
8056
8237
  return $EVENT(ctx, state, "BindingIdentifier", BindingIdentifier$0);
@@ -8108,7 +8289,7 @@ ${input.slice(result.pos)}
8108
8289
  expression
8109
8290
  };
8110
8291
  });
8111
- var PinPattern$2 = $TV($S($EXPECT($R10, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8292
+ var PinPattern$2 = $TV($S($EXPECT($R12, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8112
8293
  var expression = $0;
8113
8294
  return {
8114
8295
  type: "PinPattern",
@@ -8253,10 +8434,7 @@ ${input.slice(result.pos)}
8253
8434
  return props.map((prop, i) => {
8254
8435
  if (i > 0)
8255
8436
  return prop;
8256
- return {
8257
- ...prop,
8258
- children: [ws, ...prop.children]
8259
- };
8437
+ return prepend(ws, prop);
8260
8438
  });
8261
8439
  });
8262
8440
  function NestedBindingPropertyList(ctx, state) {
@@ -8492,10 +8670,7 @@ ${input.slice(result.pos)}
8492
8670
  block
8493
8671
  };
8494
8672
  });
8495
- var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
8496
- return makeAmpersandFunction();
8497
- });
8498
- var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8673
+ var FunctionExpression$1 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8499
8674
  var open = $1;
8500
8675
  var op = $2;
8501
8676
  var close = $3;
@@ -8526,7 +8701,7 @@ ${input.slice(result.pos)}
8526
8701
  parameters
8527
8702
  };
8528
8703
  });
8529
- var FunctionExpression$3 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8704
+ var FunctionExpression$2 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8530
8705
  var open = $1;
8531
8706
  var lhs = $2;
8532
8707
  var ws1 = $3;
@@ -8559,7 +8734,7 @@ ${input.slice(result.pos)}
8559
8734
  parameters
8560
8735
  };
8561
8736
  });
8562
- 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) {
8737
+ 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) {
8563
8738
  var open = $1;
8564
8739
  var ws1 = $2;
8565
8740
  var op = $4;
@@ -8592,21 +8767,10 @@ ${input.slice(result.pos)}
8592
8767
  parameters
8593
8768
  };
8594
8769
  });
8595
- var FunctionExpression$5 = AmpersandFunctionExpression;
8596
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5];
8770
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
8597
8771
  function FunctionExpression(ctx, state) {
8598
8772
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
8599
8773
  }
8600
- 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) {
8601
- var prefix = $1;
8602
- var rhs = $3;
8603
- if (!prefix.length && !rhs)
8604
- return $skip;
8605
- return makeAmpersandFunctionExpression(prefix, rhs);
8606
- });
8607
- function AmpersandFunctionExpression(ctx, state) {
8608
- return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
8609
- }
8610
8774
  var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
8611
8775
  var op = $1;
8612
8776
  var behavior = $2;
@@ -8687,7 +8851,7 @@ ${input.slice(result.pos)}
8687
8851
  function OperatorBehavior(ctx, state) {
8688
8852
  return $EVENT_C(ctx, state, "OperatorBehavior", OperatorBehavior$$);
8689
8853
  }
8690
- 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) {
8854
+ 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) {
8691
8855
  var mod = $2;
8692
8856
  var op = $5;
8693
8857
  let prec = op.type === "Identifier" ? module.operators.get(op.name).prec : getPrecedence(op[1]);
@@ -8704,7 +8868,7 @@ ${input.slice(result.pos)}
8704
8868
  function OperatorPrecedence(ctx, state) {
8705
8869
  return $EVENT(ctx, state, "OperatorPrecedence", OperatorPrecedence$0);
8706
8870
  }
8707
- 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) {
8871
+ 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) {
8708
8872
  var assoc = $2;
8709
8873
  if (assoc === "relational") {
8710
8874
  return { relational: true, assoc: "non" };
@@ -8714,33 +8878,6 @@ ${input.slice(result.pos)}
8714
8878
  function OperatorAssociativity(ctx, state) {
8715
8879
  return $EVENT(ctx, state, "OperatorAssociativity", OperatorAssociativity$0);
8716
8880
  }
8717
- var AmpersandBlockRHS$0 = $TS($S(ForbidTrailingMemberProperty, $E(AmpersandBlockRHSBody), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
8718
- if (!$2)
8719
- return $skip;
8720
- return $2;
8721
- });
8722
- function AmpersandBlockRHS(ctx, state) {
8723
- return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
8724
- }
8725
- var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
8726
- return value[1];
8727
- });
8728
- function AmpersandTypeSuffix(ctx, state) {
8729
- return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
8730
- }
8731
- 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) {
8732
- var typeSuffix = $1;
8733
- var callExpRest = $2;
8734
- var unaryPostfix = $3;
8735
- var assign = $4;
8736
- var binopRHS = $5;
8737
- if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
8738
- return $skip;
8739
- return makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS);
8740
- });
8741
- function AmpersandBlockRHSBody(ctx, state) {
8742
- return $EVENT(ctx, state, "AmpersandBlockRHSBody", AmpersandBlockRHSBody$0);
8743
- }
8744
8881
  var ThinArrowFunction$0 = $TS($S($E($S(Async, _)), ArrowParameters, $E(ReturnTypeSuffix), $E(_), Arrow, NoCommaBracedOrEmptyBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8745
8882
  var async = $1;
8746
8883
  var parameters = $2;
@@ -8784,7 +8921,7 @@ ${input.slice(result.pos)}
8784
8921
  function ThinArrowFunction(ctx, state) {
8785
8922
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
8786
8923
  }
8787
- var Arrow$0 = $TV($C($EXPECT($L35, 'Arrow "->"'), $EXPECT($L36, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8924
+ var Arrow$0 = $TV($C($EXPECT($L34, 'Arrow "->"'), $EXPECT($L35, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8788
8925
  return { $loc, token: "->" };
8789
8926
  });
8790
8927
  function Arrow(ctx, state) {
@@ -9087,7 +9224,7 @@ ${input.slice(result.pos)}
9087
9224
  }
9088
9225
  var BracedContent$0 = NestedBlockStatements;
9089
9226
  var BracedContent$1 = SingleLineStatements;
9090
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L37, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9227
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L36, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9091
9228
  const expressions = [];
9092
9229
  return {
9093
9230
  type: "BlockStatement",
@@ -9129,15 +9266,14 @@ ${input.slice(result.pos)}
9129
9266
  var ws = $2;
9130
9267
  var statement = $3;
9131
9268
  var delimiter = $4;
9132
- if (ws) {
9133
- statement = { ...statement, children: [ws, ...statement.children] };
9134
- }
9269
+ if (ws)
9270
+ statement = prepend(ws, statement);
9135
9271
  return [statement, delimiter];
9136
9272
  });
9137
9273
  function BlockStatementPart(ctx, state) {
9138
9274
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
9139
9275
  }
9140
- var Literal$0 = $TS($S($EXPECT($R13, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9276
+ var Literal$0 = $TS($S($EXPECT($R14, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9141
9277
  var literal = $2;
9142
9278
  return {
9143
9279
  type: "Literal",
@@ -9157,13 +9293,13 @@ ${input.slice(result.pos)}
9157
9293
  function LiteralContent(ctx, state) {
9158
9294
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
9159
9295
  }
9160
- var NullLiteral$0 = $TS($S($EXPECT($L38, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9296
+ var NullLiteral$0 = $TS($S($EXPECT($L37, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9161
9297
  return { $loc, token: $1 };
9162
9298
  });
9163
9299
  function NullLiteral(ctx, state) {
9164
9300
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
9165
9301
  }
9166
- var BooleanLiteral$0 = $T($S($EXPECT($R14, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9302
+ var BooleanLiteral$0 = $T($S($EXPECT($R15, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9167
9303
  return value[1];
9168
9304
  });
9169
9305
  function BooleanLiteral(ctx, state) {
@@ -9172,31 +9308,31 @@ ${input.slice(result.pos)}
9172
9308
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9173
9309
  return value[1];
9174
9310
  });
9175
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L39, '_BooleanLiteral "true"'), $EXPECT($L40, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9311
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L38, '_BooleanLiteral "true"'), $EXPECT($L39, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9176
9312
  return { $loc, token: $1 };
9177
9313
  });
9178
9314
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
9179
9315
  function _BooleanLiteral(ctx, state) {
9180
9316
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
9181
9317
  }
9182
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L41, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L42, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9318
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L40, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L41, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9183
9319
  return { $loc, token: "true" };
9184
9320
  });
9185
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L43, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L44, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9321
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L42, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L43, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9186
9322
  return { $loc, token: "false" };
9187
9323
  });
9188
9324
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
9189
9325
  function CoffeeScriptBooleanLiteral(ctx, state) {
9190
9326
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
9191
9327
  }
9192
- var Identifier$0 = $T($S($EXPECT($R15, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9328
+ var Identifier$0 = $T($S($EXPECT($R16, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9193
9329
  var id = value[2];
9194
9330
  return id;
9195
9331
  });
9196
9332
  function Identifier(ctx, state) {
9197
9333
  return $EVENT(ctx, state, "Identifier", Identifier$0);
9198
9334
  }
9199
- 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) {
9335
+ 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) {
9200
9336
  return {
9201
9337
  type: "Identifier",
9202
9338
  name: $0,
@@ -9214,11 +9350,11 @@ ${input.slice(result.pos)}
9214
9350
  function IdentifierReference(ctx, state) {
9215
9351
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
9216
9352
  }
9217
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L45, 'UpcomingAssignment ">"')))));
9353
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L44, 'UpcomingAssignment ">"')))));
9218
9354
  function UpcomingAssignment(ctx, state) {
9219
9355
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
9220
9356
  }
9221
- var ArrayLiteral$0 = $T($S($EXPECT($R17, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9357
+ var ArrayLiteral$0 = $T($S($EXPECT($R18, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9222
9358
  return value[1];
9223
9359
  });
9224
9360
  function ArrayLiteral(ctx, state) {
@@ -9233,10 +9369,7 @@ ${input.slice(result.pos)}
9233
9369
  return $skip;
9234
9370
  const [content, ws, close] = $3;
9235
9371
  if (content.type === "RangeExpression") {
9236
- return {
9237
- ...content,
9238
- children: [...content.children, ...ws]
9239
- };
9372
+ return prepend(ws, content);
9240
9373
  }
9241
9374
  let children;
9242
9375
  if (Array.isArray(content)) {
@@ -9390,7 +9523,7 @@ ${input.slice(result.pos)}
9390
9523
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
9391
9524
  }
9392
9525
  var ArrayElementDelimiter$0 = $S(__, Comma);
9393
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L46, 'ArrayElementDelimiter "]"')));
9526
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L45, 'ArrayElementDelimiter "]"')));
9394
9527
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9395
9528
  return value[1];
9396
9529
  });
@@ -9586,7 +9719,7 @@ ${input.slice(result.pos)}
9586
9719
  prop = [prop];
9587
9720
  if (i === 0) {
9588
9721
  const [first, ...rest] = prop;
9589
- prop = [{ ...first, children: [...ws, ...first.children] }, ...rest];
9722
+ prop = [prepend(ws, first), ...rest];
9590
9723
  }
9591
9724
  const last = prop[prop.length - 1];
9592
9725
  prop = [
@@ -9644,7 +9777,7 @@ ${input.slice(result.pos)}
9644
9777
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
9645
9778
  }
9646
9779
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
9647
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ObjectPropertyDelimiter "}"')));
9780
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ObjectPropertyDelimiter "}"')));
9648
9781
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9649
9782
  return value[1];
9650
9783
  });
@@ -9655,12 +9788,9 @@ ${input.slice(result.pos)}
9655
9788
  var PropertyDefinition$0 = $TS($S($E(_), NamedProperty), function($skip, $loc, $0, $1, $2) {
9656
9789
  var ws = $1;
9657
9790
  var prop = $2;
9658
- return {
9659
- ...prop,
9660
- children: [ws, ...prop.children]
9661
- };
9791
+ return prepend(ws, prop);
9662
9792
  });
9663
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R18, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9793
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R19, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9664
9794
  var ws = $1;
9665
9795
  var toggle = $2;
9666
9796
  var id = $3;
@@ -9692,10 +9822,7 @@ ${input.slice(result.pos)}
9692
9822
  }
9693
9823
  if (!def.block || def.block.empty)
9694
9824
  return $skip;
9695
- return {
9696
- ...def,
9697
- children: [ws, ...def.children]
9698
- };
9825
+ return prepend(ws, def);
9699
9826
  });
9700
9827
  var PropertyDefinition$3 = $TS($S($E(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
9701
9828
  var ws = $1;
@@ -9709,7 +9836,7 @@ ${input.slice(result.pos)}
9709
9836
  value: exp
9710
9837
  };
9711
9838
  });
9712
- var PropertyDefinition$4 = $TS($S($E(_), $N(EOS), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9839
+ 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) {
9713
9840
  var ws = $1;
9714
9841
  var pre = $3;
9715
9842
  var value = $4;
@@ -9717,7 +9844,7 @@ ${input.slice(result.pos)}
9717
9844
  if (!pre.length && !post) {
9718
9845
  switch (value.type) {
9719
9846
  case "Identifier":
9720
- return { ...value, children: [ws, ...value.children] };
9847
+ return prepend(ws, value);
9721
9848
  case "ObjectExpression":
9722
9849
  let first = value.properties[0];
9723
9850
  if (first) {
@@ -9845,7 +9972,7 @@ ${input.slice(result.pos)}
9845
9972
  implicit: true
9846
9973
  };
9847
9974
  });
9848
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R10, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9975
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R12, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9849
9976
  const expression = [$2, $3];
9850
9977
  return {
9851
9978
  type: "ComputedPropertyName",
@@ -9854,10 +9981,10 @@ ${input.slice(result.pos)}
9854
9981
  implicit: true
9855
9982
  };
9856
9983
  });
9857
- var ComputedPropertyName$3 = $TS($S(InsertOpenBracket, PartialPlaceholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
9858
- var open = $1;
9859
- var expression = $2;
9860
- var close = $3;
9984
+ var ComputedPropertyName$3 = $TS($S($Y($EXPECT($L7, 'ComputedPropertyName "."')), InsertOpenBracket, Placeholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9985
+ var open = $2;
9986
+ var expression = $3;
9987
+ var close = $4;
9861
9988
  return {
9862
9989
  type: "ComputedPropertyName",
9863
9990
  expression,
@@ -10162,10 +10289,10 @@ ${input.slice(result.pos)}
10162
10289
  function OperatorAssignmentOp(ctx, state) {
10163
10290
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
10164
10291
  }
10165
- var AssignmentOpSymbol$0 = $EXPECT($L47, 'AssignmentOpSymbol "**="');
10166
- var AssignmentOpSymbol$1 = $EXPECT($L48, 'AssignmentOpSymbol "*="');
10167
- var AssignmentOpSymbol$2 = $EXPECT($L49, 'AssignmentOpSymbol "/="');
10168
- var AssignmentOpSymbol$3 = $EXPECT($L50, 'AssignmentOpSymbol "%="');
10292
+ var AssignmentOpSymbol$0 = $EXPECT($L46, 'AssignmentOpSymbol "**="');
10293
+ var AssignmentOpSymbol$1 = $EXPECT($L47, 'AssignmentOpSymbol "*="');
10294
+ var AssignmentOpSymbol$2 = $EXPECT($L48, 'AssignmentOpSymbol "/="');
10295
+ var AssignmentOpSymbol$3 = $EXPECT($L49, 'AssignmentOpSymbol "%="');
10169
10296
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L9, 'AssignmentOpSymbol "++"'), $EXPECT($L11, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
10170
10297
  return {
10171
10298
  special: true,
@@ -10174,18 +10301,18 @@ ${input.slice(result.pos)}
10174
10301
  children: [$2]
10175
10302
  };
10176
10303
  });
10177
- var AssignmentOpSymbol$5 = $EXPECT($L51, 'AssignmentOpSymbol "+="');
10178
- var AssignmentOpSymbol$6 = $EXPECT($L52, 'AssignmentOpSymbol "-="');
10179
- var AssignmentOpSymbol$7 = $EXPECT($L53, 'AssignmentOpSymbol "<<="');
10180
- var AssignmentOpSymbol$8 = $EXPECT($L54, 'AssignmentOpSymbol ">>>="');
10181
- var AssignmentOpSymbol$9 = $EXPECT($L55, 'AssignmentOpSymbol ">>="');
10182
- var AssignmentOpSymbol$10 = $EXPECT($L56, 'AssignmentOpSymbol "&&="');
10183
- var AssignmentOpSymbol$11 = $EXPECT($L57, 'AssignmentOpSymbol "&="');
10184
- var AssignmentOpSymbol$12 = $EXPECT($L58, 'AssignmentOpSymbol "^="');
10185
- var AssignmentOpSymbol$13 = $EXPECT($L59, 'AssignmentOpSymbol "||="');
10186
- var AssignmentOpSymbol$14 = $EXPECT($L60, 'AssignmentOpSymbol "|="');
10187
- var AssignmentOpSymbol$15 = $EXPECT($L61, 'AssignmentOpSymbol "??="');
10188
- var AssignmentOpSymbol$16 = $T($EXPECT($L62, 'AssignmentOpSymbol "?="'), function(value) {
10304
+ var AssignmentOpSymbol$5 = $EXPECT($L50, 'AssignmentOpSymbol "+="');
10305
+ var AssignmentOpSymbol$6 = $EXPECT($L51, 'AssignmentOpSymbol "-="');
10306
+ var AssignmentOpSymbol$7 = $EXPECT($L52, 'AssignmentOpSymbol "<<="');
10307
+ var AssignmentOpSymbol$8 = $EXPECT($L53, 'AssignmentOpSymbol ">>>="');
10308
+ var AssignmentOpSymbol$9 = $EXPECT($L54, 'AssignmentOpSymbol ">>="');
10309
+ var AssignmentOpSymbol$10 = $EXPECT($L55, 'AssignmentOpSymbol "&&="');
10310
+ var AssignmentOpSymbol$11 = $EXPECT($L56, 'AssignmentOpSymbol "&="');
10311
+ var AssignmentOpSymbol$12 = $EXPECT($L57, 'AssignmentOpSymbol "^="');
10312
+ var AssignmentOpSymbol$13 = $EXPECT($L58, 'AssignmentOpSymbol "||="');
10313
+ var AssignmentOpSymbol$14 = $EXPECT($L59, 'AssignmentOpSymbol "|="');
10314
+ var AssignmentOpSymbol$15 = $EXPECT($L60, 'AssignmentOpSymbol "??="');
10315
+ var AssignmentOpSymbol$16 = $T($EXPECT($L61, 'AssignmentOpSymbol "?="'), function(value) {
10189
10316
  return "??=";
10190
10317
  });
10191
10318
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10198,10 +10325,10 @@ ${input.slice(result.pos)}
10198
10325
  function AssignmentOpSymbol(ctx, state) {
10199
10326
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
10200
10327
  }
10201
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "and="'), function(value) {
10328
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L62, 'CoffeeWordAssignmentOp "and="'), function(value) {
10202
10329
  return "&&=";
10203
10330
  });
10204
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L64, 'CoffeeWordAssignmentOp "or="'), function(value) {
10331
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "or="'), function(value) {
10205
10332
  return "||=";
10206
10333
  });
10207
10334
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -10235,7 +10362,7 @@ ${input.slice(result.pos)}
10235
10362
  function IdentifierBinaryOp(ctx, state) {
10236
10363
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
10237
10364
  }
10238
- 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) {
10365
+ 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) {
10239
10366
  var op = value[1];
10240
10367
  return op;
10241
10368
  });
@@ -10272,33 +10399,33 @@ ${input.slice(result.pos)}
10272
10399
  function _BinaryOp(ctx, state) {
10273
10400
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
10274
10401
  }
10275
- var BinaryOpSymbol$0 = $EXPECT($L65, 'BinaryOpSymbol "**"');
10276
- var BinaryOpSymbol$1 = $EXPECT($L66, 'BinaryOpSymbol "*"');
10277
- var BinaryOpSymbol$2 = $EXPECT($L67, 'BinaryOpSymbol "/"');
10278
- var BinaryOpSymbol$3 = $TV($EXPECT($L68, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10402
+ var BinaryOpSymbol$0 = $EXPECT($L64, 'BinaryOpSymbol "**"');
10403
+ var BinaryOpSymbol$1 = $EXPECT($L65, 'BinaryOpSymbol "*"');
10404
+ var BinaryOpSymbol$2 = $EXPECT($L66, 'BinaryOpSymbol "/"');
10405
+ var BinaryOpSymbol$3 = $TV($EXPECT($L67, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10279
10406
  return {
10280
10407
  call: module.getRef("modulo"),
10281
10408
  special: true
10282
10409
  };
10283
10410
  });
10284
- var BinaryOpSymbol$4 = $EXPECT($L69, 'BinaryOpSymbol "%"');
10411
+ var BinaryOpSymbol$4 = $EXPECT($L68, 'BinaryOpSymbol "%"');
10285
10412
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L9, 'BinaryOpSymbol "++"'), $EXPECT($L11, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
10286
10413
  return {
10287
10414
  method: "concat",
10288
10415
  special: true
10289
10416
  };
10290
10417
  });
10291
- var BinaryOpSymbol$6 = $EXPECT($L70, 'BinaryOpSymbol "+"');
10418
+ var BinaryOpSymbol$6 = $EXPECT($L69, 'BinaryOpSymbol "+"');
10292
10419
  var BinaryOpSymbol$7 = $EXPECT($L22, 'BinaryOpSymbol "-"');
10293
- var BinaryOpSymbol$8 = $EXPECT($L71, 'BinaryOpSymbol "<="');
10294
- var BinaryOpSymbol$9 = $T($EXPECT($L72, 'BinaryOpSymbol "\u2264"'), function(value) {
10420
+ var BinaryOpSymbol$8 = $EXPECT($L70, 'BinaryOpSymbol "<="');
10421
+ var BinaryOpSymbol$9 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
10295
10422
  return "<=";
10296
10423
  });
10297
- var BinaryOpSymbol$10 = $EXPECT($L73, 'BinaryOpSymbol ">="');
10298
- var BinaryOpSymbol$11 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2265"'), function(value) {
10424
+ var BinaryOpSymbol$10 = $EXPECT($L72, 'BinaryOpSymbol ">="');
10425
+ var BinaryOpSymbol$11 = $T($EXPECT($L73, 'BinaryOpSymbol "\u2265"'), function(value) {
10299
10426
  return ">=";
10300
10427
  });
10301
- var BinaryOpSymbol$12 = $TV($EXPECT($L75, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10428
+ var BinaryOpSymbol$12 = $TV($EXPECT($L74, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10302
10429
  return {
10303
10430
  $loc,
10304
10431
  token: "instanceof",
@@ -10306,7 +10433,7 @@ ${input.slice(result.pos)}
10306
10433
  special: true
10307
10434
  };
10308
10435
  });
10309
- var BinaryOpSymbol$13 = $TV($EXPECT($L76, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10436
+ var BinaryOpSymbol$13 = $TV($EXPECT($L75, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10310
10437
  return {
10311
10438
  $loc,
10312
10439
  token: "instanceof",
@@ -10315,76 +10442,76 @@ ${input.slice(result.pos)}
10315
10442
  negated: true
10316
10443
  };
10317
10444
  });
10318
- var BinaryOpSymbol$14 = $EXPECT($L77, 'BinaryOpSymbol "<<"');
10319
- var BinaryOpSymbol$15 = $T($EXPECT($L78, 'BinaryOpSymbol "\xAB"'), function(value) {
10445
+ var BinaryOpSymbol$14 = $EXPECT($L76, 'BinaryOpSymbol "<<"');
10446
+ var BinaryOpSymbol$15 = $T($EXPECT($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
10320
10447
  return "<<";
10321
10448
  });
10322
10449
  var BinaryOpSymbol$16 = $EXPECT($L17, 'BinaryOpSymbol "<"');
10323
- var BinaryOpSymbol$17 = $EXPECT($L79, 'BinaryOpSymbol ">>>"');
10324
- var BinaryOpSymbol$18 = $T($EXPECT($L80, 'BinaryOpSymbol "\u22D9"'), function(value) {
10450
+ var BinaryOpSymbol$17 = $EXPECT($L78, 'BinaryOpSymbol ">>>"');
10451
+ var BinaryOpSymbol$18 = $T($EXPECT($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
10325
10452
  return ">>>";
10326
10453
  });
10327
- var BinaryOpSymbol$19 = $EXPECT($L81, 'BinaryOpSymbol ">>"');
10328
- var BinaryOpSymbol$20 = $T($EXPECT($L82, 'BinaryOpSymbol "\xBB"'), function(value) {
10454
+ var BinaryOpSymbol$19 = $EXPECT($L80, 'BinaryOpSymbol ">>"');
10455
+ var BinaryOpSymbol$20 = $T($EXPECT($L81, 'BinaryOpSymbol "\xBB"'), function(value) {
10329
10456
  return ">>";
10330
10457
  });
10331
- var BinaryOpSymbol$21 = $EXPECT($L45, 'BinaryOpSymbol ">"');
10332
- var BinaryOpSymbol$22 = $EXPECT($L83, 'BinaryOpSymbol "!=="');
10333
- var BinaryOpSymbol$23 = $T($EXPECT($L84, 'BinaryOpSymbol "\u2262"'), function(value) {
10458
+ var BinaryOpSymbol$21 = $EXPECT($L44, 'BinaryOpSymbol ">"');
10459
+ var BinaryOpSymbol$22 = $EXPECT($L82, 'BinaryOpSymbol "!=="');
10460
+ var BinaryOpSymbol$23 = $T($EXPECT($L83, 'BinaryOpSymbol "\u2262"'), function(value) {
10334
10461
  return "!==";
10335
10462
  });
10336
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L85, 'BinaryOpSymbol "!="'), $EXPECT($L86, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10463
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L84, 'BinaryOpSymbol "!="'), $EXPECT($L85, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10337
10464
  if (module.config.coffeeEq)
10338
10465
  return "!==";
10339
10466
  return "!=";
10340
10467
  });
10341
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L87, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10468
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L86, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10342
10469
  if (module.config.coffeeIsnt)
10343
10470
  return "!==";
10344
10471
  return $skip;
10345
10472
  });
10346
- var BinaryOpSymbol$26 = $EXPECT($L88, 'BinaryOpSymbol "==="');
10347
- var BinaryOpSymbol$27 = $T($C($EXPECT($L89, 'BinaryOpSymbol "\u2263"'), $EXPECT($L90, 'BinaryOpSymbol "\u2A76"')), function(value) {
10473
+ var BinaryOpSymbol$26 = $EXPECT($L87, 'BinaryOpSymbol "==="');
10474
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L88, 'BinaryOpSymbol "\u2263"'), $EXPECT($L89, 'BinaryOpSymbol "\u2A76"')), function(value) {
10348
10475
  return "===";
10349
10476
  });
10350
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L91, 'BinaryOpSymbol "=="'), $EXPECT($L92, 'BinaryOpSymbol "\u2261"'), $EXPECT($L93, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10477
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "=="'), $EXPECT($L91, 'BinaryOpSymbol "\u2261"'), $EXPECT($L92, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10351
10478
  if (module.config.coffeeEq)
10352
10479
  return "===";
10353
10480
  return "==";
10354
10481
  });
10355
- var BinaryOpSymbol$29 = $T($S($EXPECT($L94, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10482
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L93, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10356
10483
  return "&&";
10357
10484
  });
10358
- var BinaryOpSymbol$30 = $EXPECT($L95, 'BinaryOpSymbol "&&"');
10359
- var BinaryOpSymbol$31 = $T($S($EXPECT($L96, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10485
+ var BinaryOpSymbol$30 = $EXPECT($L94, 'BinaryOpSymbol "&&"');
10486
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L95, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10360
10487
  return "||";
10361
10488
  });
10362
- var BinaryOpSymbol$32 = $EXPECT($L97, 'BinaryOpSymbol "||"');
10363
- var BinaryOpSymbol$33 = $T($EXPECT($L98, 'BinaryOpSymbol "\u2016"'), function(value) {
10489
+ var BinaryOpSymbol$32 = $EXPECT($L96, 'BinaryOpSymbol "||"');
10490
+ var BinaryOpSymbol$33 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2016"'), function(value) {
10364
10491
  return "||";
10365
10492
  });
10366
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L99, 'BinaryOpSymbol "^^"'), $S($EXPECT($L100, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10493
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L98, 'BinaryOpSymbol "^^"'), $S($EXPECT($L99, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10367
10494
  return {
10368
10495
  call: module.getRef("xor"),
10369
10496
  special: true,
10370
10497
  prec: "^^"
10371
10498
  };
10372
10499
  });
10373
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R20, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L101, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10500
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R21, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L100, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10374
10501
  return {
10375
10502
  call: module.getRef("xnor"),
10376
10503
  special: true,
10377
10504
  prec: "^^"
10378
10505
  };
10379
10506
  });
10380
- var BinaryOpSymbol$36 = $EXPECT($L102, 'BinaryOpSymbol "??"');
10381
- var BinaryOpSymbol$37 = $T($EXPECT($L103, 'BinaryOpSymbol "\u2047"'), function(value) {
10507
+ var BinaryOpSymbol$36 = $EXPECT($L101, 'BinaryOpSymbol "??"');
10508
+ var BinaryOpSymbol$37 = $T($EXPECT($L102, 'BinaryOpSymbol "\u2047"'), function(value) {
10382
10509
  return "??";
10383
10510
  });
10384
10511
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
10385
10512
  return "??";
10386
10513
  });
10387
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L104, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10514
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L103, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10388
10515
  return {
10389
10516
  $loc,
10390
10517
  token: $1,
@@ -10401,7 +10528,7 @@ ${input.slice(result.pos)}
10401
10528
  var op = $3;
10402
10529
  return { ...op, $loc };
10403
10530
  });
10404
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L105, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10531
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L104, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10405
10532
  return {
10406
10533
  method: "includes",
10407
10534
  relational: true,
@@ -10409,14 +10536,14 @@ ${input.slice(result.pos)}
10409
10536
  special: true
10410
10537
  };
10411
10538
  });
10412
- var BinaryOpSymbol$43 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10539
+ var BinaryOpSymbol$43 = $TV($EXPECT($L105, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10413
10540
  return {
10414
10541
  method: "includes",
10415
10542
  relational: true,
10416
10543
  special: true
10417
10544
  };
10418
10545
  });
10419
- var BinaryOpSymbol$44 = $TV($EXPECT($L107, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10546
+ var BinaryOpSymbol$44 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10420
10547
  return {
10421
10548
  method: "includes",
10422
10549
  relational: true,
@@ -10424,7 +10551,7 @@ ${input.slice(result.pos)}
10424
10551
  negated: true
10425
10552
  };
10426
10553
  });
10427
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L108, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10554
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L107, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10428
10555
  return {
10429
10556
  method: "includes",
10430
10557
  relational: true,
@@ -10457,9 +10584,9 @@ ${input.slice(result.pos)}
10457
10584
  return "===";
10458
10585
  });
10459
10586
  var BinaryOpSymbol$48 = In;
10460
- var BinaryOpSymbol$49 = $EXPECT($L109, 'BinaryOpSymbol "&"');
10587
+ var BinaryOpSymbol$49 = $EXPECT($L108, 'BinaryOpSymbol "&"');
10461
10588
  var BinaryOpSymbol$50 = $EXPECT($L21, 'BinaryOpSymbol "^"');
10462
- var BinaryOpSymbol$51 = $EXPECT($L110, 'BinaryOpSymbol "|"');
10589
+ var BinaryOpSymbol$51 = $EXPECT($L109, 'BinaryOpSymbol "|"');
10463
10590
  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];
10464
10591
  function BinaryOpSymbol(ctx, state) {
10465
10592
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -10507,7 +10634,7 @@ ${input.slice(result.pos)}
10507
10634
  function CoffeeOfOp(ctx, state) {
10508
10635
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
10509
10636
  }
10510
- var NotOp$0 = $TS($S($EXPECT($L104, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10637
+ var NotOp$0 = $TS($S($EXPECT($L103, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10511
10638
  return {
10512
10639
  $loc,
10513
10640
  token: "instanceof",
@@ -10528,30 +10655,30 @@ ${input.slice(result.pos)}
10528
10655
  function NotOp(ctx, state) {
10529
10656
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
10530
10657
  }
10531
- var Xor$0 = $EXPECT($L99, 'Xor "^^"');
10532
- var Xor$1 = $S($EXPECT($L100, 'Xor "xor"'), NonIdContinue);
10658
+ var Xor$0 = $EXPECT($L98, 'Xor "^^"');
10659
+ var Xor$1 = $S($EXPECT($L99, 'Xor "xor"'), NonIdContinue);
10533
10660
  var Xor$$ = [Xor$0, Xor$1];
10534
10661
  function Xor(ctx, state) {
10535
10662
  return $EVENT_C(ctx, state, "Xor", Xor$$);
10536
10663
  }
10537
- var Xnor$0 = $R$0($EXPECT($R20, "Xnor /!\\^\\^?/"));
10538
- var Xnor$1 = $EXPECT($L101, 'Xnor "xnor"');
10664
+ var Xnor$0 = $R$0($EXPECT($R21, "Xnor /!\\^\\^?/"));
10665
+ var Xnor$1 = $EXPECT($L100, 'Xnor "xnor"');
10539
10666
  var Xnor$$ = [Xnor$0, Xnor$1];
10540
10667
  function Xnor(ctx, state) {
10541
10668
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
10542
10669
  }
10543
- var UnaryOp$0 = $TR($EXPECT($R21, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10670
+ var UnaryOp$0 = $TR($EXPECT($R22, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10544
10671
  return { $loc, token: $0 };
10545
10672
  });
10546
10673
  var UnaryOp$1 = AwaitOp;
10547
- var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R22, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10674
+ var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R23, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10548
10675
  var op = $1;
10549
10676
  var ws = $3;
10550
10677
  if (!ws)
10551
10678
  return [op, [" "]];
10552
10679
  return [op, ws];
10553
10680
  });
10554
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R22, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10681
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R23, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10555
10682
  return [value[0], value[3]];
10556
10683
  });
10557
10684
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -10579,7 +10706,7 @@ ${input.slice(result.pos)}
10579
10706
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
10580
10707
  }
10581
10708
  var StatementListItem$0 = Declaration;
10582
- var StatementListItem$1 = $TS($S($N($EXPECT($L111, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10709
+ var StatementListItem$1 = $TS($S($N($EXPECT($L110, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10583
10710
  return makeLeftHandSideExpression($2);
10584
10711
  });
10585
10712
  var StatementListItem$2 = PostfixedStatement;
@@ -10646,7 +10773,7 @@ ${input.slice(result.pos)}
10646
10773
  function NonPipelinePostfixedExpression(ctx, state) {
10647
10774
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
10648
10775
  }
10649
- var PostfixStatement$0 = $T($S($EXPECT($R23, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10776
+ var PostfixStatement$0 = $T($S($EXPECT($R24, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10650
10777
  return value[1];
10651
10778
  });
10652
10779
  function PostfixStatement(ctx, state) {
@@ -10689,7 +10816,7 @@ ${input.slice(result.pos)}
10689
10816
  function NoCommaStatement(ctx, state) {
10690
10817
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
10691
10818
  }
10692
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L112, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10819
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L111, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10693
10820
  return { type: "EmptyStatement", children: $1 || [] };
10694
10821
  });
10695
10822
  function EmptyStatement(ctx, state) {
@@ -10720,7 +10847,7 @@ ${input.slice(result.pos)}
10720
10847
  var w = $3;
10721
10848
  return [id, colon, w];
10722
10849
  });
10723
- var Label$1 = $S($EXPECT($L111, 'Label "$:"'), Whitespace);
10850
+ var Label$1 = $S($EXPECT($L110, 'Label "$:"'), Whitespace);
10724
10851
  var Label$$ = [Label$0, Label$1];
10725
10852
  function Label(ctx, state) {
10726
10853
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10779,7 +10906,7 @@ ${input.slice(result.pos)}
10779
10906
  function UnlessClause(ctx, state) {
10780
10907
  return $EVENT(ctx, state, "UnlessClause", UnlessClause$0);
10781
10908
  }
10782
- var IterationStatement$0 = $T($S($EXPECT($R24, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10909
+ var IterationStatement$0 = $T($S($EXPECT($R25, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10783
10910
  return value[1];
10784
10911
  });
10785
10912
  function IterationStatement(ctx, state) {
@@ -11157,7 +11284,7 @@ ${input.slice(result.pos)}
11157
11284
  names: binding.names
11158
11285
  };
11159
11286
  });
11160
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R25, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11287
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R26, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11161
11288
  var c = $1;
11162
11289
  var binding = $2;
11163
11290
  return {
@@ -11717,19 +11844,19 @@ ${input.slice(result.pos)}
11717
11844
  function ThrowStatement(ctx, state) {
11718
11845
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
11719
11846
  }
11720
- var Break$0 = $TS($S($EXPECT($L113, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11847
+ var Break$0 = $TS($S($EXPECT($L112, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11721
11848
  return { $loc, token: $1 };
11722
11849
  });
11723
11850
  function Break(ctx, state) {
11724
11851
  return $EVENT(ctx, state, "Break", Break$0);
11725
11852
  }
11726
- var Continue$0 = $TS($S($EXPECT($L114, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11853
+ var Continue$0 = $TS($S($EXPECT($L113, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11727
11854
  return { $loc, token: $1 };
11728
11855
  });
11729
11856
  function Continue(ctx, state) {
11730
11857
  return $EVENT(ctx, state, "Continue", Continue$0);
11731
11858
  }
11732
- var Debugger$0 = $TS($S($EXPECT($L115, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11859
+ var Debugger$0 = $TS($S($EXPECT($L114, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
11860
  return { $loc, token: $1 };
11734
11861
  });
11735
11862
  function Debugger(ctx, state) {
@@ -11746,7 +11873,7 @@ ${input.slice(result.pos)}
11746
11873
  function MaybeNestedExpression(ctx, state) {
11747
11874
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
11748
11875
  }
11749
- 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) {
11876
+ 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) {
11750
11877
  const imp = [
11751
11878
  { ...$1, ts: true },
11752
11879
  { ...$1, token: "const", js: true }
@@ -11854,7 +11981,7 @@ ${input.slice(result.pos)}
11854
11981
  function FromClause(ctx, state) {
11855
11982
  return $EVENT(ctx, state, "FromClause", FromClause$0);
11856
11983
  }
11857
- 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) {
11984
+ 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) {
11858
11985
  var keyword = $2;
11859
11986
  var object = $5;
11860
11987
  return {
@@ -11986,7 +12113,7 @@ ${input.slice(result.pos)}
11986
12113
  function UnprocessedModuleSpecifier(ctx, state) {
11987
12114
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
11988
12115
  }
11989
- var UnquotedSpecifier$0 = $TV($EXPECT($R26, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
12116
+ var UnquotedSpecifier$0 = $TV($EXPECT($R27, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
11990
12117
  var spec = $0;
11991
12118
  return { $loc, token: `"${spec}"` };
11992
12119
  });
@@ -12158,19 +12285,19 @@ ${input.slice(result.pos)}
12158
12285
  function LexicalDeclaration(ctx, state) {
12159
12286
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
12160
12287
  }
12161
- var ConstAssignment$0 = $TV($C($EXPECT($L119, 'ConstAssignment ":="'), $EXPECT($L120, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12288
+ var ConstAssignment$0 = $TV($C($EXPECT($L118, 'ConstAssignment ":="'), $EXPECT($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12162
12289
  return { $loc, token: "=" };
12163
12290
  });
12164
12291
  function ConstAssignment(ctx, state) {
12165
12292
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
12166
12293
  }
12167
- var LetAssignment$0 = $TV($EXPECT($L121, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12294
+ var LetAssignment$0 = $TV($EXPECT($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12168
12295
  return { $loc, token: "=" };
12169
12296
  });
12170
12297
  function LetAssignment(ctx, state) {
12171
12298
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
12172
12299
  }
12173
- var TypeAssignment$0 = $TV($EXPECT($L122, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12300
+ var TypeAssignment$0 = $TV($EXPECT($L121, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12174
12301
  return { $loc, token: "=" };
12175
12302
  });
12176
12303
  function TypeAssignment(ctx, state) {
@@ -12211,7 +12338,10 @@ ${input.slice(result.pos)}
12211
12338
  function LexicalBinding(ctx, state) {
12212
12339
  return $EVENT_C(ctx, state, "LexicalBinding", LexicalBinding$$);
12213
12340
  }
12214
- var Initializer$0 = $S(__, Equals, ExtendedExpression);
12341
+ var Initializer$0 = $T($S(__, Equals, ExtendedExpression), function(value) {
12342
+ var exp = value[2];
12343
+ return { "type": "Initializer", "exp": exp, "children": value };
12344
+ });
12215
12345
  function Initializer(ctx, state) {
12216
12346
  return $EVENT(ctx, state, "Initializer", Initializer$0);
12217
12347
  }
@@ -12239,7 +12369,7 @@ ${input.slice(result.pos)}
12239
12369
  function VariableDeclarationList(ctx, state) {
12240
12370
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
12241
12371
  }
12242
- var NumericLiteral$0 = $TS($S($EXPECT($R27, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12372
+ var NumericLiteral$0 = $TS($S($EXPECT($R28, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12243
12373
  var token = $2;
12244
12374
  return { type: "NumericLiteral", $loc, token };
12245
12375
  });
@@ -12255,36 +12385,36 @@ ${input.slice(result.pos)}
12255
12385
  function NumericLiteralKind(ctx, state) {
12256
12386
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
12257
12387
  }
12258
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R28, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12388
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R29, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12259
12389
  function DecimalBigIntegerLiteral(ctx, state) {
12260
12390
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
12261
12391
  }
12262
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12392
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12263
12393
  return $1 + ".";
12264
12394
  });
12265
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12266
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12395
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12396
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R32, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12267
12397
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
12268
12398
  function DecimalLiteral(ctx, state) {
12269
12399
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
12270
12400
  }
12271
- var ExponentPart$0 = $R$0($EXPECT($R32, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12401
+ var ExponentPart$0 = $R$0($EXPECT($R33, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12272
12402
  function ExponentPart(ctx, state) {
12273
12403
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
12274
12404
  }
12275
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R33, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12405
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R34, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12276
12406
  function BinaryIntegerLiteral(ctx, state) {
12277
12407
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
12278
12408
  }
12279
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R34, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12409
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R35, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12280
12410
  function OctalIntegerLiteral(ctx, state) {
12281
12411
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
12282
12412
  }
12283
- var HexIntegerLiteral$0 = $R$0($EXPECT($R35, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12413
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R36, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12284
12414
  function HexIntegerLiteral(ctx, state) {
12285
12415
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
12286
12416
  }
12287
- var IntegerLiteral$0 = $TS($S($EXPECT($R36, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12417
+ var IntegerLiteral$0 = $TS($S($EXPECT($R37, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12288
12418
  var token = $2;
12289
12419
  return { $loc, token };
12290
12420
  });
@@ -12300,7 +12430,7 @@ ${input.slice(result.pos)}
12300
12430
  function IntegerLiteralKind(ctx, state) {
12301
12431
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
12302
12432
  }
12303
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R37, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12433
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R38, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12304
12434
  function DecimalIntegerLiteral(ctx, state) {
12305
12435
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
12306
12436
  }
@@ -12324,25 +12454,25 @@ ${input.slice(result.pos)}
12324
12454
  function StringLiteral(ctx, state) {
12325
12455
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
12326
12456
  }
12327
- var DoubleStringCharacters$0 = $TR($EXPECT($R38, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12457
+ var DoubleStringCharacters$0 = $TR($EXPECT($R39, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12328
12458
  return { $loc, token: $0 };
12329
12459
  });
12330
12460
  function DoubleStringCharacters(ctx, state) {
12331
12461
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
12332
12462
  }
12333
- var SingleStringCharacters$0 = $TR($EXPECT($R39, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12463
+ var SingleStringCharacters$0 = $TR($EXPECT($R40, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12334
12464
  return { $loc, token: $0 };
12335
12465
  });
12336
12466
  function SingleStringCharacters(ctx, state) {
12337
12467
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
12338
12468
  }
12339
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R40, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12469
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R41, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12340
12470
  return { $loc, token: $0 };
12341
12471
  });
12342
12472
  function TripleDoubleStringCharacters(ctx, state) {
12343
12473
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
12344
12474
  }
12345
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R41, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12475
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R42, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12346
12476
  return { $loc, token: $0 };
12347
12477
  });
12348
12478
  function TripleSingleStringCharacters(ctx, state) {
@@ -12365,14 +12495,14 @@ ${input.slice(result.pos)}
12365
12495
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
12366
12496
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
12367
12497
  }
12368
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R42, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12498
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R43, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12369
12499
  return { $loc, token: $0 };
12370
12500
  });
12371
12501
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
12372
12502
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
12373
12503
  }
12374
12504
  var RegularExpressionLiteral$0 = HeregexLiteral;
12375
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12505
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12376
12506
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
12377
12507
  });
12378
12508
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -12385,7 +12515,7 @@ ${input.slice(result.pos)}
12385
12515
  function RegularExpressionClass(ctx, state) {
12386
12516
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
12387
12517
  }
12388
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R43, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12518
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R44, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12389
12519
  return { $loc, token: $0 };
12390
12520
  });
12391
12521
  function RegularExpressionClassCharacters(ctx, state) {
@@ -12442,7 +12572,7 @@ ${input.slice(result.pos)}
12442
12572
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
12443
12573
  return { "type": "Substitution", "children": value[0] };
12444
12574
  });
12445
- var HeregexPart$3 = $TR($EXPECT($R44, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12575
+ var HeregexPart$3 = $TR($EXPECT($R45, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12446
12576
  let token = $0;
12447
12577
  switch ($0[1]) {
12448
12578
  case "\n":
@@ -12460,13 +12590,13 @@ ${input.slice(result.pos)}
12460
12590
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
12461
12591
  return { $loc, token: "" };
12462
12592
  });
12463
- var HeregexPart$5 = $TR($EXPECT($R45, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12593
+ var HeregexPart$5 = $TR($EXPECT($R46, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12464
12594
  return { $loc, token: "" };
12465
12595
  });
12466
- var HeregexPart$6 = $TR($EXPECT($R46, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12596
+ var HeregexPart$6 = $TR($EXPECT($R47, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12467
12597
  return { $loc, token: "\\/" };
12468
12598
  });
12469
- var HeregexPart$7 = $TR($EXPECT($R47, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12599
+ var HeregexPart$7 = $TR($EXPECT($R48, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12470
12600
  return { $loc, token: $0 };
12471
12601
  });
12472
12602
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -12479,7 +12609,7 @@ ${input.slice(result.pos)}
12479
12609
  function HeregexComment(ctx, state) {
12480
12610
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
12481
12611
  }
12482
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R48, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12612
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R49, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12483
12613
  function RegularExpressionBody(ctx, state) {
12484
12614
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
12485
12615
  }
@@ -12489,15 +12619,15 @@ ${input.slice(result.pos)}
12489
12619
  function RegExpPart(ctx, state) {
12490
12620
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
12491
12621
  }
12492
- var RegExpCharacter$0 = $R$0($EXPECT($R49, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12622
+ var RegExpCharacter$0 = $R$0($EXPECT($R50, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12493
12623
  function RegExpCharacter(ctx, state) {
12494
12624
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
12495
12625
  }
12496
- var RegularExpressionFlags$0 = $R$0($EXPECT($R50, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12626
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R51, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12497
12627
  function RegularExpressionFlags(ctx, state) {
12498
12628
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
12499
12629
  }
12500
- var TemplateLiteral$0 = $T($S($EXPECT($R51, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12630
+ var TemplateLiteral$0 = $T($S($EXPECT($R52, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12501
12631
  return value[1];
12502
12632
  });
12503
12633
  function TemplateLiteral(ctx, state) {
@@ -12537,28 +12667,28 @@ ${input.slice(result.pos)}
12537
12667
  function TemplateSubstitution(ctx, state) {
12538
12668
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
12539
12669
  }
12540
- var TemplateCharacters$0 = $TR($EXPECT($R52, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12670
+ var TemplateCharacters$0 = $TR($EXPECT($R53, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12541
12671
  return { $loc, token: $0 };
12542
12672
  });
12543
12673
  function TemplateCharacters(ctx, state) {
12544
12674
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
12545
12675
  }
12546
- var TemplateBlockCharacters$0 = $TR($EXPECT($R53, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12676
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R54, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12547
12677
  return { $loc, token: $0 };
12548
12678
  });
12549
12679
  function TemplateBlockCharacters(ctx, state) {
12550
12680
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
12551
12681
  }
12552
- var ReservedWord$0 = $S($R$0($EXPECT($R54, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12553
- var ReservedWord$1 = $S($R$0($EXPECT($R55, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12554
- var ReservedWord$2 = $S($R$0($EXPECT($R56, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12555
- var ReservedWord$3 = $S($R$0($EXPECT($R57, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12556
- 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})/"));
12682
+ var ReservedWord$0 = $S($R$0($EXPECT($R55, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12683
+ var ReservedWord$1 = $S($R$0($EXPECT($R56, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12684
+ var ReservedWord$2 = $S($R$0($EXPECT($R57, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12685
+ var ReservedWord$3 = $S($R$0($EXPECT($R58, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12686
+ 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})/"));
12557
12687
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
12558
12688
  function ReservedWord(ctx, state) {
12559
12689
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
12560
12690
  }
12561
- var Comment$0 = $T($S($EXPECT($R59, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12691
+ var Comment$0 = $T($S($EXPECT($R60, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12562
12692
  return value[1];
12563
12693
  });
12564
12694
  function Comment(ctx, state) {
@@ -12576,7 +12706,7 @@ ${input.slice(result.pos)}
12576
12706
  function SingleLineComment(ctx, state) {
12577
12707
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
12578
12708
  }
12579
- var JSSingleLineComment$0 = $TR($EXPECT($R60, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12709
+ var JSSingleLineComment$0 = $TR($EXPECT($R61, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12580
12710
  return { type: "Comment", $loc, token: $0 };
12581
12711
  });
12582
12712
  function JSSingleLineComment(ctx, state) {
@@ -12588,30 +12718,30 @@ ${input.slice(result.pos)}
12588
12718
  function MultiLineComment(ctx, state) {
12589
12719
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
12590
12720
  }
12591
- 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) {
12721
+ 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) {
12592
12722
  return { type: "Comment", $loc, token: $1 };
12593
12723
  });
12594
12724
  function JSMultiLineComment(ctx, state) {
12595
12725
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
12596
12726
  }
12597
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R62, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12727
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R63, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12598
12728
  return { type: "Comment", $loc, token: `//${$1}` };
12599
12729
  });
12600
12730
  function CoffeeSingleLineComment(ctx, state) {
12601
12731
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
12602
12732
  }
12603
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R63, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12733
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R64, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12604
12734
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
12605
12735
  return { type: "Comment", $loc, token: `/*${$2}*/` };
12606
12736
  });
12607
12737
  function CoffeeMultiLineComment(ctx, state) {
12608
12738
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
12609
12739
  }
12610
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R64, "CoffeeHereCommentStart /###(?!#)/"));
12740
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R65, "CoffeeHereCommentStart /###(?!#)/"));
12611
12741
  function CoffeeHereCommentStart(ctx, state) {
12612
12742
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
12613
12743
  }
12614
- var InlineComment$0 = $TR($EXPECT($R65, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12744
+ var InlineComment$0 = $TR($EXPECT($R66, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12615
12745
  return { $loc, token: $0 };
12616
12746
  });
12617
12747
  function InlineComment(ctx, state) {
@@ -12625,30 +12755,30 @@ ${input.slice(result.pos)}
12625
12755
  function TrailingComment(ctx, state) {
12626
12756
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
12627
12757
  }
12628
- var _$0 = $T($S($EXPECT($R66, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12758
+ var _$0 = $T($S($EXPECT($R67, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12629
12759
  return value[1];
12630
12760
  });
12631
12761
  function _(ctx, state) {
12632
12762
  return $EVENT(ctx, state, "_", _$0);
12633
12763
  }
12634
- var NonNewlineWhitespace$0 = $TR($EXPECT($R67, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12764
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R68, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12635
12765
  return { $loc, token: $0 };
12636
12766
  });
12637
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L125, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12767
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L124, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12638
12768
  return " ";
12639
12769
  });
12640
12770
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
12641
12771
  function NonNewlineWhitespace(ctx, state) {
12642
12772
  return $EVENT_C(ctx, state, "NonNewlineWhitespace", NonNewlineWhitespace$$);
12643
12773
  }
12644
- var Trimmed_$0 = $TV($E(_), function($skip, $loc, $0, $1) {
12774
+ var Trimmed_$0 = $TV(_, function($skip, $loc, $0, $1) {
12645
12775
  var ws = $0;
12646
12776
  return insertTrimmingSpace(ws, "");
12647
12777
  });
12648
12778
  function Trimmed_(ctx, state) {
12649
12779
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
12650
12780
  }
12651
- var __$0 = $T($S($EXPECT($R68, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12781
+ var __$0 = $T($S($EXPECT($R69, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12652
12782
  return value[1];
12653
12783
  });
12654
12784
  var __$1 = $EXPECT($L0, '__ ""');
@@ -12656,7 +12786,7 @@ ${input.slice(result.pos)}
12656
12786
  function __(ctx, state) {
12657
12787
  return $EVENT_C(ctx, state, "__", __$$);
12658
12788
  }
12659
- var Whitespace$0 = $TR($EXPECT($R45, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12789
+ var Whitespace$0 = $TR($EXPECT($R46, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12660
12790
  return { $loc, token: $0 };
12661
12791
  });
12662
12792
  function Whitespace(ctx, state) {
@@ -12680,7 +12810,7 @@ ${input.slice(result.pos)}
12680
12810
  }
12681
12811
  var StatementDelimiter$0 = $Y(EOS);
12682
12812
  var StatementDelimiter$1 = SemicolonDelimiter;
12683
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L37, 'StatementDelimiter "}"'), $EXPECT($L126, 'StatementDelimiter ")"'), $EXPECT($L46, 'StatementDelimiter "]"'))));
12813
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L36, 'StatementDelimiter "}"'), $EXPECT($L125, 'StatementDelimiter ")"'), $EXPECT($L45, 'StatementDelimiter "]"'))));
12684
12814
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
12685
12815
  function StatementDelimiter(ctx, state) {
12686
12816
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -12694,7 +12824,7 @@ ${input.slice(result.pos)}
12694
12824
  function SemicolonDelimiter(ctx, state) {
12695
12825
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
12696
12826
  }
12697
- var NonIdContinue$0 = $R$0($EXPECT($R69, "NonIdContinue /(?!\\p{ID_Continue})/"));
12827
+ var NonIdContinue$0 = $R$0($EXPECT($R70, "NonIdContinue /(?!\\p{ID_Continue})/"));
12698
12828
  function NonIdContinue(ctx, state) {
12699
12829
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
12700
12830
  }
@@ -12704,55 +12834,55 @@ ${input.slice(result.pos)}
12704
12834
  function Loc(ctx, state) {
12705
12835
  return $EVENT(ctx, state, "Loc", Loc$0);
12706
12836
  }
12707
- var Abstract$0 = $TV($TEXT($S($EXPECT($L127, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12837
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L126, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12708
12838
  return { $loc, token: $1, ts: true };
12709
12839
  });
12710
12840
  function Abstract(ctx, state) {
12711
12841
  return $EVENT(ctx, state, "Abstract", Abstract$0);
12712
12842
  }
12713
- var Ampersand$0 = $TV($EXPECT($L109, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12843
+ var Ampersand$0 = $TV($EXPECT($L108, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12714
12844
  return { $loc, token: $1 };
12715
12845
  });
12716
12846
  function Ampersand(ctx, state) {
12717
12847
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
12718
12848
  }
12719
- var As$0 = $TS($S($EXPECT($L128, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12849
+ var As$0 = $TS($S($EXPECT($L127, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12720
12850
  return { $loc, token: $1 };
12721
12851
  });
12722
12852
  function As(ctx, state) {
12723
12853
  return $EVENT(ctx, state, "As", As$0);
12724
12854
  }
12725
- var At$0 = $TV($EXPECT($L129, 'At "@"'), function($skip, $loc, $0, $1) {
12855
+ var At$0 = $TV($EXPECT($L128, 'At "@"'), function($skip, $loc, $0, $1) {
12726
12856
  return { $loc, token: $1 };
12727
12857
  });
12728
12858
  function At(ctx, state) {
12729
12859
  return $EVENT(ctx, state, "At", At$0);
12730
12860
  }
12731
- var AtAt$0 = $TV($EXPECT($L130, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12861
+ var AtAt$0 = $TV($EXPECT($L129, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12732
12862
  return { $loc, token: "@" };
12733
12863
  });
12734
12864
  function AtAt(ctx, state) {
12735
12865
  return $EVENT(ctx, state, "AtAt", AtAt$0);
12736
12866
  }
12737
- var Async$0 = $TS($S($EXPECT($L131, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12867
+ var Async$0 = $TS($S($EXPECT($L130, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12738
12868
  return { $loc, token: $1, type: "Async" };
12739
12869
  });
12740
12870
  function Async(ctx, state) {
12741
12871
  return $EVENT(ctx, state, "Async", Async$0);
12742
12872
  }
12743
- var Await$0 = $TS($S($EXPECT($L132, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12873
+ var Await$0 = $TS($S($EXPECT($L131, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12744
12874
  return { $loc, token: $1, type: "Await" };
12745
12875
  });
12746
12876
  function Await(ctx, state) {
12747
12877
  return $EVENT(ctx, state, "Await", Await$0);
12748
12878
  }
12749
- var Backtick$0 = $TV($EXPECT($L133, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12879
+ var Backtick$0 = $TV($EXPECT($L132, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12750
12880
  return { $loc, token: $1 };
12751
12881
  });
12752
12882
  function Backtick(ctx, state) {
12753
12883
  return $EVENT(ctx, state, "Backtick", Backtick$0);
12754
12884
  }
12755
- var By$0 = $TS($S($EXPECT($L134, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12885
+ var By$0 = $TS($S($EXPECT($L133, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12756
12886
  return { $loc, token: $1 };
12757
12887
  });
12758
12888
  function By(ctx, state) {
@@ -12764,55 +12894,55 @@ ${input.slice(result.pos)}
12764
12894
  function Caret(ctx, state) {
12765
12895
  return $EVENT(ctx, state, "Caret", Caret$0);
12766
12896
  }
12767
- var Case$0 = $TS($S($EXPECT($L135, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12897
+ var Case$0 = $TS($S($EXPECT($L134, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12768
12898
  return { $loc, token: $1 };
12769
12899
  });
12770
12900
  function Case(ctx, state) {
12771
12901
  return $EVENT(ctx, state, "Case", Case$0);
12772
12902
  }
12773
- var Catch$0 = $TS($S($EXPECT($L136, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12903
+ var Catch$0 = $TS($S($EXPECT($L135, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12774
12904
  return { $loc, token: $1 };
12775
12905
  });
12776
12906
  function Catch(ctx, state) {
12777
12907
  return $EVENT(ctx, state, "Catch", Catch$0);
12778
12908
  }
12779
- var Class$0 = $TS($S($EXPECT($L137, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12909
+ var Class$0 = $TS($S($EXPECT($L136, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12780
12910
  return { $loc, token: $1 };
12781
12911
  });
12782
12912
  function Class(ctx, state) {
12783
12913
  return $EVENT(ctx, state, "Class", Class$0);
12784
12914
  }
12785
- var CloseAngleBracket$0 = $TV($EXPECT($L45, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12915
+ var CloseAngleBracket$0 = $TV($EXPECT($L44, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12786
12916
  return { $loc, token: $1 };
12787
12917
  });
12788
12918
  function CloseAngleBracket(ctx, state) {
12789
12919
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
12790
12920
  }
12791
- var CloseBrace$0 = $TV($EXPECT($L37, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12921
+ var CloseBrace$0 = $TV($EXPECT($L36, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12792
12922
  return { $loc, token: $1 };
12793
12923
  });
12794
12924
  function CloseBrace(ctx, state) {
12795
12925
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
12796
12926
  }
12797
- var CloseBracket$0 = $TV($EXPECT($L46, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12927
+ var CloseBracket$0 = $TV($EXPECT($L45, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12798
12928
  return { $loc, token: $1 };
12799
12929
  });
12800
12930
  function CloseBracket(ctx, state) {
12801
12931
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
12802
12932
  }
12803
- var CloseParen$0 = $TV($EXPECT($L126, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12933
+ var CloseParen$0 = $TV($EXPECT($L125, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12804
12934
  return { $loc, token: $1 };
12805
12935
  });
12806
12936
  function CloseParen(ctx, state) {
12807
12937
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
12808
12938
  }
12809
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L138, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12939
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L137, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12810
12940
  return { $loc, token: "${" };
12811
12941
  });
12812
12942
  function CoffeeSubstitutionStart(ctx, state) {
12813
12943
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
12814
12944
  }
12815
- var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R70, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12945
+ var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R71, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12816
12946
  return { $loc, token: $1 };
12817
12947
  });
12818
12948
  function Colon(ctx, state) {
@@ -12824,31 +12954,31 @@ ${input.slice(result.pos)}
12824
12954
  function Comma(ctx, state) {
12825
12955
  return $EVENT(ctx, state, "Comma", Comma$0);
12826
12956
  }
12827
- var ConstructorShorthand$0 = $TV($EXPECT($L129, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12957
+ var ConstructorShorthand$0 = $TV($EXPECT($L128, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12828
12958
  return { $loc, token: "constructor" };
12829
12959
  });
12830
12960
  function ConstructorShorthand(ctx, state) {
12831
12961
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
12832
12962
  }
12833
- var Declare$0 = $TS($S($EXPECT($L139, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12963
+ var Declare$0 = $TS($S($EXPECT($L138, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12834
12964
  return { $loc, token: $1 };
12835
12965
  });
12836
12966
  function Declare(ctx, state) {
12837
12967
  return $EVENT(ctx, state, "Declare", Declare$0);
12838
12968
  }
12839
- var Default$0 = $TS($S($EXPECT($L140, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12969
+ var Default$0 = $TS($S($EXPECT($L139, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12840
12970
  return { $loc, token: $1 };
12841
12971
  });
12842
12972
  function Default(ctx, state) {
12843
12973
  return $EVENT(ctx, state, "Default", Default$0);
12844
12974
  }
12845
- var Delete$0 = $TS($S($EXPECT($L141, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12975
+ var Delete$0 = $TS($S($EXPECT($L140, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12846
12976
  return { $loc, token: $1 };
12847
12977
  });
12848
12978
  function Delete(ctx, state) {
12849
12979
  return $EVENT(ctx, state, "Delete", Delete$0);
12850
12980
  }
12851
- var Do$0 = $TS($S($EXPECT($L142, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12981
+ var Do$0 = $TS($S($EXPECT($L141, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12852
12982
  return { $loc, token: $1 };
12853
12983
  });
12854
12984
  function Do(ctx, state) {
@@ -12857,56 +12987,56 @@ ${input.slice(result.pos)}
12857
12987
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
12858
12988
  return { $loc, token: $1 };
12859
12989
  });
12860
- var Dot$1 = $TS($S($EXPECT($R71, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
12990
+ var Dot$1 = $TS($S($EXPECT($R72, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
12861
12991
  var ws = $2;
12862
12992
  return [
12863
12993
  { $loc, token: "." },
12864
- insertTrimmingSpace(ws, "")
12994
+ ws
12865
12995
  ];
12866
12996
  });
12867
12997
  var Dot$$ = [Dot$0, Dot$1];
12868
12998
  function Dot(ctx, state) {
12869
12999
  return $EVENT_C(ctx, state, "Dot", Dot$$);
12870
13000
  }
12871
- var DotDot$0 = $TS($S($EXPECT($L143, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
13001
+ var DotDot$0 = $TS($S($EXPECT($L142, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
12872
13002
  return { $loc, token: $1 };
12873
13003
  });
12874
- var DotDot$1 = $TV($EXPECT($L144, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
13004
+ var DotDot$1 = $TV($EXPECT($L143, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
12875
13005
  return { $loc, token: ".." };
12876
13006
  });
12877
13007
  var DotDot$$ = [DotDot$0, DotDot$1];
12878
13008
  function DotDot(ctx, state) {
12879
13009
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
12880
13010
  }
12881
- var DotDotDot$0 = $TV($EXPECT($L145, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
13011
+ var DotDotDot$0 = $TV($EXPECT($L144, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
12882
13012
  return { $loc, token: $1 };
12883
13013
  });
12884
- var DotDotDot$1 = $TV($EXPECT($L146, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
13014
+ var DotDotDot$1 = $TV($EXPECT($L145, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
12885
13015
  return { $loc, token: "..." };
12886
13016
  });
12887
13017
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
12888
13018
  function DotDotDot(ctx, state) {
12889
13019
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
12890
13020
  }
12891
- var DoubleColon$0 = $TV($EXPECT($L147, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
13021
+ var DoubleColon$0 = $TV($EXPECT($L146, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12892
13022
  return { $loc, token: $1 };
12893
13023
  });
12894
13024
  function DoubleColon(ctx, state) {
12895
13025
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
12896
13026
  }
12897
- var DoubleQuote$0 = $TV($EXPECT($L148, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
13027
+ var DoubleQuote$0 = $TV($EXPECT($L147, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12898
13028
  return { $loc, token: $1 };
12899
13029
  });
12900
13030
  function DoubleQuote(ctx, state) {
12901
13031
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
12902
13032
  }
12903
- var Each$0 = $TS($S($EXPECT($L149, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13033
+ var Each$0 = $TS($S($EXPECT($L148, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12904
13034
  return { $loc, token: $1 };
12905
13035
  });
12906
13036
  function Each(ctx, state) {
12907
13037
  return $EVENT(ctx, state, "Each", Each$0);
12908
13038
  }
12909
- var Else$0 = $TS($S($EXPECT($L150, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13039
+ var Else$0 = $TS($S($EXPECT($L149, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12910
13040
  return { $loc, token: $1 };
12911
13041
  });
12912
13042
  function Else(ctx, state) {
@@ -12918,97 +13048,97 @@ ${input.slice(result.pos)}
12918
13048
  function Equals(ctx, state) {
12919
13049
  return $EVENT(ctx, state, "Equals", Equals$0);
12920
13050
  }
12921
- var ExclamationPoint$0 = $TV($EXPECT($L151, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
13051
+ var ExclamationPoint$0 = $TV($EXPECT($L150, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
12922
13052
  return { $loc, token: $1 };
12923
13053
  });
12924
13054
  function ExclamationPoint(ctx, state) {
12925
13055
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
12926
13056
  }
12927
- var Export$0 = $TS($S($EXPECT($L152, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13057
+ var Export$0 = $TS($S($EXPECT($L151, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12928
13058
  return { $loc, token: $1 };
12929
13059
  });
12930
13060
  function Export(ctx, state) {
12931
13061
  return $EVENT(ctx, state, "Export", Export$0);
12932
13062
  }
12933
- var Extends$0 = $TS($S($EXPECT($L153, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13063
+ var Extends$0 = $TS($S($EXPECT($L152, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12934
13064
  return { $loc, token: $1 };
12935
13065
  });
12936
13066
  function Extends(ctx, state) {
12937
13067
  return $EVENT(ctx, state, "Extends", Extends$0);
12938
13068
  }
12939
- var Finally$0 = $TS($S($EXPECT($L154, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13069
+ var Finally$0 = $TS($S($EXPECT($L153, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12940
13070
  return { $loc, token: $1 };
12941
13071
  });
12942
13072
  function Finally(ctx, state) {
12943
13073
  return $EVENT(ctx, state, "Finally", Finally$0);
12944
13074
  }
12945
- var For$0 = $TS($S($EXPECT($L155, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13075
+ var For$0 = $TS($S($EXPECT($L154, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12946
13076
  return { $loc, token: $1 };
12947
13077
  });
12948
13078
  function For(ctx, state) {
12949
13079
  return $EVENT(ctx, state, "For", For$0);
12950
13080
  }
12951
- var From$0 = $TS($S($EXPECT($L156, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13081
+ var From$0 = $TS($S($EXPECT($L155, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12952
13082
  return { $loc, token: $1 };
12953
13083
  });
12954
13084
  function From(ctx, state) {
12955
13085
  return $EVENT(ctx, state, "From", From$0);
12956
13086
  }
12957
- var Function$0 = $TS($S($EXPECT($L157, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13087
+ var Function$0 = $TS($S($EXPECT($L156, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12958
13088
  return { $loc, token: $1 };
12959
13089
  });
12960
13090
  function Function(ctx, state) {
12961
13091
  return $EVENT(ctx, state, "Function", Function$0);
12962
13092
  }
12963
- var GetOrSet$0 = $TS($S($C($EXPECT($L158, 'GetOrSet "get"'), $EXPECT($L159, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13093
+ var GetOrSet$0 = $TS($S($C($EXPECT($L157, 'GetOrSet "get"'), $EXPECT($L158, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12964
13094
  return { $loc, token: $1, type: "GetOrSet" };
12965
13095
  });
12966
13096
  function GetOrSet(ctx, state) {
12967
13097
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
12968
13098
  }
12969
- var Hash$0 = $TV($EXPECT($L160, 'Hash "#"'), function($skip, $loc, $0, $1) {
13099
+ var Hash$0 = $TV($EXPECT($L159, 'Hash "#"'), function($skip, $loc, $0, $1) {
12970
13100
  return { $loc, token: $1 };
12971
13101
  });
12972
13102
  function Hash(ctx, state) {
12973
13103
  return $EVENT(ctx, state, "Hash", Hash$0);
12974
13104
  }
12975
- var If$0 = $TV($TEXT($S($EXPECT($L161, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
13105
+ var If$0 = $TV($TEXT($S($EXPECT($L160, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
12976
13106
  return { $loc, token: $1 };
12977
13107
  });
12978
13108
  function If(ctx, state) {
12979
13109
  return $EVENT(ctx, state, "If", If$0);
12980
13110
  }
12981
- var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R72, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
13111
+ var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R73, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
12982
13112
  return { $loc, token: $1 };
12983
13113
  });
12984
13114
  function Import(ctx, state) {
12985
13115
  return $EVENT(ctx, state, "Import", Import$0);
12986
13116
  }
12987
- var In$0 = $TS($S($EXPECT($L162, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13117
+ var In$0 = $TS($S($EXPECT($L161, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12988
13118
  return { $loc, token: $1 };
12989
13119
  });
12990
13120
  function In(ctx, state) {
12991
13121
  return $EVENT(ctx, state, "In", In$0);
12992
13122
  }
12993
- var Infer$0 = $TS($S($EXPECT($L163, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13123
+ var Infer$0 = $TS($S($EXPECT($L162, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12994
13124
  return { $loc, token: $1 };
12995
13125
  });
12996
13126
  function Infer(ctx, state) {
12997
13127
  return $EVENT(ctx, state, "Infer", Infer$0);
12998
13128
  }
12999
- var LetOrConst$0 = $TS($S($C($EXPECT($L164, 'LetOrConst "let"'), $EXPECT($L165, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13129
+ var LetOrConst$0 = $TS($S($C($EXPECT($L163, 'LetOrConst "let"'), $EXPECT($L164, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13000
13130
  return { $loc, token: $1 };
13001
13131
  });
13002
13132
  function LetOrConst(ctx, state) {
13003
13133
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
13004
13134
  }
13005
- var Const$0 = $TS($S($EXPECT($L165, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13135
+ var Const$0 = $TS($S($EXPECT($L164, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13006
13136
  return { $loc, token: $1 };
13007
13137
  });
13008
13138
  function Const(ctx, state) {
13009
13139
  return $EVENT(ctx, state, "Const", Const$0);
13010
13140
  }
13011
- var Is$0 = $TS($S($EXPECT($L166, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13141
+ var Is$0 = $TS($S($EXPECT($L165, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13012
13142
  return { $loc, token: $1 };
13013
13143
  });
13014
13144
  function Is(ctx, state) {
@@ -13020,25 +13150,25 @@ ${input.slice(result.pos)}
13020
13150
  function LetOrConstOrVar(ctx, state) {
13021
13151
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
13022
13152
  }
13023
- var Loop$0 = $TS($S($EXPECT($L167, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13153
+ var Loop$0 = $TS($S($EXPECT($L166, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13024
13154
  return { $loc, token: "while" };
13025
13155
  });
13026
13156
  function Loop(ctx, state) {
13027
13157
  return $EVENT(ctx, state, "Loop", Loop$0);
13028
13158
  }
13029
- var New$0 = $TS($S($EXPECT($L168, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13159
+ var New$0 = $TS($S($EXPECT($L167, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13030
13160
  return { $loc, token: $1 };
13031
13161
  });
13032
13162
  function New(ctx, state) {
13033
13163
  return $EVENT(ctx, state, "New", New$0);
13034
13164
  }
13035
- var Not$0 = $TS($S($EXPECT($L169, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
13165
+ var Not$0 = $TS($S($EXPECT($L168, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
13036
13166
  return { $loc, token: "!" };
13037
13167
  });
13038
13168
  function Not(ctx, state) {
13039
13169
  return $EVENT(ctx, state, "Not", Not$0);
13040
13170
  }
13041
- var Of$0 = $TS($S($EXPECT($L170, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13171
+ var Of$0 = $TS($S($EXPECT($L169, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13042
13172
  return { $loc, token: $1 };
13043
13173
  });
13044
13174
  function Of(ctx, state) {
@@ -13056,7 +13186,7 @@ ${input.slice(result.pos)}
13056
13186
  function OpenBrace(ctx, state) {
13057
13187
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
13058
13188
  }
13059
- var OpenBracket$0 = $TV($EXPECT($L171, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
13189
+ var OpenBracket$0 = $TV($EXPECT($L170, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
13060
13190
  return { $loc, token: $1 };
13061
13191
  });
13062
13192
  function OpenBracket(ctx, state) {
@@ -13068,49 +13198,49 @@ ${input.slice(result.pos)}
13068
13198
  function OpenParen(ctx, state) {
13069
13199
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
13070
13200
  }
13071
- var Operator$0 = $TS($S($EXPECT($L172, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13201
+ var Operator$0 = $TS($S($EXPECT($L171, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13072
13202
  return { $loc, token: $1 };
13073
13203
  });
13074
13204
  function Operator(ctx, state) {
13075
13205
  return $EVENT(ctx, state, "Operator", Operator$0);
13076
13206
  }
13077
- var Override$0 = $TS($S($EXPECT($L173, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13207
+ var Override$0 = $TS($S($EXPECT($L172, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13078
13208
  return { $loc, token: $1, ts: true };
13079
13209
  });
13080
13210
  function Override(ctx, state) {
13081
13211
  return $EVENT(ctx, state, "Override", Override$0);
13082
13212
  }
13083
- var Own$0 = $TS($S($EXPECT($L174, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13213
+ var Own$0 = $TS($S($EXPECT($L173, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13084
13214
  return { $loc, token: $1 };
13085
13215
  });
13086
13216
  function Own(ctx, state) {
13087
13217
  return $EVENT(ctx, state, "Own", Own$0);
13088
13218
  }
13089
- var Public$0 = $TS($S($EXPECT($L175, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13219
+ var Public$0 = $TS($S($EXPECT($L174, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13090
13220
  return { $loc, token: $1 };
13091
13221
  });
13092
13222
  function Public(ctx, state) {
13093
13223
  return $EVENT(ctx, state, "Public", Public$0);
13094
13224
  }
13095
- var Private$0 = $TS($S($EXPECT($L176, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13225
+ var Private$0 = $TS($S($EXPECT($L175, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13096
13226
  return { $loc, token: $1 };
13097
13227
  });
13098
13228
  function Private(ctx, state) {
13099
13229
  return $EVENT(ctx, state, "Private", Private$0);
13100
13230
  }
13101
- var Protected$0 = $TS($S($EXPECT($L177, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13231
+ var Protected$0 = $TS($S($EXPECT($L176, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13102
13232
  return { $loc, token: $1 };
13103
13233
  });
13104
13234
  function Protected(ctx, state) {
13105
13235
  return $EVENT(ctx, state, "Protected", Protected$0);
13106
13236
  }
13107
- var Pipe$0 = $TV($C($EXPECT($L178, 'Pipe "||>"'), $EXPECT($L179, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13237
+ var Pipe$0 = $TV($C($EXPECT($L177, 'Pipe "||>"'), $EXPECT($L178, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13108
13238
  return { $loc, token: "||>" };
13109
13239
  });
13110
- var Pipe$1 = $TV($C($EXPECT($L180, 'Pipe "|>="'), $EXPECT($L181, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13240
+ var Pipe$1 = $TV($C($EXPECT($L179, 'Pipe "|>="'), $EXPECT($L180, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13111
13241
  return { $loc, token: "|>=" };
13112
13242
  });
13113
- var Pipe$2 = $TV($C($EXPECT($L182, 'Pipe "|>"'), $EXPECT($L183, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13243
+ var Pipe$2 = $TV($C($EXPECT($L181, 'Pipe "|>"'), $EXPECT($L182, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13114
13244
  return { $loc, token: "|>" };
13115
13245
  });
13116
13246
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -13123,179 +13253,179 @@ ${input.slice(result.pos)}
13123
13253
  function QuestionMark(ctx, state) {
13124
13254
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
13125
13255
  }
13126
- var Readonly$0 = $TS($S($EXPECT($L184, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13256
+ var Readonly$0 = $TS($S($EXPECT($L183, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13127
13257
  return { $loc, token: $1, ts: true };
13128
13258
  });
13129
13259
  function Readonly(ctx, state) {
13130
13260
  return $EVENT(ctx, state, "Readonly", Readonly$0);
13131
13261
  }
13132
- var Return$0 = $TS($S($EXPECT($L185, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13262
+ var Return$0 = $TS($S($EXPECT($L184, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13133
13263
  return { $loc, token: $1 };
13134
13264
  });
13135
13265
  function Return(ctx, state) {
13136
13266
  return $EVENT(ctx, state, "Return", Return$0);
13137
13267
  }
13138
- var Satisfies$0 = $TS($S($EXPECT($L186, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13268
+ var Satisfies$0 = $TS($S($EXPECT($L185, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13139
13269
  return { $loc, token: $1 };
13140
13270
  });
13141
13271
  function Satisfies(ctx, state) {
13142
13272
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
13143
13273
  }
13144
- var Semicolon$0 = $TV($EXPECT($L112, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13274
+ var Semicolon$0 = $TV($EXPECT($L111, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13145
13275
  return { $loc, token: $1 };
13146
13276
  });
13147
13277
  function Semicolon(ctx, state) {
13148
13278
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
13149
13279
  }
13150
- var SingleQuote$0 = $TV($EXPECT($L187, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13280
+ var SingleQuote$0 = $TV($EXPECT($L186, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13151
13281
  return { $loc, token: $1 };
13152
13282
  });
13153
13283
  function SingleQuote(ctx, state) {
13154
13284
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
13155
13285
  }
13156
- var Star$0 = $TV($EXPECT($L66, 'Star "*"'), function($skip, $loc, $0, $1) {
13286
+ var Star$0 = $TV($EXPECT($L65, 'Star "*"'), function($skip, $loc, $0, $1) {
13157
13287
  return { $loc, token: $1 };
13158
13288
  });
13159
13289
  function Star(ctx, state) {
13160
13290
  return $EVENT(ctx, state, "Star", Star$0);
13161
13291
  }
13162
- var Static$0 = $TS($S($EXPECT($L188, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13292
+ var Static$0 = $TS($S($EXPECT($L187, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13163
13293
  return { $loc, token: $1 };
13164
13294
  });
13165
- var Static$1 = $TS($S($EXPECT($L129, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L129, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13295
+ var Static$1 = $TS($S($EXPECT($L128, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L128, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13166
13296
  return { $loc, token: "static " };
13167
13297
  });
13168
13298
  var Static$$ = [Static$0, Static$1];
13169
13299
  function Static(ctx, state) {
13170
13300
  return $EVENT_C(ctx, state, "Static", Static$$);
13171
13301
  }
13172
- var SubstitutionStart$0 = $TV($EXPECT($L189, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13302
+ var SubstitutionStart$0 = $TV($EXPECT($L188, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13173
13303
  return { $loc, token: $1 };
13174
13304
  });
13175
13305
  function SubstitutionStart(ctx, state) {
13176
13306
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
13177
13307
  }
13178
- var Super$0 = $TS($S($EXPECT($L190, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13308
+ var Super$0 = $TS($S($EXPECT($L189, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13179
13309
  return { $loc, token: $1 };
13180
13310
  });
13181
13311
  function Super(ctx, state) {
13182
13312
  return $EVENT(ctx, state, "Super", Super$0);
13183
13313
  }
13184
- var Switch$0 = $TS($S($EXPECT($L191, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13314
+ var Switch$0 = $TS($S($EXPECT($L190, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13185
13315
  return { $loc, token: $1 };
13186
13316
  });
13187
13317
  function Switch(ctx, state) {
13188
13318
  return $EVENT(ctx, state, "Switch", Switch$0);
13189
13319
  }
13190
- var Target$0 = $TS($S($EXPECT($L192, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13320
+ var Target$0 = $TS($S($EXPECT($L191, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13191
13321
  return { $loc, token: $1 };
13192
13322
  });
13193
13323
  function Target(ctx, state) {
13194
13324
  return $EVENT(ctx, state, "Target", Target$0);
13195
13325
  }
13196
- var Then$0 = $TS($S(__, $EXPECT($L193, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13326
+ var Then$0 = $TS($S(__, $EXPECT($L192, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13197
13327
  return { $loc, token: "" };
13198
13328
  });
13199
13329
  function Then(ctx, state) {
13200
13330
  return $EVENT(ctx, state, "Then", Then$0);
13201
13331
  }
13202
- var This$0 = $TS($S($EXPECT($L194, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13332
+ var This$0 = $TS($S($EXPECT($L193, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13203
13333
  return { $loc, token: $1 };
13204
13334
  });
13205
13335
  function This(ctx, state) {
13206
13336
  return $EVENT(ctx, state, "This", This$0);
13207
13337
  }
13208
- var Throw$0 = $TS($S($EXPECT($L195, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13338
+ var Throw$0 = $TS($S($EXPECT($L194, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13209
13339
  return { $loc, token: $1 };
13210
13340
  });
13211
13341
  function Throw(ctx, state) {
13212
13342
  return $EVENT(ctx, state, "Throw", Throw$0);
13213
13343
  }
13214
- var TripleDoubleQuote$0 = $TV($EXPECT($L196, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13344
+ var TripleDoubleQuote$0 = $TV($EXPECT($L195, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13215
13345
  return { $loc, token: "`" };
13216
13346
  });
13217
13347
  function TripleDoubleQuote(ctx, state) {
13218
13348
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
13219
13349
  }
13220
- var TripleSingleQuote$0 = $TV($EXPECT($L197, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13350
+ var TripleSingleQuote$0 = $TV($EXPECT($L196, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13221
13351
  return { $loc, token: "`" };
13222
13352
  });
13223
13353
  function TripleSingleQuote(ctx, state) {
13224
13354
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
13225
13355
  }
13226
- var TripleSlash$0 = $TV($EXPECT($L198, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13356
+ var TripleSlash$0 = $TV($EXPECT($L197, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13227
13357
  return { $loc, token: "/" };
13228
13358
  });
13229
13359
  function TripleSlash(ctx, state) {
13230
13360
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
13231
13361
  }
13232
- var TripleTick$0 = $TV($EXPECT($L199, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13362
+ var TripleTick$0 = $TV($EXPECT($L198, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13233
13363
  return { $loc, token: "`" };
13234
13364
  });
13235
13365
  function TripleTick(ctx, state) {
13236
13366
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
13237
13367
  }
13238
- var Try$0 = $TS($S($EXPECT($L200, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13368
+ var Try$0 = $TS($S($EXPECT($L199, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13239
13369
  return { $loc, token: $1 };
13240
13370
  });
13241
13371
  function Try(ctx, state) {
13242
13372
  return $EVENT(ctx, state, "Try", Try$0);
13243
13373
  }
13244
- var Typeof$0 = $TS($S($EXPECT($L201, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13374
+ var Typeof$0 = $TS($S($EXPECT($L200, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13245
13375
  return { $loc, token: $1 };
13246
13376
  });
13247
13377
  function Typeof(ctx, state) {
13248
13378
  return $EVENT(ctx, state, "Typeof", Typeof$0);
13249
13379
  }
13250
- var Undefined$0 = $TS($S($EXPECT($L202, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13380
+ var Undefined$0 = $TS($S($EXPECT($L201, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13251
13381
  return { $loc, token: $1 };
13252
13382
  });
13253
13383
  function Undefined(ctx, state) {
13254
13384
  return $EVENT(ctx, state, "Undefined", Undefined$0);
13255
13385
  }
13256
- var Unless$0 = $TS($S($EXPECT($L203, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13386
+ var Unless$0 = $TS($S($EXPECT($L202, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13257
13387
  return { $loc, token: $1, negated: true };
13258
13388
  });
13259
13389
  function Unless(ctx, state) {
13260
13390
  return $EVENT(ctx, state, "Unless", Unless$0);
13261
13391
  }
13262
- var Until$0 = $TS($S($EXPECT($L204, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13392
+ var Until$0 = $TS($S($EXPECT($L203, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13263
13393
  return { $loc, token: $1 };
13264
13394
  });
13265
13395
  function Until(ctx, state) {
13266
13396
  return $EVENT(ctx, state, "Until", Until$0);
13267
13397
  }
13268
- var Using$0 = $TS($S($EXPECT($L205, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13398
+ var Using$0 = $TS($S($EXPECT($L204, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13269
13399
  return { $loc, token: $1 };
13270
13400
  });
13271
13401
  function Using(ctx, state) {
13272
13402
  return $EVENT(ctx, state, "Using", Using$0);
13273
13403
  }
13274
- var Var$0 = $TS($S($EXPECT($L206, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13404
+ var Var$0 = $TS($S($EXPECT($L205, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13275
13405
  return { $loc, token: $1 };
13276
13406
  });
13277
13407
  function Var(ctx, state) {
13278
13408
  return $EVENT(ctx, state, "Var", Var$0);
13279
13409
  }
13280
- var Void$0 = $TS($S($EXPECT($L207, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13410
+ var Void$0 = $TS($S($EXPECT($L206, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13281
13411
  return { $loc, token: $1 };
13282
13412
  });
13283
13413
  function Void(ctx, state) {
13284
13414
  return $EVENT(ctx, state, "Void", Void$0);
13285
13415
  }
13286
- var When$0 = $TS($S($EXPECT($L208, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13416
+ var When$0 = $TS($S($EXPECT($L207, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13287
13417
  return { $loc, token: "case" };
13288
13418
  });
13289
13419
  function When(ctx, state) {
13290
13420
  return $EVENT(ctx, state, "When", When$0);
13291
13421
  }
13292
- var While$0 = $TS($S($EXPECT($L209, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13422
+ var While$0 = $TS($S($EXPECT($L208, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13293
13423
  return { $loc, token: $1 };
13294
13424
  });
13295
13425
  function While(ctx, state) {
13296
13426
  return $EVENT(ctx, state, "While", While$0);
13297
13427
  }
13298
- var Yield$0 = $TS($S($EXPECT($L210, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13428
+ var Yield$0 = $TS($S($EXPECT($L209, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13299
13429
  return { $loc, token: $1, type: "Yield" };
13300
13430
  });
13301
13431
  function Yield(ctx, state) {
@@ -13324,7 +13454,7 @@ ${input.slice(result.pos)}
13324
13454
  function JSXImplicitFragment(ctx, state) {
13325
13455
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
13326
13456
  }
13327
- var JSXTag$0 = $T($S($EXPECT($R73, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13457
+ var JSXTag$0 = $T($S($EXPECT($R74, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13328
13458
  return value[1];
13329
13459
  });
13330
13460
  function JSXTag(ctx, state) {
@@ -13374,7 +13504,7 @@ ${input.slice(result.pos)}
13374
13504
  function JSXElement(ctx, state) {
13375
13505
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
13376
13506
  }
13377
- 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) {
13507
+ 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) {
13378
13508
  return { type: "JSXElement", children: $0, tag: $2 };
13379
13509
  });
13380
13510
  function JSXSelfClosingElement(ctx, state) {
@@ -13393,7 +13523,7 @@ ${input.slice(result.pos)}
13393
13523
  function PopJSXStack(ctx, state) {
13394
13524
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
13395
13525
  }
13396
- var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L45, 'JSXOpeningElement ">"'));
13526
+ var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L44, 'JSXOpeningElement ">"'));
13397
13527
  function JSXOpeningElement(ctx, state) {
13398
13528
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
13399
13529
  }
@@ -13408,7 +13538,7 @@ ${input.slice(result.pos)}
13408
13538
  function JSXOptionalClosingElement(ctx, state) {
13409
13539
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
13410
13540
  }
13411
- var JSXClosingElement$0 = $S($EXPECT($L212, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
13541
+ var JSXClosingElement$0 = $S($EXPECT($L211, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L44, 'JSXClosingElement ">"'));
13412
13542
  function JSXClosingElement(ctx, state) {
13413
13543
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
13414
13544
  }
@@ -13429,7 +13559,7 @@ ${input.slice(result.pos)}
13429
13559
  ];
13430
13560
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
13431
13561
  });
13432
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L213, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13562
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L212, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13433
13563
  var children = $3;
13434
13564
  $0 = $0.slice(1);
13435
13565
  return {
@@ -13442,7 +13572,7 @@ ${input.slice(result.pos)}
13442
13572
  function JSXFragment(ctx, state) {
13443
13573
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
13444
13574
  }
13445
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L213, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13575
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L212, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13446
13576
  module.JSXTagStack.push("");
13447
13577
  return $1;
13448
13578
  });
@@ -13459,11 +13589,11 @@ ${input.slice(result.pos)}
13459
13589
  function JSXOptionalClosingFragment(ctx, state) {
13460
13590
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
13461
13591
  }
13462
- var JSXClosingFragment$0 = $EXPECT($L214, 'JSXClosingFragment "</>"');
13592
+ var JSXClosingFragment$0 = $EXPECT($L213, 'JSXClosingFragment "</>"');
13463
13593
  function JSXClosingFragment(ctx, state) {
13464
13594
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
13465
13595
  }
13466
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L160, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13596
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L159, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13467
13597
  return module.config.defaultElement;
13468
13598
  });
13469
13599
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -13471,7 +13601,7 @@ ${input.slice(result.pos)}
13471
13601
  function JSXElementName(ctx, state) {
13472
13602
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
13473
13603
  }
13474
- var JSXIdentifierName$0 = $R$0($EXPECT($R74, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13604
+ var JSXIdentifierName$0 = $R$0($EXPECT($R75, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13475
13605
  function JSXIdentifierName(ctx, state) {
13476
13606
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
13477
13607
  }
@@ -13641,7 +13771,7 @@ ${input.slice(result.pos)}
13641
13771
  }
13642
13772
  return $skip;
13643
13773
  });
13644
- var JSXAttribute$5 = $TS($S($EXPECT($L160, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13774
+ var JSXAttribute$5 = $TS($S($EXPECT($L159, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13645
13775
  return [" ", "id=", $2];
13646
13776
  });
13647
13777
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -13650,7 +13780,7 @@ ${input.slice(result.pos)}
13650
13780
  class: $2
13651
13781
  };
13652
13782
  });
13653
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R75, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13783
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R76, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13654
13784
  var toggle = $1;
13655
13785
  var id = $2;
13656
13786
  const value = toggle === "+" ? "true" : "false";
@@ -13660,11 +13790,11 @@ ${input.slice(result.pos)}
13660
13790
  function JSXAttribute(ctx, state) {
13661
13791
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
13662
13792
  }
13663
- var JSXAttributeSpace$0 = $R$0($EXPECT($R76, "JSXAttributeSpace /[\\s>]|\\/>/"));
13793
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R77, "JSXAttributeSpace /[\\s>]|\\/>/"));
13664
13794
  function JSXAttributeSpace(ctx, state) {
13665
13795
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
13666
13796
  }
13667
- var JSXShorthandString$0 = $TR($EXPECT($R77, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13797
+ var JSXShorthandString$0 = $TR($EXPECT($R78, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13668
13798
  return quoteString($0);
13669
13799
  });
13670
13800
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -13698,7 +13828,7 @@ ${input.slice(result.pos)}
13698
13828
  }
13699
13829
  return [open, value, close];
13700
13830
  });
13701
- var JSXAttributeValue$4 = $R$0($EXPECT($R78, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13831
+ var JSXAttributeValue$4 = $R$0($EXPECT($R79, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13702
13832
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
13703
13833
  function JSXAttributeValue(ctx, state) {
13704
13834
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -13711,7 +13841,7 @@ ${input.slice(result.pos)}
13711
13841
  function InlineJSXAttributeValue(ctx, state) {
13712
13842
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
13713
13843
  }
13714
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R79, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13844
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R80, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13715
13845
  var op = $2;
13716
13846
  var rhs = $3;
13717
13847
  return [[], op, [], rhs];
@@ -13728,7 +13858,7 @@ ${input.slice(result.pos)}
13728
13858
  function InlineJSXUnaryExpression(ctx, state) {
13729
13859
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
13730
13860
  }
13731
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R80, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13861
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R81, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13732
13862
  return { $loc, token: $0 };
13733
13863
  });
13734
13864
  function InlineJSXUnaryOp(ctx, state) {
@@ -13883,7 +14013,7 @@ ${input.slice(result.pos)}
13883
14013
  }
13884
14014
  return $skip;
13885
14015
  });
13886
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L37, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
14016
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L36, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
13887
14017
  return { children: [], jsxChildren: [] };
13888
14018
  });
13889
14019
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -13938,19 +14068,19 @@ ${input.slice(result.pos)}
13938
14068
  function JSXChild(ctx, state) {
13939
14069
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
13940
14070
  }
13941
- var JSXComment$0 = $TS($S($EXPECT($L215, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L216, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
14071
+ var JSXComment$0 = $TS($S($EXPECT($L214, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L215, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13942
14072
  return ["{/*", $2, "*/}"];
13943
14073
  });
13944
14074
  function JSXComment(ctx, state) {
13945
14075
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
13946
14076
  }
13947
- var JSXCommentContent$0 = $TR($EXPECT($R81, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14077
+ var JSXCommentContent$0 = $TR($EXPECT($R82, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13948
14078
  return { $loc, token: $0.replace(/\*\//g, "* /") };
13949
14079
  });
13950
14080
  function JSXCommentContent(ctx, state) {
13951
14081
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
13952
14082
  }
13953
- var JSXText$0 = $TR($EXPECT($R82, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14083
+ var JSXText$0 = $TR($EXPECT($R83, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13954
14084
  return {
13955
14085
  type: "JSXText",
13956
14086
  token: $0,
@@ -14125,37 +14255,37 @@ ${input.slice(result.pos)}
14125
14255
  function InterfaceExtendsTarget(ctx, state) {
14126
14256
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
14127
14257
  }
14128
- var TypeKeyword$0 = $TS($S($EXPECT($L217, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14258
+ var TypeKeyword$0 = $TS($S($EXPECT($L216, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14129
14259
  return { $loc, token: $1 };
14130
14260
  });
14131
14261
  function TypeKeyword(ctx, state) {
14132
14262
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
14133
14263
  }
14134
- var Enum$0 = $TS($S($EXPECT($L218, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14264
+ var Enum$0 = $TS($S($EXPECT($L217, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14135
14265
  return { $loc, token: $1 };
14136
14266
  });
14137
14267
  function Enum(ctx, state) {
14138
14268
  return $EVENT(ctx, state, "Enum", Enum$0);
14139
14269
  }
14140
- var Interface$0 = $TS($S($EXPECT($L219, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14270
+ var Interface$0 = $TS($S($EXPECT($L218, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14141
14271
  return { $loc, token: $1 };
14142
14272
  });
14143
14273
  function Interface(ctx, state) {
14144
14274
  return $EVENT(ctx, state, "Interface", Interface$0);
14145
14275
  }
14146
- var Global$0 = $TS($S($EXPECT($L220, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14276
+ var Global$0 = $TS($S($EXPECT($L219, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14147
14277
  return { $loc, token: $1 };
14148
14278
  });
14149
14279
  function Global(ctx, state) {
14150
14280
  return $EVENT(ctx, state, "Global", Global$0);
14151
14281
  }
14152
- var Module$0 = $TS($S($EXPECT($L221, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14282
+ var Module$0 = $TS($S($EXPECT($L220, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14153
14283
  return { $loc, token: $1 };
14154
14284
  });
14155
14285
  function Module(ctx, state) {
14156
14286
  return $EVENT(ctx, state, "Module", Module$0);
14157
14287
  }
14158
- var Namespace$0 = $TS($S($EXPECT($L222, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14288
+ var Namespace$0 = $TS($S($EXPECT($L221, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14159
14289
  return { $loc, token: $1 };
14160
14290
  });
14161
14291
  function Namespace(ctx, state) {
@@ -14371,7 +14501,7 @@ ${input.slice(result.pos)}
14371
14501
  function TypeProperty(ctx, state) {
14372
14502
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
14373
14503
  }
14374
- 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)))));
14504
+ 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)))));
14375
14505
  function TypeIndexSignature(ctx, state) {
14376
14506
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
14377
14507
  }
@@ -14431,7 +14561,7 @@ ${input.slice(result.pos)}
14431
14561
  function ReturnTypeSuffix(ctx, state) {
14432
14562
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
14433
14563
  }
14434
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L223, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14564
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L222, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14435
14565
  var asserts = $1;
14436
14566
  var t = $2;
14437
14567
  if (asserts) {
@@ -14452,7 +14582,7 @@ ${input.slice(result.pos)}
14452
14582
  function ReturnType(ctx, state) {
14453
14583
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
14454
14584
  }
14455
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L166, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14585
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L165, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14456
14586
  var lhs = $1;
14457
14587
  var rhs = $2;
14458
14588
  if (!rhs)
@@ -14510,8 +14640,8 @@ ${input.slice(result.pos)}
14510
14640
  function TypeUnarySuffix(ctx, state) {
14511
14641
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
14512
14642
  }
14513
- var TypeUnaryOp$0 = $S($EXPECT($L224, 'TypeUnaryOp "keyof"'), NonIdContinue);
14514
- var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
14643
+ var TypeUnaryOp$0 = $S($EXPECT($L223, 'TypeUnaryOp "keyof"'), NonIdContinue);
14644
+ var TypeUnaryOp$1 = $S($EXPECT($L183, 'TypeUnaryOp "readonly"'), NonIdContinue);
14515
14645
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
14516
14646
  function TypeUnaryOp(ctx, state) {
14517
14647
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -14541,7 +14671,7 @@ ${input.slice(result.pos)}
14541
14671
  function TypeIndexedAccess(ctx, state) {
14542
14672
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
14543
14673
  }
14544
- var UnknownAlias$0 = $TV($EXPECT($L225, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14674
+ var UnknownAlias$0 = $TV($EXPECT($L224, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14545
14675
  return { $loc, token: "unknown" };
14546
14676
  });
14547
14677
  function UnknownAlias(ctx, state) {
@@ -14604,7 +14734,7 @@ ${input.slice(result.pos)}
14604
14734
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
14605
14735
  }
14606
14736
  var ImportType$0 = $S($EXPECT($L20, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
14607
- var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
14737
+ var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, $E(Trimmed_), StringLiteral, InsertCloseParen);
14608
14738
  var ImportType$$ = [ImportType$0, ImportType$1];
14609
14739
  function ImportType(ctx, state) {
14610
14740
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
@@ -14667,7 +14797,7 @@ ${input.slice(result.pos)}
14667
14797
  function NestedType(ctx, state) {
14668
14798
  return $EVENT(ctx, state, "NestedType", NestedType$0);
14669
14799
  }
14670
- var TypeConditional$0 = $TS($S($E(_), $EXPECT($R84, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14800
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14671
14801
  return [$1, expressionizeTypeIf($3)];
14672
14802
  });
14673
14803
  var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
@@ -14747,17 +14877,17 @@ ${input.slice(result.pos)}
14747
14877
  }
14748
14878
  var TypeLiteral$0 = TypeTemplateLiteral;
14749
14879
  var TypeLiteral$1 = Literal;
14750
- var TypeLiteral$2 = $TS($S($EXPECT($R10, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14880
+ var TypeLiteral$2 = $TS($S($EXPECT($R12, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14751
14881
  var sign = $1;
14752
14882
  var num = $2;
14753
14883
  if (sign[0] === "+")
14754
14884
  return num;
14755
14885
  return $0;
14756
14886
  });
14757
- var TypeLiteral$3 = $TS($S($EXPECT($L207, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14887
+ var TypeLiteral$3 = $TS($S($EXPECT($L206, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14758
14888
  return { type: "VoidType", $loc, token: $1 };
14759
14889
  });
14760
- var TypeLiteral$4 = $TV($EXPECT($L226, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14890
+ var TypeLiteral$4 = $TV($EXPECT($L225, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14761
14891
  return { $loc, token: "[]" };
14762
14892
  });
14763
14893
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
@@ -14776,16 +14906,16 @@ ${input.slice(result.pos)}
14776
14906
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
14777
14907
  return value[1];
14778
14908
  });
14779
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L46, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "}"'))));
14909
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L45, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "}"'))));
14780
14910
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
14781
14911
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
14782
14912
  function InlineInterfacePropertyDelimiter(ctx, state) {
14783
14913
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
14784
14914
  }
14785
- var TypeBinaryOp$0 = $TV($EXPECT($L110, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14915
+ var TypeBinaryOp$0 = $TV($EXPECT($L109, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14786
14916
  return { $loc, token: "|" };
14787
14917
  });
14788
- var TypeBinaryOp$1 = $TV($EXPECT($L109, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14918
+ var TypeBinaryOp$1 = $TV($EXPECT($L108, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14789
14919
  return { $loc, token: "&" };
14790
14920
  });
14791
14921
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -14802,7 +14932,7 @@ ${input.slice(result.pos)}
14802
14932
  function TypeFunction(ctx, state) {
14803
14933
  return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
14804
14934
  }
14805
- var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L35, 'TypeArrowFunction "->"'), $EXPECT($L36, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14935
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L34, 'TypeArrowFunction "->"'), $EXPECT($L35, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14806
14936
  return { $loc, token: "=>" };
14807
14937
  });
14808
14938
  function TypeArrowFunction(ctx, state) {
@@ -14840,7 +14970,7 @@ ${input.slice(result.pos)}
14840
14970
  function TypeParameters(ctx, state) {
14841
14971
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
14842
14972
  }
14843
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L165, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14973
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L164, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14844
14974
  function TypeParameter(ctx, state) {
14845
14975
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
14846
14976
  }
@@ -14853,7 +14983,7 @@ ${input.slice(result.pos)}
14853
14983
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
14854
14984
  }
14855
14985
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
14856
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L45, 'TypeParameterDelimiter ">"')));
14986
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L44, 'TypeParameterDelimiter ">"')));
14857
14987
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
14858
14988
  return value[1];
14859
14989
  });
@@ -14867,15 +14997,15 @@ ${input.slice(result.pos)}
14867
14997
  function ThisType(ctx, state) {
14868
14998
  return $EVENT(ctx, state, "ThisType", ThisType$0);
14869
14999
  }
14870
- var Shebang$0 = $S($R$0($EXPECT($R85, "Shebang /#![^\\r\\n]*/")), EOL);
15000
+ var Shebang$0 = $S($R$0($EXPECT($R86, "Shebang /#![^\\r\\n]*/")), EOL);
14871
15001
  function Shebang(ctx, state) {
14872
15002
  return $EVENT(ctx, state, "Shebang", Shebang$0);
14873
15003
  }
14874
- var CivetPrologue$0 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
15004
+ var CivetPrologue$0 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14875
15005
  var content = value[2];
14876
15006
  return content;
14877
15007
  });
14878
- var CivetPrologue$1 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
15008
+ var CivetPrologue$1 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14879
15009
  var content = value[2];
14880
15010
  return content;
14881
15011
  });
@@ -14883,7 +15013,7 @@ ${input.slice(result.pos)}
14883
15013
  function CivetPrologue(ctx, state) {
14884
15014
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
14885
15015
  }
14886
- var CivetPrologueContent$0 = $TS($S($EXPECT($L227, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R88, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
15016
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L226, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R89, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
14887
15017
  var options = $3;
14888
15018
  return {
14889
15019
  type: "CivetPrologue",
@@ -14894,7 +15024,7 @@ ${input.slice(result.pos)}
14894
15024
  function CivetPrologueContent(ctx, state) {
14895
15025
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
14896
15026
  }
14897
- 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) {
15027
+ 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) {
14898
15028
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
14899
15029
  if (l)
14900
15030
  return l.toUpperCase();
@@ -14911,11 +15041,11 @@ ${input.slice(result.pos)}
14911
15041
  function CivetOption(ctx, state) {
14912
15042
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
14913
15043
  }
14914
- var UnknownPrologue$0 = $S($R$0($EXPECT($R86, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
15044
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R87, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
14915
15045
  function UnknownPrologue(ctx, state) {
14916
15046
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
14917
15047
  }
14918
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R90, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
15048
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R91, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
14919
15049
  function TripleSlashDirective(ctx, state) {
14920
15050
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
14921
15051
  }
@@ -14931,13 +15061,13 @@ ${input.slice(result.pos)}
14931
15061
  function PrologueString(ctx, state) {
14932
15062
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
14933
15063
  }
14934
- var EOS$0 = $T($S($EXPECT($R91, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
15064
+ var EOS$0 = $T($S($EXPECT($R92, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
14935
15065
  return value[1];
14936
15066
  });
14937
15067
  function EOS(ctx, state) {
14938
15068
  return $EVENT(ctx, state, "EOS", EOS$0);
14939
15069
  }
14940
- var EOL$0 = $TR($EXPECT($R92, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15070
+ var EOL$0 = $TR($EXPECT($R93, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14941
15071
  return { $loc, token: $0 };
14942
15072
  });
14943
15073
  function EOL(ctx, state) {
@@ -15509,11 +15639,11 @@ ${input.slice(result.pos)}
15509
15639
  function Prologue(ctx, state) {
15510
15640
  return $EVENT(ctx, state, "Prologue", Prologue$0);
15511
15641
  }
15512
- var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R93, "ProloguePrefix /[^]*/")));
15642
+ var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R94, "ProloguePrefix /[^]*/")));
15513
15643
  function ProloguePrefix(ctx, state) {
15514
15644
  return $EVENT(ctx, state, "ProloguePrefix", ProloguePrefix$0);
15515
15645
  }
15516
- var Indent$0 = $TR($EXPECT($R87, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15646
+ var Indent$0 = $TR($EXPECT($R88, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15517
15647
  const level = getIndentLevel($0, module.config.tab);
15518
15648
  return {
15519
15649
  $loc,
@@ -15643,6 +15773,7 @@ ${input.slice(result.pos)}
15643
15773
  exports.ExplicitArguments = ExplicitArguments;
15644
15774
  exports.ApplicationStart = ApplicationStart;
15645
15775
  exports.ForbiddenImplicitCalls = ForbiddenImplicitCalls;
15776
+ exports.ReservedBinary = ReservedBinary;
15646
15777
  exports.ArgumentsWithTrailingMemberExpressions = ArgumentsWithTrailingMemberExpressions;
15647
15778
  exports.TrailingMemberExpressions = TrailingMemberExpressions;
15648
15779
  exports.AllowedTrailingMemberExpressions = AllowedTrailingMemberExpressions;
@@ -15675,8 +15806,11 @@ ${input.slice(result.pos)}
15675
15806
  exports.AssignmentExpression = AssignmentExpression;
15676
15807
  exports.NonPipelineAssignmentExpression = NonPipelineAssignmentExpression;
15677
15808
  exports.SingleLineAssignmentExpression = SingleLineAssignmentExpression;
15809
+ exports.NonPipelineSingleLineAssignmentExpression = NonPipelineSingleLineAssignmentExpression;
15678
15810
  exports.AssignmentExpressionTail = AssignmentExpressionTail;
15811
+ exports.NonPipelineAssignmentExpressionTail = NonPipelineAssignmentExpressionTail;
15679
15812
  exports.ActualAssignment = ActualAssignment;
15813
+ exports.NonPipelineActualAssignment = NonPipelineActualAssignment;
15680
15814
  exports.YieldExpression = YieldExpression;
15681
15815
  exports.YieldTail = YieldTail;
15682
15816
  exports.ArrowFunction = ArrowFunction;
@@ -15693,7 +15827,8 @@ ${input.slice(result.pos)}
15693
15827
  exports.PipelineTailItem = PipelineTailItem;
15694
15828
  exports.PrimaryExpression = PrimaryExpression;
15695
15829
  exports.ParenthesizedExpression = ParenthesizedExpression;
15696
- exports.PartialPlaceholder = PartialPlaceholder;
15830
+ exports.Placeholder = Placeholder;
15831
+ exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
15697
15832
  exports.ClassDeclaration = ClassDeclaration;
15698
15833
  exports.ClassExpression = ClassExpression;
15699
15834
  exports.ClassBinding = ClassBinding;
@@ -15782,15 +15917,11 @@ ${input.slice(result.pos)}
15782
15917
  exports.FunctionDeclaration = FunctionDeclaration;
15783
15918
  exports.FunctionSignature = FunctionSignature;
15784
15919
  exports.FunctionExpression = FunctionExpression;
15785
- exports.AmpersandFunctionExpression = AmpersandFunctionExpression;
15786
15920
  exports.OperatorDeclaration = OperatorDeclaration;
15787
15921
  exports.OperatorSignature = OperatorSignature;
15788
15922
  exports.OperatorBehavior = OperatorBehavior;
15789
15923
  exports.OperatorPrecedence = OperatorPrecedence;
15790
15924
  exports.OperatorAssociativity = OperatorAssociativity;
15791
- exports.AmpersandBlockRHS = AmpersandBlockRHS;
15792
- exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
15793
- exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
15794
15925
  exports.ThinArrowFunction = ThinArrowFunction;
15795
15926
  exports.Arrow = Arrow;
15796
15927
  exports.ExplicitBlock = ExplicitBlock;
@@ -16371,9 +16502,10 @@ ${input.slice(result.pos)}
16371
16502
  var import_parser = __toESM(require_parser());
16372
16503
 
16373
16504
  // source/generate.civet
16505
+ init_util();
16374
16506
  function stringify(node) {
16375
16507
  try {
16376
- return JSON.stringify(node);
16508
+ return JSON.stringify(removeParentPointers(node));
16377
16509
  } catch (e) {
16378
16510
  return `${node}`;
16379
16511
  }