@danielx/civet 0.6.67 → 0.6.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -6,13 +6,12 @@ var Civet = (() => {
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
9
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
10
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
12
11
  }) : x)(function(x) {
13
12
  if (typeof require !== "undefined")
14
13
  return require.apply(this, arguments);
15
- throw new Error('Dynamic require of "' + x + '" is not supported');
14
+ throw Error('Dynamic require of "' + x + '" is not supported');
16
15
  });
17
16
  var __esm = (fn, res) => function __init() {
18
17
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
@@ -41,10 +40,6 @@ var Civet = (() => {
41
40
  mod
42
41
  ));
43
42
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
44
- var __publicField = (obj, key, value) => {
45
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
46
- return value;
47
- };
48
43
 
49
44
  // source/lib.civet
50
45
  var lib_exports = {};
@@ -652,7 +647,7 @@ var Civet = (() => {
652
647
  if (i === 0) {
653
648
  let s;
654
649
  [c, s] = handleThisPrivateShorthands(c);
655
- suppressPrefix || (suppressPrefix = s);
650
+ suppressPrefix ||= s;
656
651
  }
657
652
  return c;
658
653
  })
@@ -663,6 +658,37 @@ var Civet = (() => {
663
658
  }
664
659
  function processCallMemberExpression(node) {
665
660
  const { children } = node;
661
+ if (children[0]?.parenthesizedOp?.token && children[1]?.type === "Call") {
662
+ const op = children[0].parenthesizedOp;
663
+ let call = children[1];
664
+ const args = [...call.args];
665
+ call = { ...call, args };
666
+ let ref2;
667
+ if (ref2 = isComma(args.at(-1))) {
668
+ const comma = ref2;
669
+ comma.token = "";
670
+ }
671
+ let commaCount = 0;
672
+ for (let i4 = 0, len4 = args.length; i4 < len4; i4++) {
673
+ const arg = args[i4];
674
+ let ref3;
675
+ if (ref3 = isComma(arg)) {
676
+ const comma = ref3;
677
+ comma.token = `)${op.token}(`;
678
+ commaCount++;
679
+ }
680
+ }
681
+ if (args.length) {
682
+ children.splice(
683
+ 0,
684
+ 2,
685
+ commaCount ? {
686
+ type: "ParenthesizedExpression",
687
+ children: ["(", call, ")"]
688
+ } : call
689
+ );
690
+ }
691
+ }
666
692
  for (let i = 0; i < children.length; i++) {
667
693
  const glob = children[i];
668
694
  if (glob?.type === "PropertyGlob") {
@@ -1055,18 +1081,18 @@ var Civet = (() => {
1055
1081
  }
1056
1082
  function findChildIndex(parent, child) {
1057
1083
  const children = Array.isArray(parent) ? parent : parent.children;
1058
- for (let i4 = 0, len4 = children.length; i4 < len4; i4++) {
1059
- const i = i4;
1060
- const c = children[i4];
1084
+ for (let i5 = 0, len5 = children.length; i5 < len5; i5++) {
1085
+ const i = i5;
1086
+ const c = children[i5];
1061
1087
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1062
1088
  return i;
1063
1089
  }
1064
1090
  }
1065
1091
  function arrayRecurse(array) {
1066
1092
  const results2 = [];
1067
- for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
1068
- const i = i5;
1069
- const c = array[i5];
1093
+ for (let i6 = 0, len6 = array.length; i6 < len6; i6++) {
1094
+ const i = i6;
1095
+ const c = array[i6];
1070
1096
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1071
1097
  return true;
1072
1098
  } else {
@@ -1083,9 +1109,9 @@ var Civet = (() => {
1083
1109
  throw new Error("replaceNode failed: node has no parent");
1084
1110
  }
1085
1111
  function recurse(children) {
1086
- for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1087
- const i = i6;
1088
- const child = children[i6];
1112
+ for (let i7 = 0, len7 = children.length; i7 < len7; i7++) {
1113
+ const i = i7;
1114
+ const child = children[i7];
1089
1115
  if (child === node) {
1090
1116
  children[i] = newNode;
1091
1117
  return true;
@@ -1399,6 +1425,15 @@ var Civet = (() => {
1399
1425
  "ContinueStatement"
1400
1426
  ].includes(node?.type);
1401
1427
  }
1428
+ function isComma(node) {
1429
+ if (node?.token === ",") {
1430
+ return node;
1431
+ } else if (Array.isArray(node) && node.at(-1)?.token === ",") {
1432
+ return node.at(-1);
1433
+ }
1434
+ ;
1435
+ return;
1436
+ }
1402
1437
  function gatherRecursiveWithinFunction(node, predicate) {
1403
1438
  return gatherRecursive(node, predicate, isFunction);
1404
1439
  }
@@ -1756,6 +1791,9 @@ var Civet = (() => {
1756
1791
  return;
1757
1792
  }
1758
1793
  function makeLeftHandSideExpression(expression) {
1794
+ if (expression.parenthesized) {
1795
+ return expression;
1796
+ }
1759
1797
  switch (expression.type) {
1760
1798
  case "Ref":
1761
1799
  case "AmpersandRef":
@@ -2355,9 +2393,9 @@ var Civet = (() => {
2355
2393
  }
2356
2394
  function insertSemicolon(statements) {
2357
2395
  const l = statements.length;
2358
- for (let i7 = 0, len7 = statements.length; i7 < len7; i7++) {
2359
- const i = i7;
2360
- const s = statements[i7];
2396
+ for (let i8 = 0, len8 = statements.length; i8 < len8; i8++) {
2397
+ const i = i8;
2398
+ const s = statements[i8];
2361
2399
  if (i < l - 1) {
2362
2400
  if (needsPrecedingSemicolon(statements[i + 1])) {
2363
2401
  const delim = s[2];
@@ -3163,7 +3201,7 @@ var Civet = (() => {
3163
3201
  isFunction
3164
3202
  );
3165
3203
  if (ancestor) {
3166
- return declaration ?? (declaration = child);
3204
+ return declaration ??= child;
3167
3205
  }
3168
3206
  ;
3169
3207
  return;
@@ -3334,6 +3372,9 @@ var Civet = (() => {
3334
3372
  }
3335
3373
  ];
3336
3374
  }
3375
+ if (rest.delim?.at(-1)?.token === ",") {
3376
+ rest.delim.pop();
3377
+ }
3337
3378
  const children = [...props, ...after, rest];
3338
3379
  return {
3339
3380
  children,
@@ -3359,9 +3400,9 @@ var Civet = (() => {
3359
3400
  return root;
3360
3401
  }
3361
3402
  }
3362
- for (let i8 = 0, len8 = array.length; i8 < len8; i8++) {
3363
- const i = i8;
3364
- const node = array[i8];
3403
+ for (let i9 = 0, len9 = array.length; i9 < len9; i9++) {
3404
+ const i = i9;
3405
+ const node = array[i9];
3365
3406
  if (!(node != null)) {
3366
3407
  return;
3367
3408
  }
@@ -4185,6 +4226,7 @@ ${input.slice(result.pos)}
4185
4226
  BareNestedBlock,
4186
4227
  BareBlock,
4187
4228
  ThenClause,
4229
+ BracedThenClause,
4188
4230
  BracedOrEmptyBlock,
4189
4231
  NoCommaBracedOrEmptyBlock,
4190
4232
  NoPostfixBracedOrEmptyBlock,
@@ -4747,209 +4789,210 @@ ${input.slice(result.pos)}
4747
4789
  var $L8 = $L("++");
4748
4790
  var $L9 = $L("--");
4749
4791
  var $L10 = $L("\u29FA");
4750
- var $L11 = $L("=>");
4751
- var $L12 = $L("\u21D2");
4752
- var $L13 = $L(":");
4753
- var $L14 = $L(" ");
4754
- var $L15 = $L("<");
4755
- var $L16 = $L("implements");
4756
- var $L17 = $L("<:");
4757
- var $L18 = $L("import");
4758
- var $L19 = $L("!");
4759
- var $L20 = $L("^");
4760
- var $L21 = $L("-");
4761
- var $L22 = $L("import.meta");
4762
- var $L23 = $L("return.value");
4763
- var $L24 = $L(",");
4764
- var $L25 = $L("(&)");
4765
- var $L26 = $L("->");
4766
- var $L27 = $L("\u2192");
4767
- var $L28 = $L("}");
4768
- var $L29 = $L("null");
4769
- var $L30 = $L("true");
4770
- var $L31 = $L("false");
4771
- var $L32 = $L("yes");
4772
- var $L33 = $L("on");
4773
- var $L34 = $L("no");
4774
- var $L35 = $L("off");
4775
- var $L36 = $L(">");
4776
- var $L37 = $L("]");
4777
- var $L38 = $L("**=");
4778
- var $L39 = $L("*=");
4779
- var $L40 = $L("/=");
4780
- var $L41 = $L("%=");
4781
- var $L42 = $L("+=");
4782
- var $L43 = $L("-=");
4783
- var $L44 = $L("<<=");
4784
- var $L45 = $L(">>>=");
4785
- var $L46 = $L(">>=");
4786
- var $L47 = $L("&&=");
4787
- var $L48 = $L("&=");
4788
- var $L49 = $L("^=");
4789
- var $L50 = $L("||=");
4790
- var $L51 = $L("|=");
4791
- var $L52 = $L("??=");
4792
- var $L53 = $L("?=");
4793
- var $L54 = $L("and=");
4794
- var $L55 = $L("or=");
4795
- var $L56 = $L("**");
4796
- var $L57 = $L("*");
4797
- var $L58 = $L("/");
4798
- var $L59 = $L("%%");
4799
- var $L60 = $L("%");
4800
- var $L61 = $L("+");
4801
- var $L62 = $L("<=");
4802
- var $L63 = $L("\u2264");
4803
- var $L64 = $L(">=");
4804
- var $L65 = $L("\u2265");
4805
- var $L66 = $L("<?");
4806
- var $L67 = $L("!<?");
4807
- var $L68 = $L("<<");
4808
- var $L69 = $L("\xAB");
4809
- var $L70 = $L(">>>");
4810
- var $L71 = $L("\u22D9");
4811
- var $L72 = $L(">>");
4812
- var $L73 = $L("\xBB");
4813
- var $L74 = $L("!==");
4814
- var $L75 = $L("\u2262");
4815
- var $L76 = $L("!=");
4816
- var $L77 = $L("\u2260");
4817
- var $L78 = $L("isnt");
4818
- var $L79 = $L("===");
4819
- var $L80 = $L("\u2263");
4820
- var $L81 = $L("\u2A76");
4821
- var $L82 = $L("==");
4822
- var $L83 = $L("\u2261");
4823
- var $L84 = $L("\u2A75");
4824
- var $L85 = $L("and");
4825
- var $L86 = $L("&&");
4826
- var $L87 = $L("or");
4827
- var $L88 = $L("||");
4828
- var $L89 = $L("\u2016");
4829
- var $L90 = $L("^^");
4830
- var $L91 = $L("xor");
4831
- var $L92 = $L("xnor");
4832
- var $L93 = $L("??");
4833
- var $L94 = $L("\u2047");
4834
- var $L95 = $L("instanceof");
4835
- var $L96 = $L("\u2208");
4836
- var $L97 = $L("\u220B");
4837
- var $L98 = $L("\u220C");
4838
- var $L99 = $L("\u2209");
4839
- var $L100 = $L("&");
4840
- var $L101 = $L("|");
4841
- var $L102 = $L(";");
4842
- var $L103 = $L("$:");
4843
- var $L104 = $L("break");
4844
- var $L105 = $L("continue");
4845
- var $L106 = $L("debugger");
4846
- var $L107 = $L("with");
4847
- var $L108 = $L("assert");
4848
- var $L109 = $L(":=");
4849
- var $L110 = $L("\u2254");
4850
- var $L111 = $L(".=");
4851
- var $L112 = $L("/*");
4852
- var $L113 = $L("*/");
4853
- var $L114 = $L("\\");
4854
- var $L115 = $L(")");
4855
- var $L116 = $L("abstract");
4856
- var $L117 = $L("as");
4857
- var $L118 = $L("@");
4858
- var $L119 = $L("@@");
4859
- var $L120 = $L("async");
4860
- var $L121 = $L("await");
4861
- var $L122 = $L("`");
4862
- var $L123 = $L("by");
4863
- var $L124 = $L("case");
4864
- var $L125 = $L("catch");
4865
- var $L126 = $L("class");
4866
- var $L127 = $L("#{");
4867
- var $L128 = $L("declare");
4868
- var $L129 = $L("default");
4869
- var $L130 = $L("delete");
4870
- var $L131 = $L("do");
4871
- var $L132 = $L("..");
4872
- var $L133 = $L("\u2025");
4873
- var $L134 = $L("...");
4874
- var $L135 = $L("\u2026");
4875
- var $L136 = $L("::");
4876
- var $L137 = $L('"');
4877
- var $L138 = $L("each");
4878
- var $L139 = $L("else");
4879
- var $L140 = $L("export");
4880
- var $L141 = $L("extends");
4881
- var $L142 = $L("finally");
4882
- var $L143 = $L("for");
4883
- var $L144 = $L("from");
4884
- var $L145 = $L("function");
4885
- var $L146 = $L("get");
4886
- var $L147 = $L("set");
4887
- var $L148 = $L("#");
4888
- var $L149 = $L("if");
4889
- var $L150 = $L("in");
4890
- var $L151 = $L("let");
4891
- var $L152 = $L("const");
4892
- var $L153 = $L("is");
4893
- var $L154 = $L("loop");
4894
- var $L155 = $L("new");
4895
- var $L156 = $L("not");
4896
- var $L157 = $L("of");
4897
- var $L158 = $L("[");
4898
- var $L159 = $L("operator");
4899
- var $L160 = $L("own");
4900
- var $L161 = $L("public");
4901
- var $L162 = $L("private");
4902
- var $L163 = $L("protected");
4903
- var $L164 = $L("||>");
4904
- var $L165 = $L("|\u25B7");
4905
- var $L166 = $L("|>=");
4906
- var $L167 = $L("\u25B7=");
4907
- var $L168 = $L("|>");
4908
- var $L169 = $L("\u25B7");
4909
- var $L170 = $L("readonly");
4910
- var $L171 = $L("return");
4911
- var $L172 = $L("satisfies");
4912
- var $L173 = $L("'");
4913
- var $L174 = $L("static");
4914
- var $L175 = $L("${");
4915
- var $L176 = $L("super");
4916
- var $L177 = $L("switch");
4917
- var $L178 = $L("target");
4918
- var $L179 = $L("then");
4919
- var $L180 = $L("this");
4920
- var $L181 = $L("throw");
4921
- var $L182 = $L('"""');
4922
- var $L183 = $L("'''");
4923
- var $L184 = $L("///");
4924
- var $L185 = $L("```");
4925
- var $L186 = $L("try");
4926
- var $L187 = $L("typeof");
4927
- var $L188 = $L("unless");
4928
- var $L189 = $L("until");
4929
- var $L190 = $L("using");
4930
- var $L191 = $L("var");
4931
- var $L192 = $L("void");
4932
- var $L193 = $L("when");
4933
- var $L194 = $L("while");
4934
- var $L195 = $L("yield");
4935
- var $L196 = $L("/>");
4936
- var $L197 = $L("</");
4937
- var $L198 = $L("<>");
4938
- var $L199 = $L("</>");
4939
- var $L200 = $L("<!--");
4940
- var $L201 = $L("-->");
4941
- var $L202 = $L("type");
4942
- var $L203 = $L("enum");
4943
- var $L204 = $L("interface");
4944
- var $L205 = $L("global");
4945
- var $L206 = $L("module");
4946
- var $L207 = $L("namespace");
4947
- var $L208 = $L("asserts");
4948
- var $L209 = $L("keyof");
4949
- var $L210 = $L("infer");
4950
- var $L211 = $L("???");
4951
- var $L212 = $L("[]");
4952
- var $L213 = $L("civet");
4792
+ var $L11 = $L("\u2014");
4793
+ var $L12 = $L("=>");
4794
+ var $L13 = $L("\u21D2");
4795
+ var $L14 = $L(":");
4796
+ var $L15 = $L(" ");
4797
+ var $L16 = $L("<");
4798
+ var $L17 = $L("implements");
4799
+ var $L18 = $L("<:");
4800
+ var $L19 = $L("import");
4801
+ var $L20 = $L("!");
4802
+ var $L21 = $L("^");
4803
+ var $L22 = $L("-");
4804
+ var $L23 = $L("import.meta");
4805
+ var $L24 = $L("return.value");
4806
+ var $L25 = $L(",");
4807
+ var $L26 = $L("(&)");
4808
+ var $L27 = $L("->");
4809
+ var $L28 = $L("\u2192");
4810
+ var $L29 = $L("}");
4811
+ var $L30 = $L("null");
4812
+ var $L31 = $L("true");
4813
+ var $L32 = $L("false");
4814
+ var $L33 = $L("yes");
4815
+ var $L34 = $L("on");
4816
+ var $L35 = $L("no");
4817
+ var $L36 = $L("off");
4818
+ var $L37 = $L(">");
4819
+ var $L38 = $L("]");
4820
+ var $L39 = $L("**=");
4821
+ var $L40 = $L("*=");
4822
+ var $L41 = $L("/=");
4823
+ var $L42 = $L("%=");
4824
+ var $L43 = $L("+=");
4825
+ var $L44 = $L("-=");
4826
+ var $L45 = $L("<<=");
4827
+ var $L46 = $L(">>>=");
4828
+ var $L47 = $L(">>=");
4829
+ var $L48 = $L("&&=");
4830
+ var $L49 = $L("&=");
4831
+ var $L50 = $L("^=");
4832
+ var $L51 = $L("||=");
4833
+ var $L52 = $L("|=");
4834
+ var $L53 = $L("??=");
4835
+ var $L54 = $L("?=");
4836
+ var $L55 = $L("and=");
4837
+ var $L56 = $L("or=");
4838
+ var $L57 = $L("**");
4839
+ var $L58 = $L("*");
4840
+ var $L59 = $L("/");
4841
+ var $L60 = $L("%%");
4842
+ var $L61 = $L("%");
4843
+ var $L62 = $L("+");
4844
+ var $L63 = $L("<=");
4845
+ var $L64 = $L("\u2264");
4846
+ var $L65 = $L(">=");
4847
+ var $L66 = $L("\u2265");
4848
+ var $L67 = $L("<?");
4849
+ var $L68 = $L("!<?");
4850
+ var $L69 = $L("<<");
4851
+ var $L70 = $L("\xAB");
4852
+ var $L71 = $L(">>>");
4853
+ var $L72 = $L("\u22D9");
4854
+ var $L73 = $L(">>");
4855
+ var $L74 = $L("\xBB");
4856
+ var $L75 = $L("!==");
4857
+ var $L76 = $L("\u2262");
4858
+ var $L77 = $L("!=");
4859
+ var $L78 = $L("\u2260");
4860
+ var $L79 = $L("isnt");
4861
+ var $L80 = $L("===");
4862
+ var $L81 = $L("\u2263");
4863
+ var $L82 = $L("\u2A76");
4864
+ var $L83 = $L("==");
4865
+ var $L84 = $L("\u2261");
4866
+ var $L85 = $L("\u2A75");
4867
+ var $L86 = $L("and");
4868
+ var $L87 = $L("&&");
4869
+ var $L88 = $L("or");
4870
+ var $L89 = $L("||");
4871
+ var $L90 = $L("\u2016");
4872
+ var $L91 = $L("^^");
4873
+ var $L92 = $L("xor");
4874
+ var $L93 = $L("xnor");
4875
+ var $L94 = $L("??");
4876
+ var $L95 = $L("\u2047");
4877
+ var $L96 = $L("instanceof");
4878
+ var $L97 = $L("\u2208");
4879
+ var $L98 = $L("\u220B");
4880
+ var $L99 = $L("\u220C");
4881
+ var $L100 = $L("\u2209");
4882
+ var $L101 = $L("&");
4883
+ var $L102 = $L("|");
4884
+ var $L103 = $L(";");
4885
+ var $L104 = $L("$:");
4886
+ var $L105 = $L("break");
4887
+ var $L106 = $L("continue");
4888
+ var $L107 = $L("debugger");
4889
+ var $L108 = $L("with");
4890
+ var $L109 = $L("assert");
4891
+ var $L110 = $L(":=");
4892
+ var $L111 = $L("\u2254");
4893
+ var $L112 = $L(".=");
4894
+ var $L113 = $L("/*");
4895
+ var $L114 = $L("*/");
4896
+ var $L115 = $L("\\");
4897
+ var $L116 = $L(")");
4898
+ var $L117 = $L("abstract");
4899
+ var $L118 = $L("as");
4900
+ var $L119 = $L("@");
4901
+ var $L120 = $L("@@");
4902
+ var $L121 = $L("async");
4903
+ var $L122 = $L("await");
4904
+ var $L123 = $L("`");
4905
+ var $L124 = $L("by");
4906
+ var $L125 = $L("case");
4907
+ var $L126 = $L("catch");
4908
+ var $L127 = $L("class");
4909
+ var $L128 = $L("#{");
4910
+ var $L129 = $L("declare");
4911
+ var $L130 = $L("default");
4912
+ var $L131 = $L("delete");
4913
+ var $L132 = $L("do");
4914
+ var $L133 = $L("..");
4915
+ var $L134 = $L("\u2025");
4916
+ var $L135 = $L("...");
4917
+ var $L136 = $L("\u2026");
4918
+ var $L137 = $L("::");
4919
+ var $L138 = $L('"');
4920
+ var $L139 = $L("each");
4921
+ var $L140 = $L("else");
4922
+ var $L141 = $L("export");
4923
+ var $L142 = $L("extends");
4924
+ var $L143 = $L("finally");
4925
+ var $L144 = $L("for");
4926
+ var $L145 = $L("from");
4927
+ var $L146 = $L("function");
4928
+ var $L147 = $L("get");
4929
+ var $L148 = $L("set");
4930
+ var $L149 = $L("#");
4931
+ var $L150 = $L("if");
4932
+ var $L151 = $L("in");
4933
+ var $L152 = $L("let");
4934
+ var $L153 = $L("const");
4935
+ var $L154 = $L("is");
4936
+ var $L155 = $L("loop");
4937
+ var $L156 = $L("new");
4938
+ var $L157 = $L("not");
4939
+ var $L158 = $L("of");
4940
+ var $L159 = $L("[");
4941
+ var $L160 = $L("operator");
4942
+ var $L161 = $L("own");
4943
+ var $L162 = $L("public");
4944
+ var $L163 = $L("private");
4945
+ var $L164 = $L("protected");
4946
+ var $L165 = $L("||>");
4947
+ var $L166 = $L("|\u25B7");
4948
+ var $L167 = $L("|>=");
4949
+ var $L168 = $L("\u25B7=");
4950
+ var $L169 = $L("|>");
4951
+ var $L170 = $L("\u25B7");
4952
+ var $L171 = $L("readonly");
4953
+ var $L172 = $L("return");
4954
+ var $L173 = $L("satisfies");
4955
+ var $L174 = $L("'");
4956
+ var $L175 = $L("static");
4957
+ var $L176 = $L("${");
4958
+ var $L177 = $L("super");
4959
+ var $L178 = $L("switch");
4960
+ var $L179 = $L("target");
4961
+ var $L180 = $L("then");
4962
+ var $L181 = $L("this");
4963
+ var $L182 = $L("throw");
4964
+ var $L183 = $L('"""');
4965
+ var $L184 = $L("'''");
4966
+ var $L185 = $L("///");
4967
+ var $L186 = $L("```");
4968
+ var $L187 = $L("try");
4969
+ var $L188 = $L("typeof");
4970
+ var $L189 = $L("unless");
4971
+ var $L190 = $L("until");
4972
+ var $L191 = $L("using");
4973
+ var $L192 = $L("var");
4974
+ var $L193 = $L("void");
4975
+ var $L194 = $L("when");
4976
+ var $L195 = $L("while");
4977
+ var $L196 = $L("yield");
4978
+ var $L197 = $L("/>");
4979
+ var $L198 = $L("</");
4980
+ var $L199 = $L("<>");
4981
+ var $L200 = $L("</>");
4982
+ var $L201 = $L("<!--");
4983
+ var $L202 = $L("-->");
4984
+ var $L203 = $L("type");
4985
+ var $L204 = $L("enum");
4986
+ var $L205 = $L("interface");
4987
+ var $L206 = $L("global");
4988
+ var $L207 = $L("module");
4989
+ var $L208 = $L("namespace");
4990
+ var $L209 = $L("asserts");
4991
+ var $L210 = $L("keyof");
4992
+ var $L211 = $L("infer");
4993
+ var $L212 = $L("???");
4994
+ var $L213 = $L("[]");
4995
+ var $L214 = $L("civet");
4953
4996
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4954
4997
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4955
4998
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -4959,86 +5002,87 @@ ${input.slice(result.pos)}
4959
5002
  var $R6 = $R(new RegExp("(?=[\\/?])", "suy"));
4960
5003
  var $R7 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4961
5004
  var $R8 = $R(new RegExp("[)}]", "suy"));
4962
- var $R9 = $R(new RegExp("[&]", "suy"));
4963
- var $R10 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4964
- var $R11 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4965
- var $R12 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4966
- var $R13 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4967
- var $R14 = $R(new RegExp("(?=\\[)", "suy"));
4968
- var $R15 = $R(new RegExp("[!+-]", "suy"));
4969
- var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
4970
- var $R17 = $R(new RegExp("!\\^\\^?", "suy"));
4971
- var $R18 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4972
- var $R19 = $R(new RegExp("[:.]", "suy"));
4973
- var $R20 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4974
- var $R21 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4975
- var $R22 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4976
- var $R23 = $R(new RegExp('[^;"\\s]+', "suy"));
4977
- var $R24 = $R(new RegExp("(?=[0-9.])", "suy"));
4978
- var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4979
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4980
- var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4981
- var $R28 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4982
- var $R29 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4983
- var $R30 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4984
- var $R31 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4985
- var $R32 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4986
- var $R33 = $R(new RegExp("(?=[0-9])", "suy"));
4987
- var $R34 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4988
- var $R35 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4989
- var $R36 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4990
- var $R37 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4991
- var $R38 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4992
- var $R39 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4993
- var $R40 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4994
- var $R41 = $R(new RegExp("(?:\\\\.)", "suy"));
4995
- var $R42 = $R(new RegExp("[\\s]+", "suy"));
4996
- var $R43 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4997
- var $R44 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4998
- var $R45 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4999
- var $R46 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
5000
- var $R47 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5001
- var $R48 = $R(new RegExp("(?=[`'\"])", "suy"));
5002
- var $R49 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
5003
- var $R50 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
5004
- var $R51 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
5005
- var $R52 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
5006
- var $R53 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
5007
- var $R54 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
5008
- var $R55 = $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"));
5009
- var $R56 = $R(new RegExp("(?=\\/|#)", "suy"));
5010
- var $R57 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
5011
- var $R58 = $R(new RegExp(".", "suy"));
5012
- var $R59 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
5013
- var $R60 = $R(new RegExp("[^]*?###", "suy"));
5014
- var $R61 = $R(new RegExp("###(?!#)", "suy"));
5015
- var $R62 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5016
- var $R63 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5017
- var $R64 = $R(new RegExp("[ \\t]+", "suy"));
5018
- var $R65 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5019
- var $R66 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5020
- var $R67 = $R(new RegExp("['\u2019]s", "suy"));
5021
- var $R68 = $R(new RegExp("\\s", "suy"));
5022
- var $R69 = $R(new RegExp("(?=[<])", "suy"));
5023
- var $R70 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5024
- var $R71 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5025
- var $R72 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5026
- var $R73 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5027
- var $R74 = $R(new RegExp("[<>]", "suy"));
5028
- var $R75 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5029
- var $R76 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5030
- var $R77 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5031
- var $R78 = $R(new RegExp("[+-]?", "suy"));
5032
- var $R79 = $R(new RegExp("[+-]", "suy"));
5033
- var $R80 = $R(new RegExp("(?=if|unless)", "suy"));
5034
- var $R81 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5035
- var $R82 = $R(new RegExp("[\\t ]*", "suy"));
5036
- var $R83 = $R(new RegExp("[ \\t]*", "suy"));
5037
- var $R84 = $R(new RegExp("[\\s]*", "suy"));
5038
- var $R85 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5039
- var $R86 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5040
- var $R87 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5041
- var $R88 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
5005
+ var $R9 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
5006
+ var $R10 = $R(new RegExp("[&]", "suy"));
5007
+ var $R11 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
5008
+ var $R12 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
5009
+ var $R13 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
5010
+ var $R14 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5011
+ var $R15 = $R(new RegExp("(?=\\[)", "suy"));
5012
+ var $R16 = $R(new RegExp("[!+-]", "suy"));
5013
+ var $R17 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
5014
+ var $R18 = $R(new RegExp("!\\^\\^?", "suy"));
5015
+ var $R19 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
5016
+ var $R20 = $R(new RegExp("[:.]", "suy"));
5017
+ var $R21 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
5018
+ var $R22 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
5019
+ var $R23 = $R(new RegExp("(?=[\\s\\),])", "suy"));
5020
+ var $R24 = $R(new RegExp('[^;"\\s]+', "suy"));
5021
+ var $R25 = $R(new RegExp("(?=[0-9.])", "suy"));
5022
+ var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
5023
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
5024
+ var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
5025
+ var $R29 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
5026
+ var $R30 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
5027
+ var $R31 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
5028
+ var $R32 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
5029
+ var $R33 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
5030
+ var $R34 = $R(new RegExp("(?=[0-9])", "suy"));
5031
+ var $R35 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
5032
+ var $R36 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
5033
+ var $R37 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
5034
+ var $R38 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
5035
+ var $R39 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
5036
+ var $R40 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
5037
+ var $R41 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
5038
+ var $R42 = $R(new RegExp("(?:\\\\.)", "suy"));
5039
+ var $R43 = $R(new RegExp("[\\s]+", "suy"));
5040
+ var $R44 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
5041
+ var $R45 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
5042
+ var $R46 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
5043
+ var $R47 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
5044
+ var $R48 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5045
+ var $R49 = $R(new RegExp("(?=[`'\"])", "suy"));
5046
+ var $R50 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
5047
+ var $R51 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
5048
+ var $R52 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
5049
+ var $R53 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
5050
+ var $R54 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
5051
+ var $R55 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
5052
+ var $R56 = $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"));
5053
+ var $R57 = $R(new RegExp("(?=\\/|#)", "suy"));
5054
+ var $R58 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
5055
+ var $R59 = $R(new RegExp(".", "suy"));
5056
+ var $R60 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
5057
+ var $R61 = $R(new RegExp("[^]*?###", "suy"));
5058
+ var $R62 = $R(new RegExp("###(?!#)", "suy"));
5059
+ var $R63 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5060
+ var $R64 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5061
+ var $R65 = $R(new RegExp("[ \\t]+", "suy"));
5062
+ var $R66 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5063
+ var $R67 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5064
+ var $R68 = $R(new RegExp("['\u2019]s", "suy"));
5065
+ var $R69 = $R(new RegExp("\\s", "suy"));
5066
+ var $R70 = $R(new RegExp("(?=[<])", "suy"));
5067
+ var $R71 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5068
+ var $R72 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5069
+ var $R73 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5070
+ var $R74 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5071
+ var $R75 = $R(new RegExp("[<>]", "suy"));
5072
+ var $R76 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5073
+ var $R77 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5074
+ var $R78 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5075
+ var $R79 = $R(new RegExp("[+-]?", "suy"));
5076
+ var $R80 = $R(new RegExp("[+-]", "suy"));
5077
+ var $R81 = $R(new RegExp("(?=if|unless)", "suy"));
5078
+ var $R82 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5079
+ var $R83 = $R(new RegExp("[\\t ]*", "suy"));
5080
+ var $R84 = $R(new RegExp("[ \\t]*", "suy"));
5081
+ var $R85 = $R(new RegExp("[\\s]*", "suy"));
5082
+ var $R86 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5083
+ var $R87 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5084
+ var $R88 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5085
+ var $R89 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
5042
5086
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5043
5087
  var statements = $4;
5044
5088
  processProgram({
@@ -5216,15 +5260,43 @@ ${input.slice(result.pos)}
5216
5260
  var ws = $3;
5217
5261
  var args = $4;
5218
5262
  var close = $5;
5219
- if (args.length === 1 && args[0].type === "IterationExpression" && args[0].subtype !== "DoStatement" && !args[0].async && isEmptyBareBlock(args[0].block)) {
5220
- return $skip;
5263
+ if (args.length === 1) {
5264
+ let arg0 = args[0];
5265
+ if (Array.isArray(arg0))
5266
+ arg0 = arg0[1];
5267
+ if (arg0.type === "IterationExpression" && arg0.subtype !== "DoStatement" && !arg0.async && isEmptyBareBlock(arg0.block)) {
5268
+ return $skip;
5269
+ }
5221
5270
  }
5222
- return [open, insertTrimmingSpace(ws, ""), args, close];
5271
+ return {
5272
+ type: "Call",
5273
+ args,
5274
+ children: [open, insertTrimmingSpace(ws, ""), args, close]
5275
+ };
5223
5276
  });
5224
5277
  function ImplicitArguments(ctx, state) {
5225
5278
  return $EVENT(ctx, state, "ImplicitArguments", ImplicitArguments$0);
5226
5279
  }
5227
- var ExplicitArguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
5280
+ var ExplicitArguments$0 = $TS($S(OpenParen, $E($S(ArgumentList, $E($S(__, Comma)))), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4) {
5281
+ var open = $1;
5282
+ var args = $2;
5283
+ var ws = $3;
5284
+ var close = $4;
5285
+ if (args) {
5286
+ if (args[1]) {
5287
+ args = [...args[0], args[1]];
5288
+ } else {
5289
+ args = args[0];
5290
+ }
5291
+ } else {
5292
+ args = [];
5293
+ }
5294
+ return {
5295
+ type: "Call",
5296
+ args,
5297
+ children: [open, args, ws, close]
5298
+ };
5299
+ });
5228
5300
  function ExplicitArguments(ctx, state) {
5229
5301
  return $EVENT(ctx, state, "ExplicitArguments", ExplicitArguments$0);
5230
5302
  }
@@ -5244,7 +5316,7 @@ ${input.slice(result.pos)}
5244
5316
  return $0;
5245
5317
  return $skip;
5246
5318
  });
5247
- var ForbiddenImplicitCalls$5 = $TS($S(Not, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
5319
+ var ForbiddenImplicitCalls$5 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
5248
5320
  var id = $3;
5249
5321
  if (module.operators.has(id.name))
5250
5322
  return $0;
@@ -5258,11 +5330,7 @@ ${input.slice(result.pos)}
5258
5330
  var ArgumentsWithTrailingMemberExpressions$0 = $TS($S(Arguments, AllowedTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
5259
5331
  var args = $1;
5260
5332
  var trailing = $2;
5261
- const call = {
5262
- type: "Call",
5263
- children: args
5264
- };
5265
- return [call, ...trailing];
5333
+ return [args, ...trailing];
5266
5334
  });
5267
5335
  function ArgumentsWithTrailingMemberExpressions(ctx, state) {
5268
5336
  return $EVENT(ctx, state, "ArgumentsWithTrailingMemberExpressions", ArgumentsWithTrailingMemberExpressions$0);
@@ -5295,25 +5363,41 @@ ${input.slice(result.pos)}
5295
5363
  function CommaDelimiter(ctx, state) {
5296
5364
  return $EVENT(ctx, state, "CommaDelimiter", CommaDelimiter$0);
5297
5365
  }
5298
- var ArgumentList$0 = $S(ArgumentPart, $Q($S(CommaDelimiter, $N(EOS), ArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList))));
5366
+ 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) {
5367
+ return [
5368
+ $1,
5369
+ ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
5370
+ ...$3.flatMap(
5371
+ ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
5372
+ )
5373
+ ];
5374
+ });
5299
5375
  var ArgumentList$1 = $TS($S(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
5300
- return insertTrimmingSpace($1, "");
5376
+ return [insertTrimmingSpace($1, "")];
5301
5377
  });
5302
5378
  var ArgumentList$2 = NestedArgumentList;
5303
- var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
5304
- return [...$1 || [], $2, ...$3];
5379
+ var ArgumentList$3 = $TS($S($S($E(_), ArgumentPart), $Q($S(CommaDelimiter, $S($E(_), ArgumentPart)))), function($skip, $loc, $0, $1, $2) {
5380
+ return [$1, ...$2.flat()];
5305
5381
  });
5306
5382
  var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
5307
5383
  function ArgumentList(ctx, state) {
5308
5384
  return $EVENT_C(ctx, state, "ArgumentList", ArgumentList$$);
5309
5385
  }
5310
- var NonPipelineArgumentList$0 = $S(NonPipelineArgumentPart, $Q($S(CommaDelimiter, $N(EOS), NonPipelineArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList))));
5386
+ 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) {
5387
+ return [
5388
+ $1,
5389
+ ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
5390
+ ...$3.flatMap(
5391
+ ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
5392
+ )
5393
+ ];
5394
+ });
5311
5395
  var NonPipelineArgumentList$1 = $TS($S(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
5312
- return insertTrimmingSpace($1, "");
5396
+ return [insertTrimmingSpace($1, "")];
5313
5397
  });
5314
5398
  var NonPipelineArgumentList$2 = NestedArgumentList;
5315
- var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
5316
- return [...$1 || [], $2, ...$3];
5399
+ var NonPipelineArgumentList$3 = $TS($S($S($E(_), NonPipelineArgumentPart), $Q($S(CommaDelimiter, $S($E(_), NonPipelineArgumentPart)))), function($skip, $loc, $0, $1, $2) {
5400
+ return [$1, ...$2.flat()];
5317
5401
  });
5318
5402
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
5319
5403
  function NonPipelineArgumentList(ctx, state) {
@@ -5321,18 +5405,27 @@ ${input.slice(result.pos)}
5321
5405
  }
5322
5406
  var NestedArgumentList$0 = $TS($S(PushIndent, $Q(NestedArgument), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
5323
5407
  var args = $2;
5324
- if (args.length)
5325
- return args;
5326
- return $skip;
5408
+ if (!args.length)
5409
+ return $skip;
5410
+ return args.flat();
5327
5411
  });
5328
5412
  function NestedArgumentList(ctx, state) {
5329
5413
  return $EVENT(ctx, state, "NestedArgumentList", NestedArgumentList$0);
5330
5414
  }
5331
- var NestedArgument$0 = $S(Nested, SingleLineArgumentExpressions, ParameterElementDelimiter);
5415
+ var NestedArgument$0 = $TS($S(Nested, SingleLineArgumentExpressions, ParameterElementDelimiter), function($skip, $loc, $0, $1, $2, $3) {
5416
+ var indent = $1;
5417
+ var args = $2;
5418
+ var comma = $3;
5419
+ let [arg0, ...rest] = args;
5420
+ arg0 = [indent, ...arg0];
5421
+ return [arg0, ...rest, comma];
5422
+ });
5332
5423
  function NestedArgument(ctx, state) {
5333
5424
  return $EVENT(ctx, state, "NestedArgument", NestedArgument$0);
5334
5425
  }
5335
- var SingleLineArgumentExpressions$0 = $S($E(_), ArgumentPart, $Q($S($E(_), Comma, $E(_), ArgumentPart)));
5426
+ var SingleLineArgumentExpressions$0 = $TS($S($S($E(_), ArgumentPart), $Q($S($S($E(_), Comma), $S($E(_), ArgumentPart)))), function($skip, $loc, $0, $1, $2) {
5427
+ return [$1, ...$2.flat()];
5428
+ });
5336
5429
  function SingleLineArgumentExpressions(ctx, state) {
5337
5430
  return $EVENT(ctx, state, "SingleLineArgumentExpressions", SingleLineArgumentExpressions$0);
5338
5431
  }
@@ -5505,7 +5598,10 @@ ${input.slice(result.pos)}
5505
5598
  var UpdateExpressionSymbol$1 = $TV($EXPECT($L10, 'UpdateExpressionSymbol "\u29FA"'), function($skip, $loc, $0, $1) {
5506
5599
  return { $loc, token: "++" };
5507
5600
  });
5508
- var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1];
5601
+ var UpdateExpressionSymbol$2 = $TV($EXPECT($L11, 'UpdateExpressionSymbol "\u2014"'), function($skip, $loc, $0, $1) {
5602
+ return { $loc, token: "--" };
5603
+ });
5604
+ var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1, UpdateExpressionSymbol$2];
5509
5605
  function UpdateExpressionSymbol(ctx, state) {
5510
5606
  return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
5511
5607
  }
@@ -5610,7 +5706,7 @@ ${input.slice(result.pos)}
5610
5706
  function ArrowFunction(ctx, state) {
5611
5707
  return $EVENT_C(ctx, state, "ArrowFunction", ArrowFunction$$);
5612
5708
  }
5613
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L11, 'FatArrow "=>"'), $EXPECT($L12, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5709
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L12, 'FatArrow "=>"'), $EXPECT($L13, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5614
5710
  var ws = $1;
5615
5711
  if (!ws)
5616
5712
  return " =>";
@@ -5769,11 +5865,29 @@ ${input.slice(result.pos)}
5769
5865
  function ParenthesizedExpression(ctx, state) {
5770
5866
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
5771
5867
  }
5772
- var ClassDeclaration$0 = ClassExpression;
5868
+ var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
5869
+ if ($1.binding)
5870
+ return $1;
5871
+ return makeLeftHandSideExpression($1);
5872
+ });
5773
5873
  function ClassDeclaration(ctx, state) {
5774
5874
  return $EVENT(ctx, state, "ClassDeclaration", ClassDeclaration$0);
5775
5875
  }
5776
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L13, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5876
+ var ClassExpression$0 = $TS($S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L14, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
5877
+ var decorators = $1;
5878
+ var abstract = $2;
5879
+ var binding = $5;
5880
+ var heritage = $6;
5881
+ var body = $7;
5882
+ return {
5883
+ decorators,
5884
+ abstract,
5885
+ binding,
5886
+ heritage,
5887
+ body,
5888
+ children: $0
5889
+ };
5890
+ });
5777
5891
  function ClassExpression(ctx, state) {
5778
5892
  return $EVENT(ctx, state, "ClassExpression", ClassExpression$0);
5779
5893
  }
@@ -5793,7 +5907,7 @@ ${input.slice(result.pos)}
5793
5907
  function ExtendsClause(ctx, state) {
5794
5908
  return $EVENT(ctx, state, "ExtendsClause", ExtendsClause$0);
5795
5909
  }
5796
- var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L14, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5910
+ var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L15, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5797
5911
  var l = $1;
5798
5912
  var ws = $2;
5799
5913
  var t = $3;
@@ -5815,13 +5929,13 @@ ${input.slice(result.pos)}
5815
5929
  function ExtendsToken(ctx, state) {
5816
5930
  return $EVENT_C(ctx, state, "ExtendsToken", ExtendsToken$$);
5817
5931
  }
5818
- var ExtendsShorthand$0 = $TV($EXPECT($L15, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5932
+ var ExtendsShorthand$0 = $TV($EXPECT($L16, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5819
5933
  return { $loc, token: "extends " };
5820
5934
  });
5821
5935
  function ExtendsShorthand(ctx, state) {
5822
5936
  return $EVENT(ctx, state, "ExtendsShorthand", ExtendsShorthand$0);
5823
5937
  }
5824
- var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L14, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5938
+ var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L15, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5825
5939
  var l = $1;
5826
5940
  var ws1 = $2;
5827
5941
  var ws2 = $3;
@@ -5847,7 +5961,7 @@ ${input.slice(result.pos)}
5847
5961
  var OmittedNegation$0 = $T($S(ExclamationPoint), function(value) {
5848
5962
  return "";
5849
5963
  });
5850
- var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L14, 'OmittedNegation " "')), $E(_)), function(value) {
5964
+ var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L15, 'OmittedNegation " "')), $E(_)), function(value) {
5851
5965
  return value[2];
5852
5966
  });
5853
5967
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -5870,7 +5984,7 @@ ${input.slice(result.pos)}
5870
5984
  function ImplementsClause(ctx, state) {
5871
5985
  return $EVENT(ctx, state, "ImplementsClause", ImplementsClause$0);
5872
5986
  }
5873
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L14, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5987
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L15, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5874
5988
  var l = $1;
5875
5989
  var ws = $2;
5876
5990
  var token = $3;
@@ -5880,7 +5994,7 @@ ${input.slice(result.pos)}
5880
5994
  }
5881
5995
  return { children };
5882
5996
  });
5883
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L16, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5997
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L17, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5884
5998
  $2 = { $loc, token: $2 };
5885
5999
  return [$1, $2];
5886
6000
  });
@@ -5888,7 +6002,7 @@ ${input.slice(result.pos)}
5888
6002
  function ImplementsToken(ctx, state) {
5889
6003
  return $EVENT_C(ctx, state, "ImplementsToken", ImplementsToken$$);
5890
6004
  }
5891
- var ImplementsShorthand$0 = $TV($EXPECT($L17, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
6005
+ var ImplementsShorthand$0 = $TV($EXPECT($L18, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5892
6006
  return { $loc, token: "implements " };
5893
6007
  });
5894
6008
  function ImplementsShorthand(ctx, state) {
@@ -6100,7 +6214,7 @@ ${input.slice(result.pos)}
6100
6214
  function AtThis(ctx, state) {
6101
6215
  return $EVENT(ctx, state, "AtThis", AtThis$0);
6102
6216
  }
6103
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L13, 'LeftHandSideExpression ":"'))), __)), CallExpression);
6217
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L14, 'LeftHandSideExpression ":"'))), __)), CallExpression);
6104
6218
  var LeftHandSideExpression$1 = CallExpression;
6105
6219
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
6106
6220
  function LeftHandSideExpression(ctx, state) {
@@ -6113,7 +6227,7 @@ ${input.slice(result.pos)}
6113
6227
  children: [$1, ...$2, ...rest.flat()]
6114
6228
  });
6115
6229
  });
6116
- var CallExpression$1 = $TS($S($EXPECT($L18, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6230
+ var CallExpression$1 = $TS($S($EXPECT($L19, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6117
6231
  var rest = $3;
6118
6232
  return processCallMemberExpression({
6119
6233
  type: "CallExpression",
@@ -6174,7 +6288,7 @@ ${input.slice(result.pos)}
6174
6288
  function OptionalDot(ctx, state) {
6175
6289
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
6176
6290
  }
6177
- var NonNullAssertion$0 = $T($S($EXPECT($L19, 'NonNullAssertion "!"'), $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
6291
+ var NonNullAssertion$0 = $T($S($EXPECT($L20, 'NonNullAssertion "!"'), $N($EXPECT($L21, 'NonNullAssertion "^"'))), function(value) {
6178
6292
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6179
6293
  });
6180
6294
  function NonNullAssertion(ctx, state) {
@@ -6369,7 +6483,7 @@ ${input.slice(result.pos)}
6369
6483
  ]
6370
6484
  };
6371
6485
  });
6372
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6486
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L22, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6373
6487
  var dot = $1;
6374
6488
  var neg = $2;
6375
6489
  var num = $3;
@@ -6445,7 +6559,7 @@ ${input.slice(result.pos)}
6445
6559
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6446
6560
  }
6447
6561
  var MetaProperty$0 = $S(New, Dot, Target);
6448
- var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6562
+ var MetaProperty$1 = $TS($S($EXPECT($L23, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6449
6563
  return { $loc, token: $1 };
6450
6564
  });
6451
6565
  var MetaProperty$2 = ReturnValue;
@@ -6453,7 +6567,7 @@ ${input.slice(result.pos)}
6453
6567
  function MetaProperty(ctx, state) {
6454
6568
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6455
6569
  }
6456
- var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6570
+ var ReturnValue$0 = $TV($C($S($EXPECT($L24, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6457
6571
  return { type: "ReturnValue", children: [$1[0]] };
6458
6572
  });
6459
6573
  function ReturnValue(ctx, state) {
@@ -6966,7 +7080,7 @@ ${input.slice(result.pos)}
6966
7080
  children: [ws, binding]
6967
7081
  };
6968
7082
  });
6969
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7083
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L25, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6970
7084
  return {
6971
7085
  children: [{
6972
7086
  type: "ElisionElement",
@@ -7022,6 +7136,8 @@ ${input.slice(result.pos)}
7022
7136
  return $EVENT(ctx, state, "EmptyBindingPattern", EmptyBindingPattern$0);
7023
7137
  }
7024
7138
  var FunctionDeclaration$0 = $TS($S(FunctionExpression), function($skip, $loc, $0, $1) {
7139
+ if ($1.type !== "FunctionExpression")
7140
+ return $skip;
7025
7141
  if ($1.id)
7026
7142
  return $1;
7027
7143
  return makeLeftHandSideExpression($1);
@@ -7090,7 +7206,7 @@ ${input.slice(result.pos)}
7090
7206
  block
7091
7207
  };
7092
7208
  });
7093
- var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7209
+ var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7094
7210
  const ref = makeRef("$"), body = [ref];
7095
7211
  const parameters = {
7096
7212
  type: "Parameters",
@@ -7138,13 +7254,80 @@ ${input.slice(result.pos)}
7138
7254
  },
7139
7255
  children: [open, parameters, " => ", body, close],
7140
7256
  body,
7257
+ parenthesized: true,
7258
+ parenthesizedOp: op,
7259
+ block,
7260
+ parameters
7261
+ };
7262
+ });
7263
+ var FunctionExpression$3 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7264
+ var open = $1;
7265
+ var lhs = $2;
7266
+ var ws1 = $3;
7267
+ var op = $4;
7268
+ var ws2 = $5;
7269
+ var close = $6;
7270
+ const refB = makeRef("b"), body = processBinaryOpExpression([lhs, [
7271
+ [ws1, op, ws2, refB]
7272
+ // BinaryOpRHS
7273
+ ]]);
7274
+ const parameters = {
7275
+ type: "Parameters",
7276
+ children: ["(", refB, ")"],
7277
+ names: []
7278
+ };
7279
+ const block = {
7280
+ expressions: [body]
7281
+ };
7282
+ return {
7283
+ type: "ArrowFunction",
7284
+ signature: {
7285
+ modifier: {}
7286
+ },
7287
+ children: [open, parameters, " => ", body, close],
7288
+ body,
7289
+ parenthesized: true,
7290
+ ampersandBlock: true,
7291
+ ref: refB,
7292
+ block,
7293
+ parameters
7294
+ };
7295
+ });
7296
+ var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($R9, "FunctionExpression /\\+\\+|--|[\\+-]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
7297
+ var open = $1;
7298
+ var ws1 = $2;
7299
+ var op = $4;
7300
+ var ws2 = $5;
7301
+ var rhs = $6;
7302
+ var close = $7;
7303
+ const refA = makeRef("a"), body = processBinaryOpExpression([refA, [
7304
+ [ws1, op, ws2, rhs]
7305
+ // BinaryOpRHS
7306
+ ]]);
7307
+ const parameters = {
7308
+ type: "Parameters",
7309
+ children: ["(", refA, ")"],
7310
+ names: []
7311
+ };
7312
+ const block = {
7313
+ expressions: [body]
7314
+ };
7315
+ return {
7316
+ type: "ArrowFunction",
7317
+ signature: {
7318
+ modifier: {}
7319
+ },
7320
+ children: [open, parameters, " => ", body, close],
7321
+ body,
7322
+ parenthesized: true,
7141
7323
  ampersandBlock: true,
7324
+ ref: refA,
7142
7325
  block,
7143
7326
  parameters
7144
7327
  };
7145
7328
  });
7146
- var FunctionExpression$3 = AmpersandFunctionExpression;
7147
- var FunctionExpression$4 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7329
+ var FunctionExpression$5 = AmpersandFunctionExpression;
7330
+ var FunctionExpression$6 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7148
7331
  var id = $1;
7149
7332
  var ws = $4;
7150
7333
  var fn = $5;
@@ -7159,7 +7342,7 @@ ${input.slice(result.pos)}
7159
7342
  ]
7160
7343
  };
7161
7344
  });
7162
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4];
7345
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5, FunctionExpression$6];
7163
7346
  function FunctionExpression(ctx, state) {
7164
7347
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
7165
7348
  }
@@ -7290,7 +7473,7 @@ ${input.slice(result.pos)}
7290
7473
  function AmpersandBlockRHS(ctx, state) {
7291
7474
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7292
7475
  }
7293
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R9, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7476
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R10, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7294
7477
  var callExpRest = $1;
7295
7478
  var unaryPostfix = $2;
7296
7479
  var assign = $3;
@@ -7380,7 +7563,7 @@ ${input.slice(result.pos)}
7380
7563
  function ThinArrowFunction(ctx, state) {
7381
7564
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7382
7565
  }
7383
- var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7566
+ var Arrow$0 = $TV($C($EXPECT($L27, 'Arrow "->"'), $EXPECT($L28, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7384
7567
  return { $loc, token: "->" };
7385
7568
  });
7386
7569
  function Arrow(ctx, state) {
@@ -7473,6 +7656,21 @@ ${input.slice(result.pos)}
7473
7656
  function ThenClause(ctx, state) {
7474
7657
  return $EVENT(ctx, state, "ThenClause", ThenClause$0);
7475
7658
  }
7659
+ var BracedThenClause$0 = $TS($S($Y(Then), InsertOpenBrace, ThenClause, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
7660
+ var open = $2;
7661
+ var exp = $3;
7662
+ var close = $4;
7663
+ const expressions = [exp];
7664
+ return {
7665
+ type: "BlockStatement",
7666
+ expressions,
7667
+ children: [open, expressions, " ", close],
7668
+ bare: false
7669
+ };
7670
+ });
7671
+ function BracedThenClause(ctx, state) {
7672
+ return $EVENT(ctx, state, "BracedThenClause", BracedThenClause$0);
7673
+ }
7476
7674
  var BracedOrEmptyBlock$0 = BracedBlock;
7477
7675
  var BracedOrEmptyBlock$1 = EmptyBlock;
7478
7676
  var BracedOrEmptyBlock$$ = [BracedOrEmptyBlock$0, BracedOrEmptyBlock$1];
@@ -7666,7 +7864,7 @@ ${input.slice(result.pos)}
7666
7864
  }
7667
7865
  var BracedContent$0 = NestedBlockStatements;
7668
7866
  var BracedContent$1 = SingleLineStatements;
7669
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7867
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L29, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7670
7868
  const expressions = [];
7671
7869
  return {
7672
7870
  type: "BlockStatement",
@@ -7716,7 +7914,7 @@ ${input.slice(result.pos)}
7716
7914
  function BlockStatementPart(ctx, state) {
7717
7915
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
7718
7916
  }
7719
- var Literal$0 = $TS($S($EXPECT($R10, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7917
+ var Literal$0 = $TS($S($EXPECT($R11, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7720
7918
  var literal = $2;
7721
7919
  return {
7722
7920
  type: "Literal",
@@ -7736,13 +7934,13 @@ ${input.slice(result.pos)}
7736
7934
  function LiteralContent(ctx, state) {
7737
7935
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7738
7936
  }
7739
- var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7937
+ var NullLiteral$0 = $TS($S($EXPECT($L30, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7740
7938
  return { $loc, token: $1 };
7741
7939
  });
7742
7940
  function NullLiteral(ctx, state) {
7743
7941
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
7744
7942
  }
7745
- var BooleanLiteral$0 = $T($S($EXPECT($R11, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7943
+ var BooleanLiteral$0 = $T($S($EXPECT($R12, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7746
7944
  return value[1];
7747
7945
  });
7748
7946
  function BooleanLiteral(ctx, state) {
@@ -7751,31 +7949,31 @@ ${input.slice(result.pos)}
7751
7949
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7752
7950
  return value[1];
7753
7951
  });
7754
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7952
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L31, '_BooleanLiteral "true"'), $EXPECT($L32, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7755
7953
  return { $loc, token: $1 };
7756
7954
  });
7757
7955
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7758
7956
  function _BooleanLiteral(ctx, state) {
7759
7957
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7760
7958
  }
7761
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7959
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7762
7960
  return { $loc, token: "true" };
7763
7961
  });
7764
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7962
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L35, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L36, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7765
7963
  return { $loc, token: "false" };
7766
7964
  });
7767
7965
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
7768
7966
  function CoffeeScriptBooleanLiteral(ctx, state) {
7769
7967
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
7770
7968
  }
7771
- var Identifier$0 = $T($S($EXPECT($R12, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7969
+ var Identifier$0 = $T($S($EXPECT($R13, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7772
7970
  var id = value[2];
7773
7971
  return id;
7774
7972
  });
7775
7973
  function Identifier(ctx, state) {
7776
7974
  return $EVENT(ctx, state, "Identifier", Identifier$0);
7777
7975
  }
7778
- var IdentifierName$0 = $TR($EXPECT($R13, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7976
+ var IdentifierName$0 = $TR($EXPECT($R14, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7779
7977
  return {
7780
7978
  type: "Identifier",
7781
7979
  name: $0,
@@ -7793,11 +7991,11 @@ ${input.slice(result.pos)}
7793
7991
  function IdentifierReference(ctx, state) {
7794
7992
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
7795
7993
  }
7796
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
7994
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L37, 'UpcomingAssignment ">"')))));
7797
7995
  function UpcomingAssignment(ctx, state) {
7798
7996
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
7799
7997
  }
7800
- var ArrayLiteral$0 = $T($S($EXPECT($R14, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7998
+ var ArrayLiteral$0 = $T($S($EXPECT($R15, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7801
7999
  return value[1];
7802
8000
  });
7803
8001
  function ArrayLiteral(ctx, state) {
@@ -7951,7 +8149,7 @@ ${input.slice(result.pos)}
7951
8149
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
7952
8150
  }
7953
8151
  var ArrayElementDelimiter$0 = $S(__, Comma);
7954
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
8152
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L38, 'ArrayElementDelimiter "]"')));
7955
8153
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7956
8154
  return value[1];
7957
8155
  });
@@ -8181,7 +8379,7 @@ ${input.slice(result.pos)}
8181
8379
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
8182
8380
  }
8183
8381
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8184
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
8382
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L29, 'ObjectPropertyDelimiter "}"')));
8185
8383
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8186
8384
  return value[1];
8187
8385
  });
@@ -8197,7 +8395,7 @@ ${input.slice(result.pos)}
8197
8395
  children: [ws, ...prop.children]
8198
8396
  };
8199
8397
  });
8200
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R15, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8398
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R16, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8201
8399
  var ws = $1;
8202
8400
  var toggle = $2;
8203
8401
  var id = $3;
@@ -8364,7 +8562,7 @@ ${input.slice(result.pos)}
8364
8562
  implicit: true
8365
8563
  };
8366
8564
  });
8367
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L21, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8565
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L22, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8368
8566
  const expression = [$2, $3];
8369
8567
  return {
8370
8568
  type: "ComputedPropertyName",
@@ -8664,10 +8862,10 @@ ${input.slice(result.pos)}
8664
8862
  function OperatorAssignmentOp(ctx, state) {
8665
8863
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8666
8864
  }
8667
- var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8668
- var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8669
- var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8670
- var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8865
+ var AssignmentOpSymbol$0 = $EXPECT($L39, 'AssignmentOpSymbol "**="');
8866
+ var AssignmentOpSymbol$1 = $EXPECT($L40, 'AssignmentOpSymbol "*="');
8867
+ var AssignmentOpSymbol$2 = $EXPECT($L41, 'AssignmentOpSymbol "/="');
8868
+ var AssignmentOpSymbol$3 = $EXPECT($L42, 'AssignmentOpSymbol "%="');
8671
8869
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8672
8870
  return {
8673
8871
  special: true,
@@ -8676,18 +8874,18 @@ ${input.slice(result.pos)}
8676
8874
  children: [$2]
8677
8875
  };
8678
8876
  });
8679
- var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8680
- var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8681
- var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8682
- var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8683
- var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8684
- var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8685
- var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8686
- var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8687
- var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8688
- var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8689
- var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8690
- var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8877
+ var AssignmentOpSymbol$5 = $EXPECT($L43, 'AssignmentOpSymbol "+="');
8878
+ var AssignmentOpSymbol$6 = $EXPECT($L44, 'AssignmentOpSymbol "-="');
8879
+ var AssignmentOpSymbol$7 = $EXPECT($L45, 'AssignmentOpSymbol "<<="');
8880
+ var AssignmentOpSymbol$8 = $EXPECT($L46, 'AssignmentOpSymbol ">>>="');
8881
+ var AssignmentOpSymbol$9 = $EXPECT($L47, 'AssignmentOpSymbol ">>="');
8882
+ var AssignmentOpSymbol$10 = $EXPECT($L48, 'AssignmentOpSymbol "&&="');
8883
+ var AssignmentOpSymbol$11 = $EXPECT($L49, 'AssignmentOpSymbol "&="');
8884
+ var AssignmentOpSymbol$12 = $EXPECT($L50, 'AssignmentOpSymbol "^="');
8885
+ var AssignmentOpSymbol$13 = $EXPECT($L51, 'AssignmentOpSymbol "||="');
8886
+ var AssignmentOpSymbol$14 = $EXPECT($L52, 'AssignmentOpSymbol "|="');
8887
+ var AssignmentOpSymbol$15 = $EXPECT($L53, 'AssignmentOpSymbol "??="');
8888
+ var AssignmentOpSymbol$16 = $T($EXPECT($L54, 'AssignmentOpSymbol "?="'), function(value) {
8691
8889
  return "??=";
8692
8890
  });
8693
8891
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -8700,10 +8898,10 @@ ${input.slice(result.pos)}
8700
8898
  function AssignmentOpSymbol(ctx, state) {
8701
8899
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8702
8900
  }
8703
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8901
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "and="'), function(value) {
8704
8902
  return "&&=";
8705
8903
  });
8706
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8904
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L56, 'CoffeeWordAssignmentOp "or="'), function(value) {
8707
8905
  return "||=";
8708
8906
  });
8709
8907
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -8737,7 +8935,7 @@ ${input.slice(result.pos)}
8737
8935
  function IdentifierBinaryOp(ctx, state) {
8738
8936
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
8739
8937
  }
8740
- var BinaryOp$0 = $T($S($EXPECT($R16, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8938
+ var BinaryOp$0 = $T($S($EXPECT($R17, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8741
8939
  var op = value[1];
8742
8940
  return op;
8743
8941
  });
@@ -8758,7 +8956,7 @@ ${input.slice(result.pos)}
8758
8956
  special: true
8759
8957
  };
8760
8958
  });
8761
- var _BinaryOp$2 = $TS($S(Not, __, Identifier), function($skip, $loc, $0, $1, $2, $3) {
8959
+ var _BinaryOp$2 = $TS($S(OmittedNegation, __, Identifier), function($skip, $loc, $0, $1, $2, $3) {
8762
8960
  var id = $3;
8763
8961
  if (!module.operators.has(id.name))
8764
8962
  return $skip;
@@ -8772,33 +8970,33 @@ ${input.slice(result.pos)}
8772
8970
  function _BinaryOp(ctx, state) {
8773
8971
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
8774
8972
  }
8775
- var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
8776
- var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
8777
- var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
8778
- var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8973
+ var BinaryOpSymbol$0 = $EXPECT($L57, 'BinaryOpSymbol "**"');
8974
+ var BinaryOpSymbol$1 = $EXPECT($L58, 'BinaryOpSymbol "*"');
8975
+ var BinaryOpSymbol$2 = $EXPECT($L59, 'BinaryOpSymbol "/"');
8976
+ var BinaryOpSymbol$3 = $TV($EXPECT($L60, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8779
8977
  return {
8780
8978
  call: module.getRef("modulo"),
8781
8979
  special: true
8782
8980
  };
8783
8981
  });
8784
- var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
8982
+ var BinaryOpSymbol$4 = $EXPECT($L61, 'BinaryOpSymbol "%"');
8785
8983
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
8786
8984
  return {
8787
8985
  method: "concat",
8788
8986
  special: true
8789
8987
  };
8790
8988
  });
8791
- var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
8792
- var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
8793
- var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
8794
- var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
8989
+ var BinaryOpSymbol$6 = $EXPECT($L62, 'BinaryOpSymbol "+"');
8990
+ var BinaryOpSymbol$7 = $EXPECT($L22, 'BinaryOpSymbol "-"');
8991
+ var BinaryOpSymbol$8 = $EXPECT($L63, 'BinaryOpSymbol "<="');
8992
+ var BinaryOpSymbol$9 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2264"'), function(value) {
8795
8993
  return "<=";
8796
8994
  });
8797
- var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
8798
- var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
8995
+ var BinaryOpSymbol$10 = $EXPECT($L65, 'BinaryOpSymbol ">="');
8996
+ var BinaryOpSymbol$11 = $T($EXPECT($L66, 'BinaryOpSymbol "\u2265"'), function(value) {
8799
8997
  return ">=";
8800
8998
  });
8801
- var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8999
+ var BinaryOpSymbol$12 = $TV($EXPECT($L67, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8802
9000
  return {
8803
9001
  $loc,
8804
9002
  token: "instanceof",
@@ -8806,7 +9004,7 @@ ${input.slice(result.pos)}
8806
9004
  special: true
8807
9005
  };
8808
9006
  });
8809
- var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9007
+ var BinaryOpSymbol$13 = $TV($EXPECT($L68, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8810
9008
  return {
8811
9009
  $loc,
8812
9010
  token: "instanceof",
@@ -8815,74 +9013,74 @@ ${input.slice(result.pos)}
8815
9013
  negated: true
8816
9014
  };
8817
9015
  });
8818
- var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
8819
- var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
9016
+ var BinaryOpSymbol$14 = $EXPECT($L69, 'BinaryOpSymbol "<<"');
9017
+ var BinaryOpSymbol$15 = $T($EXPECT($L70, 'BinaryOpSymbol "\xAB"'), function(value) {
8820
9018
  return "<<";
8821
9019
  });
8822
- var BinaryOpSymbol$16 = $EXPECT($L15, 'BinaryOpSymbol "<"');
8823
- var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
8824
- var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
9020
+ var BinaryOpSymbol$16 = $EXPECT($L16, 'BinaryOpSymbol "<"');
9021
+ var BinaryOpSymbol$17 = $EXPECT($L71, 'BinaryOpSymbol ">>>"');
9022
+ var BinaryOpSymbol$18 = $T($EXPECT($L72, 'BinaryOpSymbol "\u22D9"'), function(value) {
8825
9023
  return ">>>";
8826
9024
  });
8827
- var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
8828
- var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
9025
+ var BinaryOpSymbol$19 = $EXPECT($L73, 'BinaryOpSymbol ">>"');
9026
+ var BinaryOpSymbol$20 = $T($EXPECT($L74, 'BinaryOpSymbol "\xBB"'), function(value) {
8829
9027
  return ">>";
8830
9028
  });
8831
- var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
8832
- var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
8833
- var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
9029
+ var BinaryOpSymbol$21 = $EXPECT($L37, 'BinaryOpSymbol ">"');
9030
+ var BinaryOpSymbol$22 = $EXPECT($L75, 'BinaryOpSymbol "!=="');
9031
+ var BinaryOpSymbol$23 = $T($EXPECT($L76, 'BinaryOpSymbol "\u2262"'), function(value) {
8834
9032
  return "!==";
8835
9033
  });
8836
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9034
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L77, 'BinaryOpSymbol "!="'), $EXPECT($L78, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8837
9035
  if (module.config.coffeeEq)
8838
9036
  return "!==";
8839
9037
  return "!=";
8840
9038
  });
8841
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9039
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L79, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8842
9040
  if (module.config.coffeeIsnt)
8843
9041
  return "!==";
8844
9042
  return $skip;
8845
9043
  });
8846
- var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
8847
- var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
9044
+ var BinaryOpSymbol$26 = $EXPECT($L80, 'BinaryOpSymbol "==="');
9045
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L81, 'BinaryOpSymbol "\u2263"'), $EXPECT($L82, 'BinaryOpSymbol "\u2A76"')), function(value) {
8848
9046
  return "===";
8849
9047
  });
8850
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9048
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L83, 'BinaryOpSymbol "=="'), $EXPECT($L84, 'BinaryOpSymbol "\u2261"'), $EXPECT($L85, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8851
9049
  if (module.config.coffeeEq)
8852
9050
  return "===";
8853
9051
  return "==";
8854
9052
  });
8855
- var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9053
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L86, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8856
9054
  return "&&";
8857
9055
  });
8858
- var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
8859
- var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9056
+ var BinaryOpSymbol$30 = $EXPECT($L87, 'BinaryOpSymbol "&&"');
9057
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L88, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8860
9058
  return "||";
8861
9059
  });
8862
- var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
8863
- var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
9060
+ var BinaryOpSymbol$32 = $EXPECT($L89, 'BinaryOpSymbol "||"');
9061
+ var BinaryOpSymbol$33 = $T($EXPECT($L90, 'BinaryOpSymbol "\u2016"'), function(value) {
8864
9062
  return "||";
8865
9063
  });
8866
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9064
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L91, 'BinaryOpSymbol "^^"'), $S($EXPECT($L92, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8867
9065
  return {
8868
9066
  call: module.getRef("xor"),
8869
9067
  special: true
8870
9068
  };
8871
9069
  });
8872
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R17, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9070
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R18, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L93, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8873
9071
  return {
8874
9072
  call: module.getRef("xnor"),
8875
9073
  special: true
8876
9074
  };
8877
9075
  });
8878
- var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
8879
- var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
9076
+ var BinaryOpSymbol$36 = $EXPECT($L94, 'BinaryOpSymbol "??"');
9077
+ var BinaryOpSymbol$37 = $T($EXPECT($L95, 'BinaryOpSymbol "\u2047"'), function(value) {
8880
9078
  return "??";
8881
9079
  });
8882
9080
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8883
9081
  return "??";
8884
9082
  });
8885
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9083
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L96, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8886
9084
  return {
8887
9085
  $loc,
8888
9086
  token: $1,
@@ -8895,11 +9093,11 @@ ${input.slice(result.pos)}
8895
9093
  var op = value[1];
8896
9094
  return op;
8897
9095
  });
8898
- var BinaryOpSymbol$41 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
9096
+ var BinaryOpSymbol$41 = $TS($S(OmittedNegation, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8899
9097
  var op = $3;
8900
9098
  return { ...op, $loc };
8901
9099
  });
8902
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9100
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L97, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8903
9101
  return {
8904
9102
  method: "includes",
8905
9103
  relational: true,
@@ -8907,14 +9105,14 @@ ${input.slice(result.pos)}
8907
9105
  special: true
8908
9106
  };
8909
9107
  });
8910
- var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9108
+ var BinaryOpSymbol$43 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8911
9109
  return {
8912
9110
  method: "includes",
8913
9111
  relational: true,
8914
9112
  special: true
8915
9113
  };
8916
9114
  });
8917
- var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9115
+ var BinaryOpSymbol$44 = $TV($EXPECT($L99, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8918
9116
  return {
8919
9117
  method: "includes",
8920
9118
  relational: true,
@@ -8922,7 +9120,7 @@ ${input.slice(result.pos)}
8922
9120
  negated: true
8923
9121
  };
8924
9122
  });
8925
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9123
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L100, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8926
9124
  return {
8927
9125
  method: "includes",
8928
9126
  relational: true,
@@ -8955,9 +9153,9 @@ ${input.slice(result.pos)}
8955
9153
  return "===";
8956
9154
  });
8957
9155
  var BinaryOpSymbol$48 = In;
8958
- var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
8959
- var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
8960
- var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
9156
+ var BinaryOpSymbol$49 = $EXPECT($L101, 'BinaryOpSymbol "&"');
9157
+ var BinaryOpSymbol$50 = $EXPECT($L21, 'BinaryOpSymbol "^"');
9158
+ var BinaryOpSymbol$51 = $EXPECT($L102, 'BinaryOpSymbol "|"');
8961
9159
  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];
8962
9160
  function BinaryOpSymbol(ctx, state) {
8963
9161
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -8974,7 +9172,7 @@ ${input.slice(result.pos)}
8974
9172
  special: true
8975
9173
  };
8976
9174
  });
8977
- var CoffeeOfOp$2 = $TS($S(Not, __, Of, NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
9175
+ var CoffeeOfOp$2 = $TS($S(OmittedNegation, __, Of, NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
8978
9176
  return {
8979
9177
  $loc,
8980
9178
  token: "in",
@@ -8982,7 +9180,7 @@ ${input.slice(result.pos)}
8982
9180
  negated: true
8983
9181
  };
8984
9182
  });
8985
- var CoffeeOfOp$3 = $TS($S(Not, __, In), function($skip, $loc, $0, $1, $2, $3) {
9183
+ var CoffeeOfOp$3 = $TS($S(OmittedNegation, __, In), function($skip, $loc, $0, $1, $2, $3) {
8986
9184
  return {
8987
9185
  call: [module.getRef("indexOf"), ".call"],
8988
9186
  relational: true,
@@ -8995,7 +9193,7 @@ ${input.slice(result.pos)}
8995
9193
  function CoffeeOfOp(ctx, state) {
8996
9194
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
8997
9195
  }
8998
- var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9196
+ var NotOp$0 = $TS($S($EXPECT($L96, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8999
9197
  return {
9000
9198
  $loc,
9001
9199
  token: "instanceof",
@@ -9016,24 +9214,24 @@ ${input.slice(result.pos)}
9016
9214
  function NotOp(ctx, state) {
9017
9215
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
9018
9216
  }
9019
- var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9020
- var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
9217
+ var Xor$0 = $EXPECT($L91, 'Xor "^^"');
9218
+ var Xor$1 = $S($EXPECT($L92, 'Xor "xor"'), NonIdContinue);
9021
9219
  var Xor$$ = [Xor$0, Xor$1];
9022
9220
  function Xor(ctx, state) {
9023
9221
  return $EVENT_C(ctx, state, "Xor", Xor$$);
9024
9222
  }
9025
- var Xnor$0 = $R$0($EXPECT($R17, "Xnor /!\\^\\^?/"));
9026
- var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
9223
+ var Xnor$0 = $R$0($EXPECT($R18, "Xnor /!\\^\\^?/"));
9224
+ var Xnor$1 = $EXPECT($L93, 'Xnor "xnor"');
9027
9225
  var Xnor$$ = [Xnor$0, Xnor$1];
9028
9226
  function Xnor(ctx, state) {
9029
9227
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
9030
9228
  }
9031
- var UnaryOp$0 = $TR($EXPECT($R18, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9229
+ var UnaryOp$0 = $TR($EXPECT($R19, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9032
9230
  return { $loc, token: $0 };
9033
9231
  });
9034
9232
  var UnaryOp$1 = AwaitOp;
9035
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R19, "UnaryOp /[:.]/"))), $E(_));
9036
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R19, "UnaryOp /[:.]/")), $E($EXPECT($L14, 'UnaryOp " "')), $E(_)), function(value) {
9233
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R20, "UnaryOp /[:.]/"))), $E(_));
9234
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R20, "UnaryOp /[:.]/")), $E($EXPECT($L15, 'UnaryOp " "')), $E(_)), function(value) {
9037
9235
  return [value[0], value[3]];
9038
9236
  });
9039
9237
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -9128,7 +9326,7 @@ ${input.slice(result.pos)}
9128
9326
  function NonPipelinePostfixedExpression(ctx, state) {
9129
9327
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
9130
9328
  }
9131
- var PostfixStatement$0 = $T($S($EXPECT($R20, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9329
+ var PostfixStatement$0 = $T($S($EXPECT($R21, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9132
9330
  return value[1];
9133
9331
  });
9134
9332
  function PostfixStatement(ctx, state) {
@@ -9171,7 +9369,7 @@ ${input.slice(result.pos)}
9171
9369
  function NoCommaStatement(ctx, state) {
9172
9370
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9173
9371
  }
9174
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L102, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9372
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L103, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9175
9373
  return { type: "EmptyStatement", children: $1 || [] };
9176
9374
  });
9177
9375
  function EmptyStatement(ctx, state) {
@@ -9202,7 +9400,7 @@ ${input.slice(result.pos)}
9202
9400
  var w = $3;
9203
9401
  return [id, colon, w];
9204
9402
  });
9205
- var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
9403
+ var Label$1 = $S($EXPECT($L104, 'Label "$:"'), Whitespace);
9206
9404
  var Label$$ = [Label$0, Label$1];
9207
9405
  function Label(ctx, state) {
9208
9406
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9375,7 +9573,7 @@ ${input.slice(result.pos)}
9375
9573
  function BlockExpressionPart(ctx, state) {
9376
9574
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9377
9575
  }
9378
- var IterationStatement$0 = $T($S($EXPECT($R21, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9576
+ var IterationStatement$0 = $T($S($EXPECT($R22, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9379
9577
  return value[1];
9380
9578
  });
9381
9579
  function IterationStatement(ctx, state) {
@@ -9728,7 +9926,7 @@ ${input.slice(result.pos)}
9728
9926
  names: binding.names
9729
9927
  };
9730
9928
  });
9731
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R22, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9929
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R23, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9732
9930
  var c = $1;
9733
9931
  var binding = $2;
9734
9932
  return {
@@ -9954,7 +10152,7 @@ ${input.slice(result.pos)}
9954
10152
  function IgnoreColon(ctx, state) {
9955
10153
  return $EVENT(ctx, state, "IgnoreColon", IgnoreColon$0);
9956
10154
  }
9957
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L13, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10155
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L14, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9958
10156
  var t = $1;
9959
10157
  var b = $3;
9960
10158
  var c = $4;
@@ -9995,7 +10193,7 @@ ${input.slice(result.pos)}
9995
10193
  function TryExpression(ctx, state) {
9996
10194
  return $EVENT(ctx, state, "TryExpression", TryExpression$0);
9997
10195
  }
9998
- var CatchClause$0 = $TS($S($C(Nested, _), Catch, $E(CatchBind), $C(ThenClause, BracedOrEmptyBlock)), function($skip, $loc, $0, $1, $2, $3, $4) {
10196
+ var CatchClause$0 = $TS($S($C(Nested, _), Catch, $E(CatchBind), $C(BracedThenClause, BracedOrEmptyBlock)), function($skip, $loc, $0, $1, $2, $3, $4) {
9999
10197
  var block = $4;
10000
10198
  return {
10001
10199
  type: "CatchClause",
@@ -10012,7 +10210,7 @@ ${input.slice(result.pos)}
10012
10210
  function CatchBind(ctx, state) {
10013
10211
  return $EVENT_C(ctx, state, "CatchBind", CatchBind$$);
10014
10212
  }
10015
- var FinallyClause$0 = $S($C(Nested, _), Finally, $C(ThenClause, BracedOrEmptyBlock));
10213
+ var FinallyClause$0 = $S($C(Nested, _), Finally, $C(BracedThenClause, BracedOrEmptyBlock));
10016
10214
  function FinallyClause(ctx, state) {
10017
10215
  return $EVENT(ctx, state, "FinallyClause", FinallyClause$0);
10018
10216
  }
@@ -10290,7 +10488,7 @@ ${input.slice(result.pos)}
10290
10488
  };
10291
10489
  });
10292
10490
  var KeywordStatement$2 = DebuggerStatement;
10293
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L13, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10491
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L14, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10294
10492
  var expression = value[2];
10295
10493
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10296
10494
  });
@@ -10311,19 +10509,19 @@ ${input.slice(result.pos)}
10311
10509
  function ThrowStatement(ctx, state) {
10312
10510
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10313
10511
  }
10314
- var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10512
+ var Break$0 = $TS($S($EXPECT($L105, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10315
10513
  return { $loc, token: $1 };
10316
10514
  });
10317
10515
  function Break(ctx, state) {
10318
10516
  return $EVENT(ctx, state, "Break", Break$0);
10319
10517
  }
10320
- var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10518
+ var Continue$0 = $TS($S($EXPECT($L106, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10321
10519
  return { $loc, token: $1 };
10322
10520
  });
10323
10521
  function Continue(ctx, state) {
10324
10522
  return $EVENT(ctx, state, "Continue", Continue$0);
10325
10523
  }
10326
- var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10524
+ var Debugger$0 = $TS($S($EXPECT($L107, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10327
10525
  return { $loc, token: $1 };
10328
10526
  });
10329
10527
  function Debugger(ctx, state) {
@@ -10444,7 +10642,7 @@ ${input.slice(result.pos)}
10444
10642
  function FromClause(ctx, state) {
10445
10643
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10446
10644
  }
10447
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L107, 'ImportAssertion "with"'), $EXPECT($L108, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10645
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L108, 'ImportAssertion "with"'), $EXPECT($L109, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10448
10646
  function ImportAssertion(ctx, state) {
10449
10647
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10450
10648
  }
@@ -10492,7 +10690,7 @@ ${input.slice(result.pos)}
10492
10690
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10493
10691
  }
10494
10692
  var ImportAsToken$0 = $S(__, As);
10495
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L14, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10693
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L15, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10496
10694
  var l = $1;
10497
10695
  var ws = $2;
10498
10696
  var c = $3;
@@ -10532,7 +10730,7 @@ ${input.slice(result.pos)}
10532
10730
  function UnprocessedModuleSpecifier(ctx, state) {
10533
10731
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10534
10732
  }
10535
- var UnquotedSpecifier$0 = $TV($EXPECT($R23, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10733
+ var UnquotedSpecifier$0 = $TV($EXPECT($R24, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10536
10734
  var spec = $0;
10537
10735
  return { $loc, token: `"${spec}"` };
10538
10736
  });
@@ -10664,13 +10862,13 @@ ${input.slice(result.pos)}
10664
10862
  function LexicalDeclaration(ctx, state) {
10665
10863
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10666
10864
  }
10667
- var ConstAssignment$0 = $TV($C($EXPECT($L109, 'ConstAssignment ":="'), $EXPECT($L110, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10865
+ var ConstAssignment$0 = $TV($C($EXPECT($L110, 'ConstAssignment ":="'), $EXPECT($L111, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10668
10866
  return { $loc, token: "=" };
10669
10867
  });
10670
10868
  function ConstAssignment(ctx, state) {
10671
10869
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10672
10870
  }
10673
- var LetAssignment$0 = $TV($EXPECT($L111, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10871
+ var LetAssignment$0 = $TV($EXPECT($L112, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10674
10872
  return { $loc, token: "=" };
10675
10873
  });
10676
10874
  function LetAssignment(ctx, state) {
@@ -10738,7 +10936,7 @@ ${input.slice(result.pos)}
10738
10936
  function VariableDeclarationList(ctx, state) {
10739
10937
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
10740
10938
  }
10741
- var NumericLiteral$0 = $TS($S($EXPECT($R24, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10939
+ var NumericLiteral$0 = $TS($S($EXPECT($R25, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10742
10940
  var token = $2;
10743
10941
  return { type: "NumericLiteral", $loc, token };
10744
10942
  });
@@ -10754,36 +10952,36 @@ ${input.slice(result.pos)}
10754
10952
  function NumericLiteralKind(ctx, state) {
10755
10953
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
10756
10954
  }
10757
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R25, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10955
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R26, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10758
10956
  function DecimalBigIntegerLiteral(ctx, state) {
10759
10957
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
10760
10958
  }
10761
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10959
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10762
10960
  return $1 + ".";
10763
10961
  });
10764
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10765
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10962
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10963
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R29, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10766
10964
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
10767
10965
  function DecimalLiteral(ctx, state) {
10768
10966
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
10769
10967
  }
10770
- var ExponentPart$0 = $R$0($EXPECT($R29, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10968
+ var ExponentPart$0 = $R$0($EXPECT($R30, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10771
10969
  function ExponentPart(ctx, state) {
10772
10970
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
10773
10971
  }
10774
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R30, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10972
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R31, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10775
10973
  function BinaryIntegerLiteral(ctx, state) {
10776
10974
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
10777
10975
  }
10778
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R31, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10976
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R32, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10779
10977
  function OctalIntegerLiteral(ctx, state) {
10780
10978
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
10781
10979
  }
10782
- var HexIntegerLiteral$0 = $R$0($EXPECT($R32, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10980
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R33, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10783
10981
  function HexIntegerLiteral(ctx, state) {
10784
10982
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
10785
10983
  }
10786
- var IntegerLiteral$0 = $TS($S($EXPECT($R33, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10984
+ var IntegerLiteral$0 = $TS($S($EXPECT($R34, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10787
10985
  var token = $2;
10788
10986
  return { $loc, token };
10789
10987
  });
@@ -10799,7 +10997,7 @@ ${input.slice(result.pos)}
10799
10997
  function IntegerLiteralKind(ctx, state) {
10800
10998
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
10801
10999
  }
10802
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R34, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
11000
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R35, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10803
11001
  function DecimalIntegerLiteral(ctx, state) {
10804
11002
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
10805
11003
  }
@@ -10823,25 +11021,25 @@ ${input.slice(result.pos)}
10823
11021
  function StringLiteral(ctx, state) {
10824
11022
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
10825
11023
  }
10826
- var DoubleStringCharacters$0 = $TR($EXPECT($R35, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11024
+ var DoubleStringCharacters$0 = $TR($EXPECT($R36, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10827
11025
  return { $loc, token: $0 };
10828
11026
  });
10829
11027
  function DoubleStringCharacters(ctx, state) {
10830
11028
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
10831
11029
  }
10832
- var SingleStringCharacters$0 = $TR($EXPECT($R36, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11030
+ var SingleStringCharacters$0 = $TR($EXPECT($R37, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10833
11031
  return { $loc, token: $0 };
10834
11032
  });
10835
11033
  function SingleStringCharacters(ctx, state) {
10836
11034
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
10837
11035
  }
10838
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R37, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11036
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R38, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10839
11037
  return { $loc, token: $0 };
10840
11038
  });
10841
11039
  function TripleDoubleStringCharacters(ctx, state) {
10842
11040
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
10843
11041
  }
10844
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R38, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11042
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R39, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10845
11043
  return { $loc, token: $0 };
10846
11044
  });
10847
11045
  function TripleSingleStringCharacters(ctx, state) {
@@ -10860,14 +11058,14 @@ ${input.slice(result.pos)}
10860
11058
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
10861
11059
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
10862
11060
  }
10863
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R39, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11061
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R40, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10864
11062
  return { $loc, token: $0 };
10865
11063
  });
10866
11064
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
10867
11065
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
10868
11066
  }
10869
11067
  var RegularExpressionLiteral$0 = HeregexLiteral;
10870
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11068
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L59, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L59, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10871
11069
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
10872
11070
  });
10873
11071
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -10880,7 +11078,7 @@ ${input.slice(result.pos)}
10880
11078
  function RegularExpressionClass(ctx, state) {
10881
11079
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
10882
11080
  }
10883
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R40, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11081
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R41, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10884
11082
  return { $loc, token: $0 };
10885
11083
  });
10886
11084
  function RegularExpressionClassCharacters(ctx, state) {
@@ -10934,7 +11132,7 @@ ${input.slice(result.pos)}
10934
11132
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
10935
11133
  return { "type": "Substitution", "children": value[0] };
10936
11134
  });
10937
- var HeregexPart$3 = $TR($EXPECT($R41, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11135
+ var HeregexPart$3 = $TR($EXPECT($R42, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10938
11136
  let token = $0;
10939
11137
  switch ($0[1]) {
10940
11138
  case "\n":
@@ -10952,13 +11150,13 @@ ${input.slice(result.pos)}
10952
11150
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
10953
11151
  return { $loc, token: "" };
10954
11152
  });
10955
- var HeregexPart$5 = $TR($EXPECT($R42, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11153
+ var HeregexPart$5 = $TR($EXPECT($R43, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10956
11154
  return { $loc, token: "" };
10957
11155
  });
10958
- var HeregexPart$6 = $TR($EXPECT($R43, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11156
+ var HeregexPart$6 = $TR($EXPECT($R44, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10959
11157
  return { $loc, token: "\\/" };
10960
11158
  });
10961
- var HeregexPart$7 = $TR($EXPECT($R44, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11159
+ var HeregexPart$7 = $TR($EXPECT($R45, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10962
11160
  return { $loc, token: $0 };
10963
11161
  });
10964
11162
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -10971,7 +11169,7 @@ ${input.slice(result.pos)}
10971
11169
  function HeregexComment(ctx, state) {
10972
11170
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
10973
11171
  }
10974
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R45, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
11172
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R46, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10975
11173
  function RegularExpressionBody(ctx, state) {
10976
11174
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
10977
11175
  }
@@ -10981,15 +11179,15 @@ ${input.slice(result.pos)}
10981
11179
  function RegExpPart(ctx, state) {
10982
11180
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
10983
11181
  }
10984
- var RegExpCharacter$0 = $R$0($EXPECT($R46, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
11182
+ var RegExpCharacter$0 = $R$0($EXPECT($R47, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10985
11183
  function RegExpCharacter(ctx, state) {
10986
11184
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
10987
11185
  }
10988
- var RegularExpressionFlags$0 = $R$0($EXPECT($R47, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
11186
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R48, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10989
11187
  function RegularExpressionFlags(ctx, state) {
10990
11188
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
10991
11189
  }
10992
- var TemplateLiteral$0 = $T($S($EXPECT($R48, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
11190
+ var TemplateLiteral$0 = $T($S($EXPECT($R49, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10993
11191
  return value[1];
10994
11192
  });
10995
11193
  function TemplateLiteral(ctx, state) {
@@ -11025,28 +11223,28 @@ ${input.slice(result.pos)}
11025
11223
  function TemplateSubstitution(ctx, state) {
11026
11224
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
11027
11225
  }
11028
- var TemplateCharacters$0 = $TR($EXPECT($R49, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11226
+ var TemplateCharacters$0 = $TR($EXPECT($R50, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11029
11227
  return { $loc, token: $0 };
11030
11228
  });
11031
11229
  function TemplateCharacters(ctx, state) {
11032
11230
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
11033
11231
  }
11034
- var TemplateBlockCharacters$0 = $TR($EXPECT($R50, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11232
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R51, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11035
11233
  return { $loc, token: $0 };
11036
11234
  });
11037
11235
  function TemplateBlockCharacters(ctx, state) {
11038
11236
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
11039
11237
  }
11040
- var ReservedWord$0 = $S($R$0($EXPECT($R51, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11041
- var ReservedWord$1 = $S($R$0($EXPECT($R52, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11042
- var ReservedWord$2 = $S($R$0($EXPECT($R53, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11043
- var ReservedWord$3 = $S($R$0($EXPECT($R54, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11044
- var ReservedWord$4 = $R$0($EXPECT($R55, "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})/"));
11238
+ var ReservedWord$0 = $S($R$0($EXPECT($R52, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11239
+ var ReservedWord$1 = $S($R$0($EXPECT($R53, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11240
+ var ReservedWord$2 = $S($R$0($EXPECT($R54, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11241
+ var ReservedWord$3 = $S($R$0($EXPECT($R55, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11242
+ var ReservedWord$4 = $R$0($EXPECT($R56, "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})/"));
11045
11243
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
11046
11244
  function ReservedWord(ctx, state) {
11047
11245
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
11048
11246
  }
11049
- var Comment$0 = $T($S($EXPECT($R56, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11247
+ var Comment$0 = $T($S($EXPECT($R57, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11050
11248
  return value[1];
11051
11249
  });
11052
11250
  function Comment(ctx, state) {
@@ -11064,7 +11262,7 @@ ${input.slice(result.pos)}
11064
11262
  function SingleLineComment(ctx, state) {
11065
11263
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
11066
11264
  }
11067
- var JSSingleLineComment$0 = $TR($EXPECT($R57, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11265
+ var JSSingleLineComment$0 = $TR($EXPECT($R58, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11068
11266
  return { type: "Comment", $loc, token: $0 };
11069
11267
  });
11070
11268
  function JSSingleLineComment(ctx, state) {
@@ -11076,30 +11274,30 @@ ${input.slice(result.pos)}
11076
11274
  function MultiLineComment(ctx, state) {
11077
11275
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11078
11276
  }
11079
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L112, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L113, 'JSMultiLineComment "*/"')), $EXPECT($R58, "JSMultiLineComment /./"))), $EXPECT($L113, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11277
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L113, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L114, 'JSMultiLineComment "*/"')), $EXPECT($R59, "JSMultiLineComment /./"))), $EXPECT($L114, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11080
11278
  return { type: "Comment", $loc, token: $1 };
11081
11279
  });
11082
11280
  function JSMultiLineComment(ctx, state) {
11083
11281
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
11084
11282
  }
11085
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R59, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11283
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R60, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11086
11284
  return { type: "Comment", $loc, token: `//${$1}` };
11087
11285
  });
11088
11286
  function CoffeeSingleLineComment(ctx, state) {
11089
11287
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
11090
11288
  }
11091
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R60, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11289
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R61, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11092
11290
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
11093
11291
  return { type: "Comment", $loc, token: `/*${$2}*/` };
11094
11292
  });
11095
11293
  function CoffeeMultiLineComment(ctx, state) {
11096
11294
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
11097
11295
  }
11098
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R61, "CoffeeHereCommentStart /###(?!#)/"));
11296
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R62, "CoffeeHereCommentStart /###(?!#)/"));
11099
11297
  function CoffeeHereCommentStart(ctx, state) {
11100
11298
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
11101
11299
  }
11102
- var InlineComment$0 = $TR($EXPECT($R62, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11300
+ var InlineComment$0 = $TR($EXPECT($R63, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11103
11301
  return { $loc, token: $0 };
11104
11302
  });
11105
11303
  function InlineComment(ctx, state) {
@@ -11113,16 +11311,16 @@ ${input.slice(result.pos)}
11113
11311
  function TrailingComment(ctx, state) {
11114
11312
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
11115
11313
  }
11116
- var _$0 = $T($S($EXPECT($R63, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11314
+ var _$0 = $T($S($EXPECT($R64, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11117
11315
  return value[1];
11118
11316
  });
11119
11317
  function _(ctx, state) {
11120
11318
  return $EVENT(ctx, state, "_", _$0);
11121
11319
  }
11122
- var NonNewlineWhitespace$0 = $TR($EXPECT($R64, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11320
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R65, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11123
11321
  return { $loc, token: $0 };
11124
11322
  });
11125
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L114, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11323
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L115, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11126
11324
  return " ";
11127
11325
  });
11128
11326
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11136,7 +11334,7 @@ ${input.slice(result.pos)}
11136
11334
  function Trimmed_(ctx, state) {
11137
11335
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
11138
11336
  }
11139
- var __$0 = $T($S($EXPECT($R65, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11337
+ var __$0 = $T($S($EXPECT($R66, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11140
11338
  return value[1];
11141
11339
  });
11142
11340
  var __$1 = $EXPECT($L0, '__ ""');
@@ -11144,7 +11342,7 @@ ${input.slice(result.pos)}
11144
11342
  function __(ctx, state) {
11145
11343
  return $EVENT_C(ctx, state, "__", __$$);
11146
11344
  }
11147
- var Whitespace$0 = $TR($EXPECT($R42, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11345
+ var Whitespace$0 = $TR($EXPECT($R43, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11148
11346
  return { $loc, token: $0 };
11149
11347
  });
11150
11348
  function Whitespace(ctx, state) {
@@ -11168,7 +11366,7 @@ ${input.slice(result.pos)}
11168
11366
  }
11169
11367
  var StatementDelimiter$0 = $Y(EOS);
11170
11368
  var StatementDelimiter$1 = SemicolonDelimiter;
11171
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L115, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
11369
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L116, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11172
11370
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11173
11371
  function StatementDelimiter(ctx, state) {
11174
11372
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11182,7 +11380,7 @@ ${input.slice(result.pos)}
11182
11380
  function SemicolonDelimiter(ctx, state) {
11183
11381
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
11184
11382
  }
11185
- var NonIdContinue$0 = $R$0($EXPECT($R66, "NonIdContinue /(?!\\p{ID_Continue})/"));
11383
+ var NonIdContinue$0 = $R$0($EXPECT($R67, "NonIdContinue /(?!\\p{ID_Continue})/"));
11186
11384
  function NonIdContinue(ctx, state) {
11187
11385
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
11188
11386
  }
@@ -11192,151 +11390,151 @@ ${input.slice(result.pos)}
11192
11390
  function Loc(ctx, state) {
11193
11391
  return $EVENT(ctx, state, "Loc", Loc$0);
11194
11392
  }
11195
- var Abstract$0 = $TV($TEXT($S($EXPECT($L116, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L14, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11393
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L117, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11196
11394
  return { $loc, token: $1, ts: true };
11197
11395
  });
11198
11396
  function Abstract(ctx, state) {
11199
11397
  return $EVENT(ctx, state, "Abstract", Abstract$0);
11200
11398
  }
11201
- var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11399
+ var Ampersand$0 = $TV($EXPECT($L101, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11202
11400
  return { $loc, token: $1 };
11203
11401
  });
11204
11402
  function Ampersand(ctx, state) {
11205
11403
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11206
11404
  }
11207
- var As$0 = $TS($S($EXPECT($L117, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11405
+ var As$0 = $TS($S($EXPECT($L118, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11208
11406
  return { $loc, token: $1 };
11209
11407
  });
11210
11408
  function As(ctx, state) {
11211
11409
  return $EVENT(ctx, state, "As", As$0);
11212
11410
  }
11213
- var At$0 = $TV($EXPECT($L118, 'At "@"'), function($skip, $loc, $0, $1) {
11411
+ var At$0 = $TV($EXPECT($L119, 'At "@"'), function($skip, $loc, $0, $1) {
11214
11412
  return { $loc, token: $1 };
11215
11413
  });
11216
11414
  function At(ctx, state) {
11217
11415
  return $EVENT(ctx, state, "At", At$0);
11218
11416
  }
11219
- var AtAt$0 = $TV($EXPECT($L119, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11417
+ var AtAt$0 = $TV($EXPECT($L120, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11220
11418
  return { $loc, token: "@" };
11221
11419
  });
11222
11420
  function AtAt(ctx, state) {
11223
11421
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11224
11422
  }
11225
- var Async$0 = $TS($S($EXPECT($L120, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11423
+ var Async$0 = $TS($S($EXPECT($L121, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11226
11424
  return { $loc, token: $1, type: "Async" };
11227
11425
  });
11228
11426
  function Async(ctx, state) {
11229
11427
  return $EVENT(ctx, state, "Async", Async$0);
11230
11428
  }
11231
- var Await$0 = $TS($S($EXPECT($L121, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11429
+ var Await$0 = $TS($S($EXPECT($L122, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11232
11430
  return { $loc, token: $1, type: "Await" };
11233
11431
  });
11234
11432
  function Await(ctx, state) {
11235
11433
  return $EVENT(ctx, state, "Await", Await$0);
11236
11434
  }
11237
- var Backtick$0 = $TV($EXPECT($L122, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11435
+ var Backtick$0 = $TV($EXPECT($L123, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11238
11436
  return { $loc, token: $1 };
11239
11437
  });
11240
11438
  function Backtick(ctx, state) {
11241
11439
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11242
11440
  }
11243
- var By$0 = $TS($S($EXPECT($L123, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11441
+ var By$0 = $TS($S($EXPECT($L124, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11244
11442
  return { $loc, token: $1 };
11245
11443
  });
11246
11444
  function By(ctx, state) {
11247
11445
  return $EVENT(ctx, state, "By", By$0);
11248
11446
  }
11249
- var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
11447
+ var Caret$0 = $TV($EXPECT($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
11250
11448
  return { $loc, token: $1 };
11251
11449
  });
11252
11450
  function Caret(ctx, state) {
11253
11451
  return $EVENT(ctx, state, "Caret", Caret$0);
11254
11452
  }
11255
- var Case$0 = $TS($S($EXPECT($L124, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11453
+ var Case$0 = $TS($S($EXPECT($L125, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11256
11454
  return { $loc, token: $1 };
11257
11455
  });
11258
11456
  function Case(ctx, state) {
11259
11457
  return $EVENT(ctx, state, "Case", Case$0);
11260
11458
  }
11261
- var Catch$0 = $TS($S($EXPECT($L125, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11459
+ var Catch$0 = $TS($S($EXPECT($L126, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11262
11460
  return { $loc, token: $1 };
11263
11461
  });
11264
11462
  function Catch(ctx, state) {
11265
11463
  return $EVENT(ctx, state, "Catch", Catch$0);
11266
11464
  }
11267
- var Class$0 = $TS($S($EXPECT($L126, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11465
+ var Class$0 = $TS($S($EXPECT($L127, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11268
11466
  return { $loc, token: $1 };
11269
11467
  });
11270
11468
  function Class(ctx, state) {
11271
11469
  return $EVENT(ctx, state, "Class", Class$0);
11272
11470
  }
11273
- var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11471
+ var CloseAngleBracket$0 = $TV($EXPECT($L37, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11274
11472
  return { $loc, token: $1 };
11275
11473
  });
11276
11474
  function CloseAngleBracket(ctx, state) {
11277
11475
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
11278
11476
  }
11279
- var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11477
+ var CloseBrace$0 = $TV($EXPECT($L29, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11280
11478
  return { $loc, token: $1 };
11281
11479
  });
11282
11480
  function CloseBrace(ctx, state) {
11283
11481
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11284
11482
  }
11285
- var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11483
+ var CloseBracket$0 = $TV($EXPECT($L38, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11286
11484
  return { $loc, token: $1 };
11287
11485
  });
11288
11486
  function CloseBracket(ctx, state) {
11289
11487
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11290
11488
  }
11291
- var CloseParen$0 = $TV($EXPECT($L115, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11489
+ var CloseParen$0 = $TV($EXPECT($L116, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11292
11490
  return { $loc, token: $1 };
11293
11491
  });
11294
11492
  function CloseParen(ctx, state) {
11295
11493
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11296
11494
  }
11297
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11495
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L128, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11298
11496
  return { $loc, token: "${" };
11299
11497
  });
11300
11498
  function CoffeeSubstitutionStart(ctx, state) {
11301
11499
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
11302
11500
  }
11303
- var Colon$0 = $TS($S($EXPECT($L13, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11501
+ var Colon$0 = $TS($S($EXPECT($L14, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11304
11502
  return { $loc, token: $1 };
11305
11503
  });
11306
11504
  function Colon(ctx, state) {
11307
11505
  return $EVENT(ctx, state, "Colon", Colon$0);
11308
11506
  }
11309
- var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11507
+ var Comma$0 = $TV($EXPECT($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
11310
11508
  return { $loc, token: $1 };
11311
11509
  });
11312
11510
  function Comma(ctx, state) {
11313
11511
  return $EVENT(ctx, state, "Comma", Comma$0);
11314
11512
  }
11315
- var ConstructorShorthand$0 = $TV($EXPECT($L118, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11513
+ var ConstructorShorthand$0 = $TV($EXPECT($L119, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11316
11514
  return { $loc, token: "constructor" };
11317
11515
  });
11318
11516
  function ConstructorShorthand(ctx, state) {
11319
11517
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11320
11518
  }
11321
- var Declare$0 = $TS($S($EXPECT($L128, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11519
+ var Declare$0 = $TS($S($EXPECT($L129, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11322
11520
  return { $loc, token: $1 };
11323
11521
  });
11324
11522
  function Declare(ctx, state) {
11325
11523
  return $EVENT(ctx, state, "Declare", Declare$0);
11326
11524
  }
11327
- var Default$0 = $TS($S($EXPECT($L129, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11525
+ var Default$0 = $TS($S($EXPECT($L130, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11328
11526
  return { $loc, token: $1 };
11329
11527
  });
11330
11528
  function Default(ctx, state) {
11331
11529
  return $EVENT(ctx, state, "Default", Default$0);
11332
11530
  }
11333
- var Delete$0 = $TS($S($EXPECT($L130, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11531
+ var Delete$0 = $TS($S($EXPECT($L131, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11334
11532
  return { $loc, token: $1 };
11335
11533
  });
11336
11534
  function Delete(ctx, state) {
11337
11535
  return $EVENT(ctx, state, "Delete", Delete$0);
11338
11536
  }
11339
- var Do$0 = $TS($S($EXPECT($L131, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11537
+ var Do$0 = $TS($S($EXPECT($L132, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11340
11538
  return { $loc, token: $1 };
11341
11539
  });
11342
11540
  function Do(ctx, state) {
@@ -11345,7 +11543,7 @@ ${input.slice(result.pos)}
11345
11543
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11346
11544
  return { $loc, token: $1 };
11347
11545
  });
11348
- var Dot$1 = $TS($S($EXPECT($R67, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11546
+ var Dot$1 = $TS($S($EXPECT($R68, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11349
11547
  var ws = $2;
11350
11548
  return [
11351
11549
  { $loc, token: "." },
@@ -11356,45 +11554,45 @@ ${input.slice(result.pos)}
11356
11554
  function Dot(ctx, state) {
11357
11555
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11358
11556
  }
11359
- var DotDot$0 = $TS($S($EXPECT($L132, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11557
+ var DotDot$0 = $TS($S($EXPECT($L133, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11360
11558
  return { $loc, token: $1 };
11361
11559
  });
11362
- var DotDot$1 = $TV($EXPECT($L133, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11560
+ var DotDot$1 = $TV($EXPECT($L134, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11363
11561
  return { $loc, token: ".." };
11364
11562
  });
11365
11563
  var DotDot$$ = [DotDot$0, DotDot$1];
11366
11564
  function DotDot(ctx, state) {
11367
11565
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11368
11566
  }
11369
- var DotDotDot$0 = $TV($EXPECT($L134, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11567
+ var DotDotDot$0 = $TV($EXPECT($L135, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11370
11568
  return { $loc, token: $1 };
11371
11569
  });
11372
- var DotDotDot$1 = $TV($EXPECT($L135, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11570
+ var DotDotDot$1 = $TV($EXPECT($L136, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11373
11571
  return { $loc, token: "..." };
11374
11572
  });
11375
11573
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11376
11574
  function DotDotDot(ctx, state) {
11377
11575
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11378
11576
  }
11379
- var DoubleColon$0 = $TV($EXPECT($L136, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11577
+ var DoubleColon$0 = $TV($EXPECT($L137, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11380
11578
  return { $loc, token: $1 };
11381
11579
  });
11382
11580
  function DoubleColon(ctx, state) {
11383
11581
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11384
11582
  }
11385
- var DoubleQuote$0 = $TV($EXPECT($L137, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11583
+ var DoubleQuote$0 = $TV($EXPECT($L138, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11386
11584
  return { $loc, token: $1 };
11387
11585
  });
11388
11586
  function DoubleQuote(ctx, state) {
11389
11587
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11390
11588
  }
11391
- var Each$0 = $TS($S($EXPECT($L138, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11589
+ var Each$0 = $TS($S($EXPECT($L139, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11392
11590
  return { $loc, token: $1 };
11393
11591
  });
11394
11592
  function Each(ctx, state) {
11395
11593
  return $EVENT(ctx, state, "Each", Each$0);
11396
11594
  }
11397
- var Else$0 = $TS($S($EXPECT($L139, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11595
+ var Else$0 = $TS($S($EXPECT($L140, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11398
11596
  return { $loc, token: $1 };
11399
11597
  });
11400
11598
  function Else(ctx, state) {
@@ -11406,91 +11604,91 @@ ${input.slice(result.pos)}
11406
11604
  function Equals(ctx, state) {
11407
11605
  return $EVENT(ctx, state, "Equals", Equals$0);
11408
11606
  }
11409
- var ExclamationPoint$0 = $TV($EXPECT($L19, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11607
+ var ExclamationPoint$0 = $TV($EXPECT($L20, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11410
11608
  return { $loc, token: $1 };
11411
11609
  });
11412
11610
  function ExclamationPoint(ctx, state) {
11413
11611
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11414
11612
  }
11415
- var Export$0 = $TS($S($EXPECT($L140, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11613
+ var Export$0 = $TS($S($EXPECT($L141, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11416
11614
  return { $loc, token: $1 };
11417
11615
  });
11418
11616
  function Export(ctx, state) {
11419
11617
  return $EVENT(ctx, state, "Export", Export$0);
11420
11618
  }
11421
- var Extends$0 = $TS($S($EXPECT($L141, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11619
+ var Extends$0 = $TS($S($EXPECT($L142, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11422
11620
  return { $loc, token: $1 };
11423
11621
  });
11424
11622
  function Extends(ctx, state) {
11425
11623
  return $EVENT(ctx, state, "Extends", Extends$0);
11426
11624
  }
11427
- var Finally$0 = $TS($S($EXPECT($L142, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11625
+ var Finally$0 = $TS($S($EXPECT($L143, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11428
11626
  return { $loc, token: $1 };
11429
11627
  });
11430
11628
  function Finally(ctx, state) {
11431
11629
  return $EVENT(ctx, state, "Finally", Finally$0);
11432
11630
  }
11433
- var For$0 = $TS($S($EXPECT($L143, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11631
+ var For$0 = $TS($S($EXPECT($L144, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11434
11632
  return { $loc, token: $1 };
11435
11633
  });
11436
11634
  function For(ctx, state) {
11437
11635
  return $EVENT(ctx, state, "For", For$0);
11438
11636
  }
11439
- var From$0 = $TS($S($EXPECT($L144, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11637
+ var From$0 = $TS($S($EXPECT($L145, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11440
11638
  return { $loc, token: $1 };
11441
11639
  });
11442
11640
  function From(ctx, state) {
11443
11641
  return $EVENT(ctx, state, "From", From$0);
11444
11642
  }
11445
- var Function$0 = $TS($S($EXPECT($L145, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11643
+ var Function$0 = $TS($S($EXPECT($L146, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11446
11644
  return { $loc, token: $1 };
11447
11645
  });
11448
11646
  function Function(ctx, state) {
11449
11647
  return $EVENT(ctx, state, "Function", Function$0);
11450
11648
  }
11451
- var GetOrSet$0 = $TS($S($C($EXPECT($L146, 'GetOrSet "get"'), $EXPECT($L147, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11649
+ var GetOrSet$0 = $TS($S($C($EXPECT($L147, 'GetOrSet "get"'), $EXPECT($L148, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11452
11650
  return { $loc, token: $1, type: "GetOrSet" };
11453
11651
  });
11454
11652
  function GetOrSet(ctx, state) {
11455
11653
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11456
11654
  }
11457
- var Hash$0 = $TV($EXPECT($L148, 'Hash "#"'), function($skip, $loc, $0, $1) {
11655
+ var Hash$0 = $TV($EXPECT($L149, 'Hash "#"'), function($skip, $loc, $0, $1) {
11458
11656
  return { $loc, token: $1 };
11459
11657
  });
11460
11658
  function Hash(ctx, state) {
11461
11659
  return $EVENT(ctx, state, "Hash", Hash$0);
11462
11660
  }
11463
- var If$0 = $TV($TEXT($S($EXPECT($L149, 'If "if"'), NonIdContinue, $E($EXPECT($L14, 'If " "')))), function($skip, $loc, $0, $1) {
11661
+ var If$0 = $TV($TEXT($S($EXPECT($L150, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11464
11662
  return { $loc, token: $1 };
11465
11663
  });
11466
11664
  function If(ctx, state) {
11467
11665
  return $EVENT(ctx, state, "If", If$0);
11468
11666
  }
11469
- var Import$0 = $TS($S($EXPECT($L18, 'Import "import"'), $Y($EXPECT($R68, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11667
+ var Import$0 = $TS($S($EXPECT($L19, 'Import "import"'), $Y($EXPECT($R69, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11470
11668
  return { $loc, token: $1 };
11471
11669
  });
11472
11670
  function Import(ctx, state) {
11473
11671
  return $EVENT(ctx, state, "Import", Import$0);
11474
11672
  }
11475
- var In$0 = $TS($S($EXPECT($L150, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11673
+ var In$0 = $TS($S($EXPECT($L151, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11476
11674
  return { $loc, token: $1 };
11477
11675
  });
11478
11676
  function In(ctx, state) {
11479
11677
  return $EVENT(ctx, state, "In", In$0);
11480
11678
  }
11481
- var LetOrConst$0 = $TS($S($C($EXPECT($L151, 'LetOrConst "let"'), $EXPECT($L152, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11679
+ var LetOrConst$0 = $TS($S($C($EXPECT($L152, 'LetOrConst "let"'), $EXPECT($L153, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11482
11680
  return { $loc, token: $1 };
11483
11681
  });
11484
11682
  function LetOrConst(ctx, state) {
11485
11683
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11486
11684
  }
11487
- var Const$0 = $TS($S($EXPECT($L152, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11685
+ var Const$0 = $TS($S($EXPECT($L153, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11488
11686
  return { $loc, token: $1 };
11489
11687
  });
11490
11688
  function Const(ctx, state) {
11491
11689
  return $EVENT(ctx, state, "Const", Const$0);
11492
11690
  }
11493
- var Is$0 = $TS($S($EXPECT($L153, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11691
+ var Is$0 = $TS($S($EXPECT($L154, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11494
11692
  return { $loc, token: $1 };
11495
11693
  });
11496
11694
  function Is(ctx, state) {
@@ -11502,31 +11700,31 @@ ${input.slice(result.pos)}
11502
11700
  function LetOrConstOrVar(ctx, state) {
11503
11701
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11504
11702
  }
11505
- var Loop$0 = $TS($S($EXPECT($L154, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11703
+ var Loop$0 = $TS($S($EXPECT($L155, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11506
11704
  return { $loc, token: "while(true)" };
11507
11705
  });
11508
11706
  function Loop(ctx, state) {
11509
11707
  return $EVENT(ctx, state, "Loop", Loop$0);
11510
11708
  }
11511
- var New$0 = $TS($S($EXPECT($L155, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11709
+ var New$0 = $TS($S($EXPECT($L156, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11512
11710
  return { $loc, token: $1 };
11513
11711
  });
11514
11712
  function New(ctx, state) {
11515
11713
  return $EVENT(ctx, state, "New", New$0);
11516
11714
  }
11517
- var Not$0 = $TS($S($EXPECT($L156, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L13, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11715
+ var Not$0 = $TS($S($EXPECT($L157, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11518
11716
  return { $loc, token: "!" };
11519
11717
  });
11520
11718
  function Not(ctx, state) {
11521
11719
  return $EVENT(ctx, state, "Not", Not$0);
11522
11720
  }
11523
- var Of$0 = $TS($S($EXPECT($L157, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11721
+ var Of$0 = $TS($S($EXPECT($L158, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11524
11722
  return { $loc, token: $1 };
11525
11723
  });
11526
11724
  function Of(ctx, state) {
11527
11725
  return $EVENT(ctx, state, "Of", Of$0);
11528
11726
  }
11529
- var OpenAngleBracket$0 = $TV($EXPECT($L15, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11727
+ var OpenAngleBracket$0 = $TV($EXPECT($L16, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11530
11728
  return { $loc, token: $1 };
11531
11729
  });
11532
11730
  function OpenAngleBracket(ctx, state) {
@@ -11538,7 +11736,7 @@ ${input.slice(result.pos)}
11538
11736
  function OpenBrace(ctx, state) {
11539
11737
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11540
11738
  }
11541
- var OpenBracket$0 = $TV($EXPECT($L158, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11739
+ var OpenBracket$0 = $TV($EXPECT($L159, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11542
11740
  return { $loc, token: $1 };
11543
11741
  });
11544
11742
  function OpenBracket(ctx, state) {
@@ -11550,43 +11748,43 @@ ${input.slice(result.pos)}
11550
11748
  function OpenParen(ctx, state) {
11551
11749
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11552
11750
  }
11553
- var Operator$0 = $TS($S($EXPECT($L159, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11751
+ var Operator$0 = $TS($S($EXPECT($L160, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11554
11752
  return { $loc, token: $1 };
11555
11753
  });
11556
11754
  function Operator(ctx, state) {
11557
11755
  return $EVENT(ctx, state, "Operator", Operator$0);
11558
11756
  }
11559
- var Own$0 = $TS($S($EXPECT($L160, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
+ var Own$0 = $TS($S($EXPECT($L161, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11560
11758
  return { $loc, token: $1 };
11561
11759
  });
11562
11760
  function Own(ctx, state) {
11563
11761
  return $EVENT(ctx, state, "Own", Own$0);
11564
11762
  }
11565
- var Public$0 = $TS($S($EXPECT($L161, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11763
+ var Public$0 = $TS($S($EXPECT($L162, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11566
11764
  return { $loc, token: $1 };
11567
11765
  });
11568
11766
  function Public(ctx, state) {
11569
11767
  return $EVENT(ctx, state, "Public", Public$0);
11570
11768
  }
11571
- var Private$0 = $TS($S($EXPECT($L162, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11769
+ var Private$0 = $TS($S($EXPECT($L163, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11572
11770
  return { $loc, token: $1 };
11573
11771
  });
11574
11772
  function Private(ctx, state) {
11575
11773
  return $EVENT(ctx, state, "Private", Private$0);
11576
11774
  }
11577
- var Protected$0 = $TS($S($EXPECT($L163, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11775
+ var Protected$0 = $TS($S($EXPECT($L164, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11578
11776
  return { $loc, token: $1 };
11579
11777
  });
11580
11778
  function Protected(ctx, state) {
11581
11779
  return $EVENT(ctx, state, "Protected", Protected$0);
11582
11780
  }
11583
- var Pipe$0 = $TV($C($EXPECT($L164, 'Pipe "||>"'), $EXPECT($L165, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11781
+ var Pipe$0 = $TV($C($EXPECT($L165, 'Pipe "||>"'), $EXPECT($L166, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11584
11782
  return { $loc, token: "||>" };
11585
11783
  });
11586
- var Pipe$1 = $TV($C($EXPECT($L166, 'Pipe "|>="'), $EXPECT($L167, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11784
+ var Pipe$1 = $TV($C($EXPECT($L167, 'Pipe "|>="'), $EXPECT($L168, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11587
11785
  return { $loc, token: "|>=" };
11588
11786
  });
11589
- var Pipe$2 = $TV($C($EXPECT($L168, 'Pipe "|>"'), $EXPECT($L169, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11787
+ var Pipe$2 = $TV($C($EXPECT($L169, 'Pipe "|>"'), $EXPECT($L170, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11590
11788
  return { $loc, token: "|>" };
11591
11789
  });
11592
11790
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11599,173 +11797,173 @@ ${input.slice(result.pos)}
11599
11797
  function QuestionMark(ctx, state) {
11600
11798
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11601
11799
  }
11602
- var Readonly$0 = $TS($S($EXPECT($L170, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11800
+ var Readonly$0 = $TS($S($EXPECT($L171, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11603
11801
  return { $loc, token: $1, ts: true };
11604
11802
  });
11605
11803
  function Readonly(ctx, state) {
11606
11804
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11607
11805
  }
11608
- var Return$0 = $TS($S($EXPECT($L171, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11806
+ var Return$0 = $TS($S($EXPECT($L172, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11609
11807
  return { $loc, token: $1 };
11610
11808
  });
11611
11809
  function Return(ctx, state) {
11612
11810
  return $EVENT(ctx, state, "Return", Return$0);
11613
11811
  }
11614
- var Satisfies$0 = $TS($S($EXPECT($L172, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11812
+ var Satisfies$0 = $TS($S($EXPECT($L173, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11615
11813
  return { $loc, token: $1 };
11616
11814
  });
11617
11815
  function Satisfies(ctx, state) {
11618
11816
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11619
11817
  }
11620
- var Semicolon$0 = $TV($EXPECT($L102, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11818
+ var Semicolon$0 = $TV($EXPECT($L103, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11621
11819
  return { $loc, token: $1 };
11622
11820
  });
11623
11821
  function Semicolon(ctx, state) {
11624
11822
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11625
11823
  }
11626
- var SingleQuote$0 = $TV($EXPECT($L173, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11824
+ var SingleQuote$0 = $TV($EXPECT($L174, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11627
11825
  return { $loc, token: $1 };
11628
11826
  });
11629
11827
  function SingleQuote(ctx, state) {
11630
11828
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11631
11829
  }
11632
- var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11830
+ var Star$0 = $TV($EXPECT($L58, 'Star "*"'), function($skip, $loc, $0, $1) {
11633
11831
  return { $loc, token: $1 };
11634
11832
  });
11635
11833
  function Star(ctx, state) {
11636
11834
  return $EVENT(ctx, state, "Star", Star$0);
11637
11835
  }
11638
- var Static$0 = $TS($S($EXPECT($L174, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11836
+ var Static$0 = $TS($S($EXPECT($L175, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11639
11837
  return { $loc, token: $1 };
11640
11838
  });
11641
- var Static$1 = $TS($S($EXPECT($L118, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L118, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11839
+ var Static$1 = $TS($S($EXPECT($L119, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L119, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11642
11840
  return { $loc, token: "static " };
11643
11841
  });
11644
11842
  var Static$$ = [Static$0, Static$1];
11645
11843
  function Static(ctx, state) {
11646
11844
  return $EVENT_C(ctx, state, "Static", Static$$);
11647
11845
  }
11648
- var SubstitutionStart$0 = $TV($EXPECT($L175, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11846
+ var SubstitutionStart$0 = $TV($EXPECT($L176, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11649
11847
  return { $loc, token: $1 };
11650
11848
  });
11651
11849
  function SubstitutionStart(ctx, state) {
11652
11850
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11653
11851
  }
11654
- var Super$0 = $TS($S($EXPECT($L176, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11852
+ var Super$0 = $TS($S($EXPECT($L177, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11655
11853
  return { $loc, token: $1 };
11656
11854
  });
11657
11855
  function Super(ctx, state) {
11658
11856
  return $EVENT(ctx, state, "Super", Super$0);
11659
11857
  }
11660
- var Switch$0 = $TS($S($EXPECT($L177, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11858
+ var Switch$0 = $TS($S($EXPECT($L178, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11661
11859
  return { $loc, token: $1 };
11662
11860
  });
11663
11861
  function Switch(ctx, state) {
11664
11862
  return $EVENT(ctx, state, "Switch", Switch$0);
11665
11863
  }
11666
- var Target$0 = $TS($S($EXPECT($L178, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11864
+ var Target$0 = $TS($S($EXPECT($L179, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11667
11865
  return { $loc, token: $1 };
11668
11866
  });
11669
11867
  function Target(ctx, state) {
11670
11868
  return $EVENT(ctx, state, "Target", Target$0);
11671
11869
  }
11672
- var Then$0 = $TS($S(__, $EXPECT($L179, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11870
+ var Then$0 = $TS($S(__, $EXPECT($L180, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11673
11871
  return { $loc, token: "" };
11674
11872
  });
11675
11873
  function Then(ctx, state) {
11676
11874
  return $EVENT(ctx, state, "Then", Then$0);
11677
11875
  }
11678
- var This$0 = $TS($S($EXPECT($L180, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11876
+ var This$0 = $TS($S($EXPECT($L181, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11679
11877
  return { $loc, token: $1 };
11680
11878
  });
11681
11879
  function This(ctx, state) {
11682
11880
  return $EVENT(ctx, state, "This", This$0);
11683
11881
  }
11684
- var Throw$0 = $TS($S($EXPECT($L181, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11882
+ var Throw$0 = $TS($S($EXPECT($L182, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11685
11883
  return { $loc, token: $1 };
11686
11884
  });
11687
11885
  function Throw(ctx, state) {
11688
11886
  return $EVENT(ctx, state, "Throw", Throw$0);
11689
11887
  }
11690
- var TripleDoubleQuote$0 = $TV($EXPECT($L182, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11888
+ var TripleDoubleQuote$0 = $TV($EXPECT($L183, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11691
11889
  return { $loc, token: "`" };
11692
11890
  });
11693
11891
  function TripleDoubleQuote(ctx, state) {
11694
11892
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11695
11893
  }
11696
- var TripleSingleQuote$0 = $TV($EXPECT($L183, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11894
+ var TripleSingleQuote$0 = $TV($EXPECT($L184, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11697
11895
  return { $loc, token: "`" };
11698
11896
  });
11699
11897
  function TripleSingleQuote(ctx, state) {
11700
11898
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11701
11899
  }
11702
- var TripleSlash$0 = $TV($EXPECT($L184, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11900
+ var TripleSlash$0 = $TV($EXPECT($L185, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11703
11901
  return { $loc, token: "/" };
11704
11902
  });
11705
11903
  function TripleSlash(ctx, state) {
11706
11904
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11707
11905
  }
11708
- var TripleTick$0 = $TV($EXPECT($L185, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11906
+ var TripleTick$0 = $TV($EXPECT($L186, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11709
11907
  return { $loc, token: "`" };
11710
11908
  });
11711
11909
  function TripleTick(ctx, state) {
11712
11910
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11713
11911
  }
11714
- var Try$0 = $TS($S($EXPECT($L186, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11912
+ var Try$0 = $TS($S($EXPECT($L187, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11715
11913
  return { $loc, token: $1 };
11716
11914
  });
11717
11915
  function Try(ctx, state) {
11718
11916
  return $EVENT(ctx, state, "Try", Try$0);
11719
11917
  }
11720
- var Typeof$0 = $TS($S($EXPECT($L187, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11918
+ var Typeof$0 = $TS($S($EXPECT($L188, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11721
11919
  return { $loc, token: $1 };
11722
11920
  });
11723
11921
  function Typeof(ctx, state) {
11724
11922
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11725
11923
  }
11726
- var Unless$0 = $TS($S($EXPECT($L188, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11924
+ var Unless$0 = $TS($S($EXPECT($L189, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11727
11925
  return { $loc, token: $1, negated: true };
11728
11926
  });
11729
11927
  function Unless(ctx, state) {
11730
11928
  return $EVENT(ctx, state, "Unless", Unless$0);
11731
11929
  }
11732
- var Until$0 = $TS($S($EXPECT($L189, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11930
+ var Until$0 = $TS($S($EXPECT($L190, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
11931
  return { $loc, token: $1 };
11734
11932
  });
11735
11933
  function Until(ctx, state) {
11736
11934
  return $EVENT(ctx, state, "Until", Until$0);
11737
11935
  }
11738
- var Using$0 = $TS($S($EXPECT($L190, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11936
+ var Using$0 = $TS($S($EXPECT($L191, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11739
11937
  return { $loc, token: $1 };
11740
11938
  });
11741
11939
  function Using(ctx, state) {
11742
11940
  return $EVENT(ctx, state, "Using", Using$0);
11743
11941
  }
11744
- var Var$0 = $TS($S($EXPECT($L191, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11942
+ var Var$0 = $TS($S($EXPECT($L192, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
11943
  return { $loc, token: $1 };
11746
11944
  });
11747
11945
  function Var(ctx, state) {
11748
11946
  return $EVENT(ctx, state, "Var", Var$0);
11749
11947
  }
11750
- var Void$0 = $TS($S($EXPECT($L192, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11948
+ var Void$0 = $TS($S($EXPECT($L193, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11751
11949
  return { $loc, token: $1 };
11752
11950
  });
11753
11951
  function Void(ctx, state) {
11754
11952
  return $EVENT(ctx, state, "Void", Void$0);
11755
11953
  }
11756
- var When$0 = $TS($S($EXPECT($L193, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11954
+ var When$0 = $TS($S($EXPECT($L194, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
11955
  return { $loc, token: "case" };
11758
11956
  });
11759
11957
  function When(ctx, state) {
11760
11958
  return $EVENT(ctx, state, "When", When$0);
11761
11959
  }
11762
- var While$0 = $TS($S($EXPECT($L194, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11960
+ var While$0 = $TS($S($EXPECT($L195, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11763
11961
  return { $loc, token: $1 };
11764
11962
  });
11765
11963
  function While(ctx, state) {
11766
11964
  return $EVENT(ctx, state, "While", While$0);
11767
11965
  }
11768
- var Yield$0 = $TS($S($EXPECT($L195, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11966
+ var Yield$0 = $TS($S($EXPECT($L196, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11769
11967
  return { $loc, token: $1, type: "Yield" };
11770
11968
  });
11771
11969
  function Yield(ctx, state) {
@@ -11794,7 +11992,7 @@ ${input.slice(result.pos)}
11794
11992
  function JSXImplicitFragment(ctx, state) {
11795
11993
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
11796
11994
  }
11797
- var JSXTag$0 = $T($S($EXPECT($R69, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11995
+ var JSXTag$0 = $T($S($EXPECT($R70, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11798
11996
  return value[1];
11799
11997
  });
11800
11998
  function JSXTag(ctx, state) {
@@ -11844,7 +12042,7 @@ ${input.slice(result.pos)}
11844
12042
  function JSXElement(ctx, state) {
11845
12043
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11846
12044
  }
11847
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L15, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L196, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12045
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L197, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11848
12046
  return { type: "JSXElement", children: $0, tag: $2 };
11849
12047
  });
11850
12048
  function JSXSelfClosingElement(ctx, state) {
@@ -11863,7 +12061,7 @@ ${input.slice(result.pos)}
11863
12061
  function PopJSXStack(ctx, state) {
11864
12062
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
11865
12063
  }
11866
- var JSXOpeningElement$0 = $S($EXPECT($L15, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
12064
+ var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L37, 'JSXOpeningElement ">"'));
11867
12065
  function JSXOpeningElement(ctx, state) {
11868
12066
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
11869
12067
  }
@@ -11878,7 +12076,7 @@ ${input.slice(result.pos)}
11878
12076
  function JSXOptionalClosingElement(ctx, state) {
11879
12077
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11880
12078
  }
11881
- var JSXClosingElement$0 = $S($EXPECT($L197, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
12079
+ var JSXClosingElement$0 = $S($EXPECT($L198, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
11882
12080
  function JSXClosingElement(ctx, state) {
11883
12081
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11884
12082
  }
@@ -11899,7 +12097,7 @@ ${input.slice(result.pos)}
11899
12097
  ];
11900
12098
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11901
12099
  });
11902
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L198, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12100
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L199, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11903
12101
  var children = $3;
11904
12102
  $0 = $0.slice(1);
11905
12103
  return {
@@ -11912,7 +12110,7 @@ ${input.slice(result.pos)}
11912
12110
  function JSXFragment(ctx, state) {
11913
12111
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11914
12112
  }
11915
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L198, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12113
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L199, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11916
12114
  module.JSXTagStack.push("");
11917
12115
  return $1;
11918
12116
  });
@@ -11929,11 +12127,11 @@ ${input.slice(result.pos)}
11929
12127
  function JSXOptionalClosingFragment(ctx, state) {
11930
12128
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11931
12129
  }
11932
- var JSXClosingFragment$0 = $EXPECT($L199, 'JSXClosingFragment "</>"');
12130
+ var JSXClosingFragment$0 = $EXPECT($L200, 'JSXClosingFragment "</>"');
11933
12131
  function JSXClosingFragment(ctx, state) {
11934
12132
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11935
12133
  }
11936
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L148, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12134
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L149, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11937
12135
  return module.config.defaultElement;
11938
12136
  });
11939
12137
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11941,7 +12139,7 @@ ${input.slice(result.pos)}
11941
12139
  function JSXElementName(ctx, state) {
11942
12140
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
11943
12141
  }
11944
- var JSXIdentifierName$0 = $R$0($EXPECT($R70, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
12142
+ var JSXIdentifierName$0 = $R$0($EXPECT($R71, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11945
12143
  function JSXIdentifierName(ctx, state) {
11946
12144
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
11947
12145
  }
@@ -12012,7 +12210,13 @@ ${input.slice(result.pos)}
12012
12210
  classValue = ["{[", ...exprs, '].filter(Boolean).join(" ")}'];
12013
12211
  }
12014
12212
  } else {
12015
- classValue = JSON.stringify(stringPart);
12213
+ if (!stringPart.includes("&") && !stringPart.includes('"')) {
12214
+ classValue = `"${stringPart}"`;
12215
+ } else if (!stringPart.includes("&") && !stringPart.includes("'")) {
12216
+ classValue = `'${stringPart}'`;
12217
+ } else {
12218
+ classValue = `{${JSON.stringify(stringPart)}}`;
12219
+ }
12016
12220
  }
12017
12221
  attrs.splice(0, 0, [" ", [className, ["=", classValue]]]);
12018
12222
  }
@@ -12105,7 +12309,7 @@ ${input.slice(result.pos)}
12105
12309
  }
12106
12310
  return $skip;
12107
12311
  });
12108
- var JSXAttribute$5 = $TS($S($EXPECT($L148, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12312
+ var JSXAttribute$5 = $TS($S($EXPECT($L149, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12109
12313
  return [" ", "id=", $2];
12110
12314
  });
12111
12315
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12114,7 +12318,7 @@ ${input.slice(result.pos)}
12114
12318
  class: $2
12115
12319
  };
12116
12320
  });
12117
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R15, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12321
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R16, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12118
12322
  var toggle = $1;
12119
12323
  var id = $2;
12120
12324
  const value = toggle === "+" ? "true" : "false";
@@ -12124,11 +12328,11 @@ ${input.slice(result.pos)}
12124
12328
  function JSXAttribute(ctx, state) {
12125
12329
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
12126
12330
  }
12127
- var JSXAttributeSpace$0 = $R$0($EXPECT($R71, "JSXAttributeSpace /[\\s>]|\\/>/"));
12331
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R72, "JSXAttributeSpace /[\\s>]|\\/>/"));
12128
12332
  function JSXAttributeSpace(ctx, state) {
12129
12333
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
12130
12334
  }
12131
- var JSXShorthandString$0 = $TR($EXPECT($R72, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12335
+ var JSXShorthandString$0 = $TR($EXPECT($R73, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12132
12336
  return quoteString($0);
12133
12337
  });
12134
12338
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -12162,7 +12366,7 @@ ${input.slice(result.pos)}
12162
12366
  }
12163
12367
  return [open, value, close];
12164
12368
  });
12165
- var JSXAttributeValue$4 = $R$0($EXPECT($R73, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12369
+ var JSXAttributeValue$4 = $R$0($EXPECT($R74, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12166
12370
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
12167
12371
  function JSXAttributeValue(ctx, state) {
12168
12372
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -12175,7 +12379,7 @@ ${input.slice(result.pos)}
12175
12379
  function InlineJSXAttributeValue(ctx, state) {
12176
12380
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
12177
12381
  }
12178
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R74, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12382
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R75, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12179
12383
  var op = $2;
12180
12384
  var rhs = $3;
12181
12385
  return [[], op, [], rhs];
@@ -12192,7 +12396,7 @@ ${input.slice(result.pos)}
12192
12396
  function InlineJSXUnaryExpression(ctx, state) {
12193
12397
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
12194
12398
  }
12195
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R75, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12399
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R76, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12196
12400
  return { $loc, token: $0 };
12197
12401
  });
12198
12402
  function InlineJSXUnaryOp(ctx, state) {
@@ -12219,19 +12423,19 @@ ${input.slice(result.pos)}
12219
12423
  type: "CallExpression",
12220
12424
  children: [
12221
12425
  $1,
12222
- { type: "Call", children: args },
12426
+ args,
12223
12427
  ...rest.flat()
12224
12428
  ]
12225
12429
  });
12226
12430
  });
12227
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L18, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12431
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L19, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12228
12432
  var args = $2;
12229
12433
  var rest = $3;
12230
12434
  return processCallMemberExpression({
12231
12435
  type: "CallExpression",
12232
12436
  children: [
12233
12437
  $1,
12234
- { type: "Call", children: args },
12438
+ args,
12235
12439
  ...rest.flat()
12236
12440
  ]
12237
12441
  });
@@ -12261,7 +12465,6 @@ ${input.slice(result.pos)}
12261
12465
  });
12262
12466
  var InlineJSXCallExpressionRest$2 = $TS($S($E(OptionalShorthand), ExplicitArguments), function($skip, $loc, $0, $1, $2) {
12263
12467
  var args = $2;
12264
- args = { type: "Call", children: args };
12265
12468
  if (!$1)
12266
12469
  return args;
12267
12470
  return [$1, args];
@@ -12343,7 +12546,7 @@ ${input.slice(result.pos)}
12343
12546
  }
12344
12547
  return $skip;
12345
12548
  });
12346
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12549
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L29, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12347
12550
  return { children: [], jsxChildren: [] };
12348
12551
  });
12349
12552
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12398,19 +12601,19 @@ ${input.slice(result.pos)}
12398
12601
  function JSXChild(ctx, state) {
12399
12602
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12400
12603
  }
12401
- var JSXComment$0 = $TS($S($EXPECT($L200, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L201, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12604
+ var JSXComment$0 = $TS($S($EXPECT($L201, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L202, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12402
12605
  return ["{/*", $2, "*/}"];
12403
12606
  });
12404
12607
  function JSXComment(ctx, state) {
12405
12608
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12406
12609
  }
12407
- var JSXCommentContent$0 = $TR($EXPECT($R76, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12610
+ var JSXCommentContent$0 = $TR($EXPECT($R77, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12408
12611
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12409
12612
  });
12410
12613
  function JSXCommentContent(ctx, state) {
12411
12614
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12412
12615
  }
12413
- var JSXText$0 = $TR($EXPECT($R77, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12616
+ var JSXText$0 = $TR($EXPECT($R78, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12414
12617
  return {
12415
12618
  type: "JSXText",
12416
12619
  token: $0,
@@ -12530,37 +12733,37 @@ ${input.slice(result.pos)}
12530
12733
  function InterfaceExtendsTarget(ctx, state) {
12531
12734
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12532
12735
  }
12533
- var TypeKeyword$0 = $TS($S($EXPECT($L202, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12736
+ var TypeKeyword$0 = $TS($S($EXPECT($L203, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12534
12737
  return { $loc, token: $1 };
12535
12738
  });
12536
12739
  function TypeKeyword(ctx, state) {
12537
12740
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12538
12741
  }
12539
- var Enum$0 = $TS($S($EXPECT($L203, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12742
+ var Enum$0 = $TS($S($EXPECT($L204, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12540
12743
  return { $loc, token: $1 };
12541
12744
  });
12542
12745
  function Enum(ctx, state) {
12543
12746
  return $EVENT(ctx, state, "Enum", Enum$0);
12544
12747
  }
12545
- var Interface$0 = $TS($S($EXPECT($L204, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12748
+ var Interface$0 = $TS($S($EXPECT($L205, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12546
12749
  return { $loc, token: $1 };
12547
12750
  });
12548
12751
  function Interface(ctx, state) {
12549
12752
  return $EVENT(ctx, state, "Interface", Interface$0);
12550
12753
  }
12551
- var Global$0 = $TS($S($EXPECT($L205, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12754
+ var Global$0 = $TS($S($EXPECT($L206, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12552
12755
  return { $loc, token: $1 };
12553
12756
  });
12554
12757
  function Global(ctx, state) {
12555
12758
  return $EVENT(ctx, state, "Global", Global$0);
12556
12759
  }
12557
- var Module$0 = $TS($S($EXPECT($L206, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12760
+ var Module$0 = $TS($S($EXPECT($L207, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12558
12761
  return { $loc, token: $1 };
12559
12762
  });
12560
12763
  function Module(ctx, state) {
12561
12764
  return $EVENT(ctx, state, "Module", Module$0);
12562
12765
  }
12563
- var Namespace$0 = $TS($S($EXPECT($L207, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12766
+ var Namespace$0 = $TS($S($EXPECT($L208, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12564
12767
  return { $loc, token: $1 };
12565
12768
  });
12566
12769
  function Namespace(ctx, state) {
@@ -12775,7 +12978,7 @@ ${input.slice(result.pos)}
12775
12978
  function TypeProperty(ctx, state) {
12776
12979
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
12777
12980
  }
12778
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R78, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R79, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12981
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R79, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R80, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12779
12982
  function TypeIndexSignature(ctx, state) {
12780
12983
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
12781
12984
  }
@@ -12833,7 +13036,7 @@ ${input.slice(result.pos)}
12833
13036
  function ReturnTypeSuffix(ctx, state) {
12834
13037
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12835
13038
  }
12836
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L208, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13039
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L209, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12837
13040
  var asserts = $1;
12838
13041
  var t = $2;
12839
13042
  if (asserts) {
@@ -12854,7 +13057,7 @@ ${input.slice(result.pos)}
12854
13057
  function ReturnType(ctx, state) {
12855
13058
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12856
13059
  }
12857
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L153, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13060
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L154, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12858
13061
  var lhs = $1;
12859
13062
  var rhs = $2;
12860
13063
  if (!rhs)
@@ -12912,18 +13115,39 @@ ${input.slice(result.pos)}
12912
13115
  function TypeUnarySuffix(ctx, state) {
12913
13116
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12914
13117
  }
12915
- var TypeUnaryOp$0 = $S($EXPECT($L209, 'TypeUnaryOp "keyof"'), NonIdContinue);
12916
- var TypeUnaryOp$1 = $S($EXPECT($L210, 'TypeUnaryOp "infer"'), NonIdContinue);
12917
- var TypeUnaryOp$2 = $S($EXPECT($L170, 'TypeUnaryOp "readonly"'), NonIdContinue);
13118
+ var TypeUnaryOp$0 = $S($EXPECT($L210, 'TypeUnaryOp "keyof"'), NonIdContinue);
13119
+ var TypeUnaryOp$1 = $S($EXPECT($L211, 'TypeUnaryOp "infer"'), NonIdContinue);
13120
+ var TypeUnaryOp$2 = $S($EXPECT($L171, 'TypeUnaryOp "readonly"'), NonIdContinue);
12918
13121
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2];
12919
13122
  function TypeUnaryOp(ctx, state) {
12920
13123
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
12921
13124
  }
12922
13125
  var TypeIndexedAccess$0 = $S(OpenBracket, $E(Type), __, CloseBracket);
13126
+ var TypeIndexedAccess$1 = $TS($S(Dot, $C(TemplateLiteral, StringLiteral, IntegerLiteral)), function($skip, $loc, $0, $1, $2) {
13127
+ var dot = $1;
13128
+ var literal = $2;
13129
+ const open = { ...dot, token: "[" };
13130
+ return [
13131
+ open,
13132
+ literal,
13133
+ "]"
13134
+ ];
13135
+ });
13136
+ var TypeIndexedAccess$2 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
13137
+ var p = $2;
13138
+ var id = $3;
13139
+ const open = { ...p, token: '["' };
13140
+ return [
13141
+ open,
13142
+ id,
13143
+ '"]'
13144
+ ];
13145
+ });
13146
+ var TypeIndexedAccess$$ = [TypeIndexedAccess$0, TypeIndexedAccess$1, TypeIndexedAccess$2];
12923
13147
  function TypeIndexedAccess(ctx, state) {
12924
- return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
13148
+ return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
12925
13149
  }
12926
- var UnknownAlias$0 = $TV($EXPECT($L211, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13150
+ var UnknownAlias$0 = $TV($EXPECT($L212, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12927
13151
  return { $loc, token: "unknown" };
12928
13152
  });
12929
13153
  function UnknownAlias(ctx, state) {
@@ -12984,8 +13208,8 @@ ${input.slice(result.pos)}
12984
13208
  function TypePrimary(ctx, state) {
12985
13209
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
12986
13210
  }
12987
- var ImportType$0 = $S($EXPECT($L18, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12988
- var ImportType$1 = $S($EXPECT($L18, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
13211
+ var ImportType$0 = $S($EXPECT($L19, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
13212
+ var ImportType$1 = $S($EXPECT($L19, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12989
13213
  var ImportType$$ = [ImportType$0, ImportType$1];
12990
13214
  function ImportType(ctx, state) {
12991
13215
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
@@ -13048,7 +13272,7 @@ ${input.slice(result.pos)}
13048
13272
  function NestedType(ctx, state) {
13049
13273
  return $EVENT(ctx, state, "NestedType", NestedType$0);
13050
13274
  }
13051
- var TypeConditional$0 = $TS($S($E(_), $EXPECT($R80, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13275
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R81, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13052
13276
  return [$1, expressionizeTypeIf($3)];
13053
13277
  });
13054
13278
  var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
@@ -13132,10 +13356,10 @@ ${input.slice(result.pos)}
13132
13356
  }
13133
13357
  var TypeLiteral$0 = TypeTemplateLiteral;
13134
13358
  var TypeLiteral$1 = Literal;
13135
- var TypeLiteral$2 = $TS($S($EXPECT($L192, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13359
+ var TypeLiteral$2 = $TS($S($EXPECT($L193, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13136
13360
  return { type: "VoidType", $loc, token: $1 };
13137
13361
  });
13138
- var TypeLiteral$3 = $TV($EXPECT($L212, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13362
+ var TypeLiteral$3 = $TV($EXPECT($L213, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13139
13363
  return { $loc, token: "[]" };
13140
13364
  });
13141
13365
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13154,16 +13378,16 @@ ${input.slice(result.pos)}
13154
13378
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13155
13379
  return value[1];
13156
13380
  });
13157
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L13, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L115, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
13381
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L116, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13158
13382
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13159
13383
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13160
13384
  function InlineInterfacePropertyDelimiter(ctx, state) {
13161
13385
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
13162
13386
  }
13163
- var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13387
+ var TypeBinaryOp$0 = $TV($EXPECT($L102, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13164
13388
  return { $loc, token: "|" };
13165
13389
  });
13166
- var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13390
+ var TypeBinaryOp$1 = $TV($EXPECT($L101, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13167
13391
  return { $loc, token: "&" };
13168
13392
  });
13169
13393
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -13180,7 +13404,7 @@ ${input.slice(result.pos)}
13180
13404
  function FunctionType(ctx, state) {
13181
13405
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
13182
13406
  }
13183
- var TypeArrowFunction$0 = $TV($C($EXPECT($L11, 'TypeArrowFunction "=>"'), $EXPECT($L12, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13407
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L27, 'TypeArrowFunction "->"'), $EXPECT($L28, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13184
13408
  return { $loc, token: "=>" };
13185
13409
  });
13186
13410
  function TypeArrowFunction(ctx, state) {
@@ -13218,11 +13442,11 @@ ${input.slice(result.pos)}
13218
13442
  function TypeParameters(ctx, state) {
13219
13443
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13220
13444
  }
13221
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L152, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13445
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L153, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13222
13446
  function TypeParameter(ctx, state) {
13223
13447
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13224
13448
  }
13225
- var TypeConstraint$0 = $S(__, $EXPECT($L141, 'TypeConstraint "extends"'), NonIdContinue, Type);
13449
+ var TypeConstraint$0 = $S(__, $EXPECT($L142, 'TypeConstraint "extends"'), NonIdContinue, Type);
13226
13450
  function TypeConstraint(ctx, state) {
13227
13451
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
13228
13452
  }
@@ -13231,7 +13455,7 @@ ${input.slice(result.pos)}
13231
13455
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
13232
13456
  }
13233
13457
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
13234
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
13458
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L37, 'TypeParameterDelimiter ">"')));
13235
13459
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
13236
13460
  return value[1];
13237
13461
  });
@@ -13245,15 +13469,15 @@ ${input.slice(result.pos)}
13245
13469
  function ThisType(ctx, state) {
13246
13470
  return $EVENT(ctx, state, "ThisType", ThisType$0);
13247
13471
  }
13248
- var Shebang$0 = $S($R$0($EXPECT($R81, "Shebang /#![^\\r\\n]*/")), EOL);
13472
+ var Shebang$0 = $S($R$0($EXPECT($R82, "Shebang /#![^\\r\\n]*/")), EOL);
13249
13473
  function Shebang(ctx, state) {
13250
13474
  return $EVENT(ctx, state, "Shebang", Shebang$0);
13251
13475
  }
13252
- var CivetPrologue$0 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13476
+ var CivetPrologue$0 = $T($S($EXPECT($R83, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R84, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13253
13477
  var content = value[2];
13254
13478
  return content;
13255
13479
  });
13256
- var CivetPrologue$1 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13480
+ var CivetPrologue$1 = $T($S($EXPECT($R83, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R84, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13257
13481
  var content = value[2];
13258
13482
  return content;
13259
13483
  });
@@ -13261,7 +13485,7 @@ ${input.slice(result.pos)}
13261
13485
  function CivetPrologue(ctx, state) {
13262
13486
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13263
13487
  }
13264
- var CivetPrologueContent$0 = $TS($S($EXPECT($L213, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R84, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13488
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L214, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13265
13489
  var options = $3;
13266
13490
  return {
13267
13491
  type: "CivetPrologue",
@@ -13272,7 +13496,7 @@ ${input.slice(result.pos)}
13272
13496
  function CivetPrologueContent(ctx, state) {
13273
13497
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
13274
13498
  }
13275
- var CivetOption$0 = $TR($EXPECT($R85, "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) {
13499
+ var CivetOption$0 = $TR($EXPECT($R86, "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) {
13276
13500
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
13277
13501
  if (l)
13278
13502
  return l.toUpperCase();
@@ -13289,11 +13513,11 @@ ${input.slice(result.pos)}
13289
13513
  function CivetOption(ctx, state) {
13290
13514
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
13291
13515
  }
13292
- var UnknownPrologue$0 = $S($R$0($EXPECT($R82, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13516
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R83, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13293
13517
  function UnknownPrologue(ctx, state) {
13294
13518
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
13295
13519
  }
13296
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R86, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13520
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R87, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13297
13521
  function TripleSlashDirective(ctx, state) {
13298
13522
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
13299
13523
  }
@@ -13307,13 +13531,13 @@ ${input.slice(result.pos)}
13307
13531
  function PrologueString(ctx, state) {
13308
13532
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
13309
13533
  }
13310
- var EOS$0 = $T($S($EXPECT($R87, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13534
+ var EOS$0 = $T($S($EXPECT($R88, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13311
13535
  return value[1];
13312
13536
  });
13313
13537
  function EOS(ctx, state) {
13314
13538
  return $EVENT(ctx, state, "EOS", EOS$0);
13315
13539
  }
13316
- var EOL$0 = $TR($EXPECT($R88, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13540
+ var EOL$0 = $TR($EXPECT($R89, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13317
13541
  return { $loc, token: $0 };
13318
13542
  });
13319
13543
  function EOL(ctx, state) {
@@ -13862,7 +14086,7 @@ ${input.slice(result.pos)}
13862
14086
  function Init(ctx, state) {
13863
14087
  return $EVENT(ctx, state, "Init", Init$0);
13864
14088
  }
13865
- var Indent$0 = $TR($EXPECT($R83, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14089
+ var Indent$0 = $TR($EXPECT($R84, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13866
14090
  const level = getIndentLevel($0, module.config.tab);
13867
14091
  return {
13868
14092
  $loc,
@@ -14138,6 +14362,7 @@ ${input.slice(result.pos)}
14138
14362
  exports.BareNestedBlock = BareNestedBlock;
14139
14363
  exports.BareBlock = BareBlock;
14140
14364
  exports.ThenClause = ThenClause;
14365
+ exports.BracedThenClause = BracedThenClause;
14141
14366
  exports.BracedOrEmptyBlock = BracedOrEmptyBlock;
14142
14367
  exports.NoCommaBracedOrEmptyBlock = NoCommaBracedOrEmptyBlock;
14143
14368
  exports.NoPostfixBracedOrEmptyBlock = NoPostfixBracedOrEmptyBlock;
@@ -14728,7 +14953,7 @@ ${input.slice(result.pos)}
14728
14953
  return "";
14729
14954
  }
14730
14955
  if (node.type === "Error") {
14731
- options.errors ?? (options.errors = []);
14956
+ options.errors ??= [];
14732
14957
  options.errors.push(node);
14733
14958
  return "";
14734
14959
  }
@@ -15125,9 +15350,7 @@ ${input.slice(result.pos)}
15125
15350
 
15126
15351
  // source/state-cache.civet
15127
15352
  var StateCache = class {
15128
- constructor() {
15129
- __publicField(this, "cache", /* @__PURE__ */ new Map());
15130
- }
15353
+ cache = /* @__PURE__ */ new Map();
15131
15354
  get(key) {
15132
15355
  return this.cache.get(key[0])?.get(key[1])?.get(key[2])?.get(key[3]);
15133
15356
  }
@@ -15213,7 +15436,7 @@ ${input.slice(result.pos)}
15213
15436
  } else {
15214
15437
  options = { ...options };
15215
15438
  }
15216
- options.parseOptions ?? (options.parseOptions = {});
15439
+ options.parseOptions ??= {};
15217
15440
  const filename = options.filename || "unknown";
15218
15441
  if (filename.endsWith(".coffee") && !/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(src)) {
15219
15442
  options.parseOptions.coffeeCompat = true;