@danielx/civet 0.6.76 → 0.6.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.mjs CHANGED
@@ -81,7 +81,7 @@ function isEmptyBareBlock(node) {
81
81
  }
82
82
  function isFunction(node) {
83
83
  const { type } = node;
84
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || node.async;
84
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
85
85
  }
86
86
  function isWhitespaceOrEmpty(node) {
87
87
  if (!node)
@@ -1422,16 +1422,15 @@ function insertPush(node, ref) {
1422
1422
  switch (node.type) {
1423
1423
  case "BlockStatement":
1424
1424
  if (node.expressions.length) {
1425
- const last = node.expressions[node.expressions.length - 1];
1426
- insertPush(last, ref);
1425
+ insertPush(node.expressions.at(-1), ref);
1427
1426
  } else {
1428
1427
  node.expressions.push([ref, ".push(void 0);"]);
1429
1428
  }
1430
1429
  return;
1431
1430
  case "CaseBlock":
1432
- node.clauses.forEach((clause) => ({
1433
- insertPush: insertPush(clause, ref)
1434
- }));
1431
+ node.clauses.forEach((clause) => {
1432
+ return insertPush(clause, ref);
1433
+ });
1435
1434
  return;
1436
1435
  case "WhenClause":
1437
1436
  insertPush(node.block, ref);
@@ -1480,8 +1479,8 @@ function insertPush(node, ref) {
1480
1479
  return;
1481
1480
  case "IfStatement":
1482
1481
  insertPush(exp.then, ref);
1483
- if (exp.then.bare) {
1484
- exp.then.children.push(";");
1482
+ if (exp.then.bare && !exp.then.semicolon) {
1483
+ exp.then.children.push(exp.then.semicolon = ";");
1485
1484
  }
1486
1485
  if (exp.else)
1487
1486
  insertPush(exp.else[2], ref);
@@ -1757,18 +1756,86 @@ function processBinaryOpExpression($0) {
1757
1756
  while (i < expandedOps.length) {
1758
1757
  let op = expandedOps[i];
1759
1758
  if (op.special) {
1759
+ let advanceLeft2 = function(allowEqual) {
1760
+ while (start >= 4) {
1761
+ const prevPrec = getPrecedence(expandedOps[start - 2]);
1762
+ if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
1763
+ return prevPrec === prec;
1764
+ }
1765
+ start -= 4;
1766
+ }
1767
+ return false;
1768
+ }, advanceRight2 = function(allowEqual) {
1769
+ while (end + 4 < expandedOps.length) {
1770
+ const nextPrec = getPrecedence(expandedOps[end + 2]);
1771
+ if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
1772
+ return nextPrec === prec;
1773
+ }
1774
+ end += 4;
1775
+ }
1776
+ return false;
1777
+ };
1778
+ var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
1760
1779
  let start = i - 2, end = i + 2;
1761
1780
  const prec = getPrecedence(op);
1762
- while (start >= 4 && getPrecedence(expandedOps[start - 2]) >= prec) {
1763
- start -= 4;
1764
- }
1765
- while (end + 4 < expandedOps.length && getPrecedence(expandedOps[end + 2]) > prec) {
1766
- end += 4;
1781
+ let error;
1782
+ switch (op.assoc) {
1783
+ case "left":
1784
+ case void 0: {
1785
+ advanceLeft2(true);
1786
+ advanceRight2(false);
1787
+ break;
1788
+ }
1789
+ case "right": {
1790
+ advanceLeft2(false);
1791
+ advanceRight2(true);
1792
+ break;
1793
+ }
1794
+ case "non": {
1795
+ if (advanceLeft2(false) || advanceRight2(false)) {
1796
+ error = {
1797
+ type: "Error",
1798
+ message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
1799
+ };
1800
+ }
1801
+ ;
1802
+ break;
1803
+ }
1804
+ case "arguments": {
1805
+ if (advanceLeft2(false)) {
1806
+ error = {
1807
+ type: "Error",
1808
+ message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
1809
+ };
1810
+ }
1811
+ advanceRight2(true);
1812
+ break;
1813
+ }
1814
+ default: {
1815
+ throw new Error(`Unsupported associativity: ${op.assoc}`);
1816
+ }
1767
1817
  }
1768
1818
  let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
1769
1819
  let wsOp = expandedOps[i - 1];
1770
1820
  let wsB = expandedOps[i + 1];
1771
- let b = end === i + 2 ? expandedOps[i + 2] : recurse(expandedOps.slice(i + 2, end + 1));
1821
+ let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
1822
+ if (op.assoc === "arguments") {
1823
+ let i2 = 2;
1824
+ while (i2 < b.length) {
1825
+ if (prec === getPrecedence(b[i2])) {
1826
+ if (!(b[i2].token === op.token)) {
1827
+ error ??= {
1828
+ type: "Error",
1829
+ message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
1830
+ };
1831
+ }
1832
+ b[i2] = ",";
1833
+ }
1834
+ i2 += 4;
1835
+ }
1836
+ } else {
1837
+ b = recurse(b);
1838
+ }
1772
1839
  if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
1773
1840
  a = ["typeof ", makeLeftHandSideExpression(a)];
1774
1841
  if (op.negated) {
@@ -1814,6 +1881,9 @@ function processBinaryOpExpression($0) {
1814
1881
  }
1815
1882
  if (op.negated)
1816
1883
  children.unshift("!");
1884
+ if (error != null) {
1885
+ children.push(error);
1886
+ }
1817
1887
  expandedOps.splice(start, end - start + 1, {
1818
1888
  children
1819
1889
  });
@@ -1944,6 +2014,8 @@ var init_op = __esm({
1944
2014
  "in",
1945
2015
  "instanceof"
1946
2016
  ],
2017
+ // NOTE: Extra in-between level for default custom operators
2018
+ ["custom"],
1947
2019
  ["<<", ">>", ">>>"],
1948
2020
  ["+", "-"],
1949
2021
  ["*", "/", "%"],
@@ -1960,7 +2032,7 @@ var init_op = __esm({
1960
2032
  }
1961
2033
  precedenceStep = 1 / 64;
1962
2034
  precedenceRelational = precedenceMap.get("==");
1963
- precedenceCustomDefault = precedenceStep + precedenceMap.get("==");
2035
+ precedenceCustomDefault = precedenceMap.get("custom");
1964
2036
  asConst = {
1965
2037
  ts: true,
1966
2038
  children: [" as const"]
@@ -2385,11 +2457,10 @@ function processDeclarationConditionStatement(s) {
2385
2457
  const { else: e } = s;
2386
2458
  const block = blockWithPrefix(condition.expression.blockPrefix, s.then);
2387
2459
  s.then = block;
2388
- const toAdd = [block];
2389
- if (block.bare && e) {
2390
- toAdd.push(";");
2460
+ if (block.bare && e && !block.semicolon) {
2461
+ block.children.push(block.semicolon = ";");
2391
2462
  }
2392
- s.children.splice(2, 1, ...toAdd);
2463
+ s.children.splice(2, 1, block);
2393
2464
  updateParentPointers(block, s);
2394
2465
  break;
2395
2466
  }
@@ -2524,7 +2595,9 @@ var init_unary = __esm({
2524
2595
 
2525
2596
  // source/parser/auto-dec.civet
2526
2597
  function findDecs(statements) {
2527
- const declarationNames = gatherNodes(statements, ({ type }) => type === "Declaration").flatMap((d) => d.names);
2598
+ const predicate = ($) => $.type === "Declaration";
2599
+ const declarations = gatherNodes(statements, predicate);
2600
+ const declarationNames = declarations.flatMap((d) => d.names);
2528
2601
  return new Set(declarationNames);
2529
2602
  }
2530
2603
  function createConstLetDecs(statements, scopes, letOrConst) {
@@ -2628,7 +2701,7 @@ function createVarDecs(statements, scopes, pushVar) {
2628
2701
  scopes.push(decs);
2629
2702
  const varIds = [];
2630
2703
  const assignmentStatements = findAssignments(statements, scopes);
2631
- const undeclaredIdentifiers = assignmentStatements.flatMap(($) => $?.names || []);
2704
+ const undeclaredIdentifiers = assignmentStatements.flatMap(($1) => $1?.names || []);
2632
2705
  undeclaredIdentifiers.filter((x, i, a) => {
2633
2706
  if (!hasDec(x))
2634
2707
  return a.indexOf(x) === i;
@@ -2663,7 +2736,7 @@ function createVarDecs(statements, scopes, pushVar) {
2663
2736
  children: ["var ", varIds.join(", ")]
2664
2737
  }, delimiter]);
2665
2738
  }
2666
- return scopes.pop();
2739
+ scopes.pop();
2667
2740
  }
2668
2741
  var init_auto_dec = __esm({
2669
2742
  "source/parser/auto-dec.civet"() {
@@ -4380,7 +4453,9 @@ var require_parser = __commonJS({
4380
4453
  AmpersandFunctionExpression,
4381
4454
  OperatorDeclaration,
4382
4455
  OperatorSignature,
4456
+ OperatorBehavior,
4383
4457
  OperatorPrecedence,
4458
+ OperatorAssociativity,
4384
4459
  AmpersandBlockRHS,
4385
4460
  AmpersandTypeSuffix,
4386
4461
  AmpersandBlockRHSBody,
@@ -4589,6 +4664,7 @@ var require_parser = __commonJS({
4589
4664
  ImportAssertion,
4590
4665
  TypeAndImportSpecifier,
4591
4666
  ImportSpecifier,
4667
+ OperatorImportSpecifier,
4592
4668
  ImportAsToken,
4593
4669
  ModuleExportName,
4594
4670
  ModuleSpecifier,
@@ -4981,197 +5057,202 @@ var require_parser = __commonJS({
4981
5057
  var $L26 = $L("tighter");
4982
5058
  var $L27 = $L("looser");
4983
5059
  var $L28 = $L("same");
4984
- var $L29 = $L("->");
4985
- var $L30 = $L("\u2192");
4986
- var $L31 = $L("}");
4987
- var $L32 = $L("null");
4988
- var $L33 = $L("true");
4989
- var $L34 = $L("false");
4990
- var $L35 = $L("yes");
4991
- var $L36 = $L("on");
4992
- var $L37 = $L("no");
4993
- var $L38 = $L("off");
4994
- var $L39 = $L(">");
4995
- var $L40 = $L("]");
4996
- var $L41 = $L("**=");
4997
- var $L42 = $L("*=");
4998
- var $L43 = $L("/=");
4999
- var $L44 = $L("%=");
5000
- var $L45 = $L("+=");
5001
- var $L46 = $L("-=");
5002
- var $L47 = $L("<<=");
5003
- var $L48 = $L(">>>=");
5004
- var $L49 = $L(">>=");
5005
- var $L50 = $L("&&=");
5006
- var $L51 = $L("&=");
5007
- var $L52 = $L("^=");
5008
- var $L53 = $L("||=");
5009
- var $L54 = $L("|=");
5010
- var $L55 = $L("??=");
5011
- var $L56 = $L("?=");
5012
- var $L57 = $L("and=");
5013
- var $L58 = $L("or=");
5014
- var $L59 = $L("**");
5015
- var $L60 = $L("*");
5016
- var $L61 = $L("/");
5017
- var $L62 = $L("%%");
5018
- var $L63 = $L("%");
5019
- var $L64 = $L("+");
5020
- var $L65 = $L("<=");
5021
- var $L66 = $L("\u2264");
5022
- var $L67 = $L(">=");
5023
- var $L68 = $L("\u2265");
5024
- var $L69 = $L("<?");
5025
- var $L70 = $L("!<?");
5026
- var $L71 = $L("<<");
5027
- var $L72 = $L("\xAB");
5028
- var $L73 = $L(">>>");
5029
- var $L74 = $L("\u22D9");
5030
- var $L75 = $L(">>");
5031
- var $L76 = $L("\xBB");
5032
- var $L77 = $L("!==");
5033
- var $L78 = $L("\u2262");
5034
- var $L79 = $L("!=");
5035
- var $L80 = $L("\u2260");
5036
- var $L81 = $L("isnt");
5037
- var $L82 = $L("===");
5038
- var $L83 = $L("\u2263");
5039
- var $L84 = $L("\u2A76");
5040
- var $L85 = $L("==");
5041
- var $L86 = $L("\u2261");
5042
- var $L87 = $L("\u2A75");
5043
- var $L88 = $L("and");
5044
- var $L89 = $L("&&");
5045
- var $L90 = $L("or");
5046
- var $L91 = $L("||");
5047
- var $L92 = $L("\u2016");
5048
- var $L93 = $L("^^");
5049
- var $L94 = $L("xor");
5050
- var $L95 = $L("xnor");
5051
- var $L96 = $L("??");
5052
- var $L97 = $L("\u2047");
5053
- var $L98 = $L("instanceof");
5054
- var $L99 = $L("\u2208");
5055
- var $L100 = $L("\u220B");
5056
- var $L101 = $L("\u220C");
5057
- var $L102 = $L("\u2209");
5058
- var $L103 = $L("&");
5059
- var $L104 = $L("|");
5060
- var $L105 = $L("$:");
5061
- var $L106 = $L(";");
5062
- var $L107 = $L("break");
5063
- var $L108 = $L("continue");
5064
- var $L109 = $L("debugger");
5065
- var $L110 = $L("require");
5066
- var $L111 = $L("with");
5067
- var $L112 = $L("assert");
5068
- var $L113 = $L(":=");
5069
- var $L114 = $L("\u2254");
5070
- var $L115 = $L(".=");
5071
- var $L116 = $L("::=");
5072
- var $L117 = $L("/*");
5073
- var $L118 = $L("*/");
5074
- var $L119 = $L("\\");
5075
- var $L120 = $L(")");
5076
- var $L121 = $L("abstract");
5077
- var $L122 = $L("as");
5078
- var $L123 = $L("@");
5079
- var $L124 = $L("@@");
5080
- var $L125 = $L("async");
5081
- var $L126 = $L("await");
5082
- var $L127 = $L("`");
5083
- var $L128 = $L("by");
5084
- var $L129 = $L("case");
5085
- var $L130 = $L("catch");
5086
- var $L131 = $L("class");
5087
- var $L132 = $L("#{");
5088
- var $L133 = $L("declare");
5089
- var $L134 = $L("default");
5090
- var $L135 = $L("delete");
5091
- var $L136 = $L("do");
5092
- var $L137 = $L("..");
5093
- var $L138 = $L("\u2025");
5094
- var $L139 = $L("...");
5095
- var $L140 = $L("\u2026");
5096
- var $L141 = $L("::");
5097
- var $L142 = $L('"');
5098
- var $L143 = $L("each");
5099
- var $L144 = $L("else");
5100
- var $L145 = $L("!");
5101
- var $L146 = $L("export");
5102
- var $L147 = $L("extends");
5103
- var $L148 = $L("finally");
5104
- var $L149 = $L("for");
5105
- var $L150 = $L("from");
5106
- var $L151 = $L("function");
5107
- var $L152 = $L("get");
5108
- var $L153 = $L("set");
5109
- var $L154 = $L("#");
5110
- var $L155 = $L("if");
5111
- var $L156 = $L("in");
5112
- var $L157 = $L("infer");
5113
- var $L158 = $L("let");
5114
- var $L159 = $L("const");
5115
- var $L160 = $L("is");
5116
- var $L161 = $L("loop");
5117
- var $L162 = $L("new");
5118
- var $L163 = $L("not");
5119
- var $L164 = $L("of");
5120
- var $L165 = $L("[");
5121
- var $L166 = $L("operator");
5122
- var $L167 = $L("own");
5123
- var $L168 = $L("public");
5124
- var $L169 = $L("private");
5125
- var $L170 = $L("protected");
5126
- var $L171 = $L("||>");
5127
- var $L172 = $L("|\u25B7");
5128
- var $L173 = $L("|>=");
5129
- var $L174 = $L("\u25B7=");
5130
- var $L175 = $L("|>");
5131
- var $L176 = $L("\u25B7");
5132
- var $L177 = $L("readonly");
5133
- var $L178 = $L("return");
5134
- var $L179 = $L("satisfies");
5135
- var $L180 = $L("'");
5136
- var $L181 = $L("static");
5137
- var $L182 = $L("${");
5138
- var $L183 = $L("super");
5139
- var $L184 = $L("switch");
5140
- var $L185 = $L("target");
5141
- var $L186 = $L("then");
5142
- var $L187 = $L("this");
5143
- var $L188 = $L("throw");
5144
- var $L189 = $L('"""');
5145
- var $L190 = $L("'''");
5146
- var $L191 = $L("///");
5147
- var $L192 = $L("```");
5148
- var $L193 = $L("try");
5149
- var $L194 = $L("typeof");
5150
- var $L195 = $L("unless");
5151
- var $L196 = $L("until");
5152
- var $L197 = $L("using");
5153
- var $L198 = $L("var");
5154
- var $L199 = $L("void");
5155
- var $L200 = $L("when");
5156
- var $L201 = $L("while");
5157
- var $L202 = $L("yield");
5158
- var $L203 = $L("/>");
5159
- var $L204 = $L("</");
5160
- var $L205 = $L("<>");
5161
- var $L206 = $L("</>");
5162
- var $L207 = $L("<!--");
5163
- var $L208 = $L("-->");
5164
- var $L209 = $L("type");
5165
- var $L210 = $L("enum");
5166
- var $L211 = $L("interface");
5167
- var $L212 = $L("global");
5168
- var $L213 = $L("module");
5169
- var $L214 = $L("namespace");
5170
- var $L215 = $L("asserts");
5171
- var $L216 = $L("keyof");
5172
- var $L217 = $L("???");
5173
- var $L218 = $L("[]");
5174
- var $L219 = $L("civet");
5060
+ var $L29 = $L("left");
5061
+ var $L30 = $L("right");
5062
+ var $L31 = $L("non");
5063
+ var $L32 = $L("relational");
5064
+ var $L33 = $L("arguments");
5065
+ var $L34 = $L("->");
5066
+ var $L35 = $L("\u2192");
5067
+ var $L36 = $L("}");
5068
+ var $L37 = $L("null");
5069
+ var $L38 = $L("true");
5070
+ var $L39 = $L("false");
5071
+ var $L40 = $L("yes");
5072
+ var $L41 = $L("on");
5073
+ var $L42 = $L("no");
5074
+ var $L43 = $L("off");
5075
+ var $L44 = $L(">");
5076
+ var $L45 = $L("]");
5077
+ var $L46 = $L("**=");
5078
+ var $L47 = $L("*=");
5079
+ var $L48 = $L("/=");
5080
+ var $L49 = $L("%=");
5081
+ var $L50 = $L("+=");
5082
+ var $L51 = $L("-=");
5083
+ var $L52 = $L("<<=");
5084
+ var $L53 = $L(">>>=");
5085
+ var $L54 = $L(">>=");
5086
+ var $L55 = $L("&&=");
5087
+ var $L56 = $L("&=");
5088
+ var $L57 = $L("^=");
5089
+ var $L58 = $L("||=");
5090
+ var $L59 = $L("|=");
5091
+ var $L60 = $L("??=");
5092
+ var $L61 = $L("?=");
5093
+ var $L62 = $L("and=");
5094
+ var $L63 = $L("or=");
5095
+ var $L64 = $L("**");
5096
+ var $L65 = $L("*");
5097
+ var $L66 = $L("/");
5098
+ var $L67 = $L("%%");
5099
+ var $L68 = $L("%");
5100
+ var $L69 = $L("+");
5101
+ var $L70 = $L("<=");
5102
+ var $L71 = $L("\u2264");
5103
+ var $L72 = $L(">=");
5104
+ var $L73 = $L("\u2265");
5105
+ var $L74 = $L("<?");
5106
+ var $L75 = $L("!<?");
5107
+ var $L76 = $L("<<");
5108
+ var $L77 = $L("\xAB");
5109
+ var $L78 = $L(">>>");
5110
+ var $L79 = $L("\u22D9");
5111
+ var $L80 = $L(">>");
5112
+ var $L81 = $L("\xBB");
5113
+ var $L82 = $L("!==");
5114
+ var $L83 = $L("\u2262");
5115
+ var $L84 = $L("!=");
5116
+ var $L85 = $L("\u2260");
5117
+ var $L86 = $L("isnt");
5118
+ var $L87 = $L("===");
5119
+ var $L88 = $L("\u2263");
5120
+ var $L89 = $L("\u2A76");
5121
+ var $L90 = $L("==");
5122
+ var $L91 = $L("\u2261");
5123
+ var $L92 = $L("\u2A75");
5124
+ var $L93 = $L("and");
5125
+ var $L94 = $L("&&");
5126
+ var $L95 = $L("or");
5127
+ var $L96 = $L("||");
5128
+ var $L97 = $L("\u2016");
5129
+ var $L98 = $L("^^");
5130
+ var $L99 = $L("xor");
5131
+ var $L100 = $L("xnor");
5132
+ var $L101 = $L("??");
5133
+ var $L102 = $L("\u2047");
5134
+ var $L103 = $L("instanceof");
5135
+ var $L104 = $L("\u2208");
5136
+ var $L105 = $L("\u220B");
5137
+ var $L106 = $L("\u220C");
5138
+ var $L107 = $L("\u2209");
5139
+ var $L108 = $L("&");
5140
+ var $L109 = $L("|");
5141
+ var $L110 = $L("$:");
5142
+ var $L111 = $L(";");
5143
+ var $L112 = $L("break");
5144
+ var $L113 = $L("continue");
5145
+ var $L114 = $L("debugger");
5146
+ var $L115 = $L("require");
5147
+ var $L116 = $L("with");
5148
+ var $L117 = $L("assert");
5149
+ var $L118 = $L(":=");
5150
+ var $L119 = $L("\u2254");
5151
+ var $L120 = $L(".=");
5152
+ var $L121 = $L("::=");
5153
+ var $L122 = $L("/*");
5154
+ var $L123 = $L("*/");
5155
+ var $L124 = $L("\\");
5156
+ var $L125 = $L(")");
5157
+ var $L126 = $L("abstract");
5158
+ var $L127 = $L("as");
5159
+ var $L128 = $L("@");
5160
+ var $L129 = $L("@@");
5161
+ var $L130 = $L("async");
5162
+ var $L131 = $L("await");
5163
+ var $L132 = $L("`");
5164
+ var $L133 = $L("by");
5165
+ var $L134 = $L("case");
5166
+ var $L135 = $L("catch");
5167
+ var $L136 = $L("class");
5168
+ var $L137 = $L("#{");
5169
+ var $L138 = $L("declare");
5170
+ var $L139 = $L("default");
5171
+ var $L140 = $L("delete");
5172
+ var $L141 = $L("do");
5173
+ var $L142 = $L("..");
5174
+ var $L143 = $L("\u2025");
5175
+ var $L144 = $L("...");
5176
+ var $L145 = $L("\u2026");
5177
+ var $L146 = $L("::");
5178
+ var $L147 = $L('"');
5179
+ var $L148 = $L("each");
5180
+ var $L149 = $L("else");
5181
+ var $L150 = $L("!");
5182
+ var $L151 = $L("export");
5183
+ var $L152 = $L("extends");
5184
+ var $L153 = $L("finally");
5185
+ var $L154 = $L("for");
5186
+ var $L155 = $L("from");
5187
+ var $L156 = $L("function");
5188
+ var $L157 = $L("get");
5189
+ var $L158 = $L("set");
5190
+ var $L159 = $L("#");
5191
+ var $L160 = $L("if");
5192
+ var $L161 = $L("in");
5193
+ var $L162 = $L("infer");
5194
+ var $L163 = $L("let");
5195
+ var $L164 = $L("const");
5196
+ var $L165 = $L("is");
5197
+ var $L166 = $L("loop");
5198
+ var $L167 = $L("new");
5199
+ var $L168 = $L("not");
5200
+ var $L169 = $L("of");
5201
+ var $L170 = $L("[");
5202
+ var $L171 = $L("operator");
5203
+ var $L172 = $L("own");
5204
+ var $L173 = $L("public");
5205
+ var $L174 = $L("private");
5206
+ var $L175 = $L("protected");
5207
+ var $L176 = $L("||>");
5208
+ var $L177 = $L("|\u25B7");
5209
+ var $L178 = $L("|>=");
5210
+ var $L179 = $L("\u25B7=");
5211
+ var $L180 = $L("|>");
5212
+ var $L181 = $L("\u25B7");
5213
+ var $L182 = $L("readonly");
5214
+ var $L183 = $L("return");
5215
+ var $L184 = $L("satisfies");
5216
+ var $L185 = $L("'");
5217
+ var $L186 = $L("static");
5218
+ var $L187 = $L("${");
5219
+ var $L188 = $L("super");
5220
+ var $L189 = $L("switch");
5221
+ var $L190 = $L("target");
5222
+ var $L191 = $L("then");
5223
+ var $L192 = $L("this");
5224
+ var $L193 = $L("throw");
5225
+ var $L194 = $L('"""');
5226
+ var $L195 = $L("'''");
5227
+ var $L196 = $L("///");
5228
+ var $L197 = $L("```");
5229
+ var $L198 = $L("try");
5230
+ var $L199 = $L("typeof");
5231
+ var $L200 = $L("unless");
5232
+ var $L201 = $L("until");
5233
+ var $L202 = $L("using");
5234
+ var $L203 = $L("var");
5235
+ var $L204 = $L("void");
5236
+ var $L205 = $L("when");
5237
+ var $L206 = $L("while");
5238
+ var $L207 = $L("yield");
5239
+ var $L208 = $L("/>");
5240
+ var $L209 = $L("</");
5241
+ var $L210 = $L("<>");
5242
+ var $L211 = $L("</>");
5243
+ var $L212 = $L("<!--");
5244
+ var $L213 = $L("-->");
5245
+ var $L214 = $L("type");
5246
+ var $L215 = $L("enum");
5247
+ var $L216 = $L("interface");
5248
+ var $L217 = $L("global");
5249
+ var $L218 = $L("module");
5250
+ var $L219 = $L("namespace");
5251
+ var $L220 = $L("asserts");
5252
+ var $L221 = $L("keyof");
5253
+ var $L222 = $L("???");
5254
+ var $L223 = $L("[]");
5255
+ var $L224 = $L("civet");
5175
5256
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
5176
5257
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
5177
5258
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -7560,12 +7641,12 @@ var require_parser = __commonJS({
7560
7641
  function AmpersandFunctionExpression(ctx, state) {
7561
7642
  return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
7562
7643
  }
7563
- var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorPrecedence), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
7644
+ var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
7564
7645
  var op = $1;
7565
- var prec = $2;
7646
+ var behavior = $2;
7566
7647
  var w = $3;
7567
7648
  var decl = $4;
7568
- decl.names.forEach((name) => module.operators.set(name, prec));
7649
+ decl.names.forEach((name) => module.operators.set(name, behavior));
7569
7650
  return {
7570
7651
  ...decl,
7571
7652
  children: [insertTrimmingSpace(w, ""), ...decl.children]
@@ -7574,7 +7655,7 @@ var require_parser = __commonJS({
7574
7655
  var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
7575
7656
  var signature = $1;
7576
7657
  var block = $2;
7577
- module.operators.set(signature.id.name, signature.prec);
7658
+ module.operators.set(signature.id.name, signature.behavior);
7578
7659
  return {
7579
7660
  ...signature,
7580
7661
  type: "FunctionExpression",
@@ -7584,15 +7665,14 @@ var require_parser = __commonJS({
7584
7665
  operator: true
7585
7666
  };
7586
7667
  });
7587
- var OperatorDeclaration$2 = $TS($S(Operator, $E(OperatorPrecedence), _, Identifier, $E(OperatorPrecedence), $Q($S(CommaDelimiter, $E(_), Identifier, $E(OperatorPrecedence)))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7668
+ var OperatorDeclaration$2 = $TS($S(Operator, _, Identifier, $E(OperatorBehavior), $Q($S(CommaDelimiter, $E(_), Identifier, $E(OperatorBehavior)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7588
7669
  var op = $1;
7589
- var defaultPrec = $2;
7590
- var w1 = $3;
7591
- var id = $4;
7592
- var prec = $5;
7593
- var ids = $6;
7594
- module.operators.set(id.name, prec ?? defaultPrec);
7595
- ids.forEach(([, , id2, prec2]) => module.operators.set(id2.name, prec2 ?? defaultPrec));
7670
+ var w1 = $2;
7671
+ var id = $3;
7672
+ var behavior = $4;
7673
+ var ids = $5;
7674
+ module.operators.set(id.name, behavior);
7675
+ ids.forEach(([, , id2, behavior2]) => module.operators.set(id2.name, behavior2));
7596
7676
  return {
7597
7677
  id,
7598
7678
  children: []
@@ -7602,16 +7682,15 @@ var require_parser = __commonJS({
7602
7682
  function OperatorDeclaration(ctx, state) {
7603
7683
  return $EVENT_C(ctx, state, "OperatorDeclaration", OperatorDeclaration$$);
7604
7684
  }
7605
- var OperatorSignature$0 = $TS($S(Operator, $E(OperatorPrecedence), $E($S(_, Function)), _, Identifier, $E(OperatorPrecedence), $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7685
+ var OperatorSignature$0 = $TS($S(Operator, $E($S(_, Function)), _, Identifier, $E(OperatorBehavior), $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
7606
7686
  var op = $1;
7607
- var prec1 = $2;
7608
- var func = $3;
7609
- var w1 = $4;
7610
- var id = $5;
7611
- var prec2 = $6;
7612
- var w2 = $7;
7613
- var parameters = $8;
7614
- var suffix = $9;
7687
+ var func = $2;
7688
+ var w1 = $3;
7689
+ var id = $4;
7690
+ var behavior = $5;
7691
+ var w2 = $6;
7692
+ var parameters = $7;
7693
+ var suffix = $8;
7615
7694
  if (!func) {
7616
7695
  func = { $loc: op.$loc, token: "function" };
7617
7696
  } else {
@@ -7626,16 +7705,26 @@ var require_parser = __commonJS({
7626
7705
  ts: false,
7627
7706
  block: null,
7628
7707
  children: [func, w1, id, w2, parameters, suffix],
7629
- prec: prec2 ?? prec1
7708
+ behavior
7630
7709
  };
7631
7710
  });
7632
7711
  function OperatorSignature(ctx, state) {
7633
7712
  return $EVENT(ctx, state, "OperatorSignature", OperatorSignature$0);
7634
7713
  }
7714
+ var OperatorBehavior$0 = $TS($S(OperatorPrecedence, $E(OperatorAssociativity)), function($skip, $loc, $0, $1, $2) {
7715
+ return { ...$1, ...$2 };
7716
+ });
7717
+ var OperatorBehavior$1 = $TS($S(OperatorAssociativity, $E(OperatorPrecedence)), function($skip, $loc, $0, $1, $2) {
7718
+ return { ...$1, ...$2 };
7719
+ });
7720
+ var OperatorBehavior$$ = [OperatorBehavior$0, OperatorBehavior$1];
7721
+ function OperatorBehavior(ctx, state) {
7722
+ return $EVENT_C(ctx, state, "OperatorBehavior", OperatorBehavior$$);
7723
+ }
7635
7724
  var OperatorPrecedence$0 = $TS($S($E(_), $C($EXPECT($L26, 'OperatorPrecedence "tighter"'), $EXPECT($L27, 'OperatorPrecedence "looser"'), $EXPECT($L28, 'OperatorPrecedence "same"')), NonIdContinue, $E(_), $C(Identifier, $S(OpenParen, BinaryOp, CloseParen))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7636
7725
  var mod = $2;
7637
7726
  var op = $5;
7638
- let prec = op.type === "Identifier" ? module.operators.get(op.name) : getPrecedence(op[1]);
7727
+ let prec = op.type === "Identifier" ? module.operators.get(op.name).prec : getPrecedence(op[1]);
7639
7728
  switch (mod) {
7640
7729
  case "tighter":
7641
7730
  prec += 1 / 64;
@@ -7644,11 +7733,21 @@ var require_parser = __commonJS({
7644
7733
  prec -= 1 / 64;
7645
7734
  break;
7646
7735
  }
7647
- return prec;
7736
+ return { prec };
7648
7737
  });
7649
7738
  function OperatorPrecedence(ctx, state) {
7650
7739
  return $EVENT(ctx, state, "OperatorPrecedence", OperatorPrecedence$0);
7651
7740
  }
7741
+ var OperatorAssociativity$0 = $TS($S($E(_), $C($EXPECT($L29, 'OperatorAssociativity "left"'), $EXPECT($L30, 'OperatorAssociativity "right"'), $EXPECT($L31, 'OperatorAssociativity "non"'), $EXPECT($L32, 'OperatorAssociativity "relational"'), $EXPECT($L33, 'OperatorAssociativity "arguments"')), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
7742
+ var assoc = $2;
7743
+ if (assoc === "relational") {
7744
+ return { relational: true, assoc: "non" };
7745
+ }
7746
+ return { assoc };
7747
+ });
7748
+ function OperatorAssociativity(ctx, state) {
7749
+ return $EVENT(ctx, state, "OperatorAssociativity", OperatorAssociativity$0);
7750
+ }
7652
7751
  var AmpersandBlockRHS$0 = $TS($S(ForbidTrailingMemberProperty, $E(AmpersandBlockRHSBody), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
7653
7752
  if (!$2)
7654
7753
  return $skip;
@@ -7754,7 +7853,7 @@ var require_parser = __commonJS({
7754
7853
  function ThinArrowFunction(ctx, state) {
7755
7854
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7756
7855
  }
7757
- var Arrow$0 = $TV($C($EXPECT($L29, 'Arrow "->"'), $EXPECT($L30, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7856
+ var Arrow$0 = $TV($C($EXPECT($L34, 'Arrow "->"'), $EXPECT($L35, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7758
7857
  return { $loc, token: "->" };
7759
7858
  });
7760
7859
  function Arrow(ctx, state) {
@@ -8054,7 +8153,7 @@ var require_parser = __commonJS({
8054
8153
  }
8055
8154
  var BracedContent$0 = NestedBlockStatements;
8056
8155
  var BracedContent$1 = SingleLineStatements;
8057
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L31, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8156
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L36, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8058
8157
  const expressions = [];
8059
8158
  return {
8060
8159
  type: "BlockStatement",
@@ -8124,7 +8223,7 @@ var require_parser = __commonJS({
8124
8223
  function LiteralContent(ctx, state) {
8125
8224
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
8126
8225
  }
8127
- var NullLiteral$0 = $TS($S($EXPECT($L32, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8226
+ var NullLiteral$0 = $TS($S($EXPECT($L37, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8128
8227
  return { $loc, token: $1 };
8129
8228
  });
8130
8229
  function NullLiteral(ctx, state) {
@@ -8139,17 +8238,17 @@ var require_parser = __commonJS({
8139
8238
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
8140
8239
  return value[1];
8141
8240
  });
8142
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L33, '_BooleanLiteral "true"'), $EXPECT($L34, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8241
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L38, '_BooleanLiteral "true"'), $EXPECT($L39, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8143
8242
  return { $loc, token: $1 };
8144
8243
  });
8145
8244
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
8146
8245
  function _BooleanLiteral(ctx, state) {
8147
8246
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
8148
8247
  }
8149
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L35, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L36, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8248
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L40, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L41, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8150
8249
  return { $loc, token: "true" };
8151
8250
  });
8152
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L37, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L38, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8251
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L42, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L43, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8153
8252
  return { $loc, token: "false" };
8154
8253
  });
8155
8254
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
@@ -8181,7 +8280,7 @@ var require_parser = __commonJS({
8181
8280
  function IdentifierReference(ctx, state) {
8182
8281
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
8183
8282
  }
8184
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L39, 'UpcomingAssignment ">"')))));
8283
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L44, 'UpcomingAssignment ">"')))));
8185
8284
  function UpcomingAssignment(ctx, state) {
8186
8285
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
8187
8286
  }
@@ -8339,7 +8438,7 @@ var require_parser = __commonJS({
8339
8438
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
8340
8439
  }
8341
8440
  var ArrayElementDelimiter$0 = $S(__, Comma);
8342
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L40, 'ArrayElementDelimiter "]"')));
8441
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L45, 'ArrayElementDelimiter "]"')));
8343
8442
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8344
8443
  return value[1];
8345
8444
  });
@@ -8593,7 +8692,7 @@ var require_parser = __commonJS({
8593
8692
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
8594
8693
  }
8595
8694
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8596
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L31, 'ObjectPropertyDelimiter "}"')));
8695
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ObjectPropertyDelimiter "}"')));
8597
8696
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8598
8697
  return value[1];
8599
8698
  });
@@ -9090,10 +9189,10 @@ var require_parser = __commonJS({
9090
9189
  function OperatorAssignmentOp(ctx, state) {
9091
9190
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
9092
9191
  }
9093
- var AssignmentOpSymbol$0 = $EXPECT($L41, 'AssignmentOpSymbol "**="');
9094
- var AssignmentOpSymbol$1 = $EXPECT($L42, 'AssignmentOpSymbol "*="');
9095
- var AssignmentOpSymbol$2 = $EXPECT($L43, 'AssignmentOpSymbol "/="');
9096
- var AssignmentOpSymbol$3 = $EXPECT($L44, 'AssignmentOpSymbol "%="');
9192
+ var AssignmentOpSymbol$0 = $EXPECT($L46, 'AssignmentOpSymbol "**="');
9193
+ var AssignmentOpSymbol$1 = $EXPECT($L47, 'AssignmentOpSymbol "*="');
9194
+ var AssignmentOpSymbol$2 = $EXPECT($L48, 'AssignmentOpSymbol "/="');
9195
+ var AssignmentOpSymbol$3 = $EXPECT($L49, 'AssignmentOpSymbol "%="');
9097
9196
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
9098
9197
  return {
9099
9198
  special: true,
@@ -9102,18 +9201,18 @@ var require_parser = __commonJS({
9102
9201
  children: [$2]
9103
9202
  };
9104
9203
  });
9105
- var AssignmentOpSymbol$5 = $EXPECT($L45, 'AssignmentOpSymbol "+="');
9106
- var AssignmentOpSymbol$6 = $EXPECT($L46, 'AssignmentOpSymbol "-="');
9107
- var AssignmentOpSymbol$7 = $EXPECT($L47, 'AssignmentOpSymbol "<<="');
9108
- var AssignmentOpSymbol$8 = $EXPECT($L48, 'AssignmentOpSymbol ">>>="');
9109
- var AssignmentOpSymbol$9 = $EXPECT($L49, 'AssignmentOpSymbol ">>="');
9110
- var AssignmentOpSymbol$10 = $EXPECT($L50, 'AssignmentOpSymbol "&&="');
9111
- var AssignmentOpSymbol$11 = $EXPECT($L51, 'AssignmentOpSymbol "&="');
9112
- var AssignmentOpSymbol$12 = $EXPECT($L52, 'AssignmentOpSymbol "^="');
9113
- var AssignmentOpSymbol$13 = $EXPECT($L53, 'AssignmentOpSymbol "||="');
9114
- var AssignmentOpSymbol$14 = $EXPECT($L54, 'AssignmentOpSymbol "|="');
9115
- var AssignmentOpSymbol$15 = $EXPECT($L55, 'AssignmentOpSymbol "??="');
9116
- var AssignmentOpSymbol$16 = $T($EXPECT($L56, 'AssignmentOpSymbol "?="'), function(value) {
9204
+ var AssignmentOpSymbol$5 = $EXPECT($L50, 'AssignmentOpSymbol "+="');
9205
+ var AssignmentOpSymbol$6 = $EXPECT($L51, 'AssignmentOpSymbol "-="');
9206
+ var AssignmentOpSymbol$7 = $EXPECT($L52, 'AssignmentOpSymbol "<<="');
9207
+ var AssignmentOpSymbol$8 = $EXPECT($L53, 'AssignmentOpSymbol ">>>="');
9208
+ var AssignmentOpSymbol$9 = $EXPECT($L54, 'AssignmentOpSymbol ">>="');
9209
+ var AssignmentOpSymbol$10 = $EXPECT($L55, 'AssignmentOpSymbol "&&="');
9210
+ var AssignmentOpSymbol$11 = $EXPECT($L56, 'AssignmentOpSymbol "&="');
9211
+ var AssignmentOpSymbol$12 = $EXPECT($L57, 'AssignmentOpSymbol "^="');
9212
+ var AssignmentOpSymbol$13 = $EXPECT($L58, 'AssignmentOpSymbol "||="');
9213
+ var AssignmentOpSymbol$14 = $EXPECT($L59, 'AssignmentOpSymbol "|="');
9214
+ var AssignmentOpSymbol$15 = $EXPECT($L60, 'AssignmentOpSymbol "??="');
9215
+ var AssignmentOpSymbol$16 = $T($EXPECT($L61, 'AssignmentOpSymbol "?="'), function(value) {
9117
9216
  return "??=";
9118
9217
  });
9119
9218
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -9126,10 +9225,10 @@ var require_parser = __commonJS({
9126
9225
  function AssignmentOpSymbol(ctx, state) {
9127
9226
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
9128
9227
  }
9129
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L57, 'CoffeeWordAssignmentOp "and="'), function(value) {
9228
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L62, 'CoffeeWordAssignmentOp "and="'), function(value) {
9130
9229
  return "&&=";
9131
9230
  });
9132
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L58, 'CoffeeWordAssignmentOp "or="'), function(value) {
9231
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "or="'), function(value) {
9133
9232
  return "||=";
9134
9233
  });
9135
9234
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -9182,7 +9281,7 @@ var require_parser = __commonJS({
9182
9281
  return {
9183
9282
  call: id,
9184
9283
  special: true,
9185
- prec: module.operators.get(id.name)
9284
+ ...module.operators.get(id.name)
9186
9285
  };
9187
9286
  });
9188
9287
  var _BinaryOp$2 = $TS($S(OmittedNegation, __, Identifier), function($skip, $loc, $0, $1, $2, $3) {
@@ -9193,40 +9292,40 @@ var require_parser = __commonJS({
9193
9292
  call: id,
9194
9293
  special: true,
9195
9294
  negated: true,
9196
- prec: module.operators.get(id.name)
9295
+ ...module.operators.get(id.name)
9197
9296
  };
9198
9297
  });
9199
9298
  var _BinaryOp$$ = [_BinaryOp$0, _BinaryOp$1, _BinaryOp$2];
9200
9299
  function _BinaryOp(ctx, state) {
9201
9300
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
9202
9301
  }
9203
- var BinaryOpSymbol$0 = $EXPECT($L59, 'BinaryOpSymbol "**"');
9204
- var BinaryOpSymbol$1 = $EXPECT($L60, 'BinaryOpSymbol "*"');
9205
- var BinaryOpSymbol$2 = $EXPECT($L61, 'BinaryOpSymbol "/"');
9206
- var BinaryOpSymbol$3 = $TV($EXPECT($L62, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9302
+ var BinaryOpSymbol$0 = $EXPECT($L64, 'BinaryOpSymbol "**"');
9303
+ var BinaryOpSymbol$1 = $EXPECT($L65, 'BinaryOpSymbol "*"');
9304
+ var BinaryOpSymbol$2 = $EXPECT($L66, 'BinaryOpSymbol "/"');
9305
+ var BinaryOpSymbol$3 = $TV($EXPECT($L67, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9207
9306
  return {
9208
9307
  call: module.getRef("modulo"),
9209
9308
  special: true
9210
9309
  };
9211
9310
  });
9212
- var BinaryOpSymbol$4 = $EXPECT($L63, 'BinaryOpSymbol "%"');
9311
+ var BinaryOpSymbol$4 = $EXPECT($L68, 'BinaryOpSymbol "%"');
9213
9312
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
9214
9313
  return {
9215
9314
  method: "concat",
9216
9315
  special: true
9217
9316
  };
9218
9317
  });
9219
- var BinaryOpSymbol$6 = $EXPECT($L64, 'BinaryOpSymbol "+"');
9318
+ var BinaryOpSymbol$6 = $EXPECT($L69, 'BinaryOpSymbol "+"');
9220
9319
  var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
9221
- var BinaryOpSymbol$8 = $EXPECT($L65, 'BinaryOpSymbol "<="');
9222
- var BinaryOpSymbol$9 = $T($EXPECT($L66, 'BinaryOpSymbol "\u2264"'), function(value) {
9320
+ var BinaryOpSymbol$8 = $EXPECT($L70, 'BinaryOpSymbol "<="');
9321
+ var BinaryOpSymbol$9 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
9223
9322
  return "<=";
9224
9323
  });
9225
- var BinaryOpSymbol$10 = $EXPECT($L67, 'BinaryOpSymbol ">="');
9226
- var BinaryOpSymbol$11 = $T($EXPECT($L68, 'BinaryOpSymbol "\u2265"'), function(value) {
9324
+ var BinaryOpSymbol$10 = $EXPECT($L72, 'BinaryOpSymbol ">="');
9325
+ var BinaryOpSymbol$11 = $T($EXPECT($L73, 'BinaryOpSymbol "\u2265"'), function(value) {
9227
9326
  return ">=";
9228
9327
  });
9229
- var BinaryOpSymbol$12 = $TV($EXPECT($L69, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9328
+ var BinaryOpSymbol$12 = $TV($EXPECT($L74, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9230
9329
  return {
9231
9330
  $loc,
9232
9331
  token: "instanceof",
@@ -9234,7 +9333,7 @@ var require_parser = __commonJS({
9234
9333
  special: true
9235
9334
  };
9236
9335
  });
9237
- var BinaryOpSymbol$13 = $TV($EXPECT($L70, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9336
+ var BinaryOpSymbol$13 = $TV($EXPECT($L75, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9238
9337
  return {
9239
9338
  $loc,
9240
9339
  token: "instanceof",
@@ -9243,76 +9342,76 @@ var require_parser = __commonJS({
9243
9342
  negated: true
9244
9343
  };
9245
9344
  });
9246
- var BinaryOpSymbol$14 = $EXPECT($L71, 'BinaryOpSymbol "<<"');
9247
- var BinaryOpSymbol$15 = $T($EXPECT($L72, 'BinaryOpSymbol "\xAB"'), function(value) {
9345
+ var BinaryOpSymbol$14 = $EXPECT($L76, 'BinaryOpSymbol "<<"');
9346
+ var BinaryOpSymbol$15 = $T($EXPECT($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
9248
9347
  return "<<";
9249
9348
  });
9250
9349
  var BinaryOpSymbol$16 = $EXPECT($L16, 'BinaryOpSymbol "<"');
9251
- var BinaryOpSymbol$17 = $EXPECT($L73, 'BinaryOpSymbol ">>>"');
9252
- var BinaryOpSymbol$18 = $T($EXPECT($L74, 'BinaryOpSymbol "\u22D9"'), function(value) {
9350
+ var BinaryOpSymbol$17 = $EXPECT($L78, 'BinaryOpSymbol ">>>"');
9351
+ var BinaryOpSymbol$18 = $T($EXPECT($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
9253
9352
  return ">>>";
9254
9353
  });
9255
- var BinaryOpSymbol$19 = $EXPECT($L75, 'BinaryOpSymbol ">>"');
9256
- var BinaryOpSymbol$20 = $T($EXPECT($L76, 'BinaryOpSymbol "\xBB"'), function(value) {
9354
+ var BinaryOpSymbol$19 = $EXPECT($L80, 'BinaryOpSymbol ">>"');
9355
+ var BinaryOpSymbol$20 = $T($EXPECT($L81, 'BinaryOpSymbol "\xBB"'), function(value) {
9257
9356
  return ">>";
9258
9357
  });
9259
- var BinaryOpSymbol$21 = $EXPECT($L39, 'BinaryOpSymbol ">"');
9260
- var BinaryOpSymbol$22 = $EXPECT($L77, 'BinaryOpSymbol "!=="');
9261
- var BinaryOpSymbol$23 = $T($EXPECT($L78, 'BinaryOpSymbol "\u2262"'), function(value) {
9358
+ var BinaryOpSymbol$21 = $EXPECT($L44, 'BinaryOpSymbol ">"');
9359
+ var BinaryOpSymbol$22 = $EXPECT($L82, 'BinaryOpSymbol "!=="');
9360
+ var BinaryOpSymbol$23 = $T($EXPECT($L83, 'BinaryOpSymbol "\u2262"'), function(value) {
9262
9361
  return "!==";
9263
9362
  });
9264
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L79, 'BinaryOpSymbol "!="'), $EXPECT($L80, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9363
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L84, 'BinaryOpSymbol "!="'), $EXPECT($L85, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9265
9364
  if (module.config.coffeeEq)
9266
9365
  return "!==";
9267
9366
  return "!=";
9268
9367
  });
9269
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L81, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9368
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L86, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9270
9369
  if (module.config.coffeeIsnt)
9271
9370
  return "!==";
9272
9371
  return $skip;
9273
9372
  });
9274
- var BinaryOpSymbol$26 = $EXPECT($L82, 'BinaryOpSymbol "==="');
9275
- var BinaryOpSymbol$27 = $T($C($EXPECT($L83, 'BinaryOpSymbol "\u2263"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A76"')), function(value) {
9373
+ var BinaryOpSymbol$26 = $EXPECT($L87, 'BinaryOpSymbol "==="');
9374
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L88, 'BinaryOpSymbol "\u2263"'), $EXPECT($L89, 'BinaryOpSymbol "\u2A76"')), function(value) {
9276
9375
  return "===";
9277
9376
  });
9278
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L85, 'BinaryOpSymbol "=="'), $EXPECT($L86, 'BinaryOpSymbol "\u2261"'), $EXPECT($L87, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9377
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "=="'), $EXPECT($L91, 'BinaryOpSymbol "\u2261"'), $EXPECT($L92, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9279
9378
  if (module.config.coffeeEq)
9280
9379
  return "===";
9281
9380
  return "==";
9282
9381
  });
9283
- var BinaryOpSymbol$29 = $T($S($EXPECT($L88, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9382
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L93, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9284
9383
  return "&&";
9285
9384
  });
9286
- var BinaryOpSymbol$30 = $EXPECT($L89, 'BinaryOpSymbol "&&"');
9287
- var BinaryOpSymbol$31 = $T($S($EXPECT($L90, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9385
+ var BinaryOpSymbol$30 = $EXPECT($L94, 'BinaryOpSymbol "&&"');
9386
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L95, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9288
9387
  return "||";
9289
9388
  });
9290
- var BinaryOpSymbol$32 = $EXPECT($L91, 'BinaryOpSymbol "||"');
9291
- var BinaryOpSymbol$33 = $T($EXPECT($L92, 'BinaryOpSymbol "\u2016"'), function(value) {
9389
+ var BinaryOpSymbol$32 = $EXPECT($L96, 'BinaryOpSymbol "||"');
9390
+ var BinaryOpSymbol$33 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2016"'), function(value) {
9292
9391
  return "||";
9293
9392
  });
9294
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L93, 'BinaryOpSymbol "^^"'), $S($EXPECT($L94, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9393
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L98, 'BinaryOpSymbol "^^"'), $S($EXPECT($L99, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9295
9394
  return {
9296
9395
  call: module.getRef("xor"),
9297
9396
  special: true,
9298
9397
  prec: "^^"
9299
9398
  };
9300
9399
  });
9301
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R19, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L95, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9400
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R19, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L100, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9302
9401
  return {
9303
9402
  call: module.getRef("xnor"),
9304
9403
  special: true,
9305
9404
  prec: "^^"
9306
9405
  };
9307
9406
  });
9308
- var BinaryOpSymbol$36 = $EXPECT($L96, 'BinaryOpSymbol "??"');
9309
- var BinaryOpSymbol$37 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2047"'), function(value) {
9407
+ var BinaryOpSymbol$36 = $EXPECT($L101, 'BinaryOpSymbol "??"');
9408
+ var BinaryOpSymbol$37 = $T($EXPECT($L102, 'BinaryOpSymbol "\u2047"'), function(value) {
9310
9409
  return "??";
9311
9410
  });
9312
9411
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
9313
9412
  return "??";
9314
9413
  });
9315
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L98, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9414
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L103, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9316
9415
  return {
9317
9416
  $loc,
9318
9417
  token: $1,
@@ -9329,7 +9428,7 @@ var require_parser = __commonJS({
9329
9428
  var op = $3;
9330
9429
  return { ...op, $loc };
9331
9430
  });
9332
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9431
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L104, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9333
9432
  return {
9334
9433
  method: "includes",
9335
9434
  relational: true,
@@ -9337,14 +9436,14 @@ var require_parser = __commonJS({
9337
9436
  special: true
9338
9437
  };
9339
9438
  });
9340
- var BinaryOpSymbol$43 = $TV($EXPECT($L100, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9439
+ var BinaryOpSymbol$43 = $TV($EXPECT($L105, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9341
9440
  return {
9342
9441
  method: "includes",
9343
9442
  relational: true,
9344
9443
  special: true
9345
9444
  };
9346
9445
  });
9347
- var BinaryOpSymbol$44 = $TV($EXPECT($L101, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9446
+ var BinaryOpSymbol$44 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9348
9447
  return {
9349
9448
  method: "includes",
9350
9449
  relational: true,
@@ -9352,7 +9451,7 @@ var require_parser = __commonJS({
9352
9451
  negated: true
9353
9452
  };
9354
9453
  });
9355
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L102, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9454
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L107, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9356
9455
  return {
9357
9456
  method: "includes",
9358
9457
  relational: true,
@@ -9385,9 +9484,9 @@ var require_parser = __commonJS({
9385
9484
  return "===";
9386
9485
  });
9387
9486
  var BinaryOpSymbol$48 = In;
9388
- var BinaryOpSymbol$49 = $EXPECT($L103, 'BinaryOpSymbol "&"');
9487
+ var BinaryOpSymbol$49 = $EXPECT($L108, 'BinaryOpSymbol "&"');
9389
9488
  var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
9390
- var BinaryOpSymbol$51 = $EXPECT($L104, 'BinaryOpSymbol "|"');
9489
+ var BinaryOpSymbol$51 = $EXPECT($L109, 'BinaryOpSymbol "|"');
9391
9490
  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];
9392
9491
  function BinaryOpSymbol(ctx, state) {
9393
9492
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -9425,7 +9524,7 @@ var require_parser = __commonJS({
9425
9524
  function CoffeeOfOp(ctx, state) {
9426
9525
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
9427
9526
  }
9428
- var NotOp$0 = $TS($S($EXPECT($L98, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9527
+ var NotOp$0 = $TS($S($EXPECT($L103, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9429
9528
  return {
9430
9529
  $loc,
9431
9530
  token: "instanceof",
@@ -9446,14 +9545,14 @@ var require_parser = __commonJS({
9446
9545
  function NotOp(ctx, state) {
9447
9546
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
9448
9547
  }
9449
- var Xor$0 = $EXPECT($L93, 'Xor "^^"');
9450
- var Xor$1 = $S($EXPECT($L94, 'Xor "xor"'), NonIdContinue);
9548
+ var Xor$0 = $EXPECT($L98, 'Xor "^^"');
9549
+ var Xor$1 = $S($EXPECT($L99, 'Xor "xor"'), NonIdContinue);
9451
9550
  var Xor$$ = [Xor$0, Xor$1];
9452
9551
  function Xor(ctx, state) {
9453
9552
  return $EVENT_C(ctx, state, "Xor", Xor$$);
9454
9553
  }
9455
9554
  var Xnor$0 = $R$0($EXPECT($R19, "Xnor /!\\^\\^?/"));
9456
- var Xnor$1 = $EXPECT($L95, 'Xnor "xnor"');
9555
+ var Xnor$1 = $EXPECT($L100, 'Xnor "xnor"');
9457
9556
  var Xnor$$ = [Xnor$0, Xnor$1];
9458
9557
  function Xnor(ctx, state) {
9459
9558
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
@@ -9494,7 +9593,7 @@ var require_parser = __commonJS({
9494
9593
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9495
9594
  }
9496
9595
  var StatementListItem$0 = Declaration;
9497
- var StatementListItem$1 = $TS($S($N($EXPECT($L105, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9596
+ var StatementListItem$1 = $TS($S($N($EXPECT($L110, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9498
9597
  return makeLeftHandSideExpression($2);
9499
9598
  });
9500
9599
  var StatementListItem$2 = PostfixedStatement;
@@ -9604,7 +9703,7 @@ var require_parser = __commonJS({
9604
9703
  function NoCommaStatement(ctx, state) {
9605
9704
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9606
9705
  }
9607
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L106, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9706
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L111, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9608
9707
  return { type: "EmptyStatement", children: $1 || [] };
9609
9708
  });
9610
9709
  function EmptyStatement(ctx, state) {
@@ -9635,7 +9734,7 @@ var require_parser = __commonJS({
9635
9734
  var w = $3;
9636
9735
  return [id, colon, w];
9637
9736
  });
9638
- var Label$1 = $S($EXPECT($L105, 'Label "$:"'), Whitespace);
9737
+ var Label$1 = $S($EXPECT($L110, 'Label "$:"'), Whitespace);
9639
9738
  var Label$$ = [Label$0, Label$1];
9640
9739
  function Label(ctx, state) {
9641
9740
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10744,19 +10843,19 @@ var require_parser = __commonJS({
10744
10843
  function ThrowStatement(ctx, state) {
10745
10844
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10746
10845
  }
10747
- var Break$0 = $TS($S($EXPECT($L107, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10846
+ var Break$0 = $TS($S($EXPECT($L112, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10748
10847
  return { $loc, token: $1 };
10749
10848
  });
10750
10849
  function Break(ctx, state) {
10751
10850
  return $EVENT(ctx, state, "Break", Break$0);
10752
10851
  }
10753
- var Continue$0 = $TS($S($EXPECT($L108, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10852
+ var Continue$0 = $TS($S($EXPECT($L113, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10754
10853
  return { $loc, token: $1 };
10755
10854
  });
10756
10855
  function Continue(ctx, state) {
10757
10856
  return $EVENT(ctx, state, "Continue", Continue$0);
10758
10857
  }
10759
- var Debugger$0 = $TS($S($EXPECT($L109, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10858
+ var Debugger$0 = $TS($S($EXPECT($L114, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10760
10859
  return { $loc, token: $1 };
10761
10860
  });
10762
10861
  function Debugger(ctx, state) {
@@ -10793,7 +10892,7 @@ var require_parser = __commonJS({
10793
10892
  function MaybeNestedExpression(ctx, state) {
10794
10893
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10795
10894
  }
10796
- var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L110, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10895
+ var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L115, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10797
10896
  const imp = [
10798
10897
  { ...$1, ts: true },
10799
10898
  { ...$1, token: "const", js: true }
@@ -10887,7 +10986,7 @@ var require_parser = __commonJS({
10887
10986
  function FromClause(ctx, state) {
10888
10987
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10889
10988
  }
10890
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L111, 'ImportAssertion "with"'), $EXPECT($L112, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10989
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L116, 'ImportAssertion "with"'), $EXPECT($L117, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10891
10990
  function ImportAssertion(ctx, state) {
10892
10991
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10893
10992
  }
@@ -10896,13 +10995,13 @@ var require_parser = __commonJS({
10896
10995
  return $2;
10897
10996
  return { ts: true, children: $0, binding: $2.binding };
10898
10997
  });
10899
- var TypeAndImportSpecifier$1 = $TS($S(__, Operator, ImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
10998
+ var TypeAndImportSpecifier$1 = $TS($S(__, Operator, OperatorImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
10900
10999
  var ws = $1;
10901
11000
  var spec = $3;
10902
11001
  if (spec.binding.type !== "Identifier") {
10903
11002
  throw new Error("Expected identifier after `operator`");
10904
11003
  }
10905
- module.operators.set(spec.binding.name);
11004
+ module.operators.set(spec.binding.name, spec.behavior);
10906
11005
  return {
10907
11006
  ...spec,
10908
11007
  children: [
@@ -10934,6 +11033,28 @@ var require_parser = __commonJS({
10934
11033
  function ImportSpecifier(ctx, state) {
10935
11034
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10936
11035
  }
11036
+ var OperatorImportSpecifier$0 = $TS($S(__, ModuleExportName, $E(OperatorBehavior), ImportAsToken, __, ImportedBinding, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
11037
+ var behavior = $3;
11038
+ var binding = $6;
11039
+ return {
11040
+ binding,
11041
+ behavior,
11042
+ children: [$1, $2, $4, $5, $6, $7]
11043
+ };
11044
+ });
11045
+ var OperatorImportSpecifier$1 = $TS($S(__, ImportedBinding, $E(OperatorBehavior), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
11046
+ var binding = $2;
11047
+ var behavior = $3;
11048
+ return {
11049
+ binding,
11050
+ behavior,
11051
+ children: [$1, $2, $4]
11052
+ };
11053
+ });
11054
+ var OperatorImportSpecifier$$ = [OperatorImportSpecifier$0, OperatorImportSpecifier$1];
11055
+ function OperatorImportSpecifier(ctx, state) {
11056
+ return $EVENT_C(ctx, state, "OperatorImportSpecifier", OperatorImportSpecifier$$);
11057
+ }
10937
11058
  var ImportAsToken$0 = $S(__, As);
10938
11059
  var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L15, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10939
11060
  var l = $1;
@@ -11145,19 +11266,19 @@ var require_parser = __commonJS({
11145
11266
  function LexicalDeclaration(ctx, state) {
11146
11267
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
11147
11268
  }
11148
- var ConstAssignment$0 = $TV($C($EXPECT($L113, 'ConstAssignment ":="'), $EXPECT($L114, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
11269
+ var ConstAssignment$0 = $TV($C($EXPECT($L118, 'ConstAssignment ":="'), $EXPECT($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
11149
11270
  return { $loc, token: "=" };
11150
11271
  });
11151
11272
  function ConstAssignment(ctx, state) {
11152
11273
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
11153
11274
  }
11154
- var LetAssignment$0 = $TV($EXPECT($L115, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11275
+ var LetAssignment$0 = $TV($EXPECT($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11155
11276
  return { $loc, token: "=" };
11156
11277
  });
11157
11278
  function LetAssignment(ctx, state) {
11158
11279
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
11159
11280
  }
11160
- var TypeAssignment$0 = $TV($EXPECT($L116, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
11281
+ var TypeAssignment$0 = $TV($EXPECT($L121, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
11161
11282
  return { $loc, token: "=" };
11162
11283
  });
11163
11284
  function TypeAssignment(ctx, state) {
@@ -11355,7 +11476,7 @@ var require_parser = __commonJS({
11355
11476
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
11356
11477
  }
11357
11478
  var RegularExpressionLiteral$0 = HeregexLiteral;
11358
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L61, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L61, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11479
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11359
11480
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
11360
11481
  });
11361
11482
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -11567,7 +11688,7 @@ var require_parser = __commonJS({
11567
11688
  function MultiLineComment(ctx, state) {
11568
11689
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11569
11690
  }
11570
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L117, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L118, 'JSMultiLineComment "*/"')), $EXPECT($R60, "JSMultiLineComment /./"))), $EXPECT($L118, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11691
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L122, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L123, 'JSMultiLineComment "*/"')), $EXPECT($R60, "JSMultiLineComment /./"))), $EXPECT($L123, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11571
11692
  return { type: "Comment", $loc, token: $1 };
11572
11693
  });
11573
11694
  function JSMultiLineComment(ctx, state) {
@@ -11613,7 +11734,7 @@ var require_parser = __commonJS({
11613
11734
  var NonNewlineWhitespace$0 = $TR($EXPECT($R66, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11614
11735
  return { $loc, token: $0 };
11615
11736
  });
11616
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L119, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11737
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L124, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11617
11738
  return " ";
11618
11739
  });
11619
11740
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11659,7 +11780,7 @@ var require_parser = __commonJS({
11659
11780
  }
11660
11781
  var StatementDelimiter$0 = $Y(EOS);
11661
11782
  var StatementDelimiter$1 = SemicolonDelimiter;
11662
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L31, 'StatementDelimiter "}"'), $EXPECT($L120, 'StatementDelimiter ")"'), $EXPECT($L40, 'StatementDelimiter "]"'))));
11783
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L36, 'StatementDelimiter "}"'), $EXPECT($L125, 'StatementDelimiter ")"'), $EXPECT($L45, 'StatementDelimiter "]"'))));
11663
11784
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11664
11785
  function StatementDelimiter(ctx, state) {
11665
11786
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11683,55 +11804,55 @@ var require_parser = __commonJS({
11683
11804
  function Loc(ctx, state) {
11684
11805
  return $EVENT(ctx, state, "Loc", Loc$0);
11685
11806
  }
11686
- var Abstract$0 = $TV($TEXT($S($EXPECT($L121, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11807
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L126, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11687
11808
  return { $loc, token: $1, ts: true };
11688
11809
  });
11689
11810
  function Abstract(ctx, state) {
11690
11811
  return $EVENT(ctx, state, "Abstract", Abstract$0);
11691
11812
  }
11692
- var Ampersand$0 = $TV($EXPECT($L103, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11813
+ var Ampersand$0 = $TV($EXPECT($L108, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11693
11814
  return { $loc, token: $1 };
11694
11815
  });
11695
11816
  function Ampersand(ctx, state) {
11696
11817
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11697
11818
  }
11698
- var As$0 = $TS($S($EXPECT($L122, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11819
+ var As$0 = $TS($S($EXPECT($L127, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11699
11820
  return { $loc, token: $1 };
11700
11821
  });
11701
11822
  function As(ctx, state) {
11702
11823
  return $EVENT(ctx, state, "As", As$0);
11703
11824
  }
11704
- var At$0 = $TV($EXPECT($L123, 'At "@"'), function($skip, $loc, $0, $1) {
11825
+ var At$0 = $TV($EXPECT($L128, 'At "@"'), function($skip, $loc, $0, $1) {
11705
11826
  return { $loc, token: $1 };
11706
11827
  });
11707
11828
  function At(ctx, state) {
11708
11829
  return $EVENT(ctx, state, "At", At$0);
11709
11830
  }
11710
- var AtAt$0 = $TV($EXPECT($L124, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11831
+ var AtAt$0 = $TV($EXPECT($L129, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11711
11832
  return { $loc, token: "@" };
11712
11833
  });
11713
11834
  function AtAt(ctx, state) {
11714
11835
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11715
11836
  }
11716
- var Async$0 = $TS($S($EXPECT($L125, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11837
+ var Async$0 = $TS($S($EXPECT($L130, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11717
11838
  return { $loc, token: $1, type: "Async" };
11718
11839
  });
11719
11840
  function Async(ctx, state) {
11720
11841
  return $EVENT(ctx, state, "Async", Async$0);
11721
11842
  }
11722
- var Await$0 = $TS($S($EXPECT($L126, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11843
+ var Await$0 = $TS($S($EXPECT($L131, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11723
11844
  return { $loc, token: $1, type: "Await" };
11724
11845
  });
11725
11846
  function Await(ctx, state) {
11726
11847
  return $EVENT(ctx, state, "Await", Await$0);
11727
11848
  }
11728
- var Backtick$0 = $TV($EXPECT($L127, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11849
+ var Backtick$0 = $TV($EXPECT($L132, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11729
11850
  return { $loc, token: $1 };
11730
11851
  });
11731
11852
  function Backtick(ctx, state) {
11732
11853
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11733
11854
  }
11734
- var By$0 = $TS($S($EXPECT($L128, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11855
+ var By$0 = $TS($S($EXPECT($L133, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11735
11856
  return { $loc, token: $1 };
11736
11857
  });
11737
11858
  function By(ctx, state) {
@@ -11743,49 +11864,49 @@ var require_parser = __commonJS({
11743
11864
  function Caret(ctx, state) {
11744
11865
  return $EVENT(ctx, state, "Caret", Caret$0);
11745
11866
  }
11746
- var Case$0 = $TS($S($EXPECT($L129, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11867
+ var Case$0 = $TS($S($EXPECT($L134, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11747
11868
  return { $loc, token: $1 };
11748
11869
  });
11749
11870
  function Case(ctx, state) {
11750
11871
  return $EVENT(ctx, state, "Case", Case$0);
11751
11872
  }
11752
- var Catch$0 = $TS($S($EXPECT($L130, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11873
+ var Catch$0 = $TS($S($EXPECT($L135, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11753
11874
  return { $loc, token: $1 };
11754
11875
  });
11755
11876
  function Catch(ctx, state) {
11756
11877
  return $EVENT(ctx, state, "Catch", Catch$0);
11757
11878
  }
11758
- var Class$0 = $TS($S($EXPECT($L131, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11879
+ var Class$0 = $TS($S($EXPECT($L136, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11759
11880
  return { $loc, token: $1 };
11760
11881
  });
11761
11882
  function Class(ctx, state) {
11762
11883
  return $EVENT(ctx, state, "Class", Class$0);
11763
11884
  }
11764
- var CloseAngleBracket$0 = $TV($EXPECT($L39, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11885
+ var CloseAngleBracket$0 = $TV($EXPECT($L44, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11765
11886
  return { $loc, token: $1 };
11766
11887
  });
11767
11888
  function CloseAngleBracket(ctx, state) {
11768
11889
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
11769
11890
  }
11770
- var CloseBrace$0 = $TV($EXPECT($L31, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11891
+ var CloseBrace$0 = $TV($EXPECT($L36, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11771
11892
  return { $loc, token: $1 };
11772
11893
  });
11773
11894
  function CloseBrace(ctx, state) {
11774
11895
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11775
11896
  }
11776
- var CloseBracket$0 = $TV($EXPECT($L40, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11897
+ var CloseBracket$0 = $TV($EXPECT($L45, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11777
11898
  return { $loc, token: $1 };
11778
11899
  });
11779
11900
  function CloseBracket(ctx, state) {
11780
11901
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11781
11902
  }
11782
- var CloseParen$0 = $TV($EXPECT($L120, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11903
+ var CloseParen$0 = $TV($EXPECT($L125, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11783
11904
  return { $loc, token: $1 };
11784
11905
  });
11785
11906
  function CloseParen(ctx, state) {
11786
11907
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11787
11908
  }
11788
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L132, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11909
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L137, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11789
11910
  return { $loc, token: "${" };
11790
11911
  });
11791
11912
  function CoffeeSubstitutionStart(ctx, state) {
@@ -11803,31 +11924,31 @@ var require_parser = __commonJS({
11803
11924
  function Comma(ctx, state) {
11804
11925
  return $EVENT(ctx, state, "Comma", Comma$0);
11805
11926
  }
11806
- var ConstructorShorthand$0 = $TV($EXPECT($L123, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11927
+ var ConstructorShorthand$0 = $TV($EXPECT($L128, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11807
11928
  return { $loc, token: "constructor" };
11808
11929
  });
11809
11930
  function ConstructorShorthand(ctx, state) {
11810
11931
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11811
11932
  }
11812
- var Declare$0 = $TS($S($EXPECT($L133, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11933
+ var Declare$0 = $TS($S($EXPECT($L138, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11813
11934
  return { $loc, token: $1 };
11814
11935
  });
11815
11936
  function Declare(ctx, state) {
11816
11937
  return $EVENT(ctx, state, "Declare", Declare$0);
11817
11938
  }
11818
- var Default$0 = $TS($S($EXPECT($L134, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11939
+ var Default$0 = $TS($S($EXPECT($L139, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11819
11940
  return { $loc, token: $1 };
11820
11941
  });
11821
11942
  function Default(ctx, state) {
11822
11943
  return $EVENT(ctx, state, "Default", Default$0);
11823
11944
  }
11824
- var Delete$0 = $TS($S($EXPECT($L135, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11945
+ var Delete$0 = $TS($S($EXPECT($L140, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11825
11946
  return { $loc, token: $1 };
11826
11947
  });
11827
11948
  function Delete(ctx, state) {
11828
11949
  return $EVENT(ctx, state, "Delete", Delete$0);
11829
11950
  }
11830
- var Do$0 = $TS($S($EXPECT($L136, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11951
+ var Do$0 = $TS($S($EXPECT($L141, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11831
11952
  return { $loc, token: $1 };
11832
11953
  });
11833
11954
  function Do(ctx, state) {
@@ -11847,45 +11968,45 @@ var require_parser = __commonJS({
11847
11968
  function Dot(ctx, state) {
11848
11969
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11849
11970
  }
11850
- var DotDot$0 = $TS($S($EXPECT($L137, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11971
+ var DotDot$0 = $TS($S($EXPECT($L142, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11851
11972
  return { $loc, token: $1 };
11852
11973
  });
11853
- var DotDot$1 = $TV($EXPECT($L138, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11974
+ var DotDot$1 = $TV($EXPECT($L143, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11854
11975
  return { $loc, token: ".." };
11855
11976
  });
11856
11977
  var DotDot$$ = [DotDot$0, DotDot$1];
11857
11978
  function DotDot(ctx, state) {
11858
11979
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11859
11980
  }
11860
- var DotDotDot$0 = $TV($EXPECT($L139, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11981
+ var DotDotDot$0 = $TV($EXPECT($L144, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11861
11982
  return { $loc, token: $1 };
11862
11983
  });
11863
- var DotDotDot$1 = $TV($EXPECT($L140, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11984
+ var DotDotDot$1 = $TV($EXPECT($L145, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11864
11985
  return { $loc, token: "..." };
11865
11986
  });
11866
11987
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11867
11988
  function DotDotDot(ctx, state) {
11868
11989
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11869
11990
  }
11870
- var DoubleColon$0 = $TV($EXPECT($L141, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11991
+ var DoubleColon$0 = $TV($EXPECT($L146, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11871
11992
  return { $loc, token: $1 };
11872
11993
  });
11873
11994
  function DoubleColon(ctx, state) {
11874
11995
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11875
11996
  }
11876
- var DoubleQuote$0 = $TV($EXPECT($L142, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11997
+ var DoubleQuote$0 = $TV($EXPECT($L147, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11877
11998
  return { $loc, token: $1 };
11878
11999
  });
11879
12000
  function DoubleQuote(ctx, state) {
11880
12001
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11881
12002
  }
11882
- var Each$0 = $TS($S($EXPECT($L143, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12003
+ var Each$0 = $TS($S($EXPECT($L148, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11883
12004
  return { $loc, token: $1 };
11884
12005
  });
11885
12006
  function Each(ctx, state) {
11886
12007
  return $EVENT(ctx, state, "Each", Each$0);
11887
12008
  }
11888
- var Else$0 = $TS($S($EXPECT($L144, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12009
+ var Else$0 = $TS($S($EXPECT($L149, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11889
12010
  return { $loc, token: $1 };
11890
12011
  });
11891
12012
  function Else(ctx, state) {
@@ -11897,61 +12018,61 @@ var require_parser = __commonJS({
11897
12018
  function Equals(ctx, state) {
11898
12019
  return $EVENT(ctx, state, "Equals", Equals$0);
11899
12020
  }
11900
- var ExclamationPoint$0 = $TV($EXPECT($L145, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
12021
+ var ExclamationPoint$0 = $TV($EXPECT($L150, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11901
12022
  return { $loc, token: $1 };
11902
12023
  });
11903
12024
  function ExclamationPoint(ctx, state) {
11904
12025
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11905
12026
  }
11906
- var Export$0 = $TS($S($EXPECT($L146, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12027
+ var Export$0 = $TS($S($EXPECT($L151, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11907
12028
  return { $loc, token: $1 };
11908
12029
  });
11909
12030
  function Export(ctx, state) {
11910
12031
  return $EVENT(ctx, state, "Export", Export$0);
11911
12032
  }
11912
- var Extends$0 = $TS($S($EXPECT($L147, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12033
+ var Extends$0 = $TS($S($EXPECT($L152, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11913
12034
  return { $loc, token: $1 };
11914
12035
  });
11915
12036
  function Extends(ctx, state) {
11916
12037
  return $EVENT(ctx, state, "Extends", Extends$0);
11917
12038
  }
11918
- var Finally$0 = $TS($S($EXPECT($L148, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12039
+ var Finally$0 = $TS($S($EXPECT($L153, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11919
12040
  return { $loc, token: $1 };
11920
12041
  });
11921
12042
  function Finally(ctx, state) {
11922
12043
  return $EVENT(ctx, state, "Finally", Finally$0);
11923
12044
  }
11924
- var For$0 = $TS($S($EXPECT($L149, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12045
+ var For$0 = $TS($S($EXPECT($L154, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11925
12046
  return { $loc, token: $1 };
11926
12047
  });
11927
12048
  function For(ctx, state) {
11928
12049
  return $EVENT(ctx, state, "For", For$0);
11929
12050
  }
11930
- var From$0 = $TS($S($EXPECT($L150, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12051
+ var From$0 = $TS($S($EXPECT($L155, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11931
12052
  return { $loc, token: $1 };
11932
12053
  });
11933
12054
  function From(ctx, state) {
11934
12055
  return $EVENT(ctx, state, "From", From$0);
11935
12056
  }
11936
- var Function$0 = $TS($S($EXPECT($L151, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12057
+ var Function$0 = $TS($S($EXPECT($L156, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11937
12058
  return { $loc, token: $1 };
11938
12059
  });
11939
12060
  function Function(ctx, state) {
11940
12061
  return $EVENT(ctx, state, "Function", Function$0);
11941
12062
  }
11942
- var GetOrSet$0 = $TS($S($C($EXPECT($L152, 'GetOrSet "get"'), $EXPECT($L153, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12063
+ var GetOrSet$0 = $TS($S($C($EXPECT($L157, 'GetOrSet "get"'), $EXPECT($L158, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11943
12064
  return { $loc, token: $1, type: "GetOrSet" };
11944
12065
  });
11945
12066
  function GetOrSet(ctx, state) {
11946
12067
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11947
12068
  }
11948
- var Hash$0 = $TV($EXPECT($L154, 'Hash "#"'), function($skip, $loc, $0, $1) {
12069
+ var Hash$0 = $TV($EXPECT($L159, 'Hash "#"'), function($skip, $loc, $0, $1) {
11949
12070
  return { $loc, token: $1 };
11950
12071
  });
11951
12072
  function Hash(ctx, state) {
11952
12073
  return $EVENT(ctx, state, "Hash", Hash$0);
11953
12074
  }
11954
- var If$0 = $TV($TEXT($S($EXPECT($L155, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
12075
+ var If$0 = $TV($TEXT($S($EXPECT($L160, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11955
12076
  return { $loc, token: $1 };
11956
12077
  });
11957
12078
  function If(ctx, state) {
@@ -11963,31 +12084,31 @@ var require_parser = __commonJS({
11963
12084
  function Import(ctx, state) {
11964
12085
  return $EVENT(ctx, state, "Import", Import$0);
11965
12086
  }
11966
- var In$0 = $TS($S($EXPECT($L156, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12087
+ var In$0 = $TS($S($EXPECT($L161, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11967
12088
  return { $loc, token: $1 };
11968
12089
  });
11969
12090
  function In(ctx, state) {
11970
12091
  return $EVENT(ctx, state, "In", In$0);
11971
12092
  }
11972
- var Infer$0 = $TS($S($EXPECT($L157, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12093
+ var Infer$0 = $TS($S($EXPECT($L162, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11973
12094
  return { $loc, token: $1 };
11974
12095
  });
11975
12096
  function Infer(ctx, state) {
11976
12097
  return $EVENT(ctx, state, "Infer", Infer$0);
11977
12098
  }
11978
- var LetOrConst$0 = $TS($S($C($EXPECT($L158, 'LetOrConst "let"'), $EXPECT($L159, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12099
+ var LetOrConst$0 = $TS($S($C($EXPECT($L163, 'LetOrConst "let"'), $EXPECT($L164, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11979
12100
  return { $loc, token: $1 };
11980
12101
  });
11981
12102
  function LetOrConst(ctx, state) {
11982
12103
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11983
12104
  }
11984
- var Const$0 = $TS($S($EXPECT($L159, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12105
+ var Const$0 = $TS($S($EXPECT($L164, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11985
12106
  return { $loc, token: $1 };
11986
12107
  });
11987
12108
  function Const(ctx, state) {
11988
12109
  return $EVENT(ctx, state, "Const", Const$0);
11989
12110
  }
11990
- var Is$0 = $TS($S($EXPECT($L160, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12111
+ var Is$0 = $TS($S($EXPECT($L165, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11991
12112
  return { $loc, token: $1 };
11992
12113
  });
11993
12114
  function Is(ctx, state) {
@@ -11999,25 +12120,25 @@ var require_parser = __commonJS({
11999
12120
  function LetOrConstOrVar(ctx, state) {
12000
12121
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
12001
12122
  }
12002
- var Loop$0 = $TS($S($EXPECT($L161, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12123
+ var Loop$0 = $TS($S($EXPECT($L166, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12003
12124
  return { $loc, token: "while(true)" };
12004
12125
  });
12005
12126
  function Loop(ctx, state) {
12006
12127
  return $EVENT(ctx, state, "Loop", Loop$0);
12007
12128
  }
12008
- var New$0 = $TS($S($EXPECT($L162, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12129
+ var New$0 = $TS($S($EXPECT($L167, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12009
12130
  return { $loc, token: $1 };
12010
12131
  });
12011
12132
  function New(ctx, state) {
12012
12133
  return $EVENT(ctx, state, "New", New$0);
12013
12134
  }
12014
- var Not$0 = $TS($S($EXPECT($L163, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12135
+ var Not$0 = $TS($S($EXPECT($L168, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12015
12136
  return { $loc, token: "!" };
12016
12137
  });
12017
12138
  function Not(ctx, state) {
12018
12139
  return $EVENT(ctx, state, "Not", Not$0);
12019
12140
  }
12020
- var Of$0 = $TS($S($EXPECT($L164, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12141
+ var Of$0 = $TS($S($EXPECT($L169, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12021
12142
  return { $loc, token: $1 };
12022
12143
  });
12023
12144
  function Of(ctx, state) {
@@ -12035,7 +12156,7 @@ var require_parser = __commonJS({
12035
12156
  function OpenBrace(ctx, state) {
12036
12157
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
12037
12158
  }
12038
- var OpenBracket$0 = $TV($EXPECT($L165, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12159
+ var OpenBracket$0 = $TV($EXPECT($L170, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12039
12160
  return { $loc, token: $1 };
12040
12161
  });
12041
12162
  function OpenBracket(ctx, state) {
@@ -12047,43 +12168,43 @@ var require_parser = __commonJS({
12047
12168
  function OpenParen(ctx, state) {
12048
12169
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
12049
12170
  }
12050
- var Operator$0 = $TS($S($EXPECT($L166, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12171
+ var Operator$0 = $TS($S($EXPECT($L171, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12051
12172
  return { $loc, token: $1 };
12052
12173
  });
12053
12174
  function Operator(ctx, state) {
12054
12175
  return $EVENT(ctx, state, "Operator", Operator$0);
12055
12176
  }
12056
- var Own$0 = $TS($S($EXPECT($L167, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12177
+ var Own$0 = $TS($S($EXPECT($L172, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12057
12178
  return { $loc, token: $1 };
12058
12179
  });
12059
12180
  function Own(ctx, state) {
12060
12181
  return $EVENT(ctx, state, "Own", Own$0);
12061
12182
  }
12062
- var Public$0 = $TS($S($EXPECT($L168, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12183
+ var Public$0 = $TS($S($EXPECT($L173, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12063
12184
  return { $loc, token: $1 };
12064
12185
  });
12065
12186
  function Public(ctx, state) {
12066
12187
  return $EVENT(ctx, state, "Public", Public$0);
12067
12188
  }
12068
- var Private$0 = $TS($S($EXPECT($L169, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12189
+ var Private$0 = $TS($S($EXPECT($L174, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12069
12190
  return { $loc, token: $1 };
12070
12191
  });
12071
12192
  function Private(ctx, state) {
12072
12193
  return $EVENT(ctx, state, "Private", Private$0);
12073
12194
  }
12074
- var Protected$0 = $TS($S($EXPECT($L170, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12195
+ var Protected$0 = $TS($S($EXPECT($L175, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12075
12196
  return { $loc, token: $1 };
12076
12197
  });
12077
12198
  function Protected(ctx, state) {
12078
12199
  return $EVENT(ctx, state, "Protected", Protected$0);
12079
12200
  }
12080
- var Pipe$0 = $TV($C($EXPECT($L171, 'Pipe "||>"'), $EXPECT($L172, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12201
+ var Pipe$0 = $TV($C($EXPECT($L176, 'Pipe "||>"'), $EXPECT($L177, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12081
12202
  return { $loc, token: "||>" };
12082
12203
  });
12083
- var Pipe$1 = $TV($C($EXPECT($L173, 'Pipe "|>="'), $EXPECT($L174, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12204
+ var Pipe$1 = $TV($C($EXPECT($L178, 'Pipe "|>="'), $EXPECT($L179, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12084
12205
  return { $loc, token: "|>=" };
12085
12206
  });
12086
- var Pipe$2 = $TV($C($EXPECT($L175, 'Pipe "|>"'), $EXPECT($L176, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12207
+ var Pipe$2 = $TV($C($EXPECT($L180, 'Pipe "|>"'), $EXPECT($L181, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12087
12208
  return { $loc, token: "|>" };
12088
12209
  });
12089
12210
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -12096,173 +12217,173 @@ var require_parser = __commonJS({
12096
12217
  function QuestionMark(ctx, state) {
12097
12218
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
12098
12219
  }
12099
- var Readonly$0 = $TS($S($EXPECT($L177, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12220
+ var Readonly$0 = $TS($S($EXPECT($L182, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12100
12221
  return { $loc, token: $1, ts: true };
12101
12222
  });
12102
12223
  function Readonly(ctx, state) {
12103
12224
  return $EVENT(ctx, state, "Readonly", Readonly$0);
12104
12225
  }
12105
- var Return$0 = $TS($S($EXPECT($L178, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12226
+ var Return$0 = $TS($S($EXPECT($L183, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12106
12227
  return { $loc, token: $1 };
12107
12228
  });
12108
12229
  function Return(ctx, state) {
12109
12230
  return $EVENT(ctx, state, "Return", Return$0);
12110
12231
  }
12111
- var Satisfies$0 = $TS($S($EXPECT($L179, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12232
+ var Satisfies$0 = $TS($S($EXPECT($L184, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12112
12233
  return { $loc, token: $1 };
12113
12234
  });
12114
12235
  function Satisfies(ctx, state) {
12115
12236
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
12116
12237
  }
12117
- var Semicolon$0 = $TV($EXPECT($L106, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
12238
+ var Semicolon$0 = $TV($EXPECT($L111, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
12118
12239
  return { $loc, token: $1 };
12119
12240
  });
12120
12241
  function Semicolon(ctx, state) {
12121
12242
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
12122
12243
  }
12123
- var SingleQuote$0 = $TV($EXPECT($L180, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12244
+ var SingleQuote$0 = $TV($EXPECT($L185, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12124
12245
  return { $loc, token: $1 };
12125
12246
  });
12126
12247
  function SingleQuote(ctx, state) {
12127
12248
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
12128
12249
  }
12129
- var Star$0 = $TV($EXPECT($L60, 'Star "*"'), function($skip, $loc, $0, $1) {
12250
+ var Star$0 = $TV($EXPECT($L65, 'Star "*"'), function($skip, $loc, $0, $1) {
12130
12251
  return { $loc, token: $1 };
12131
12252
  });
12132
12253
  function Star(ctx, state) {
12133
12254
  return $EVENT(ctx, state, "Star", Star$0);
12134
12255
  }
12135
- var Static$0 = $TS($S($EXPECT($L181, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12256
+ var Static$0 = $TS($S($EXPECT($L186, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12136
12257
  return { $loc, token: $1 };
12137
12258
  });
12138
- var Static$1 = $TS($S($EXPECT($L123, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L123, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
12259
+ var Static$1 = $TS($S($EXPECT($L128, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L128, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
12139
12260
  return { $loc, token: "static " };
12140
12261
  });
12141
12262
  var Static$$ = [Static$0, Static$1];
12142
12263
  function Static(ctx, state) {
12143
12264
  return $EVENT_C(ctx, state, "Static", Static$$);
12144
12265
  }
12145
- var SubstitutionStart$0 = $TV($EXPECT($L182, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12266
+ var SubstitutionStart$0 = $TV($EXPECT($L187, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12146
12267
  return { $loc, token: $1 };
12147
12268
  });
12148
12269
  function SubstitutionStart(ctx, state) {
12149
12270
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
12150
12271
  }
12151
- var Super$0 = $TS($S($EXPECT($L183, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12272
+ var Super$0 = $TS($S($EXPECT($L188, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12152
12273
  return { $loc, token: $1 };
12153
12274
  });
12154
12275
  function Super(ctx, state) {
12155
12276
  return $EVENT(ctx, state, "Super", Super$0);
12156
12277
  }
12157
- var Switch$0 = $TS($S($EXPECT($L184, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12278
+ var Switch$0 = $TS($S($EXPECT($L189, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12158
12279
  return { $loc, token: $1 };
12159
12280
  });
12160
12281
  function Switch(ctx, state) {
12161
12282
  return $EVENT(ctx, state, "Switch", Switch$0);
12162
12283
  }
12163
- var Target$0 = $TS($S($EXPECT($L185, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12284
+ var Target$0 = $TS($S($EXPECT($L190, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12164
12285
  return { $loc, token: $1 };
12165
12286
  });
12166
12287
  function Target(ctx, state) {
12167
12288
  return $EVENT(ctx, state, "Target", Target$0);
12168
12289
  }
12169
- var Then$0 = $TS($S(__, $EXPECT($L186, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12290
+ var Then$0 = $TS($S(__, $EXPECT($L191, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12170
12291
  return { $loc, token: "" };
12171
12292
  });
12172
12293
  function Then(ctx, state) {
12173
12294
  return $EVENT(ctx, state, "Then", Then$0);
12174
12295
  }
12175
- var This$0 = $TS($S($EXPECT($L187, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12296
+ var This$0 = $TS($S($EXPECT($L192, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12176
12297
  return { $loc, token: $1 };
12177
12298
  });
12178
12299
  function This(ctx, state) {
12179
12300
  return $EVENT(ctx, state, "This", This$0);
12180
12301
  }
12181
- var Throw$0 = $TS($S($EXPECT($L188, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12302
+ var Throw$0 = $TS($S($EXPECT($L193, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12182
12303
  return { $loc, token: $1 };
12183
12304
  });
12184
12305
  function Throw(ctx, state) {
12185
12306
  return $EVENT(ctx, state, "Throw", Throw$0);
12186
12307
  }
12187
- var TripleDoubleQuote$0 = $TV($EXPECT($L189, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12308
+ var TripleDoubleQuote$0 = $TV($EXPECT($L194, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12188
12309
  return { $loc, token: "`" };
12189
12310
  });
12190
12311
  function TripleDoubleQuote(ctx, state) {
12191
12312
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
12192
12313
  }
12193
- var TripleSingleQuote$0 = $TV($EXPECT($L190, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12314
+ var TripleSingleQuote$0 = $TV($EXPECT($L195, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12194
12315
  return { $loc, token: "`" };
12195
12316
  });
12196
12317
  function TripleSingleQuote(ctx, state) {
12197
12318
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
12198
12319
  }
12199
- var TripleSlash$0 = $TV($EXPECT($L191, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12320
+ var TripleSlash$0 = $TV($EXPECT($L196, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12200
12321
  return { $loc, token: "/" };
12201
12322
  });
12202
12323
  function TripleSlash(ctx, state) {
12203
12324
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
12204
12325
  }
12205
- var TripleTick$0 = $TV($EXPECT($L192, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12326
+ var TripleTick$0 = $TV($EXPECT($L197, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12206
12327
  return { $loc, token: "`" };
12207
12328
  });
12208
12329
  function TripleTick(ctx, state) {
12209
12330
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
12210
12331
  }
12211
- var Try$0 = $TS($S($EXPECT($L193, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12332
+ var Try$0 = $TS($S($EXPECT($L198, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12212
12333
  return { $loc, token: $1 };
12213
12334
  });
12214
12335
  function Try(ctx, state) {
12215
12336
  return $EVENT(ctx, state, "Try", Try$0);
12216
12337
  }
12217
- var Typeof$0 = $TS($S($EXPECT($L194, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12338
+ var Typeof$0 = $TS($S($EXPECT($L199, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12218
12339
  return { $loc, token: $1 };
12219
12340
  });
12220
12341
  function Typeof(ctx, state) {
12221
12342
  return $EVENT(ctx, state, "Typeof", Typeof$0);
12222
12343
  }
12223
- var Unless$0 = $TS($S($EXPECT($L195, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12344
+ var Unless$0 = $TS($S($EXPECT($L200, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12224
12345
  return { $loc, token: $1, negated: true };
12225
12346
  });
12226
12347
  function Unless(ctx, state) {
12227
12348
  return $EVENT(ctx, state, "Unless", Unless$0);
12228
12349
  }
12229
- var Until$0 = $TS($S($EXPECT($L196, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12350
+ var Until$0 = $TS($S($EXPECT($L201, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12230
12351
  return { $loc, token: $1 };
12231
12352
  });
12232
12353
  function Until(ctx, state) {
12233
12354
  return $EVENT(ctx, state, "Until", Until$0);
12234
12355
  }
12235
- var Using$0 = $TS($S($EXPECT($L197, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12356
+ var Using$0 = $TS($S($EXPECT($L202, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12236
12357
  return { $loc, token: $1 };
12237
12358
  });
12238
12359
  function Using(ctx, state) {
12239
12360
  return $EVENT(ctx, state, "Using", Using$0);
12240
12361
  }
12241
- var Var$0 = $TS($S($EXPECT($L198, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12362
+ var Var$0 = $TS($S($EXPECT($L203, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12242
12363
  return { $loc, token: $1 };
12243
12364
  });
12244
12365
  function Var(ctx, state) {
12245
12366
  return $EVENT(ctx, state, "Var", Var$0);
12246
12367
  }
12247
- var Void$0 = $TS($S($EXPECT($L199, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12368
+ var Void$0 = $TS($S($EXPECT($L204, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12248
12369
  return { $loc, token: $1 };
12249
12370
  });
12250
12371
  function Void(ctx, state) {
12251
12372
  return $EVENT(ctx, state, "Void", Void$0);
12252
12373
  }
12253
- var When$0 = $TS($S($EXPECT($L200, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12374
+ var When$0 = $TS($S($EXPECT($L205, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12254
12375
  return { $loc, token: "case" };
12255
12376
  });
12256
12377
  function When(ctx, state) {
12257
12378
  return $EVENT(ctx, state, "When", When$0);
12258
12379
  }
12259
- var While$0 = $TS($S($EXPECT($L201, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12380
+ var While$0 = $TS($S($EXPECT($L206, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12260
12381
  return { $loc, token: $1 };
12261
12382
  });
12262
12383
  function While(ctx, state) {
12263
12384
  return $EVENT(ctx, state, "While", While$0);
12264
12385
  }
12265
- var Yield$0 = $TS($S($EXPECT($L202, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12386
+ var Yield$0 = $TS($S($EXPECT($L207, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12266
12387
  return { $loc, token: $1, type: "Yield" };
12267
12388
  });
12268
12389
  function Yield(ctx, state) {
@@ -12341,7 +12462,7 @@ var require_parser = __commonJS({
12341
12462
  function JSXElement(ctx, state) {
12342
12463
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12343
12464
  }
12344
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L203, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12465
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L208, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12345
12466
  return { type: "JSXElement", children: $0, tag: $2 };
12346
12467
  });
12347
12468
  function JSXSelfClosingElement(ctx, state) {
@@ -12360,7 +12481,7 @@ var require_parser = __commonJS({
12360
12481
  function PopJSXStack(ctx, state) {
12361
12482
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
12362
12483
  }
12363
- var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L39, 'JSXOpeningElement ">"'));
12484
+ var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L44, 'JSXOpeningElement ">"'));
12364
12485
  function JSXOpeningElement(ctx, state) {
12365
12486
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
12366
12487
  }
@@ -12375,7 +12496,7 @@ var require_parser = __commonJS({
12375
12496
  function JSXOptionalClosingElement(ctx, state) {
12376
12497
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12377
12498
  }
12378
- var JSXClosingElement$0 = $S($EXPECT($L204, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L39, 'JSXClosingElement ">"'));
12499
+ var JSXClosingElement$0 = $S($EXPECT($L209, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L44, 'JSXClosingElement ">"'));
12379
12500
  function JSXClosingElement(ctx, state) {
12380
12501
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12381
12502
  }
@@ -12396,7 +12517,7 @@ var require_parser = __commonJS({
12396
12517
  ];
12397
12518
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12398
12519
  });
12399
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L205, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12520
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L210, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12400
12521
  var children = $3;
12401
12522
  $0 = $0.slice(1);
12402
12523
  return {
@@ -12409,7 +12530,7 @@ var require_parser = __commonJS({
12409
12530
  function JSXFragment(ctx, state) {
12410
12531
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12411
12532
  }
12412
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L205, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12533
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L210, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12413
12534
  module.JSXTagStack.push("");
12414
12535
  return $1;
12415
12536
  });
@@ -12426,11 +12547,11 @@ var require_parser = __commonJS({
12426
12547
  function JSXOptionalClosingFragment(ctx, state) {
12427
12548
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12428
12549
  }
12429
- var JSXClosingFragment$0 = $EXPECT($L206, 'JSXClosingFragment "</>"');
12550
+ var JSXClosingFragment$0 = $EXPECT($L211, 'JSXClosingFragment "</>"');
12430
12551
  function JSXClosingFragment(ctx, state) {
12431
12552
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12432
12553
  }
12433
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L154, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12554
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L159, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12434
12555
  return module.config.defaultElement;
12435
12556
  });
12436
12557
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12608,7 +12729,7 @@ var require_parser = __commonJS({
12608
12729
  }
12609
12730
  return $skip;
12610
12731
  });
12611
- var JSXAttribute$5 = $TS($S($EXPECT($L154, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12732
+ var JSXAttribute$5 = $TS($S($EXPECT($L159, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12612
12733
  return [" ", "id=", $2];
12613
12734
  });
12614
12735
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12850,7 +12971,7 @@ var require_parser = __commonJS({
12850
12971
  }
12851
12972
  return $skip;
12852
12973
  });
12853
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L31, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12974
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L36, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12854
12975
  return { children: [], jsxChildren: [] };
12855
12976
  });
12856
12977
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12905,7 +13026,7 @@ var require_parser = __commonJS({
12905
13026
  function JSXChild(ctx, state) {
12906
13027
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12907
13028
  }
12908
- var JSXComment$0 = $TS($S($EXPECT($L207, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L208, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13029
+ var JSXComment$0 = $TS($S($EXPECT($L212, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L213, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12909
13030
  return ["{/*", $2, "*/}"];
12910
13031
  });
12911
13032
  function JSXComment(ctx, state) {
@@ -13092,37 +13213,37 @@ var require_parser = __commonJS({
13092
13213
  function InterfaceExtendsTarget(ctx, state) {
13093
13214
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
13094
13215
  }
13095
- var TypeKeyword$0 = $TS($S($EXPECT($L209, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13216
+ var TypeKeyword$0 = $TS($S($EXPECT($L214, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13096
13217
  return { $loc, token: $1 };
13097
13218
  });
13098
13219
  function TypeKeyword(ctx, state) {
13099
13220
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
13100
13221
  }
13101
- var Enum$0 = $TS($S($EXPECT($L210, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13222
+ var Enum$0 = $TS($S($EXPECT($L215, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13102
13223
  return { $loc, token: $1 };
13103
13224
  });
13104
13225
  function Enum(ctx, state) {
13105
13226
  return $EVENT(ctx, state, "Enum", Enum$0);
13106
13227
  }
13107
- var Interface$0 = $TS($S($EXPECT($L211, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13228
+ var Interface$0 = $TS($S($EXPECT($L216, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13108
13229
  return { $loc, token: $1 };
13109
13230
  });
13110
13231
  function Interface(ctx, state) {
13111
13232
  return $EVENT(ctx, state, "Interface", Interface$0);
13112
13233
  }
13113
- var Global$0 = $TS($S($EXPECT($L212, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13234
+ var Global$0 = $TS($S($EXPECT($L217, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13114
13235
  return { $loc, token: $1 };
13115
13236
  });
13116
13237
  function Global(ctx, state) {
13117
13238
  return $EVENT(ctx, state, "Global", Global$0);
13118
13239
  }
13119
- var Module$0 = $TS($S($EXPECT($L213, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13240
+ var Module$0 = $TS($S($EXPECT($L218, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13120
13241
  return { $loc, token: $1 };
13121
13242
  });
13122
13243
  function Module(ctx, state) {
13123
13244
  return $EVENT(ctx, state, "Module", Module$0);
13124
13245
  }
13125
- var Namespace$0 = $TS($S($EXPECT($L214, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13246
+ var Namespace$0 = $TS($S($EXPECT($L219, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13126
13247
  return { $loc, token: $1 };
13127
13248
  });
13128
13249
  function Namespace(ctx, state) {
@@ -13396,7 +13517,7 @@ var require_parser = __commonJS({
13396
13517
  function ReturnTypeSuffix(ctx, state) {
13397
13518
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13398
13519
  }
13399
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L215, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13520
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L220, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13400
13521
  var asserts = $1;
13401
13522
  var t = $2;
13402
13523
  if (asserts) {
@@ -13417,7 +13538,7 @@ var require_parser = __commonJS({
13417
13538
  function ReturnType(ctx, state) {
13418
13539
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13419
13540
  }
13420
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L160, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13541
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L165, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13421
13542
  var lhs = $1;
13422
13543
  var rhs = $2;
13423
13544
  if (!rhs)
@@ -13475,8 +13596,8 @@ var require_parser = __commonJS({
13475
13596
  function TypeUnarySuffix(ctx, state) {
13476
13597
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13477
13598
  }
13478
- var TypeUnaryOp$0 = $S($EXPECT($L216, 'TypeUnaryOp "keyof"'), NonIdContinue);
13479
- var TypeUnaryOp$1 = $S($EXPECT($L177, 'TypeUnaryOp "readonly"'), NonIdContinue);
13599
+ var TypeUnaryOp$0 = $S($EXPECT($L221, 'TypeUnaryOp "keyof"'), NonIdContinue);
13600
+ var TypeUnaryOp$1 = $S($EXPECT($L182, 'TypeUnaryOp "readonly"'), NonIdContinue);
13480
13601
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13481
13602
  function TypeUnaryOp(ctx, state) {
13482
13603
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13506,7 +13627,7 @@ var require_parser = __commonJS({
13506
13627
  function TypeIndexedAccess(ctx, state) {
13507
13628
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13508
13629
  }
13509
- var UnknownAlias$0 = $TV($EXPECT($L217, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13630
+ var UnknownAlias$0 = $TV($EXPECT($L222, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13510
13631
  return { $loc, token: "unknown" };
13511
13632
  });
13512
13633
  function UnknownAlias(ctx, state) {
@@ -13712,10 +13833,10 @@ var require_parser = __commonJS({
13712
13833
  }
13713
13834
  var TypeLiteral$0 = TypeTemplateLiteral;
13714
13835
  var TypeLiteral$1 = Literal;
13715
- var TypeLiteral$2 = $TS($S($EXPECT($L199, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13836
+ var TypeLiteral$2 = $TS($S($EXPECT($L204, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13716
13837
  return { type: "VoidType", $loc, token: $1 };
13717
13838
  });
13718
- var TypeLiteral$3 = $TV($EXPECT($L218, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13839
+ var TypeLiteral$3 = $TV($EXPECT($L223, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13719
13840
  return { $loc, token: "[]" };
13720
13841
  });
13721
13842
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13734,16 +13855,16 @@ var require_parser = __commonJS({
13734
13855
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13735
13856
  return value[1];
13736
13857
  });
13737
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L120, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L40, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L31, 'InlineInterfacePropertyDelimiter "}"'))));
13858
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L45, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "}"'))));
13738
13859
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13739
13860
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13740
13861
  function InlineInterfacePropertyDelimiter(ctx, state) {
13741
13862
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
13742
13863
  }
13743
- var TypeBinaryOp$0 = $TV($EXPECT($L104, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13864
+ var TypeBinaryOp$0 = $TV($EXPECT($L109, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13744
13865
  return { $loc, token: "|" };
13745
13866
  });
13746
- var TypeBinaryOp$1 = $TV($EXPECT($L103, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13867
+ var TypeBinaryOp$1 = $TV($EXPECT($L108, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13747
13868
  return { $loc, token: "&" };
13748
13869
  });
13749
13870
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -13760,7 +13881,7 @@ var require_parser = __commonJS({
13760
13881
  function TypeFunction(ctx, state) {
13761
13882
  return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
13762
13883
  }
13763
- var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L29, 'TypeArrowFunction "->"'), $EXPECT($L30, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13884
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L34, 'TypeArrowFunction "->"'), $EXPECT($L35, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13764
13885
  return { $loc, token: "=>" };
13765
13886
  });
13766
13887
  function TypeArrowFunction(ctx, state) {
@@ -13798,7 +13919,7 @@ var require_parser = __commonJS({
13798
13919
  function TypeParameters(ctx, state) {
13799
13920
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13800
13921
  }
13801
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L159, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13922
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L164, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13802
13923
  function TypeParameter(ctx, state) {
13803
13924
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13804
13925
  }
@@ -13811,7 +13932,7 @@ var require_parser = __commonJS({
13811
13932
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
13812
13933
  }
13813
13934
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
13814
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L39, 'TypeParameterDelimiter ">"')));
13935
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L44, 'TypeParameterDelimiter ">"')));
13815
13936
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
13816
13937
  return value[1];
13817
13938
  });
@@ -13841,7 +13962,7 @@ var require_parser = __commonJS({
13841
13962
  function CivetPrologue(ctx, state) {
13842
13963
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13843
13964
  }
13844
- var CivetPrologueContent$0 = $TS($S($EXPECT($L219, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13965
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L224, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13845
13966
  var options = $3;
13846
13967
  return {
13847
13968
  type: "CivetPrologue",
@@ -14716,7 +14837,9 @@ var require_parser = __commonJS({
14716
14837
  exports.AmpersandFunctionExpression = AmpersandFunctionExpression;
14717
14838
  exports.OperatorDeclaration = OperatorDeclaration;
14718
14839
  exports.OperatorSignature = OperatorSignature;
14840
+ exports.OperatorBehavior = OperatorBehavior;
14719
14841
  exports.OperatorPrecedence = OperatorPrecedence;
14842
+ exports.OperatorAssociativity = OperatorAssociativity;
14720
14843
  exports.AmpersandBlockRHS = AmpersandBlockRHS;
14721
14844
  exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
14722
14845
  exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
@@ -14925,6 +15048,7 @@ var require_parser = __commonJS({
14925
15048
  exports.ImportAssertion = ImportAssertion;
14926
15049
  exports.TypeAndImportSpecifier = TypeAndImportSpecifier;
14927
15050
  exports.ImportSpecifier = ImportSpecifier;
15051
+ exports.OperatorImportSpecifier = OperatorImportSpecifier;
14928
15052
  exports.ImportAsToken = ImportAsToken;
14929
15053
  exports.ModuleExportName = ModuleExportName;
14930
15054
  exports.ModuleSpecifier = ModuleSpecifier;