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