@danielx/civet 0.6.54 → 0.6.55

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
@@ -932,48 +932,64 @@ ${input.slice(result.pos)}
932
932
  const expandedOps = expandChainedComparisons($0);
933
933
  let i = 2;
934
934
  while (i < expandedOps.length) {
935
- const op = expandedOps[i];
935
+ let op = expandedOps[i];
936
936
  if (op.special) {
937
- let [a, wsOp, op2, wsB, b] = expandedOps.slice(i - 2, i + 3);
938
- if (op2.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
937
+ let start = i - 2, end = i + 2;
938
+ if (isRelationalOp(op)) {
939
+ while (start >= 4 && !isLowerThanRelationalOp(expandedOps[start - 2])) {
940
+ start -= 4;
941
+ }
942
+ while (end + 4 < expandedOps.length && !isLowerThanRelationalOp(expandedOps[end + 2])) {
943
+ end += 4;
944
+ }
945
+ }
946
+ let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
947
+ let wsOp = expandedOps[i - 1];
948
+ let wsB = expandedOps[i + 1];
949
+ let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
950
+ if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
939
951
  a = ["typeof ", makeLeftHandSideExpression(a)];
940
- if (op2.negated) {
941
- op2 = { ...op2, token: "!==", negated: false };
952
+ if (op.negated) {
953
+ op = { ...op, token: "!==", negated: false };
942
954
  } else {
943
- op2 = { ...op2, token: "===" };
955
+ op = { ...op, token: "===" };
944
956
  }
945
957
  }
946
- if (op2.asConst) {
958
+ if (op.asConst) {
947
959
  a = makeAsConst(a);
948
960
  b = makeAsConst(b);
949
961
  }
950
962
  let children;
951
- if (op2.call) {
963
+ if (op.call) {
952
964
  wsOp = insertTrimmingSpace(wsOp, "");
953
- if (op2.reversed) {
965
+ if (op.reversed) {
954
966
  wsB = insertTrimmingSpace(wsB, "");
955
- children = [wsOp, op2.call, "(", wsB, b, ", ", a, ")", op2.suffix];
967
+ children = [wsOp, op.call, "(", wsB, b, ", ", a, ")", op.suffix];
956
968
  } else {
957
- children = [wsOp, op2.call, "(", a, ",", wsB, b, ")", op2.suffix];
969
+ children = [wsOp, op.call, "(", a, ",", wsB, b, ")", op.suffix];
958
970
  }
959
- } else if (op2.method) {
971
+ } else if (op.method) {
960
972
  wsOp = insertTrimmingSpace(wsOp, "");
961
973
  wsB = insertTrimmingSpace(wsB, "");
962
- if (op2.reversed) {
963
- children = [wsB, b, wsOp, ".", op2.method, "(", a, ")"];
974
+ if (op.reversed) {
975
+ if (end !== i + 2)
976
+ b = makeLeftHandSideExpression(b);
977
+ children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
964
978
  } else {
965
- children = [a, wsOp, ".", op2.method, "(", wsB, b, ")"];
979
+ if (start !== i - 2)
980
+ a = makeLeftHandSideExpression(a);
981
+ children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
966
982
  }
967
- } else if (op2.token) {
968
- children = [a, wsOp, op2, wsB, b];
969
- if (op2.negated)
983
+ } else if (op.token) {
984
+ children = [a, wsOp, op, wsB, b];
985
+ if (op.negated)
970
986
  children = ["(", ...children, ")"];
971
987
  } else {
972
- throw new Error("Unknown operator: " + JSON.stringify(op2));
988
+ throw new Error("Unknown operator: " + JSON.stringify(op));
973
989
  }
974
- if (op2.negated)
990
+ if (op.negated)
975
991
  children.unshift("!");
976
- expandedOps.splice(i - 2, 5, {
992
+ expandedOps.splice(start, end - start + 1, {
977
993
  children
978
994
  });
979
995
  } else {
@@ -1239,6 +1255,10 @@ ${input.slice(result.pos)}
1239
1255
  function isRelationalOp(op) {
1240
1256
  return relationalOps.includes(op.token) || op.relational;
1241
1257
  }
1258
+ var lowerThanRelationalOps = ["&", "^", "|", "&&", "||", "??"];
1259
+ function isLowerThanRelationalOp(op) {
1260
+ return op === "&&" || lowerThanRelationalOps.includes(op.token) || isRelationalOp(op);
1261
+ }
1242
1262
  function expandChainedComparisons([first, binops]) {
1243
1263
  const lowerPrecedenceOps = ["??", "&&", "||", "&", "|", "^"];
1244
1264
  const results = [];
@@ -1783,7 +1803,7 @@ ${input.slice(result.pos)}
1783
1803
  }
1784
1804
  const expRefDec = expRef2 !== exp ? [insertTrimmingSpace(expRef2, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1785
1805
  blockPrefix.push(["", {
1786
- type: "AssignmentExpression",
1806
+ type: "Declaration",
1787
1807
  children: [declaration, " = ", insertTrimmingSpace(expRef2, ""), "[", counterRef, "]"],
1788
1808
  names: assignmentNames
1789
1809
  }, ";"]);
@@ -2011,10 +2031,14 @@ ${input.slice(result.pos)}
2011
2031
  children: [" as const"]
2012
2032
  };
2013
2033
  function makeAsConst(node) {
2034
+ if (Array.isArray(node) && node.length === 1) {
2035
+ node = node[0];
2036
+ }
2014
2037
  if (node.type === "Literal" && node.raw !== "null" || node.type === "ArrayExpression" || node.type === "ObjectExpression") {
2015
2038
  return { ...node, children: [...node.children, asConst] };
2039
+ } else {
2040
+ return node;
2016
2041
  }
2017
- return node;
2018
2042
  }
2019
2043
  function makeEmptyBlock() {
2020
2044
  const expressions = [];
@@ -4580,112 +4604,113 @@ ${input.slice(result.pos)}
4580
4604
  var $L102 = $L("break");
4581
4605
  var $L103 = $L("continue");
4582
4606
  var $L104 = $L("debugger");
4583
- var $L105 = $L("assert");
4584
- var $L106 = $L(":=");
4585
- var $L107 = $L("\u2254");
4586
- var $L108 = $L(".=");
4587
- var $L109 = $L("/*");
4588
- var $L110 = $L("*/");
4589
- var $L111 = $L("\\");
4590
- var $L112 = $L(")");
4591
- var $L113 = $L("abstract");
4592
- var $L114 = $L("as");
4593
- var $L115 = $L("@");
4594
- var $L116 = $L("@@");
4595
- var $L117 = $L("async");
4596
- var $L118 = $L("await");
4597
- var $L119 = $L("`");
4598
- var $L120 = $L("by");
4599
- var $L121 = $L("case");
4600
- var $L122 = $L("catch");
4601
- var $L123 = $L("class");
4602
- var $L124 = $L("#{");
4603
- var $L125 = $L("declare");
4604
- var $L126 = $L("default");
4605
- var $L127 = $L("delete");
4606
- var $L128 = $L("do");
4607
- var $L129 = $L("..");
4608
- var $L130 = $L("\u2025");
4609
- var $L131 = $L("...");
4610
- var $L132 = $L("\u2026");
4611
- var $L133 = $L("::");
4612
- var $L134 = $L('"');
4613
- var $L135 = $L("each");
4614
- var $L136 = $L("else");
4615
- var $L137 = $L("export");
4616
- var $L138 = $L("extends");
4617
- var $L139 = $L("finally");
4618
- var $L140 = $L("for");
4619
- var $L141 = $L("from");
4620
- var $L142 = $L("function");
4621
- var $L143 = $L("get");
4622
- var $L144 = $L("set");
4623
- var $L145 = $L("#");
4624
- var $L146 = $L("if");
4625
- var $L147 = $L("in");
4626
- var $L148 = $L("let");
4627
- var $L149 = $L("const");
4628
- var $L150 = $L("is");
4629
- var $L151 = $L("loop");
4630
- var $L152 = $L("new");
4631
- var $L153 = $L("not");
4632
- var $L154 = $L("of");
4633
- var $L155 = $L("[");
4634
- var $L156 = $L("operator");
4635
- var $L157 = $L("own");
4636
- var $L158 = $L("public");
4637
- var $L159 = $L("private");
4638
- var $L160 = $L("protected");
4639
- var $L161 = $L("||>");
4640
- var $L162 = $L("|\u25B7");
4641
- var $L163 = $L("|>=");
4642
- var $L164 = $L("\u25B7=");
4643
- var $L165 = $L("|>");
4644
- var $L166 = $L("\u25B7");
4645
- var $L167 = $L("readonly");
4646
- var $L168 = $L("return");
4647
- var $L169 = $L("satisfies");
4648
- var $L170 = $L("'");
4649
- var $L171 = $L("static");
4650
- var $L172 = $L("${");
4651
- var $L173 = $L("super");
4652
- var $L174 = $L("switch");
4653
- var $L175 = $L("target");
4654
- var $L176 = $L("then");
4655
- var $L177 = $L("this");
4656
- var $L178 = $L("throw");
4657
- var $L179 = $L('"""');
4658
- var $L180 = $L("'''");
4659
- var $L181 = $L("///");
4660
- var $L182 = $L("```");
4661
- var $L183 = $L("try");
4662
- var $L184 = $L("typeof");
4663
- var $L185 = $L("unless");
4664
- var $L186 = $L("until");
4665
- var $L187 = $L("using");
4666
- var $L188 = $L("var");
4667
- var $L189 = $L("void");
4668
- var $L190 = $L("when");
4669
- var $L191 = $L("while");
4670
- var $L192 = $L("yield");
4671
- var $L193 = $L("/>");
4672
- var $L194 = $L("</");
4673
- var $L195 = $L("<>");
4674
- var $L196 = $L("</>");
4675
- var $L197 = $L("<!--");
4676
- var $L198 = $L("-->");
4677
- var $L199 = $L("type");
4678
- var $L200 = $L("enum");
4679
- var $L201 = $L("interface");
4680
- var $L202 = $L("global");
4681
- var $L203 = $L("module");
4682
- var $L204 = $L("namespace");
4683
- var $L205 = $L("asserts");
4684
- var $L206 = $L("keyof");
4685
- var $L207 = $L("infer");
4686
- var $L208 = $L("???");
4687
- var $L209 = $L("[]");
4688
- var $L210 = $L("civet");
4607
+ var $L105 = $L("with");
4608
+ var $L106 = $L("assert");
4609
+ var $L107 = $L(":=");
4610
+ var $L108 = $L("\u2254");
4611
+ var $L109 = $L(".=");
4612
+ var $L110 = $L("/*");
4613
+ var $L111 = $L("*/");
4614
+ var $L112 = $L("\\");
4615
+ var $L113 = $L(")");
4616
+ var $L114 = $L("abstract");
4617
+ var $L115 = $L("as");
4618
+ var $L116 = $L("@");
4619
+ var $L117 = $L("@@");
4620
+ var $L118 = $L("async");
4621
+ var $L119 = $L("await");
4622
+ var $L120 = $L("`");
4623
+ var $L121 = $L("by");
4624
+ var $L122 = $L("case");
4625
+ var $L123 = $L("catch");
4626
+ var $L124 = $L("class");
4627
+ var $L125 = $L("#{");
4628
+ var $L126 = $L("declare");
4629
+ var $L127 = $L("default");
4630
+ var $L128 = $L("delete");
4631
+ var $L129 = $L("do");
4632
+ var $L130 = $L("..");
4633
+ var $L131 = $L("\u2025");
4634
+ var $L132 = $L("...");
4635
+ var $L133 = $L("\u2026");
4636
+ var $L134 = $L("::");
4637
+ var $L135 = $L('"');
4638
+ var $L136 = $L("each");
4639
+ var $L137 = $L("else");
4640
+ var $L138 = $L("export");
4641
+ var $L139 = $L("extends");
4642
+ var $L140 = $L("finally");
4643
+ var $L141 = $L("for");
4644
+ var $L142 = $L("from");
4645
+ var $L143 = $L("function");
4646
+ var $L144 = $L("get");
4647
+ var $L145 = $L("set");
4648
+ var $L146 = $L("#");
4649
+ var $L147 = $L("if");
4650
+ var $L148 = $L("in");
4651
+ var $L149 = $L("let");
4652
+ var $L150 = $L("const");
4653
+ var $L151 = $L("is");
4654
+ var $L152 = $L("loop");
4655
+ var $L153 = $L("new");
4656
+ var $L154 = $L("not");
4657
+ var $L155 = $L("of");
4658
+ var $L156 = $L("[");
4659
+ var $L157 = $L("operator");
4660
+ var $L158 = $L("own");
4661
+ var $L159 = $L("public");
4662
+ var $L160 = $L("private");
4663
+ var $L161 = $L("protected");
4664
+ var $L162 = $L("||>");
4665
+ var $L163 = $L("|\u25B7");
4666
+ var $L164 = $L("|>=");
4667
+ var $L165 = $L("\u25B7=");
4668
+ var $L166 = $L("|>");
4669
+ var $L167 = $L("\u25B7");
4670
+ var $L168 = $L("readonly");
4671
+ var $L169 = $L("return");
4672
+ var $L170 = $L("satisfies");
4673
+ var $L171 = $L("'");
4674
+ var $L172 = $L("static");
4675
+ var $L173 = $L("${");
4676
+ var $L174 = $L("super");
4677
+ var $L175 = $L("switch");
4678
+ var $L176 = $L("target");
4679
+ var $L177 = $L("then");
4680
+ var $L178 = $L("this");
4681
+ var $L179 = $L("throw");
4682
+ var $L180 = $L('"""');
4683
+ var $L181 = $L("'''");
4684
+ var $L182 = $L("///");
4685
+ var $L183 = $L("```");
4686
+ var $L184 = $L("try");
4687
+ var $L185 = $L("typeof");
4688
+ var $L186 = $L("unless");
4689
+ var $L187 = $L("until");
4690
+ var $L188 = $L("using");
4691
+ var $L189 = $L("var");
4692
+ var $L190 = $L("void");
4693
+ var $L191 = $L("when");
4694
+ var $L192 = $L("while");
4695
+ var $L193 = $L("yield");
4696
+ var $L194 = $L("/>");
4697
+ var $L195 = $L("</");
4698
+ var $L196 = $L("<>");
4699
+ var $L197 = $L("</>");
4700
+ var $L198 = $L("<!--");
4701
+ var $L199 = $L("-->");
4702
+ var $L200 = $L("type");
4703
+ var $L201 = $L("enum");
4704
+ var $L202 = $L("interface");
4705
+ var $L203 = $L("global");
4706
+ var $L204 = $L("module");
4707
+ var $L205 = $L("namespace");
4708
+ var $L206 = $L("asserts");
4709
+ var $L207 = $L("keyof");
4710
+ var $L208 = $L("infer");
4711
+ var $L209 = $L("???");
4712
+ var $L210 = $L("[]");
4713
+ var $L211 = $L("civet");
4689
4714
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4690
4715
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4691
4716
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -9491,7 +9516,7 @@ ${input.slice(result.pos)}
9491
9516
  function CaseClause(ctx, state) {
9492
9517
  return $EVENT_C(ctx, state, "CaseClause", CaseClause$$);
9493
9518
  }
9494
- var PatternExpressionList$0 = $TS($S(ConditionFragment, $Q($S($E(_), Comma, $E(_), ConditionFragment))), function($skip, $loc, $0, $1, $2) {
9519
+ var PatternExpressionList$0 = $TS($S(ConditionFragment, $Q($S($E(_), Comma, $E($C(Nested, _)), ConditionFragment))), function($skip, $loc, $0, $1, $2) {
9495
9520
  var first = $1;
9496
9521
  var rest = $2;
9497
9522
  return [first, ...rest.map(([, , , p]) => p)];
@@ -10045,7 +10070,7 @@ ${input.slice(result.pos)}
10045
10070
  function FromClause(ctx, state) {
10046
10071
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10047
10072
  }
10048
- var ImportAssertion$0 = $S($E(_), $EXPECT($L105, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
10073
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L105, 'ImportAssertion "with"'), $EXPECT($L106, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10049
10074
  function ImportAssertion(ctx, state) {
10050
10075
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10051
10076
  }
@@ -10265,13 +10290,13 @@ ${input.slice(result.pos)}
10265
10290
  function LexicalDeclaration(ctx, state) {
10266
10291
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10267
10292
  }
10268
- var ConstAssignment$0 = $TV($C($EXPECT($L106, 'ConstAssignment ":="'), $EXPECT($L107, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10293
+ var ConstAssignment$0 = $TV($C($EXPECT($L107, 'ConstAssignment ":="'), $EXPECT($L108, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10269
10294
  return { $loc, token: "=" };
10270
10295
  });
10271
10296
  function ConstAssignment(ctx, state) {
10272
10297
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10273
10298
  }
10274
- var LetAssignment$0 = $TV($EXPECT($L108, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10299
+ var LetAssignment$0 = $TV($EXPECT($L109, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10275
10300
  return { $loc, token: "=" };
10276
10301
  });
10277
10302
  function LetAssignment(ctx, state) {
@@ -10677,7 +10702,7 @@ ${input.slice(result.pos)}
10677
10702
  function MultiLineComment(ctx, state) {
10678
10703
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
10679
10704
  }
10680
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L109, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L110, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L110, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10705
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L110, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L111, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L111, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10681
10706
  return { type: "Comment", $loc, token: $1 };
10682
10707
  });
10683
10708
  function JSMultiLineComment(ctx, state) {
@@ -10723,7 +10748,7 @@ ${input.slice(result.pos)}
10723
10748
  var NonNewlineWhitespace$0 = $TR($EXPECT($R63, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10724
10749
  return { $loc, token: $0 };
10725
10750
  });
10726
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L111, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10751
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L112, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10727
10752
  return " ";
10728
10753
  });
10729
10754
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -10769,7 +10794,7 @@ ${input.slice(result.pos)}
10769
10794
  }
10770
10795
  var StatementDelimiter$0 = $Y(EOS);
10771
10796
  var StatementDelimiter$1 = SemicolonDelimiter;
10772
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L26, 'StatementDelimiter "}"'), $EXPECT($L112, 'StatementDelimiter ")"'), $EXPECT($L35, 'StatementDelimiter "]"'))));
10797
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L26, 'StatementDelimiter "}"'), $EXPECT($L113, 'StatementDelimiter ")"'), $EXPECT($L35, 'StatementDelimiter "]"'))));
10773
10798
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
10774
10799
  function StatementDelimiter(ctx, state) {
10775
10800
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -10793,7 +10818,7 @@ ${input.slice(result.pos)}
10793
10818
  function Loc(ctx, state) {
10794
10819
  return $EVENT(ctx, state, "Loc", Loc$0);
10795
10820
  }
10796
- var Abstract$0 = $TV($TEXT($S($EXPECT($L113, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L12, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10821
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L114, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L12, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10797
10822
  return { $loc, token: $1, ts: true };
10798
10823
  });
10799
10824
  function Abstract(ctx, state) {
@@ -10805,43 +10830,43 @@ ${input.slice(result.pos)}
10805
10830
  function Ampersand(ctx, state) {
10806
10831
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
10807
10832
  }
10808
- var As$0 = $TS($S($EXPECT($L114, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10833
+ var As$0 = $TS($S($EXPECT($L115, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10809
10834
  return { $loc, token: $1 };
10810
10835
  });
10811
10836
  function As(ctx, state) {
10812
10837
  return $EVENT(ctx, state, "As", As$0);
10813
10838
  }
10814
- var At$0 = $TV($EXPECT($L115, 'At "@"'), function($skip, $loc, $0, $1) {
10839
+ var At$0 = $TV($EXPECT($L116, 'At "@"'), function($skip, $loc, $0, $1) {
10815
10840
  return { $loc, token: $1 };
10816
10841
  });
10817
10842
  function At(ctx, state) {
10818
10843
  return $EVENT(ctx, state, "At", At$0);
10819
10844
  }
10820
- var AtAt$0 = $TV($EXPECT($L116, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10845
+ var AtAt$0 = $TV($EXPECT($L117, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10821
10846
  return { $loc, token: "@" };
10822
10847
  });
10823
10848
  function AtAt(ctx, state) {
10824
10849
  return $EVENT(ctx, state, "AtAt", AtAt$0);
10825
10850
  }
10826
- var Async$0 = $TS($S($EXPECT($L117, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10851
+ var Async$0 = $TS($S($EXPECT($L118, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10827
10852
  return { $loc, token: $1, type: "Async" };
10828
10853
  });
10829
10854
  function Async(ctx, state) {
10830
10855
  return $EVENT(ctx, state, "Async", Async$0);
10831
10856
  }
10832
- var Await$0 = $TS($S($EXPECT($L118, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10857
+ var Await$0 = $TS($S($EXPECT($L119, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10833
10858
  return { $loc, token: $1, type: "Await" };
10834
10859
  });
10835
10860
  function Await(ctx, state) {
10836
10861
  return $EVENT(ctx, state, "Await", Await$0);
10837
10862
  }
10838
- var Backtick$0 = $TV($EXPECT($L119, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10863
+ var Backtick$0 = $TV($EXPECT($L120, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10839
10864
  return { $loc, token: $1 };
10840
10865
  });
10841
10866
  function Backtick(ctx, state) {
10842
10867
  return $EVENT(ctx, state, "Backtick", Backtick$0);
10843
10868
  }
10844
- var By$0 = $TS($S($EXPECT($L120, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10869
+ var By$0 = $TS($S($EXPECT($L121, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10845
10870
  return { $loc, token: $1 };
10846
10871
  });
10847
10872
  function By(ctx, state) {
@@ -10853,19 +10878,19 @@ ${input.slice(result.pos)}
10853
10878
  function Caret(ctx, state) {
10854
10879
  return $EVENT(ctx, state, "Caret", Caret$0);
10855
10880
  }
10856
- var Case$0 = $TS($S($EXPECT($L121, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10881
+ var Case$0 = $TS($S($EXPECT($L122, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10857
10882
  return { $loc, token: $1 };
10858
10883
  });
10859
10884
  function Case(ctx, state) {
10860
10885
  return $EVENT(ctx, state, "Case", Case$0);
10861
10886
  }
10862
- var Catch$0 = $TS($S($EXPECT($L122, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10887
+ var Catch$0 = $TS($S($EXPECT($L123, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10863
10888
  return { $loc, token: $1 };
10864
10889
  });
10865
10890
  function Catch(ctx, state) {
10866
10891
  return $EVENT(ctx, state, "Catch", Catch$0);
10867
10892
  }
10868
- var Class$0 = $TS($S($EXPECT($L123, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10893
+ var Class$0 = $TS($S($EXPECT($L124, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10869
10894
  return { $loc, token: $1 };
10870
10895
  });
10871
10896
  function Class(ctx, state) {
@@ -10889,13 +10914,13 @@ ${input.slice(result.pos)}
10889
10914
  function CloseBracket(ctx, state) {
10890
10915
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
10891
10916
  }
10892
- var CloseParen$0 = $TV($EXPECT($L112, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
10917
+ var CloseParen$0 = $TV($EXPECT($L113, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
10893
10918
  return { $loc, token: $1 };
10894
10919
  });
10895
10920
  function CloseParen(ctx, state) {
10896
10921
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
10897
10922
  }
10898
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L124, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
10923
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L125, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
10899
10924
  return { $loc, token: "${" };
10900
10925
  });
10901
10926
  function CoffeeSubstitutionStart(ctx, state) {
@@ -10913,31 +10938,31 @@ ${input.slice(result.pos)}
10913
10938
  function Comma(ctx, state) {
10914
10939
  return $EVENT(ctx, state, "Comma", Comma$0);
10915
10940
  }
10916
- var ConstructorShorthand$0 = $TV($EXPECT($L115, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
10941
+ var ConstructorShorthand$0 = $TV($EXPECT($L116, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
10917
10942
  return { $loc, token: "constructor" };
10918
10943
  });
10919
10944
  function ConstructorShorthand(ctx, state) {
10920
10945
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
10921
10946
  }
10922
- var Declare$0 = $TS($S($EXPECT($L125, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10947
+ var Declare$0 = $TS($S($EXPECT($L126, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10923
10948
  return { $loc, token: $1 };
10924
10949
  });
10925
10950
  function Declare(ctx, state) {
10926
10951
  return $EVENT(ctx, state, "Declare", Declare$0);
10927
10952
  }
10928
- var Default$0 = $TS($S($EXPECT($L126, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10953
+ var Default$0 = $TS($S($EXPECT($L127, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10929
10954
  return { $loc, token: $1 };
10930
10955
  });
10931
10956
  function Default(ctx, state) {
10932
10957
  return $EVENT(ctx, state, "Default", Default$0);
10933
10958
  }
10934
- var Delete$0 = $TS($S($EXPECT($L127, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10959
+ var Delete$0 = $TS($S($EXPECT($L128, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10935
10960
  return { $loc, token: $1 };
10936
10961
  });
10937
10962
  function Delete(ctx, state) {
10938
10963
  return $EVENT(ctx, state, "Delete", Delete$0);
10939
10964
  }
10940
- var Do$0 = $TS($S($EXPECT($L128, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10965
+ var Do$0 = $TS($S($EXPECT($L129, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10941
10966
  return { $loc, token: $1 };
10942
10967
  });
10943
10968
  function Do(ctx, state) {
@@ -10957,45 +10982,45 @@ ${input.slice(result.pos)}
10957
10982
  function Dot(ctx, state) {
10958
10983
  return $EVENT_C(ctx, state, "Dot", Dot$$);
10959
10984
  }
10960
- var DotDot$0 = $TS($S($EXPECT($L129, 'DotDot ".."'), $N($EXPECT($L6, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
10985
+ var DotDot$0 = $TS($S($EXPECT($L130, 'DotDot ".."'), $N($EXPECT($L6, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
10961
10986
  return { $loc, token: $1 };
10962
10987
  });
10963
- var DotDot$1 = $TV($EXPECT($L130, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
10988
+ var DotDot$1 = $TV($EXPECT($L131, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
10964
10989
  return { $loc, token: ".." };
10965
10990
  });
10966
10991
  var DotDot$$ = [DotDot$0, DotDot$1];
10967
10992
  function DotDot(ctx, state) {
10968
10993
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
10969
10994
  }
10970
- var DotDotDot$0 = $TV($EXPECT($L131, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
10995
+ var DotDotDot$0 = $TV($EXPECT($L132, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
10971
10996
  return { $loc, token: $1 };
10972
10997
  });
10973
- var DotDotDot$1 = $TV($EXPECT($L132, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
10998
+ var DotDotDot$1 = $TV($EXPECT($L133, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
10974
10999
  return { $loc, token: "..." };
10975
11000
  });
10976
11001
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
10977
11002
  function DotDotDot(ctx, state) {
10978
11003
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
10979
11004
  }
10980
- var DoubleColon$0 = $TV($EXPECT($L133, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11005
+ var DoubleColon$0 = $TV($EXPECT($L134, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
10981
11006
  return { $loc, token: $1 };
10982
11007
  });
10983
11008
  function DoubleColon(ctx, state) {
10984
11009
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
10985
11010
  }
10986
- var DoubleQuote$0 = $TV($EXPECT($L134, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11011
+ var DoubleQuote$0 = $TV($EXPECT($L135, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
10987
11012
  return { $loc, token: $1 };
10988
11013
  });
10989
11014
  function DoubleQuote(ctx, state) {
10990
11015
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
10991
11016
  }
10992
- var Each$0 = $TS($S($EXPECT($L135, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11017
+ var Each$0 = $TS($S($EXPECT($L136, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10993
11018
  return { $loc, token: $1 };
10994
11019
  });
10995
11020
  function Each(ctx, state) {
10996
11021
  return $EVENT(ctx, state, "Each", Each$0);
10997
11022
  }
10998
- var Else$0 = $TS($S($EXPECT($L136, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11023
+ var Else$0 = $TS($S($EXPECT($L137, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10999
11024
  return { $loc, token: $1 };
11000
11025
  });
11001
11026
  function Else(ctx, state) {
@@ -11007,55 +11032,55 @@ ${input.slice(result.pos)}
11007
11032
  function Equals(ctx, state) {
11008
11033
  return $EVENT(ctx, state, "Equals", Equals$0);
11009
11034
  }
11010
- var Export$0 = $TS($S($EXPECT($L137, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11035
+ var Export$0 = $TS($S($EXPECT($L138, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11011
11036
  return { $loc, token: $1 };
11012
11037
  });
11013
11038
  function Export(ctx, state) {
11014
11039
  return $EVENT(ctx, state, "Export", Export$0);
11015
11040
  }
11016
- var Extends$0 = $TS($S($EXPECT($L138, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11041
+ var Extends$0 = $TS($S($EXPECT($L139, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11017
11042
  return { $loc, token: $1 };
11018
11043
  });
11019
11044
  function Extends(ctx, state) {
11020
11045
  return $EVENT(ctx, state, "Extends", Extends$0);
11021
11046
  }
11022
- var Finally$0 = $TS($S($EXPECT($L139, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11047
+ var Finally$0 = $TS($S($EXPECT($L140, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11023
11048
  return { $loc, token: $1 };
11024
11049
  });
11025
11050
  function Finally(ctx, state) {
11026
11051
  return $EVENT(ctx, state, "Finally", Finally$0);
11027
11052
  }
11028
- var For$0 = $TS($S($EXPECT($L140, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11053
+ var For$0 = $TS($S($EXPECT($L141, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11029
11054
  return { $loc, token: $1 };
11030
11055
  });
11031
11056
  function For(ctx, state) {
11032
11057
  return $EVENT(ctx, state, "For", For$0);
11033
11058
  }
11034
- var From$0 = $TS($S($EXPECT($L141, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11059
+ var From$0 = $TS($S($EXPECT($L142, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11035
11060
  return { $loc, token: $1 };
11036
11061
  });
11037
11062
  function From(ctx, state) {
11038
11063
  return $EVENT(ctx, state, "From", From$0);
11039
11064
  }
11040
- var Function$0 = $TS($S($EXPECT($L142, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11065
+ var Function$0 = $TS($S($EXPECT($L143, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11041
11066
  return { $loc, token: $1 };
11042
11067
  });
11043
11068
  function Function(ctx, state) {
11044
11069
  return $EVENT(ctx, state, "Function", Function$0);
11045
11070
  }
11046
- var GetOrSet$0 = $TS($S($C($EXPECT($L143, 'GetOrSet "get"'), $EXPECT($L144, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11071
+ var GetOrSet$0 = $TS($S($C($EXPECT($L144, 'GetOrSet "get"'), $EXPECT($L145, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11047
11072
  return { $loc, token: $1, type: "GetOrSet" };
11048
11073
  });
11049
11074
  function GetOrSet(ctx, state) {
11050
11075
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11051
11076
  }
11052
- var Hash$0 = $TV($EXPECT($L145, 'Hash "#"'), function($skip, $loc, $0, $1) {
11077
+ var Hash$0 = $TV($EXPECT($L146, 'Hash "#"'), function($skip, $loc, $0, $1) {
11053
11078
  return { $loc, token: $1 };
11054
11079
  });
11055
11080
  function Hash(ctx, state) {
11056
11081
  return $EVENT(ctx, state, "Hash", Hash$0);
11057
11082
  }
11058
- var If$0 = $TV($TEXT($S($EXPECT($L146, 'If "if"'), NonIdContinue, $E($EXPECT($L12, 'If " "')))), function($skip, $loc, $0, $1) {
11083
+ var If$0 = $TV($TEXT($S($EXPECT($L147, 'If "if"'), NonIdContinue, $E($EXPECT($L12, 'If " "')))), function($skip, $loc, $0, $1) {
11059
11084
  return { $loc, token: $1 };
11060
11085
  });
11061
11086
  function If(ctx, state) {
@@ -11067,25 +11092,25 @@ ${input.slice(result.pos)}
11067
11092
  function Import(ctx, state) {
11068
11093
  return $EVENT(ctx, state, "Import", Import$0);
11069
11094
  }
11070
- var In$0 = $TS($S($EXPECT($L147, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11095
+ var In$0 = $TS($S($EXPECT($L148, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11071
11096
  return { $loc, token: $1 };
11072
11097
  });
11073
11098
  function In(ctx, state) {
11074
11099
  return $EVENT(ctx, state, "In", In$0);
11075
11100
  }
11076
- var LetOrConst$0 = $TS($S($C($EXPECT($L148, 'LetOrConst "let"'), $EXPECT($L149, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11101
+ var LetOrConst$0 = $TS($S($C($EXPECT($L149, 'LetOrConst "let"'), $EXPECT($L150, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11077
11102
  return { $loc, token: $1 };
11078
11103
  });
11079
11104
  function LetOrConst(ctx, state) {
11080
11105
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11081
11106
  }
11082
- var Const$0 = $TS($S($EXPECT($L149, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11107
+ var Const$0 = $TS($S($EXPECT($L150, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11083
11108
  return { $loc, token: $1 };
11084
11109
  });
11085
11110
  function Const(ctx, state) {
11086
11111
  return $EVENT(ctx, state, "Const", Const$0);
11087
11112
  }
11088
- var Is$0 = $TS($S($EXPECT($L150, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11113
+ var Is$0 = $TS($S($EXPECT($L151, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11089
11114
  return { $loc, token: $1 };
11090
11115
  });
11091
11116
  function Is(ctx, state) {
@@ -11097,25 +11122,25 @@ ${input.slice(result.pos)}
11097
11122
  function LetOrConstOrVar(ctx, state) {
11098
11123
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11099
11124
  }
11100
- var Loop$0 = $TS($S($EXPECT($L151, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11125
+ var Loop$0 = $TS($S($EXPECT($L152, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11101
11126
  return { $loc, token: "while(true)" };
11102
11127
  });
11103
11128
  function Loop(ctx, state) {
11104
11129
  return $EVENT(ctx, state, "Loop", Loop$0);
11105
11130
  }
11106
- var New$0 = $TS($S($EXPECT($L152, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11131
+ var New$0 = $TS($S($EXPECT($L153, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11107
11132
  return { $loc, token: $1 };
11108
11133
  });
11109
11134
  function New(ctx, state) {
11110
11135
  return $EVENT(ctx, state, "New", New$0);
11111
11136
  }
11112
- var Not$0 = $TS($S($EXPECT($L153, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L11, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11137
+ var Not$0 = $TS($S($EXPECT($L154, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L11, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11113
11138
  return { $loc, token: "!" };
11114
11139
  });
11115
11140
  function Not(ctx, state) {
11116
11141
  return $EVENT(ctx, state, "Not", Not$0);
11117
11142
  }
11118
- var Of$0 = $TS($S($EXPECT($L154, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11143
+ var Of$0 = $TS($S($EXPECT($L155, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11119
11144
  return { $loc, token: $1 };
11120
11145
  });
11121
11146
  function Of(ctx, state) {
@@ -11133,7 +11158,7 @@ ${input.slice(result.pos)}
11133
11158
  function OpenBrace(ctx, state) {
11134
11159
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11135
11160
  }
11136
- var OpenBracket$0 = $TV($EXPECT($L155, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11161
+ var OpenBracket$0 = $TV($EXPECT($L156, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11137
11162
  return { $loc, token: $1 };
11138
11163
  });
11139
11164
  function OpenBracket(ctx, state) {
@@ -11145,43 +11170,43 @@ ${input.slice(result.pos)}
11145
11170
  function OpenParen(ctx, state) {
11146
11171
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11147
11172
  }
11148
- var Operator$0 = $TS($S($EXPECT($L156, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11173
+ var Operator$0 = $TS($S($EXPECT($L157, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11149
11174
  return { $loc, token: $1 };
11150
11175
  });
11151
11176
  function Operator(ctx, state) {
11152
11177
  return $EVENT(ctx, state, "Operator", Operator$0);
11153
11178
  }
11154
- var Own$0 = $TS($S($EXPECT($L157, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11179
+ var Own$0 = $TS($S($EXPECT($L158, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11155
11180
  return { $loc, token: $1 };
11156
11181
  });
11157
11182
  function Own(ctx, state) {
11158
11183
  return $EVENT(ctx, state, "Own", Own$0);
11159
11184
  }
11160
- var Public$0 = $TS($S($EXPECT($L158, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11185
+ var Public$0 = $TS($S($EXPECT($L159, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11161
11186
  return { $loc, token: $1 };
11162
11187
  });
11163
11188
  function Public(ctx, state) {
11164
11189
  return $EVENT(ctx, state, "Public", Public$0);
11165
11190
  }
11166
- var Private$0 = $TS($S($EXPECT($L159, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11191
+ var Private$0 = $TS($S($EXPECT($L160, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11167
11192
  return { $loc, token: $1 };
11168
11193
  });
11169
11194
  function Private(ctx, state) {
11170
11195
  return $EVENT(ctx, state, "Private", Private$0);
11171
11196
  }
11172
- var Protected$0 = $TS($S($EXPECT($L160, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11197
+ var Protected$0 = $TS($S($EXPECT($L161, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11173
11198
  return { $loc, token: $1 };
11174
11199
  });
11175
11200
  function Protected(ctx, state) {
11176
11201
  return $EVENT(ctx, state, "Protected", Protected$0);
11177
11202
  }
11178
- var Pipe$0 = $TV($C($EXPECT($L161, 'Pipe "||>"'), $EXPECT($L162, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11203
+ var Pipe$0 = $TV($C($EXPECT($L162, 'Pipe "||>"'), $EXPECT($L163, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11179
11204
  return { $loc, token: "||>" };
11180
11205
  });
11181
- var Pipe$1 = $TV($C($EXPECT($L163, 'Pipe "|>="'), $EXPECT($L164, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11206
+ var Pipe$1 = $TV($C($EXPECT($L164, 'Pipe "|>="'), $EXPECT($L165, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11182
11207
  return { $loc, token: "|>=" };
11183
11208
  });
11184
- var Pipe$2 = $TV($C($EXPECT($L165, 'Pipe "|>"'), $EXPECT($L166, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11209
+ var Pipe$2 = $TV($C($EXPECT($L166, 'Pipe "|>"'), $EXPECT($L167, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11185
11210
  return { $loc, token: "|>" };
11186
11211
  });
11187
11212
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11194,19 +11219,19 @@ ${input.slice(result.pos)}
11194
11219
  function QuestionMark(ctx, state) {
11195
11220
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11196
11221
  }
11197
- var Readonly$0 = $TS($S($EXPECT($L167, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11222
+ var Readonly$0 = $TS($S($EXPECT($L168, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11198
11223
  return { $loc, token: $1, ts: true };
11199
11224
  });
11200
11225
  function Readonly(ctx, state) {
11201
11226
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11202
11227
  }
11203
- var Return$0 = $TS($S($EXPECT($L168, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11228
+ var Return$0 = $TS($S($EXPECT($L169, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11204
11229
  return { $loc, token: $1 };
11205
11230
  });
11206
11231
  function Return(ctx, state) {
11207
11232
  return $EVENT(ctx, state, "Return", Return$0);
11208
11233
  }
11209
- var Satisfies$0 = $TS($S($EXPECT($L169, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11234
+ var Satisfies$0 = $TS($S($EXPECT($L170, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11210
11235
  return { $loc, token: $1 };
11211
11236
  });
11212
11237
  function Satisfies(ctx, state) {
@@ -11218,7 +11243,7 @@ ${input.slice(result.pos)}
11218
11243
  function Semicolon(ctx, state) {
11219
11244
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11220
11245
  }
11221
- var SingleQuote$0 = $TV($EXPECT($L170, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11246
+ var SingleQuote$0 = $TV($EXPECT($L171, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11222
11247
  return { $loc, token: $1 };
11223
11248
  });
11224
11249
  function SingleQuote(ctx, state) {
@@ -11230,137 +11255,137 @@ ${input.slice(result.pos)}
11230
11255
  function Star(ctx, state) {
11231
11256
  return $EVENT(ctx, state, "Star", Star$0);
11232
11257
  }
11233
- var Static$0 = $TS($S($EXPECT($L171, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11258
+ var Static$0 = $TS($S($EXPECT($L172, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11234
11259
  return { $loc, token: $1 };
11235
11260
  });
11236
- var Static$1 = $TS($S($EXPECT($L115, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L115, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11261
+ var Static$1 = $TS($S($EXPECT($L116, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L116, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11237
11262
  return { $loc, token: "static " };
11238
11263
  });
11239
11264
  var Static$$ = [Static$0, Static$1];
11240
11265
  function Static(ctx, state) {
11241
11266
  return $EVENT_C(ctx, state, "Static", Static$$);
11242
11267
  }
11243
- var SubstitutionStart$0 = $TV($EXPECT($L172, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11268
+ var SubstitutionStart$0 = $TV($EXPECT($L173, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11244
11269
  return { $loc, token: $1 };
11245
11270
  });
11246
11271
  function SubstitutionStart(ctx, state) {
11247
11272
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11248
11273
  }
11249
- var Super$0 = $TS($S($EXPECT($L173, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11274
+ var Super$0 = $TS($S($EXPECT($L174, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11250
11275
  return { $loc, token: $1 };
11251
11276
  });
11252
11277
  function Super(ctx, state) {
11253
11278
  return $EVENT(ctx, state, "Super", Super$0);
11254
11279
  }
11255
- var Switch$0 = $TS($S($EXPECT($L174, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11280
+ var Switch$0 = $TS($S($EXPECT($L175, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11256
11281
  return { $loc, token: $1 };
11257
11282
  });
11258
11283
  function Switch(ctx, state) {
11259
11284
  return $EVENT(ctx, state, "Switch", Switch$0);
11260
11285
  }
11261
- var Target$0 = $TS($S($EXPECT($L175, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11286
+ var Target$0 = $TS($S($EXPECT($L176, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11262
11287
  return { $loc, token: $1 };
11263
11288
  });
11264
11289
  function Target(ctx, state) {
11265
11290
  return $EVENT(ctx, state, "Target", Target$0);
11266
11291
  }
11267
- var Then$0 = $TS($S(__, $EXPECT($L176, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11292
+ var Then$0 = $TS($S(__, $EXPECT($L177, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11268
11293
  return { $loc, token: "" };
11269
11294
  });
11270
11295
  function Then(ctx, state) {
11271
11296
  return $EVENT(ctx, state, "Then", Then$0);
11272
11297
  }
11273
- var This$0 = $TS($S($EXPECT($L177, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11298
+ var This$0 = $TS($S($EXPECT($L178, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11274
11299
  return { $loc, token: $1 };
11275
11300
  });
11276
11301
  function This(ctx, state) {
11277
11302
  return $EVENT(ctx, state, "This", This$0);
11278
11303
  }
11279
- var Throw$0 = $TS($S($EXPECT($L178, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11304
+ var Throw$0 = $TS($S($EXPECT($L179, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11280
11305
  return { $loc, token: $1 };
11281
11306
  });
11282
11307
  function Throw(ctx, state) {
11283
11308
  return $EVENT(ctx, state, "Throw", Throw$0);
11284
11309
  }
11285
- var TripleDoubleQuote$0 = $TV($EXPECT($L179, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11310
+ var TripleDoubleQuote$0 = $TV($EXPECT($L180, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11286
11311
  return { $loc, token: "`" };
11287
11312
  });
11288
11313
  function TripleDoubleQuote(ctx, state) {
11289
11314
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11290
11315
  }
11291
- var TripleSingleQuote$0 = $TV($EXPECT($L180, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11316
+ var TripleSingleQuote$0 = $TV($EXPECT($L181, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11292
11317
  return { $loc, token: "`" };
11293
11318
  });
11294
11319
  function TripleSingleQuote(ctx, state) {
11295
11320
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11296
11321
  }
11297
- var TripleSlash$0 = $TV($EXPECT($L181, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11322
+ var TripleSlash$0 = $TV($EXPECT($L182, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11298
11323
  return { $loc, token: "/" };
11299
11324
  });
11300
11325
  function TripleSlash(ctx, state) {
11301
11326
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11302
11327
  }
11303
- var TripleTick$0 = $TV($EXPECT($L182, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11328
+ var TripleTick$0 = $TV($EXPECT($L183, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11304
11329
  return { $loc, token: "`" };
11305
11330
  });
11306
11331
  function TripleTick(ctx, state) {
11307
11332
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11308
11333
  }
11309
- var Try$0 = $TS($S($EXPECT($L183, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11334
+ var Try$0 = $TS($S($EXPECT($L184, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11310
11335
  return { $loc, token: $1 };
11311
11336
  });
11312
11337
  function Try(ctx, state) {
11313
11338
  return $EVENT(ctx, state, "Try", Try$0);
11314
11339
  }
11315
- var Typeof$0 = $TS($S($EXPECT($L184, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11340
+ var Typeof$0 = $TS($S($EXPECT($L185, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11316
11341
  return { $loc, token: $1 };
11317
11342
  });
11318
11343
  function Typeof(ctx, state) {
11319
11344
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11320
11345
  }
11321
- var Unless$0 = $TS($S($EXPECT($L185, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11346
+ var Unless$0 = $TS($S($EXPECT($L186, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11322
11347
  return { $loc, token: $1 };
11323
11348
  });
11324
11349
  function Unless(ctx, state) {
11325
11350
  return $EVENT(ctx, state, "Unless", Unless$0);
11326
11351
  }
11327
- var Until$0 = $TS($S($EXPECT($L186, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11352
+ var Until$0 = $TS($S($EXPECT($L187, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11328
11353
  return { $loc, token: $1 };
11329
11354
  });
11330
11355
  function Until(ctx, state) {
11331
11356
  return $EVENT(ctx, state, "Until", Until$0);
11332
11357
  }
11333
- var Using$0 = $TS($S($EXPECT($L187, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11358
+ var Using$0 = $TS($S($EXPECT($L188, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11334
11359
  return { $loc, token: $1 };
11335
11360
  });
11336
11361
  function Using(ctx, state) {
11337
11362
  return $EVENT(ctx, state, "Using", Using$0);
11338
11363
  }
11339
- var Var$0 = $TS($S($EXPECT($L188, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11364
+ var Var$0 = $TS($S($EXPECT($L189, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11340
11365
  return { $loc, token: $1 };
11341
11366
  });
11342
11367
  function Var(ctx, state) {
11343
11368
  return $EVENT(ctx, state, "Var", Var$0);
11344
11369
  }
11345
- var Void$0 = $TS($S($EXPECT($L189, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11370
+ var Void$0 = $TS($S($EXPECT($L190, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11346
11371
  return { $loc, token: $1 };
11347
11372
  });
11348
11373
  function Void(ctx, state) {
11349
11374
  return $EVENT(ctx, state, "Void", Void$0);
11350
11375
  }
11351
- var When$0 = $TS($S($EXPECT($L190, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11376
+ var When$0 = $TS($S($EXPECT($L191, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11352
11377
  return { $loc, token: "case" };
11353
11378
  });
11354
11379
  function When(ctx, state) {
11355
11380
  return $EVENT(ctx, state, "When", When$0);
11356
11381
  }
11357
- var While$0 = $TS($S($EXPECT($L191, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11382
+ var While$0 = $TS($S($EXPECT($L192, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11358
11383
  return { $loc, token: $1 };
11359
11384
  });
11360
11385
  function While(ctx, state) {
11361
11386
  return $EVENT(ctx, state, "While", While$0);
11362
11387
  }
11363
- var Yield$0 = $TS($S($EXPECT($L192, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11388
+ var Yield$0 = $TS($S($EXPECT($L193, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11364
11389
  return { $loc, token: $1, type: "Yield" };
11365
11390
  });
11366
11391
  function Yield(ctx, state) {
@@ -11439,7 +11464,7 @@ ${input.slice(result.pos)}
11439
11464
  function JSXElement(ctx, state) {
11440
11465
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11441
11466
  }
11442
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L13, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L193, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11467
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L13, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L194, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11443
11468
  return { type: "JSXElement", children: $0, tag: $2 };
11444
11469
  });
11445
11470
  function JSXSelfClosingElement(ctx, state) {
@@ -11473,7 +11498,7 @@ ${input.slice(result.pos)}
11473
11498
  function JSXOptionalClosingElement(ctx, state) {
11474
11499
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11475
11500
  }
11476
- var JSXClosingElement$0 = $S($EXPECT($L194, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, 'JSXClosingElement ">"'));
11501
+ var JSXClosingElement$0 = $S($EXPECT($L195, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, 'JSXClosingElement ">"'));
11477
11502
  function JSXClosingElement(ctx, state) {
11478
11503
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11479
11504
  }
@@ -11494,7 +11519,7 @@ ${input.slice(result.pos)}
11494
11519
  ];
11495
11520
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11496
11521
  });
11497
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L195, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11522
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L196, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11498
11523
  var children = $3;
11499
11524
  $0 = $0.slice(1);
11500
11525
  return {
@@ -11507,7 +11532,7 @@ ${input.slice(result.pos)}
11507
11532
  function JSXFragment(ctx, state) {
11508
11533
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11509
11534
  }
11510
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L195, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11535
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L196, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11511
11536
  module.JSXTagStack.push("");
11512
11537
  return $1;
11513
11538
  });
@@ -11524,11 +11549,11 @@ ${input.slice(result.pos)}
11524
11549
  function JSXOptionalClosingFragment(ctx, state) {
11525
11550
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11526
11551
  }
11527
- var JSXClosingFragment$0 = $EXPECT($L196, 'JSXClosingFragment "</>"');
11552
+ var JSXClosingFragment$0 = $EXPECT($L197, 'JSXClosingFragment "</>"');
11528
11553
  function JSXClosingFragment(ctx, state) {
11529
11554
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11530
11555
  }
11531
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L145, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11556
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L146, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11532
11557
  return module.config.defaultElement;
11533
11558
  });
11534
11559
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11700,7 +11725,7 @@ ${input.slice(result.pos)}
11700
11725
  }
11701
11726
  return $skip;
11702
11727
  });
11703
- var JSXAttribute$5 = $TS($S($EXPECT($L145, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11728
+ var JSXAttribute$5 = $TS($S($EXPECT($L146, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11704
11729
  return [" ", "id=", $2];
11705
11730
  });
11706
11731
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -11993,7 +12018,7 @@ ${input.slice(result.pos)}
11993
12018
  function JSXChild(ctx, state) {
11994
12019
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
11995
12020
  }
11996
- var JSXComment$0 = $TS($S($EXPECT($L197, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L198, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12021
+ var JSXComment$0 = $TS($S($EXPECT($L198, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L199, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
11997
12022
  return ["{/*", $2, "*/}"];
11998
12023
  });
11999
12024
  function JSXComment(ctx, state) {
@@ -12125,37 +12150,37 @@ ${input.slice(result.pos)}
12125
12150
  function InterfaceExtendsTarget(ctx, state) {
12126
12151
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12127
12152
  }
12128
- var TypeKeyword$0 = $TS($S($EXPECT($L199, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12153
+ var TypeKeyword$0 = $TS($S($EXPECT($L200, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12129
12154
  return { $loc, token: $1 };
12130
12155
  });
12131
12156
  function TypeKeyword(ctx, state) {
12132
12157
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12133
12158
  }
12134
- var Enum$0 = $TS($S($EXPECT($L200, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12159
+ var Enum$0 = $TS($S($EXPECT($L201, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12135
12160
  return { $loc, token: $1 };
12136
12161
  });
12137
12162
  function Enum(ctx, state) {
12138
12163
  return $EVENT(ctx, state, "Enum", Enum$0);
12139
12164
  }
12140
- var Interface$0 = $TS($S($EXPECT($L201, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12165
+ var Interface$0 = $TS($S($EXPECT($L202, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12141
12166
  return { $loc, token: $1 };
12142
12167
  });
12143
12168
  function Interface(ctx, state) {
12144
12169
  return $EVENT(ctx, state, "Interface", Interface$0);
12145
12170
  }
12146
- var Global$0 = $TS($S($EXPECT($L202, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12171
+ var Global$0 = $TS($S($EXPECT($L203, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12147
12172
  return { $loc, token: $1 };
12148
12173
  });
12149
12174
  function Global(ctx, state) {
12150
12175
  return $EVENT(ctx, state, "Global", Global$0);
12151
12176
  }
12152
- var Module$0 = $TS($S($EXPECT($L203, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12177
+ var Module$0 = $TS($S($EXPECT($L204, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12153
12178
  return { $loc, token: $1 };
12154
12179
  });
12155
12180
  function Module(ctx, state) {
12156
12181
  return $EVENT(ctx, state, "Module", Module$0);
12157
12182
  }
12158
- var Namespace$0 = $TS($S($EXPECT($L204, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12183
+ var Namespace$0 = $TS($S($EXPECT($L205, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12159
12184
  return { $loc, token: $1 };
12160
12185
  });
12161
12186
  function Namespace(ctx, state) {
@@ -12400,7 +12425,7 @@ ${input.slice(result.pos)}
12400
12425
  function ReturnTypeSuffix(ctx, state) {
12401
12426
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12402
12427
  }
12403
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L205, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12428
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L206, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12404
12429
  var asserts = $1;
12405
12430
  var t = $2;
12406
12431
  if (asserts) {
@@ -12421,7 +12446,7 @@ ${input.slice(result.pos)}
12421
12446
  function ReturnType(ctx, state) {
12422
12447
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12423
12448
  }
12424
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L150, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12449
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L151, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12425
12450
  var lhs = $1;
12426
12451
  var rhs = $2;
12427
12452
  if (!rhs)
@@ -12469,10 +12494,10 @@ ${input.slice(result.pos)}
12469
12494
  function TypeUnarySuffix(ctx, state) {
12470
12495
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12471
12496
  }
12472
- var TypeUnaryOp$0 = $S($EXPECT($L206, 'TypeUnaryOp "keyof"'), NonIdContinue);
12473
- var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "typeof"'), NonIdContinue);
12474
- var TypeUnaryOp$2 = $S($EXPECT($L207, 'TypeUnaryOp "infer"'), NonIdContinue);
12475
- var TypeUnaryOp$3 = $S($EXPECT($L167, 'TypeUnaryOp "readonly"'), NonIdContinue);
12497
+ var TypeUnaryOp$0 = $S($EXPECT($L207, 'TypeUnaryOp "keyof"'), NonIdContinue);
12498
+ var TypeUnaryOp$1 = $S($EXPECT($L185, 'TypeUnaryOp "typeof"'), NonIdContinue);
12499
+ var TypeUnaryOp$2 = $S($EXPECT($L208, 'TypeUnaryOp "infer"'), NonIdContinue);
12500
+ var TypeUnaryOp$3 = $S($EXPECT($L168, 'TypeUnaryOp "readonly"'), NonIdContinue);
12476
12501
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
12477
12502
  function TypeUnaryOp(ctx, state) {
12478
12503
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -12481,7 +12506,7 @@ ${input.slice(result.pos)}
12481
12506
  function TypeIndexedAccess(ctx, state) {
12482
12507
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
12483
12508
  }
12484
- var UnknownAlias$0 = $TV($EXPECT($L208, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12509
+ var UnknownAlias$0 = $TV($EXPECT($L209, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12485
12510
  return { $loc, token: "unknown" };
12486
12511
  });
12487
12512
  function UnknownAlias(ctx, state) {
@@ -12583,7 +12608,7 @@ ${input.slice(result.pos)}
12583
12608
  function NestedType(ctx, state) {
12584
12609
  return $EVENT(ctx, state, "NestedType", NestedType$0);
12585
12610
  }
12586
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L138, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12611
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L139, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12587
12612
  if ($2)
12588
12613
  return $0;
12589
12614
  return $1;
@@ -12621,10 +12646,10 @@ ${input.slice(result.pos)}
12621
12646
  }
12622
12647
  var TypeLiteral$0 = TypeTemplateLiteral;
12623
12648
  var TypeLiteral$1 = Literal;
12624
- var TypeLiteral$2 = $TS($S($EXPECT($L189, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12649
+ var TypeLiteral$2 = $TS($S($EXPECT($L190, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12625
12650
  return { type: "VoidType", $loc, token: $1 };
12626
12651
  });
12627
- var TypeLiteral$3 = $TV($EXPECT($L209, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12652
+ var TypeLiteral$3 = $TV($EXPECT($L210, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12628
12653
  return { $loc, token: "[]" };
12629
12654
  });
12630
12655
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -12643,7 +12668,7 @@ ${input.slice(result.pos)}
12643
12668
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
12644
12669
  return value[1];
12645
12670
  });
12646
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L11, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L112, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, 'InlineInterfacePropertyDelimiter "}"'))));
12671
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L11, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L113, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, 'InlineInterfacePropertyDelimiter "}"'))));
12647
12672
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
12648
12673
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
12649
12674
  function InlineInterfacePropertyDelimiter(ctx, state) {
@@ -12707,11 +12732,11 @@ ${input.slice(result.pos)}
12707
12732
  function TypeParameters(ctx, state) {
12708
12733
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
12709
12734
  }
12710
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L149, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12735
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L150, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12711
12736
  function TypeParameter(ctx, state) {
12712
12737
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
12713
12738
  }
12714
- var TypeConstraint$0 = $S(__, $EXPECT($L138, 'TypeConstraint "extends"'), NonIdContinue, Type);
12739
+ var TypeConstraint$0 = $S(__, $EXPECT($L139, 'TypeConstraint "extends"'), NonIdContinue, Type);
12715
12740
  function TypeConstraint(ctx, state) {
12716
12741
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
12717
12742
  }
@@ -12750,7 +12775,7 @@ ${input.slice(result.pos)}
12750
12775
  function CivetPrologue(ctx, state) {
12751
12776
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
12752
12777
  }
12753
- var CivetPrologueContent$0 = $TS($S($EXPECT($L210, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12778
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L211, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12754
12779
  var options = $3;
12755
12780
  return {
12756
12781
  type: "CivetPrologue",