@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/browser.js CHANGED
@@ -91,7 +91,7 @@ var Civet = (() => {
91
91
  }
92
92
  function isFunction(node) {
93
93
  const { type } = node;
94
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || node.async;
94
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
95
95
  }
96
96
  function isWhitespaceOrEmpty(node) {
97
97
  if (!node)
@@ -1432,16 +1432,15 @@ var Civet = (() => {
1432
1432
  switch (node.type) {
1433
1433
  case "BlockStatement":
1434
1434
  if (node.expressions.length) {
1435
- const last = node.expressions[node.expressions.length - 1];
1436
- insertPush(last, ref);
1435
+ insertPush(node.expressions.at(-1), ref);
1437
1436
  } else {
1438
1437
  node.expressions.push([ref, ".push(void 0);"]);
1439
1438
  }
1440
1439
  return;
1441
1440
  case "CaseBlock":
1442
- node.clauses.forEach((clause) => ({
1443
- insertPush: insertPush(clause, ref)
1444
- }));
1441
+ node.clauses.forEach((clause) => {
1442
+ return insertPush(clause, ref);
1443
+ });
1445
1444
  return;
1446
1445
  case "WhenClause":
1447
1446
  insertPush(node.block, ref);
@@ -1490,8 +1489,8 @@ var Civet = (() => {
1490
1489
  return;
1491
1490
  case "IfStatement":
1492
1491
  insertPush(exp.then, ref);
1493
- if (exp.then.bare) {
1494
- exp.then.children.push(";");
1492
+ if (exp.then.bare && !exp.then.semicolon) {
1493
+ exp.then.children.push(exp.then.semicolon = ";");
1495
1494
  }
1496
1495
  if (exp.else)
1497
1496
  insertPush(exp.else[2], ref);
@@ -1767,18 +1766,86 @@ var Civet = (() => {
1767
1766
  while (i < expandedOps.length) {
1768
1767
  let op = expandedOps[i];
1769
1768
  if (op.special) {
1769
+ let advanceLeft2 = function(allowEqual) {
1770
+ while (start >= 4) {
1771
+ const prevPrec = getPrecedence(expandedOps[start - 2]);
1772
+ if (!(prevPrec > prec || allowEqual && prevPrec === prec)) {
1773
+ return prevPrec === prec;
1774
+ }
1775
+ start -= 4;
1776
+ }
1777
+ return false;
1778
+ }, advanceRight2 = function(allowEqual) {
1779
+ while (end + 4 < expandedOps.length) {
1780
+ const nextPrec = getPrecedence(expandedOps[end + 2]);
1781
+ if (!(nextPrec > prec || allowEqual && nextPrec === prec)) {
1782
+ return nextPrec === prec;
1783
+ }
1784
+ end += 4;
1785
+ }
1786
+ return false;
1787
+ };
1788
+ var advanceLeft = advanceLeft2, advanceRight = advanceRight2;
1770
1789
  let start = i - 2, end = i + 2;
1771
1790
  const prec = getPrecedence(op);
1772
- while (start >= 4 && getPrecedence(expandedOps[start - 2]) >= prec) {
1773
- start -= 4;
1774
- }
1775
- while (end + 4 < expandedOps.length && getPrecedence(expandedOps[end + 2]) > prec) {
1776
- end += 4;
1791
+ let error;
1792
+ switch (op.assoc) {
1793
+ case "left":
1794
+ case void 0: {
1795
+ advanceLeft2(true);
1796
+ advanceRight2(false);
1797
+ break;
1798
+ }
1799
+ case "right": {
1800
+ advanceLeft2(false);
1801
+ advanceRight2(true);
1802
+ break;
1803
+ }
1804
+ case "non": {
1805
+ if (advanceLeft2(false) || advanceRight2(false)) {
1806
+ error = {
1807
+ type: "Error",
1808
+ message: `non-associative operator ${op.token} used at same precedence level without parenthesization`
1809
+ };
1810
+ }
1811
+ ;
1812
+ break;
1813
+ }
1814
+ case "arguments": {
1815
+ if (advanceLeft2(false)) {
1816
+ error = {
1817
+ type: "Error",
1818
+ message: `arguments operator ${op.token} used at same precedence level as ${expandedOps[start - 2].token} to the left`
1819
+ };
1820
+ }
1821
+ advanceRight2(true);
1822
+ break;
1823
+ }
1824
+ default: {
1825
+ throw new Error(`Unsupported associativity: ${op.assoc}`);
1826
+ }
1777
1827
  }
1778
1828
  let a = start === i - 2 ? expandedOps[start] : expandedOps.slice(start, i - 1);
1779
1829
  let wsOp = expandedOps[i - 1];
1780
1830
  let wsB = expandedOps[i + 1];
1781
- let b = end === i + 2 ? expandedOps[i + 2] : recurse(expandedOps.slice(i + 2, end + 1));
1831
+ let b = end === i + 2 ? expandedOps[i + 2] : expandedOps.slice(i + 2, end + 1);
1832
+ if (op.assoc === "arguments") {
1833
+ let i2 = 2;
1834
+ while (i2 < b.length) {
1835
+ if (prec === getPrecedence(b[i2])) {
1836
+ if (!(b[i2].token === op.token)) {
1837
+ error ??= {
1838
+ type: "Error",
1839
+ message: `arguments operator ${op.token} used at same precedence level as ${b[i2].token} to the right`
1840
+ };
1841
+ }
1842
+ b[i2] = ",";
1843
+ }
1844
+ i2 += 4;
1845
+ }
1846
+ } else {
1847
+ b = recurse(b);
1848
+ }
1782
1849
  if (op.token === "instanceof" && b.type === "Literal" && b.children?.[0]?.type === "StringLiteral") {
1783
1850
  a = ["typeof ", makeLeftHandSideExpression(a)];
1784
1851
  if (op.negated) {
@@ -1824,6 +1891,9 @@ var Civet = (() => {
1824
1891
  }
1825
1892
  if (op.negated)
1826
1893
  children.unshift("!");
1894
+ if (error != null) {
1895
+ children.push(error);
1896
+ }
1827
1897
  expandedOps.splice(start, end - start + 1, {
1828
1898
  children
1829
1899
  });
@@ -1954,6 +2024,8 @@ var Civet = (() => {
1954
2024
  "in",
1955
2025
  "instanceof"
1956
2026
  ],
2027
+ // NOTE: Extra in-between level for default custom operators
2028
+ ["custom"],
1957
2029
  ["<<", ">>", ">>>"],
1958
2030
  ["+", "-"],
1959
2031
  ["*", "/", "%"],
@@ -1970,7 +2042,7 @@ var Civet = (() => {
1970
2042
  }
1971
2043
  precedenceStep = 1 / 64;
1972
2044
  precedenceRelational = precedenceMap.get("==");
1973
- precedenceCustomDefault = precedenceStep + precedenceMap.get("==");
2045
+ precedenceCustomDefault = precedenceMap.get("custom");
1974
2046
  asConst = {
1975
2047
  ts: true,
1976
2048
  children: [" as const"]
@@ -2395,11 +2467,10 @@ var Civet = (() => {
2395
2467
  const { else: e } = s;
2396
2468
  const block = blockWithPrefix(condition.expression.blockPrefix, s.then);
2397
2469
  s.then = block;
2398
- const toAdd = [block];
2399
- if (block.bare && e) {
2400
- toAdd.push(";");
2470
+ if (block.bare && e && !block.semicolon) {
2471
+ block.children.push(block.semicolon = ";");
2401
2472
  }
2402
- s.children.splice(2, 1, ...toAdd);
2473
+ s.children.splice(2, 1, block);
2403
2474
  updateParentPointers(block, s);
2404
2475
  break;
2405
2476
  }
@@ -2534,7 +2605,9 @@ var Civet = (() => {
2534
2605
 
2535
2606
  // source/parser/auto-dec.civet
2536
2607
  function findDecs(statements) {
2537
- const declarationNames = gatherNodes(statements, ({ type }) => type === "Declaration").flatMap((d) => d.names);
2608
+ const predicate = ($) => $.type === "Declaration";
2609
+ const declarations = gatherNodes(statements, predicate);
2610
+ const declarationNames = declarations.flatMap((d) => d.names);
2538
2611
  return new Set(declarationNames);
2539
2612
  }
2540
2613
  function createConstLetDecs(statements, scopes, letOrConst) {
@@ -2638,7 +2711,7 @@ var Civet = (() => {
2638
2711
  scopes.push(decs);
2639
2712
  const varIds = [];
2640
2713
  const assignmentStatements = findAssignments(statements, scopes);
2641
- const undeclaredIdentifiers = assignmentStatements.flatMap(($) => $?.names || []);
2714
+ const undeclaredIdentifiers = assignmentStatements.flatMap(($1) => $1?.names || []);
2642
2715
  undeclaredIdentifiers.filter((x, i, a) => {
2643
2716
  if (!hasDec(x))
2644
2717
  return a.indexOf(x) === i;
@@ -2673,7 +2746,7 @@ var Civet = (() => {
2673
2746
  children: ["var ", varIds.join(", ")]
2674
2747
  }, delimiter]);
2675
2748
  }
2676
- return scopes.pop();
2749
+ scopes.pop();
2677
2750
  }
2678
2751
  var init_auto_dec = __esm({
2679
2752
  "source/parser/auto-dec.civet"() {
@@ -4390,7 +4463,9 @@ ${input.slice(result.pos)}
4390
4463
  AmpersandFunctionExpression,
4391
4464
  OperatorDeclaration,
4392
4465
  OperatorSignature,
4466
+ OperatorBehavior,
4393
4467
  OperatorPrecedence,
4468
+ OperatorAssociativity,
4394
4469
  AmpersandBlockRHS,
4395
4470
  AmpersandTypeSuffix,
4396
4471
  AmpersandBlockRHSBody,
@@ -4599,6 +4674,7 @@ ${input.slice(result.pos)}
4599
4674
  ImportAssertion,
4600
4675
  TypeAndImportSpecifier,
4601
4676
  ImportSpecifier,
4677
+ OperatorImportSpecifier,
4602
4678
  ImportAsToken,
4603
4679
  ModuleExportName,
4604
4680
  ModuleSpecifier,
@@ -4991,197 +5067,202 @@ ${input.slice(result.pos)}
4991
5067
  var $L26 = $L("tighter");
4992
5068
  var $L27 = $L("looser");
4993
5069
  var $L28 = $L("same");
4994
- var $L29 = $L("->");
4995
- var $L30 = $L("\u2192");
4996
- var $L31 = $L("}");
4997
- var $L32 = $L("null");
4998
- var $L33 = $L("true");
4999
- var $L34 = $L("false");
5000
- var $L35 = $L("yes");
5001
- var $L36 = $L("on");
5002
- var $L37 = $L("no");
5003
- var $L38 = $L("off");
5004
- var $L39 = $L(">");
5005
- var $L40 = $L("]");
5006
- var $L41 = $L("**=");
5007
- var $L42 = $L("*=");
5008
- var $L43 = $L("/=");
5009
- var $L44 = $L("%=");
5010
- var $L45 = $L("+=");
5011
- var $L46 = $L("-=");
5012
- var $L47 = $L("<<=");
5013
- var $L48 = $L(">>>=");
5014
- var $L49 = $L(">>=");
5015
- var $L50 = $L("&&=");
5016
- var $L51 = $L("&=");
5017
- var $L52 = $L("^=");
5018
- var $L53 = $L("||=");
5019
- var $L54 = $L("|=");
5020
- var $L55 = $L("??=");
5021
- var $L56 = $L("?=");
5022
- var $L57 = $L("and=");
5023
- var $L58 = $L("or=");
5024
- var $L59 = $L("**");
5025
- var $L60 = $L("*");
5026
- var $L61 = $L("/");
5027
- var $L62 = $L("%%");
5028
- var $L63 = $L("%");
5029
- var $L64 = $L("+");
5030
- var $L65 = $L("<=");
5031
- var $L66 = $L("\u2264");
5032
- var $L67 = $L(">=");
5033
- var $L68 = $L("\u2265");
5034
- var $L69 = $L("<?");
5035
- var $L70 = $L("!<?");
5036
- var $L71 = $L("<<");
5037
- var $L72 = $L("\xAB");
5038
- var $L73 = $L(">>>");
5039
- var $L74 = $L("\u22D9");
5040
- var $L75 = $L(">>");
5041
- var $L76 = $L("\xBB");
5042
- var $L77 = $L("!==");
5043
- var $L78 = $L("\u2262");
5044
- var $L79 = $L("!=");
5045
- var $L80 = $L("\u2260");
5046
- var $L81 = $L("isnt");
5047
- var $L82 = $L("===");
5048
- var $L83 = $L("\u2263");
5049
- var $L84 = $L("\u2A76");
5050
- var $L85 = $L("==");
5051
- var $L86 = $L("\u2261");
5052
- var $L87 = $L("\u2A75");
5053
- var $L88 = $L("and");
5054
- var $L89 = $L("&&");
5055
- var $L90 = $L("or");
5056
- var $L91 = $L("||");
5057
- var $L92 = $L("\u2016");
5058
- var $L93 = $L("^^");
5059
- var $L94 = $L("xor");
5060
- var $L95 = $L("xnor");
5061
- var $L96 = $L("??");
5062
- var $L97 = $L("\u2047");
5063
- var $L98 = $L("instanceof");
5064
- var $L99 = $L("\u2208");
5065
- var $L100 = $L("\u220B");
5066
- var $L101 = $L("\u220C");
5067
- var $L102 = $L("\u2209");
5068
- var $L103 = $L("&");
5069
- var $L104 = $L("|");
5070
- var $L105 = $L("$:");
5071
- var $L106 = $L(";");
5072
- var $L107 = $L("break");
5073
- var $L108 = $L("continue");
5074
- var $L109 = $L("debugger");
5075
- var $L110 = $L("require");
5076
- var $L111 = $L("with");
5077
- var $L112 = $L("assert");
5078
- var $L113 = $L(":=");
5079
- var $L114 = $L("\u2254");
5080
- var $L115 = $L(".=");
5081
- var $L116 = $L("::=");
5082
- var $L117 = $L("/*");
5083
- var $L118 = $L("*/");
5084
- var $L119 = $L("\\");
5085
- var $L120 = $L(")");
5086
- var $L121 = $L("abstract");
5087
- var $L122 = $L("as");
5088
- var $L123 = $L("@");
5089
- var $L124 = $L("@@");
5090
- var $L125 = $L("async");
5091
- var $L126 = $L("await");
5092
- var $L127 = $L("`");
5093
- var $L128 = $L("by");
5094
- var $L129 = $L("case");
5095
- var $L130 = $L("catch");
5096
- var $L131 = $L("class");
5097
- var $L132 = $L("#{");
5098
- var $L133 = $L("declare");
5099
- var $L134 = $L("default");
5100
- var $L135 = $L("delete");
5101
- var $L136 = $L("do");
5102
- var $L137 = $L("..");
5103
- var $L138 = $L("\u2025");
5104
- var $L139 = $L("...");
5105
- var $L140 = $L("\u2026");
5106
- var $L141 = $L("::");
5107
- var $L142 = $L('"');
5108
- var $L143 = $L("each");
5109
- var $L144 = $L("else");
5110
- var $L145 = $L("!");
5111
- var $L146 = $L("export");
5112
- var $L147 = $L("extends");
5113
- var $L148 = $L("finally");
5114
- var $L149 = $L("for");
5115
- var $L150 = $L("from");
5116
- var $L151 = $L("function");
5117
- var $L152 = $L("get");
5118
- var $L153 = $L("set");
5119
- var $L154 = $L("#");
5120
- var $L155 = $L("if");
5121
- var $L156 = $L("in");
5122
- var $L157 = $L("infer");
5123
- var $L158 = $L("let");
5124
- var $L159 = $L("const");
5125
- var $L160 = $L("is");
5126
- var $L161 = $L("loop");
5127
- var $L162 = $L("new");
5128
- var $L163 = $L("not");
5129
- var $L164 = $L("of");
5130
- var $L165 = $L("[");
5131
- var $L166 = $L("operator");
5132
- var $L167 = $L("own");
5133
- var $L168 = $L("public");
5134
- var $L169 = $L("private");
5135
- var $L170 = $L("protected");
5136
- var $L171 = $L("||>");
5137
- var $L172 = $L("|\u25B7");
5138
- var $L173 = $L("|>=");
5139
- var $L174 = $L("\u25B7=");
5140
- var $L175 = $L("|>");
5141
- var $L176 = $L("\u25B7");
5142
- var $L177 = $L("readonly");
5143
- var $L178 = $L("return");
5144
- var $L179 = $L("satisfies");
5145
- var $L180 = $L("'");
5146
- var $L181 = $L("static");
5147
- var $L182 = $L("${");
5148
- var $L183 = $L("super");
5149
- var $L184 = $L("switch");
5150
- var $L185 = $L("target");
5151
- var $L186 = $L("then");
5152
- var $L187 = $L("this");
5153
- var $L188 = $L("throw");
5154
- var $L189 = $L('"""');
5155
- var $L190 = $L("'''");
5156
- var $L191 = $L("///");
5157
- var $L192 = $L("```");
5158
- var $L193 = $L("try");
5159
- var $L194 = $L("typeof");
5160
- var $L195 = $L("unless");
5161
- var $L196 = $L("until");
5162
- var $L197 = $L("using");
5163
- var $L198 = $L("var");
5164
- var $L199 = $L("void");
5165
- var $L200 = $L("when");
5166
- var $L201 = $L("while");
5167
- var $L202 = $L("yield");
5168
- var $L203 = $L("/>");
5169
- var $L204 = $L("</");
5170
- var $L205 = $L("<>");
5171
- var $L206 = $L("</>");
5172
- var $L207 = $L("<!--");
5173
- var $L208 = $L("-->");
5174
- var $L209 = $L("type");
5175
- var $L210 = $L("enum");
5176
- var $L211 = $L("interface");
5177
- var $L212 = $L("global");
5178
- var $L213 = $L("module");
5179
- var $L214 = $L("namespace");
5180
- var $L215 = $L("asserts");
5181
- var $L216 = $L("keyof");
5182
- var $L217 = $L("???");
5183
- var $L218 = $L("[]");
5184
- var $L219 = $L("civet");
5070
+ var $L29 = $L("left");
5071
+ var $L30 = $L("right");
5072
+ var $L31 = $L("non");
5073
+ var $L32 = $L("relational");
5074
+ var $L33 = $L("arguments");
5075
+ var $L34 = $L("->");
5076
+ var $L35 = $L("\u2192");
5077
+ var $L36 = $L("}");
5078
+ var $L37 = $L("null");
5079
+ var $L38 = $L("true");
5080
+ var $L39 = $L("false");
5081
+ var $L40 = $L("yes");
5082
+ var $L41 = $L("on");
5083
+ var $L42 = $L("no");
5084
+ var $L43 = $L("off");
5085
+ var $L44 = $L(">");
5086
+ var $L45 = $L("]");
5087
+ var $L46 = $L("**=");
5088
+ var $L47 = $L("*=");
5089
+ var $L48 = $L("/=");
5090
+ var $L49 = $L("%=");
5091
+ var $L50 = $L("+=");
5092
+ var $L51 = $L("-=");
5093
+ var $L52 = $L("<<=");
5094
+ var $L53 = $L(">>>=");
5095
+ var $L54 = $L(">>=");
5096
+ var $L55 = $L("&&=");
5097
+ var $L56 = $L("&=");
5098
+ var $L57 = $L("^=");
5099
+ var $L58 = $L("||=");
5100
+ var $L59 = $L("|=");
5101
+ var $L60 = $L("??=");
5102
+ var $L61 = $L("?=");
5103
+ var $L62 = $L("and=");
5104
+ var $L63 = $L("or=");
5105
+ var $L64 = $L("**");
5106
+ var $L65 = $L("*");
5107
+ var $L66 = $L("/");
5108
+ var $L67 = $L("%%");
5109
+ var $L68 = $L("%");
5110
+ var $L69 = $L("+");
5111
+ var $L70 = $L("<=");
5112
+ var $L71 = $L("\u2264");
5113
+ var $L72 = $L(">=");
5114
+ var $L73 = $L("\u2265");
5115
+ var $L74 = $L("<?");
5116
+ var $L75 = $L("!<?");
5117
+ var $L76 = $L("<<");
5118
+ var $L77 = $L("\xAB");
5119
+ var $L78 = $L(">>>");
5120
+ var $L79 = $L("\u22D9");
5121
+ var $L80 = $L(">>");
5122
+ var $L81 = $L("\xBB");
5123
+ var $L82 = $L("!==");
5124
+ var $L83 = $L("\u2262");
5125
+ var $L84 = $L("!=");
5126
+ var $L85 = $L("\u2260");
5127
+ var $L86 = $L("isnt");
5128
+ var $L87 = $L("===");
5129
+ var $L88 = $L("\u2263");
5130
+ var $L89 = $L("\u2A76");
5131
+ var $L90 = $L("==");
5132
+ var $L91 = $L("\u2261");
5133
+ var $L92 = $L("\u2A75");
5134
+ var $L93 = $L("and");
5135
+ var $L94 = $L("&&");
5136
+ var $L95 = $L("or");
5137
+ var $L96 = $L("||");
5138
+ var $L97 = $L("\u2016");
5139
+ var $L98 = $L("^^");
5140
+ var $L99 = $L("xor");
5141
+ var $L100 = $L("xnor");
5142
+ var $L101 = $L("??");
5143
+ var $L102 = $L("\u2047");
5144
+ var $L103 = $L("instanceof");
5145
+ var $L104 = $L("\u2208");
5146
+ var $L105 = $L("\u220B");
5147
+ var $L106 = $L("\u220C");
5148
+ var $L107 = $L("\u2209");
5149
+ var $L108 = $L("&");
5150
+ var $L109 = $L("|");
5151
+ var $L110 = $L("$:");
5152
+ var $L111 = $L(";");
5153
+ var $L112 = $L("break");
5154
+ var $L113 = $L("continue");
5155
+ var $L114 = $L("debugger");
5156
+ var $L115 = $L("require");
5157
+ var $L116 = $L("with");
5158
+ var $L117 = $L("assert");
5159
+ var $L118 = $L(":=");
5160
+ var $L119 = $L("\u2254");
5161
+ var $L120 = $L(".=");
5162
+ var $L121 = $L("::=");
5163
+ var $L122 = $L("/*");
5164
+ var $L123 = $L("*/");
5165
+ var $L124 = $L("\\");
5166
+ var $L125 = $L(")");
5167
+ var $L126 = $L("abstract");
5168
+ var $L127 = $L("as");
5169
+ var $L128 = $L("@");
5170
+ var $L129 = $L("@@");
5171
+ var $L130 = $L("async");
5172
+ var $L131 = $L("await");
5173
+ var $L132 = $L("`");
5174
+ var $L133 = $L("by");
5175
+ var $L134 = $L("case");
5176
+ var $L135 = $L("catch");
5177
+ var $L136 = $L("class");
5178
+ var $L137 = $L("#{");
5179
+ var $L138 = $L("declare");
5180
+ var $L139 = $L("default");
5181
+ var $L140 = $L("delete");
5182
+ var $L141 = $L("do");
5183
+ var $L142 = $L("..");
5184
+ var $L143 = $L("\u2025");
5185
+ var $L144 = $L("...");
5186
+ var $L145 = $L("\u2026");
5187
+ var $L146 = $L("::");
5188
+ var $L147 = $L('"');
5189
+ var $L148 = $L("each");
5190
+ var $L149 = $L("else");
5191
+ var $L150 = $L("!");
5192
+ var $L151 = $L("export");
5193
+ var $L152 = $L("extends");
5194
+ var $L153 = $L("finally");
5195
+ var $L154 = $L("for");
5196
+ var $L155 = $L("from");
5197
+ var $L156 = $L("function");
5198
+ var $L157 = $L("get");
5199
+ var $L158 = $L("set");
5200
+ var $L159 = $L("#");
5201
+ var $L160 = $L("if");
5202
+ var $L161 = $L("in");
5203
+ var $L162 = $L("infer");
5204
+ var $L163 = $L("let");
5205
+ var $L164 = $L("const");
5206
+ var $L165 = $L("is");
5207
+ var $L166 = $L("loop");
5208
+ var $L167 = $L("new");
5209
+ var $L168 = $L("not");
5210
+ var $L169 = $L("of");
5211
+ var $L170 = $L("[");
5212
+ var $L171 = $L("operator");
5213
+ var $L172 = $L("own");
5214
+ var $L173 = $L("public");
5215
+ var $L174 = $L("private");
5216
+ var $L175 = $L("protected");
5217
+ var $L176 = $L("||>");
5218
+ var $L177 = $L("|\u25B7");
5219
+ var $L178 = $L("|>=");
5220
+ var $L179 = $L("\u25B7=");
5221
+ var $L180 = $L("|>");
5222
+ var $L181 = $L("\u25B7");
5223
+ var $L182 = $L("readonly");
5224
+ var $L183 = $L("return");
5225
+ var $L184 = $L("satisfies");
5226
+ var $L185 = $L("'");
5227
+ var $L186 = $L("static");
5228
+ var $L187 = $L("${");
5229
+ var $L188 = $L("super");
5230
+ var $L189 = $L("switch");
5231
+ var $L190 = $L("target");
5232
+ var $L191 = $L("then");
5233
+ var $L192 = $L("this");
5234
+ var $L193 = $L("throw");
5235
+ var $L194 = $L('"""');
5236
+ var $L195 = $L("'''");
5237
+ var $L196 = $L("///");
5238
+ var $L197 = $L("```");
5239
+ var $L198 = $L("try");
5240
+ var $L199 = $L("typeof");
5241
+ var $L200 = $L("unless");
5242
+ var $L201 = $L("until");
5243
+ var $L202 = $L("using");
5244
+ var $L203 = $L("var");
5245
+ var $L204 = $L("void");
5246
+ var $L205 = $L("when");
5247
+ var $L206 = $L("while");
5248
+ var $L207 = $L("yield");
5249
+ var $L208 = $L("/>");
5250
+ var $L209 = $L("</");
5251
+ var $L210 = $L("<>");
5252
+ var $L211 = $L("</>");
5253
+ var $L212 = $L("<!--");
5254
+ var $L213 = $L("-->");
5255
+ var $L214 = $L("type");
5256
+ var $L215 = $L("enum");
5257
+ var $L216 = $L("interface");
5258
+ var $L217 = $L("global");
5259
+ var $L218 = $L("module");
5260
+ var $L219 = $L("namespace");
5261
+ var $L220 = $L("asserts");
5262
+ var $L221 = $L("keyof");
5263
+ var $L222 = $L("???");
5264
+ var $L223 = $L("[]");
5265
+ var $L224 = $L("civet");
5185
5266
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
5186
5267
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
5187
5268
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -7570,12 +7651,12 @@ ${input.slice(result.pos)}
7570
7651
  function AmpersandFunctionExpression(ctx, state) {
7571
7652
  return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
7572
7653
  }
7573
- var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorPrecedence), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
7654
+ var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
7574
7655
  var op = $1;
7575
- var prec = $2;
7656
+ var behavior = $2;
7576
7657
  var w = $3;
7577
7658
  var decl = $4;
7578
- decl.names.forEach((name) => module.operators.set(name, prec));
7659
+ decl.names.forEach((name) => module.operators.set(name, behavior));
7579
7660
  return {
7580
7661
  ...decl,
7581
7662
  children: [insertTrimmingSpace(w, ""), ...decl.children]
@@ -7584,7 +7665,7 @@ ${input.slice(result.pos)}
7584
7665
  var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
7585
7666
  var signature = $1;
7586
7667
  var block = $2;
7587
- module.operators.set(signature.id.name, signature.prec);
7668
+ module.operators.set(signature.id.name, signature.behavior);
7588
7669
  return {
7589
7670
  ...signature,
7590
7671
  type: "FunctionExpression",
@@ -7594,15 +7675,14 @@ ${input.slice(result.pos)}
7594
7675
  operator: true
7595
7676
  };
7596
7677
  });
7597
- 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) {
7678
+ 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) {
7598
7679
  var op = $1;
7599
- var defaultPrec = $2;
7600
- var w1 = $3;
7601
- var id = $4;
7602
- var prec = $5;
7603
- var ids = $6;
7604
- module.operators.set(id.name, prec ?? defaultPrec);
7605
- ids.forEach(([, , id2, prec2]) => module.operators.set(id2.name, prec2 ?? defaultPrec));
7680
+ var w1 = $2;
7681
+ var id = $3;
7682
+ var behavior = $4;
7683
+ var ids = $5;
7684
+ module.operators.set(id.name, behavior);
7685
+ ids.forEach(([, , id2, behavior2]) => module.operators.set(id2.name, behavior2));
7606
7686
  return {
7607
7687
  id,
7608
7688
  children: []
@@ -7612,16 +7692,15 @@ ${input.slice(result.pos)}
7612
7692
  function OperatorDeclaration(ctx, state) {
7613
7693
  return $EVENT_C(ctx, state, "OperatorDeclaration", OperatorDeclaration$$);
7614
7694
  }
7615
- 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) {
7695
+ 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) {
7616
7696
  var op = $1;
7617
- var prec1 = $2;
7618
- var func = $3;
7619
- var w1 = $4;
7620
- var id = $5;
7621
- var prec2 = $6;
7622
- var w2 = $7;
7623
- var parameters = $8;
7624
- var suffix = $9;
7697
+ var func = $2;
7698
+ var w1 = $3;
7699
+ var id = $4;
7700
+ var behavior = $5;
7701
+ var w2 = $6;
7702
+ var parameters = $7;
7703
+ var suffix = $8;
7625
7704
  if (!func) {
7626
7705
  func = { $loc: op.$loc, token: "function" };
7627
7706
  } else {
@@ -7636,16 +7715,26 @@ ${input.slice(result.pos)}
7636
7715
  ts: false,
7637
7716
  block: null,
7638
7717
  children: [func, w1, id, w2, parameters, suffix],
7639
- prec: prec2 ?? prec1
7718
+ behavior
7640
7719
  };
7641
7720
  });
7642
7721
  function OperatorSignature(ctx, state) {
7643
7722
  return $EVENT(ctx, state, "OperatorSignature", OperatorSignature$0);
7644
7723
  }
7724
+ var OperatorBehavior$0 = $TS($S(OperatorPrecedence, $E(OperatorAssociativity)), function($skip, $loc, $0, $1, $2) {
7725
+ return { ...$1, ...$2 };
7726
+ });
7727
+ var OperatorBehavior$1 = $TS($S(OperatorAssociativity, $E(OperatorPrecedence)), function($skip, $loc, $0, $1, $2) {
7728
+ return { ...$1, ...$2 };
7729
+ });
7730
+ var OperatorBehavior$$ = [OperatorBehavior$0, OperatorBehavior$1];
7731
+ function OperatorBehavior(ctx, state) {
7732
+ return $EVENT_C(ctx, state, "OperatorBehavior", OperatorBehavior$$);
7733
+ }
7645
7734
  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) {
7646
7735
  var mod = $2;
7647
7736
  var op = $5;
7648
- let prec = op.type === "Identifier" ? module.operators.get(op.name) : getPrecedence(op[1]);
7737
+ let prec = op.type === "Identifier" ? module.operators.get(op.name).prec : getPrecedence(op[1]);
7649
7738
  switch (mod) {
7650
7739
  case "tighter":
7651
7740
  prec += 1 / 64;
@@ -7654,11 +7743,21 @@ ${input.slice(result.pos)}
7654
7743
  prec -= 1 / 64;
7655
7744
  break;
7656
7745
  }
7657
- return prec;
7746
+ return { prec };
7658
7747
  });
7659
7748
  function OperatorPrecedence(ctx, state) {
7660
7749
  return $EVENT(ctx, state, "OperatorPrecedence", OperatorPrecedence$0);
7661
7750
  }
7751
+ 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) {
7752
+ var assoc = $2;
7753
+ if (assoc === "relational") {
7754
+ return { relational: true, assoc: "non" };
7755
+ }
7756
+ return { assoc };
7757
+ });
7758
+ function OperatorAssociativity(ctx, state) {
7759
+ return $EVENT(ctx, state, "OperatorAssociativity", OperatorAssociativity$0);
7760
+ }
7662
7761
  var AmpersandBlockRHS$0 = $TS($S(ForbidTrailingMemberProperty, $E(AmpersandBlockRHSBody), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
7663
7762
  if (!$2)
7664
7763
  return $skip;
@@ -7764,7 +7863,7 @@ ${input.slice(result.pos)}
7764
7863
  function ThinArrowFunction(ctx, state) {
7765
7864
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7766
7865
  }
7767
- var Arrow$0 = $TV($C($EXPECT($L29, 'Arrow "->"'), $EXPECT($L30, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7866
+ var Arrow$0 = $TV($C($EXPECT($L34, 'Arrow "->"'), $EXPECT($L35, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7768
7867
  return { $loc, token: "->" };
7769
7868
  });
7770
7869
  function Arrow(ctx, state) {
@@ -8064,7 +8163,7 @@ ${input.slice(result.pos)}
8064
8163
  }
8065
8164
  var BracedContent$0 = NestedBlockStatements;
8066
8165
  var BracedContent$1 = SingleLineStatements;
8067
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L31, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8166
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L36, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8068
8167
  const expressions = [];
8069
8168
  return {
8070
8169
  type: "BlockStatement",
@@ -8134,7 +8233,7 @@ ${input.slice(result.pos)}
8134
8233
  function LiteralContent(ctx, state) {
8135
8234
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
8136
8235
  }
8137
- var NullLiteral$0 = $TS($S($EXPECT($L32, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8236
+ var NullLiteral$0 = $TS($S($EXPECT($L37, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8138
8237
  return { $loc, token: $1 };
8139
8238
  });
8140
8239
  function NullLiteral(ctx, state) {
@@ -8149,17 +8248,17 @@ ${input.slice(result.pos)}
8149
8248
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
8150
8249
  return value[1];
8151
8250
  });
8152
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L33, '_BooleanLiteral "true"'), $EXPECT($L34, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8251
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L38, '_BooleanLiteral "true"'), $EXPECT($L39, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8153
8252
  return { $loc, token: $1 };
8154
8253
  });
8155
8254
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
8156
8255
  function _BooleanLiteral(ctx, state) {
8157
8256
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
8158
8257
  }
8159
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L35, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L36, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8258
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L40, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L41, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8160
8259
  return { $loc, token: "true" };
8161
8260
  });
8162
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L37, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L38, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8261
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L42, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L43, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8163
8262
  return { $loc, token: "false" };
8164
8263
  });
8165
8264
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
@@ -8191,7 +8290,7 @@ ${input.slice(result.pos)}
8191
8290
  function IdentifierReference(ctx, state) {
8192
8291
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
8193
8292
  }
8194
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L39, 'UpcomingAssignment ">"')))));
8293
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L44, 'UpcomingAssignment ">"')))));
8195
8294
  function UpcomingAssignment(ctx, state) {
8196
8295
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
8197
8296
  }
@@ -8349,7 +8448,7 @@ ${input.slice(result.pos)}
8349
8448
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
8350
8449
  }
8351
8450
  var ArrayElementDelimiter$0 = $S(__, Comma);
8352
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L40, 'ArrayElementDelimiter "]"')));
8451
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L45, 'ArrayElementDelimiter "]"')));
8353
8452
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8354
8453
  return value[1];
8355
8454
  });
@@ -8603,7 +8702,7 @@ ${input.slice(result.pos)}
8603
8702
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
8604
8703
  }
8605
8704
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8606
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L31, 'ObjectPropertyDelimiter "}"')));
8705
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ObjectPropertyDelimiter "}"')));
8607
8706
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8608
8707
  return value[1];
8609
8708
  });
@@ -9100,10 +9199,10 @@ ${input.slice(result.pos)}
9100
9199
  function OperatorAssignmentOp(ctx, state) {
9101
9200
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
9102
9201
  }
9103
- var AssignmentOpSymbol$0 = $EXPECT($L41, 'AssignmentOpSymbol "**="');
9104
- var AssignmentOpSymbol$1 = $EXPECT($L42, 'AssignmentOpSymbol "*="');
9105
- var AssignmentOpSymbol$2 = $EXPECT($L43, 'AssignmentOpSymbol "/="');
9106
- var AssignmentOpSymbol$3 = $EXPECT($L44, 'AssignmentOpSymbol "%="');
9202
+ var AssignmentOpSymbol$0 = $EXPECT($L46, 'AssignmentOpSymbol "**="');
9203
+ var AssignmentOpSymbol$1 = $EXPECT($L47, 'AssignmentOpSymbol "*="');
9204
+ var AssignmentOpSymbol$2 = $EXPECT($L48, 'AssignmentOpSymbol "/="');
9205
+ var AssignmentOpSymbol$3 = $EXPECT($L49, 'AssignmentOpSymbol "%="');
9107
9206
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
9108
9207
  return {
9109
9208
  special: true,
@@ -9112,18 +9211,18 @@ ${input.slice(result.pos)}
9112
9211
  children: [$2]
9113
9212
  };
9114
9213
  });
9115
- var AssignmentOpSymbol$5 = $EXPECT($L45, 'AssignmentOpSymbol "+="');
9116
- var AssignmentOpSymbol$6 = $EXPECT($L46, 'AssignmentOpSymbol "-="');
9117
- var AssignmentOpSymbol$7 = $EXPECT($L47, 'AssignmentOpSymbol "<<="');
9118
- var AssignmentOpSymbol$8 = $EXPECT($L48, 'AssignmentOpSymbol ">>>="');
9119
- var AssignmentOpSymbol$9 = $EXPECT($L49, 'AssignmentOpSymbol ">>="');
9120
- var AssignmentOpSymbol$10 = $EXPECT($L50, 'AssignmentOpSymbol "&&="');
9121
- var AssignmentOpSymbol$11 = $EXPECT($L51, 'AssignmentOpSymbol "&="');
9122
- var AssignmentOpSymbol$12 = $EXPECT($L52, 'AssignmentOpSymbol "^="');
9123
- var AssignmentOpSymbol$13 = $EXPECT($L53, 'AssignmentOpSymbol "||="');
9124
- var AssignmentOpSymbol$14 = $EXPECT($L54, 'AssignmentOpSymbol "|="');
9125
- var AssignmentOpSymbol$15 = $EXPECT($L55, 'AssignmentOpSymbol "??="');
9126
- var AssignmentOpSymbol$16 = $T($EXPECT($L56, 'AssignmentOpSymbol "?="'), function(value) {
9214
+ var AssignmentOpSymbol$5 = $EXPECT($L50, 'AssignmentOpSymbol "+="');
9215
+ var AssignmentOpSymbol$6 = $EXPECT($L51, 'AssignmentOpSymbol "-="');
9216
+ var AssignmentOpSymbol$7 = $EXPECT($L52, 'AssignmentOpSymbol "<<="');
9217
+ var AssignmentOpSymbol$8 = $EXPECT($L53, 'AssignmentOpSymbol ">>>="');
9218
+ var AssignmentOpSymbol$9 = $EXPECT($L54, 'AssignmentOpSymbol ">>="');
9219
+ var AssignmentOpSymbol$10 = $EXPECT($L55, 'AssignmentOpSymbol "&&="');
9220
+ var AssignmentOpSymbol$11 = $EXPECT($L56, 'AssignmentOpSymbol "&="');
9221
+ var AssignmentOpSymbol$12 = $EXPECT($L57, 'AssignmentOpSymbol "^="');
9222
+ var AssignmentOpSymbol$13 = $EXPECT($L58, 'AssignmentOpSymbol "||="');
9223
+ var AssignmentOpSymbol$14 = $EXPECT($L59, 'AssignmentOpSymbol "|="');
9224
+ var AssignmentOpSymbol$15 = $EXPECT($L60, 'AssignmentOpSymbol "??="');
9225
+ var AssignmentOpSymbol$16 = $T($EXPECT($L61, 'AssignmentOpSymbol "?="'), function(value) {
9127
9226
  return "??=";
9128
9227
  });
9129
9228
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -9136,10 +9235,10 @@ ${input.slice(result.pos)}
9136
9235
  function AssignmentOpSymbol(ctx, state) {
9137
9236
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
9138
9237
  }
9139
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L57, 'CoffeeWordAssignmentOp "and="'), function(value) {
9238
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L62, 'CoffeeWordAssignmentOp "and="'), function(value) {
9140
9239
  return "&&=";
9141
9240
  });
9142
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L58, 'CoffeeWordAssignmentOp "or="'), function(value) {
9241
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "or="'), function(value) {
9143
9242
  return "||=";
9144
9243
  });
9145
9244
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -9192,7 +9291,7 @@ ${input.slice(result.pos)}
9192
9291
  return {
9193
9292
  call: id,
9194
9293
  special: true,
9195
- prec: module.operators.get(id.name)
9294
+ ...module.operators.get(id.name)
9196
9295
  };
9197
9296
  });
9198
9297
  var _BinaryOp$2 = $TS($S(OmittedNegation, __, Identifier), function($skip, $loc, $0, $1, $2, $3) {
@@ -9203,40 +9302,40 @@ ${input.slice(result.pos)}
9203
9302
  call: id,
9204
9303
  special: true,
9205
9304
  negated: true,
9206
- prec: module.operators.get(id.name)
9305
+ ...module.operators.get(id.name)
9207
9306
  };
9208
9307
  });
9209
9308
  var _BinaryOp$$ = [_BinaryOp$0, _BinaryOp$1, _BinaryOp$2];
9210
9309
  function _BinaryOp(ctx, state) {
9211
9310
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
9212
9311
  }
9213
- var BinaryOpSymbol$0 = $EXPECT($L59, 'BinaryOpSymbol "**"');
9214
- var BinaryOpSymbol$1 = $EXPECT($L60, 'BinaryOpSymbol "*"');
9215
- var BinaryOpSymbol$2 = $EXPECT($L61, 'BinaryOpSymbol "/"');
9216
- var BinaryOpSymbol$3 = $TV($EXPECT($L62, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9312
+ var BinaryOpSymbol$0 = $EXPECT($L64, 'BinaryOpSymbol "**"');
9313
+ var BinaryOpSymbol$1 = $EXPECT($L65, 'BinaryOpSymbol "*"');
9314
+ var BinaryOpSymbol$2 = $EXPECT($L66, 'BinaryOpSymbol "/"');
9315
+ var BinaryOpSymbol$3 = $TV($EXPECT($L67, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9217
9316
  return {
9218
9317
  call: module.getRef("modulo"),
9219
9318
  special: true
9220
9319
  };
9221
9320
  });
9222
- var BinaryOpSymbol$4 = $EXPECT($L63, 'BinaryOpSymbol "%"');
9321
+ var BinaryOpSymbol$4 = $EXPECT($L68, 'BinaryOpSymbol "%"');
9223
9322
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
9224
9323
  return {
9225
9324
  method: "concat",
9226
9325
  special: true
9227
9326
  };
9228
9327
  });
9229
- var BinaryOpSymbol$6 = $EXPECT($L64, 'BinaryOpSymbol "+"');
9328
+ var BinaryOpSymbol$6 = $EXPECT($L69, 'BinaryOpSymbol "+"');
9230
9329
  var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
9231
- var BinaryOpSymbol$8 = $EXPECT($L65, 'BinaryOpSymbol "<="');
9232
- var BinaryOpSymbol$9 = $T($EXPECT($L66, 'BinaryOpSymbol "\u2264"'), function(value) {
9330
+ var BinaryOpSymbol$8 = $EXPECT($L70, 'BinaryOpSymbol "<="');
9331
+ var BinaryOpSymbol$9 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
9233
9332
  return "<=";
9234
9333
  });
9235
- var BinaryOpSymbol$10 = $EXPECT($L67, 'BinaryOpSymbol ">="');
9236
- var BinaryOpSymbol$11 = $T($EXPECT($L68, 'BinaryOpSymbol "\u2265"'), function(value) {
9334
+ var BinaryOpSymbol$10 = $EXPECT($L72, 'BinaryOpSymbol ">="');
9335
+ var BinaryOpSymbol$11 = $T($EXPECT($L73, 'BinaryOpSymbol "\u2265"'), function(value) {
9237
9336
  return ">=";
9238
9337
  });
9239
- var BinaryOpSymbol$12 = $TV($EXPECT($L69, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9338
+ var BinaryOpSymbol$12 = $TV($EXPECT($L74, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9240
9339
  return {
9241
9340
  $loc,
9242
9341
  token: "instanceof",
@@ -9244,7 +9343,7 @@ ${input.slice(result.pos)}
9244
9343
  special: true
9245
9344
  };
9246
9345
  });
9247
- var BinaryOpSymbol$13 = $TV($EXPECT($L70, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9346
+ var BinaryOpSymbol$13 = $TV($EXPECT($L75, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9248
9347
  return {
9249
9348
  $loc,
9250
9349
  token: "instanceof",
@@ -9253,76 +9352,76 @@ ${input.slice(result.pos)}
9253
9352
  negated: true
9254
9353
  };
9255
9354
  });
9256
- var BinaryOpSymbol$14 = $EXPECT($L71, 'BinaryOpSymbol "<<"');
9257
- var BinaryOpSymbol$15 = $T($EXPECT($L72, 'BinaryOpSymbol "\xAB"'), function(value) {
9355
+ var BinaryOpSymbol$14 = $EXPECT($L76, 'BinaryOpSymbol "<<"');
9356
+ var BinaryOpSymbol$15 = $T($EXPECT($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
9258
9357
  return "<<";
9259
9358
  });
9260
9359
  var BinaryOpSymbol$16 = $EXPECT($L16, 'BinaryOpSymbol "<"');
9261
- var BinaryOpSymbol$17 = $EXPECT($L73, 'BinaryOpSymbol ">>>"');
9262
- var BinaryOpSymbol$18 = $T($EXPECT($L74, 'BinaryOpSymbol "\u22D9"'), function(value) {
9360
+ var BinaryOpSymbol$17 = $EXPECT($L78, 'BinaryOpSymbol ">>>"');
9361
+ var BinaryOpSymbol$18 = $T($EXPECT($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
9263
9362
  return ">>>";
9264
9363
  });
9265
- var BinaryOpSymbol$19 = $EXPECT($L75, 'BinaryOpSymbol ">>"');
9266
- var BinaryOpSymbol$20 = $T($EXPECT($L76, 'BinaryOpSymbol "\xBB"'), function(value) {
9364
+ var BinaryOpSymbol$19 = $EXPECT($L80, 'BinaryOpSymbol ">>"');
9365
+ var BinaryOpSymbol$20 = $T($EXPECT($L81, 'BinaryOpSymbol "\xBB"'), function(value) {
9267
9366
  return ">>";
9268
9367
  });
9269
- var BinaryOpSymbol$21 = $EXPECT($L39, 'BinaryOpSymbol ">"');
9270
- var BinaryOpSymbol$22 = $EXPECT($L77, 'BinaryOpSymbol "!=="');
9271
- var BinaryOpSymbol$23 = $T($EXPECT($L78, 'BinaryOpSymbol "\u2262"'), function(value) {
9368
+ var BinaryOpSymbol$21 = $EXPECT($L44, 'BinaryOpSymbol ">"');
9369
+ var BinaryOpSymbol$22 = $EXPECT($L82, 'BinaryOpSymbol "!=="');
9370
+ var BinaryOpSymbol$23 = $T($EXPECT($L83, 'BinaryOpSymbol "\u2262"'), function(value) {
9272
9371
  return "!==";
9273
9372
  });
9274
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L79, 'BinaryOpSymbol "!="'), $EXPECT($L80, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9373
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L84, 'BinaryOpSymbol "!="'), $EXPECT($L85, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9275
9374
  if (module.config.coffeeEq)
9276
9375
  return "!==";
9277
9376
  return "!=";
9278
9377
  });
9279
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L81, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9378
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L86, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9280
9379
  if (module.config.coffeeIsnt)
9281
9380
  return "!==";
9282
9381
  return $skip;
9283
9382
  });
9284
- var BinaryOpSymbol$26 = $EXPECT($L82, 'BinaryOpSymbol "==="');
9285
- var BinaryOpSymbol$27 = $T($C($EXPECT($L83, 'BinaryOpSymbol "\u2263"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A76"')), function(value) {
9383
+ var BinaryOpSymbol$26 = $EXPECT($L87, 'BinaryOpSymbol "==="');
9384
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L88, 'BinaryOpSymbol "\u2263"'), $EXPECT($L89, 'BinaryOpSymbol "\u2A76"')), function(value) {
9286
9385
  return "===";
9287
9386
  });
9288
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L85, 'BinaryOpSymbol "=="'), $EXPECT($L86, 'BinaryOpSymbol "\u2261"'), $EXPECT($L87, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9387
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "=="'), $EXPECT($L91, 'BinaryOpSymbol "\u2261"'), $EXPECT($L92, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9289
9388
  if (module.config.coffeeEq)
9290
9389
  return "===";
9291
9390
  return "==";
9292
9391
  });
9293
- var BinaryOpSymbol$29 = $T($S($EXPECT($L88, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9392
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L93, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9294
9393
  return "&&";
9295
9394
  });
9296
- var BinaryOpSymbol$30 = $EXPECT($L89, 'BinaryOpSymbol "&&"');
9297
- var BinaryOpSymbol$31 = $T($S($EXPECT($L90, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9395
+ var BinaryOpSymbol$30 = $EXPECT($L94, 'BinaryOpSymbol "&&"');
9396
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L95, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9298
9397
  return "||";
9299
9398
  });
9300
- var BinaryOpSymbol$32 = $EXPECT($L91, 'BinaryOpSymbol "||"');
9301
- var BinaryOpSymbol$33 = $T($EXPECT($L92, 'BinaryOpSymbol "\u2016"'), function(value) {
9399
+ var BinaryOpSymbol$32 = $EXPECT($L96, 'BinaryOpSymbol "||"');
9400
+ var BinaryOpSymbol$33 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2016"'), function(value) {
9302
9401
  return "||";
9303
9402
  });
9304
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L93, 'BinaryOpSymbol "^^"'), $S($EXPECT($L94, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9403
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L98, 'BinaryOpSymbol "^^"'), $S($EXPECT($L99, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9305
9404
  return {
9306
9405
  call: module.getRef("xor"),
9307
9406
  special: true,
9308
9407
  prec: "^^"
9309
9408
  };
9310
9409
  });
9311
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R19, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L95, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9410
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R19, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L100, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9312
9411
  return {
9313
9412
  call: module.getRef("xnor"),
9314
9413
  special: true,
9315
9414
  prec: "^^"
9316
9415
  };
9317
9416
  });
9318
- var BinaryOpSymbol$36 = $EXPECT($L96, 'BinaryOpSymbol "??"');
9319
- var BinaryOpSymbol$37 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2047"'), function(value) {
9417
+ var BinaryOpSymbol$36 = $EXPECT($L101, 'BinaryOpSymbol "??"');
9418
+ var BinaryOpSymbol$37 = $T($EXPECT($L102, 'BinaryOpSymbol "\u2047"'), function(value) {
9320
9419
  return "??";
9321
9420
  });
9322
9421
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
9323
9422
  return "??";
9324
9423
  });
9325
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L98, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9424
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L103, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9326
9425
  return {
9327
9426
  $loc,
9328
9427
  token: $1,
@@ -9339,7 +9438,7 @@ ${input.slice(result.pos)}
9339
9438
  var op = $3;
9340
9439
  return { ...op, $loc };
9341
9440
  });
9342
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9441
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L104, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9343
9442
  return {
9344
9443
  method: "includes",
9345
9444
  relational: true,
@@ -9347,14 +9446,14 @@ ${input.slice(result.pos)}
9347
9446
  special: true
9348
9447
  };
9349
9448
  });
9350
- var BinaryOpSymbol$43 = $TV($EXPECT($L100, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9449
+ var BinaryOpSymbol$43 = $TV($EXPECT($L105, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9351
9450
  return {
9352
9451
  method: "includes",
9353
9452
  relational: true,
9354
9453
  special: true
9355
9454
  };
9356
9455
  });
9357
- var BinaryOpSymbol$44 = $TV($EXPECT($L101, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9456
+ var BinaryOpSymbol$44 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9358
9457
  return {
9359
9458
  method: "includes",
9360
9459
  relational: true,
@@ -9362,7 +9461,7 @@ ${input.slice(result.pos)}
9362
9461
  negated: true
9363
9462
  };
9364
9463
  });
9365
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L102, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9464
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L107, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9366
9465
  return {
9367
9466
  method: "includes",
9368
9467
  relational: true,
@@ -9395,9 +9494,9 @@ ${input.slice(result.pos)}
9395
9494
  return "===";
9396
9495
  });
9397
9496
  var BinaryOpSymbol$48 = In;
9398
- var BinaryOpSymbol$49 = $EXPECT($L103, 'BinaryOpSymbol "&"');
9497
+ var BinaryOpSymbol$49 = $EXPECT($L108, 'BinaryOpSymbol "&"');
9399
9498
  var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
9400
- var BinaryOpSymbol$51 = $EXPECT($L104, 'BinaryOpSymbol "|"');
9499
+ var BinaryOpSymbol$51 = $EXPECT($L109, 'BinaryOpSymbol "|"');
9401
9500
  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];
9402
9501
  function BinaryOpSymbol(ctx, state) {
9403
9502
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -9435,7 +9534,7 @@ ${input.slice(result.pos)}
9435
9534
  function CoffeeOfOp(ctx, state) {
9436
9535
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
9437
9536
  }
9438
- var NotOp$0 = $TS($S($EXPECT($L98, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9537
+ var NotOp$0 = $TS($S($EXPECT($L103, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9439
9538
  return {
9440
9539
  $loc,
9441
9540
  token: "instanceof",
@@ -9456,14 +9555,14 @@ ${input.slice(result.pos)}
9456
9555
  function NotOp(ctx, state) {
9457
9556
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
9458
9557
  }
9459
- var Xor$0 = $EXPECT($L93, 'Xor "^^"');
9460
- var Xor$1 = $S($EXPECT($L94, 'Xor "xor"'), NonIdContinue);
9558
+ var Xor$0 = $EXPECT($L98, 'Xor "^^"');
9559
+ var Xor$1 = $S($EXPECT($L99, 'Xor "xor"'), NonIdContinue);
9461
9560
  var Xor$$ = [Xor$0, Xor$1];
9462
9561
  function Xor(ctx, state) {
9463
9562
  return $EVENT_C(ctx, state, "Xor", Xor$$);
9464
9563
  }
9465
9564
  var Xnor$0 = $R$0($EXPECT($R19, "Xnor /!\\^\\^?/"));
9466
- var Xnor$1 = $EXPECT($L95, 'Xnor "xnor"');
9565
+ var Xnor$1 = $EXPECT($L100, 'Xnor "xnor"');
9467
9566
  var Xnor$$ = [Xnor$0, Xnor$1];
9468
9567
  function Xnor(ctx, state) {
9469
9568
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
@@ -9504,7 +9603,7 @@ ${input.slice(result.pos)}
9504
9603
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9505
9604
  }
9506
9605
  var StatementListItem$0 = Declaration;
9507
- var StatementListItem$1 = $TS($S($N($EXPECT($L105, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9606
+ var StatementListItem$1 = $TS($S($N($EXPECT($L110, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9508
9607
  return makeLeftHandSideExpression($2);
9509
9608
  });
9510
9609
  var StatementListItem$2 = PostfixedStatement;
@@ -9614,7 +9713,7 @@ ${input.slice(result.pos)}
9614
9713
  function NoCommaStatement(ctx, state) {
9615
9714
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9616
9715
  }
9617
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L106, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9716
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L111, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9618
9717
  return { type: "EmptyStatement", children: $1 || [] };
9619
9718
  });
9620
9719
  function EmptyStatement(ctx, state) {
@@ -9645,7 +9744,7 @@ ${input.slice(result.pos)}
9645
9744
  var w = $3;
9646
9745
  return [id, colon, w];
9647
9746
  });
9648
- var Label$1 = $S($EXPECT($L105, 'Label "$:"'), Whitespace);
9747
+ var Label$1 = $S($EXPECT($L110, 'Label "$:"'), Whitespace);
9649
9748
  var Label$$ = [Label$0, Label$1];
9650
9749
  function Label(ctx, state) {
9651
9750
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10754,19 +10853,19 @@ ${input.slice(result.pos)}
10754
10853
  function ThrowStatement(ctx, state) {
10755
10854
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10756
10855
  }
10757
- var Break$0 = $TS($S($EXPECT($L107, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10856
+ var Break$0 = $TS($S($EXPECT($L112, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10758
10857
  return { $loc, token: $1 };
10759
10858
  });
10760
10859
  function Break(ctx, state) {
10761
10860
  return $EVENT(ctx, state, "Break", Break$0);
10762
10861
  }
10763
- var Continue$0 = $TS($S($EXPECT($L108, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10862
+ var Continue$0 = $TS($S($EXPECT($L113, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10764
10863
  return { $loc, token: $1 };
10765
10864
  });
10766
10865
  function Continue(ctx, state) {
10767
10866
  return $EVENT(ctx, state, "Continue", Continue$0);
10768
10867
  }
10769
- var Debugger$0 = $TS($S($EXPECT($L109, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10868
+ var Debugger$0 = $TS($S($EXPECT($L114, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10770
10869
  return { $loc, token: $1 };
10771
10870
  });
10772
10871
  function Debugger(ctx, state) {
@@ -10803,7 +10902,7 @@ ${input.slice(result.pos)}
10803
10902
  function MaybeNestedExpression(ctx, state) {
10804
10903
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10805
10904
  }
10806
- 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) {
10905
+ 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) {
10807
10906
  const imp = [
10808
10907
  { ...$1, ts: true },
10809
10908
  { ...$1, token: "const", js: true }
@@ -10897,7 +10996,7 @@ ${input.slice(result.pos)}
10897
10996
  function FromClause(ctx, state) {
10898
10997
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10899
10998
  }
10900
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L111, 'ImportAssertion "with"'), $EXPECT($L112, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10999
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L116, 'ImportAssertion "with"'), $EXPECT($L117, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10901
11000
  function ImportAssertion(ctx, state) {
10902
11001
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10903
11002
  }
@@ -10906,13 +11005,13 @@ ${input.slice(result.pos)}
10906
11005
  return $2;
10907
11006
  return { ts: true, children: $0, binding: $2.binding };
10908
11007
  });
10909
- var TypeAndImportSpecifier$1 = $TS($S(__, Operator, ImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
11008
+ var TypeAndImportSpecifier$1 = $TS($S(__, Operator, OperatorImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
10910
11009
  var ws = $1;
10911
11010
  var spec = $3;
10912
11011
  if (spec.binding.type !== "Identifier") {
10913
11012
  throw new Error("Expected identifier after `operator`");
10914
11013
  }
10915
- module.operators.set(spec.binding.name);
11014
+ module.operators.set(spec.binding.name, spec.behavior);
10916
11015
  return {
10917
11016
  ...spec,
10918
11017
  children: [
@@ -10944,6 +11043,28 @@ ${input.slice(result.pos)}
10944
11043
  function ImportSpecifier(ctx, state) {
10945
11044
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10946
11045
  }
11046
+ var OperatorImportSpecifier$0 = $TS($S(__, ModuleExportName, $E(OperatorBehavior), ImportAsToken, __, ImportedBinding, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
11047
+ var behavior = $3;
11048
+ var binding = $6;
11049
+ return {
11050
+ binding,
11051
+ behavior,
11052
+ children: [$1, $2, $4, $5, $6, $7]
11053
+ };
11054
+ });
11055
+ var OperatorImportSpecifier$1 = $TS($S(__, ImportedBinding, $E(OperatorBehavior), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
11056
+ var binding = $2;
11057
+ var behavior = $3;
11058
+ return {
11059
+ binding,
11060
+ behavior,
11061
+ children: [$1, $2, $4]
11062
+ };
11063
+ });
11064
+ var OperatorImportSpecifier$$ = [OperatorImportSpecifier$0, OperatorImportSpecifier$1];
11065
+ function OperatorImportSpecifier(ctx, state) {
11066
+ return $EVENT_C(ctx, state, "OperatorImportSpecifier", OperatorImportSpecifier$$);
11067
+ }
10947
11068
  var ImportAsToken$0 = $S(__, As);
10948
11069
  var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L15, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10949
11070
  var l = $1;
@@ -11155,19 +11276,19 @@ ${input.slice(result.pos)}
11155
11276
  function LexicalDeclaration(ctx, state) {
11156
11277
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
11157
11278
  }
11158
- var ConstAssignment$0 = $TV($C($EXPECT($L113, 'ConstAssignment ":="'), $EXPECT($L114, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
11279
+ var ConstAssignment$0 = $TV($C($EXPECT($L118, 'ConstAssignment ":="'), $EXPECT($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
11159
11280
  return { $loc, token: "=" };
11160
11281
  });
11161
11282
  function ConstAssignment(ctx, state) {
11162
11283
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
11163
11284
  }
11164
- var LetAssignment$0 = $TV($EXPECT($L115, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11285
+ var LetAssignment$0 = $TV($EXPECT($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11165
11286
  return { $loc, token: "=" };
11166
11287
  });
11167
11288
  function LetAssignment(ctx, state) {
11168
11289
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
11169
11290
  }
11170
- var TypeAssignment$0 = $TV($EXPECT($L116, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
11291
+ var TypeAssignment$0 = $TV($EXPECT($L121, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
11171
11292
  return { $loc, token: "=" };
11172
11293
  });
11173
11294
  function TypeAssignment(ctx, state) {
@@ -11365,7 +11486,7 @@ ${input.slice(result.pos)}
11365
11486
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
11366
11487
  }
11367
11488
  var RegularExpressionLiteral$0 = HeregexLiteral;
11368
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L61, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L61, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11489
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11369
11490
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
11370
11491
  });
11371
11492
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -11577,7 +11698,7 @@ ${input.slice(result.pos)}
11577
11698
  function MultiLineComment(ctx, state) {
11578
11699
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11579
11700
  }
11580
- 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) {
11701
+ 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) {
11581
11702
  return { type: "Comment", $loc, token: $1 };
11582
11703
  });
11583
11704
  function JSMultiLineComment(ctx, state) {
@@ -11623,7 +11744,7 @@ ${input.slice(result.pos)}
11623
11744
  var NonNewlineWhitespace$0 = $TR($EXPECT($R66, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11624
11745
  return { $loc, token: $0 };
11625
11746
  });
11626
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L119, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11747
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L124, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11627
11748
  return " ";
11628
11749
  });
11629
11750
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11669,7 +11790,7 @@ ${input.slice(result.pos)}
11669
11790
  }
11670
11791
  var StatementDelimiter$0 = $Y(EOS);
11671
11792
  var StatementDelimiter$1 = SemicolonDelimiter;
11672
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L31, 'StatementDelimiter "}"'), $EXPECT($L120, 'StatementDelimiter ")"'), $EXPECT($L40, 'StatementDelimiter "]"'))));
11793
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L36, 'StatementDelimiter "}"'), $EXPECT($L125, 'StatementDelimiter ")"'), $EXPECT($L45, 'StatementDelimiter "]"'))));
11673
11794
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11674
11795
  function StatementDelimiter(ctx, state) {
11675
11796
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11693,55 +11814,55 @@ ${input.slice(result.pos)}
11693
11814
  function Loc(ctx, state) {
11694
11815
  return $EVENT(ctx, state, "Loc", Loc$0);
11695
11816
  }
11696
- var Abstract$0 = $TV($TEXT($S($EXPECT($L121, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11817
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L126, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11697
11818
  return { $loc, token: $1, ts: true };
11698
11819
  });
11699
11820
  function Abstract(ctx, state) {
11700
11821
  return $EVENT(ctx, state, "Abstract", Abstract$0);
11701
11822
  }
11702
- var Ampersand$0 = $TV($EXPECT($L103, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11823
+ var Ampersand$0 = $TV($EXPECT($L108, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11703
11824
  return { $loc, token: $1 };
11704
11825
  });
11705
11826
  function Ampersand(ctx, state) {
11706
11827
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11707
11828
  }
11708
- var As$0 = $TS($S($EXPECT($L122, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11829
+ var As$0 = $TS($S($EXPECT($L127, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11709
11830
  return { $loc, token: $1 };
11710
11831
  });
11711
11832
  function As(ctx, state) {
11712
11833
  return $EVENT(ctx, state, "As", As$0);
11713
11834
  }
11714
- var At$0 = $TV($EXPECT($L123, 'At "@"'), function($skip, $loc, $0, $1) {
11835
+ var At$0 = $TV($EXPECT($L128, 'At "@"'), function($skip, $loc, $0, $1) {
11715
11836
  return { $loc, token: $1 };
11716
11837
  });
11717
11838
  function At(ctx, state) {
11718
11839
  return $EVENT(ctx, state, "At", At$0);
11719
11840
  }
11720
- var AtAt$0 = $TV($EXPECT($L124, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11841
+ var AtAt$0 = $TV($EXPECT($L129, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11721
11842
  return { $loc, token: "@" };
11722
11843
  });
11723
11844
  function AtAt(ctx, state) {
11724
11845
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11725
11846
  }
11726
- var Async$0 = $TS($S($EXPECT($L125, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11847
+ var Async$0 = $TS($S($EXPECT($L130, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11727
11848
  return { $loc, token: $1, type: "Async" };
11728
11849
  });
11729
11850
  function Async(ctx, state) {
11730
11851
  return $EVENT(ctx, state, "Async", Async$0);
11731
11852
  }
11732
- var Await$0 = $TS($S($EXPECT($L126, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11853
+ var Await$0 = $TS($S($EXPECT($L131, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
11854
  return { $loc, token: $1, type: "Await" };
11734
11855
  });
11735
11856
  function Await(ctx, state) {
11736
11857
  return $EVENT(ctx, state, "Await", Await$0);
11737
11858
  }
11738
- var Backtick$0 = $TV($EXPECT($L127, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11859
+ var Backtick$0 = $TV($EXPECT($L132, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11739
11860
  return { $loc, token: $1 };
11740
11861
  });
11741
11862
  function Backtick(ctx, state) {
11742
11863
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11743
11864
  }
11744
- var By$0 = $TS($S($EXPECT($L128, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11865
+ var By$0 = $TS($S($EXPECT($L133, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
11866
  return { $loc, token: $1 };
11746
11867
  });
11747
11868
  function By(ctx, state) {
@@ -11753,49 +11874,49 @@ ${input.slice(result.pos)}
11753
11874
  function Caret(ctx, state) {
11754
11875
  return $EVENT(ctx, state, "Caret", Caret$0);
11755
11876
  }
11756
- var Case$0 = $TS($S($EXPECT($L129, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11877
+ var Case$0 = $TS($S($EXPECT($L134, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
11878
  return { $loc, token: $1 };
11758
11879
  });
11759
11880
  function Case(ctx, state) {
11760
11881
  return $EVENT(ctx, state, "Case", Case$0);
11761
11882
  }
11762
- var Catch$0 = $TS($S($EXPECT($L130, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11883
+ var Catch$0 = $TS($S($EXPECT($L135, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11763
11884
  return { $loc, token: $1 };
11764
11885
  });
11765
11886
  function Catch(ctx, state) {
11766
11887
  return $EVENT(ctx, state, "Catch", Catch$0);
11767
11888
  }
11768
- var Class$0 = $TS($S($EXPECT($L131, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11889
+ var Class$0 = $TS($S($EXPECT($L136, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11769
11890
  return { $loc, token: $1 };
11770
11891
  });
11771
11892
  function Class(ctx, state) {
11772
11893
  return $EVENT(ctx, state, "Class", Class$0);
11773
11894
  }
11774
- var CloseAngleBracket$0 = $TV($EXPECT($L39, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11895
+ var CloseAngleBracket$0 = $TV($EXPECT($L44, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11775
11896
  return { $loc, token: $1 };
11776
11897
  });
11777
11898
  function CloseAngleBracket(ctx, state) {
11778
11899
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
11779
11900
  }
11780
- var CloseBrace$0 = $TV($EXPECT($L31, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11901
+ var CloseBrace$0 = $TV($EXPECT($L36, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11781
11902
  return { $loc, token: $1 };
11782
11903
  });
11783
11904
  function CloseBrace(ctx, state) {
11784
11905
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11785
11906
  }
11786
- var CloseBracket$0 = $TV($EXPECT($L40, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11907
+ var CloseBracket$0 = $TV($EXPECT($L45, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11787
11908
  return { $loc, token: $1 };
11788
11909
  });
11789
11910
  function CloseBracket(ctx, state) {
11790
11911
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11791
11912
  }
11792
- var CloseParen$0 = $TV($EXPECT($L120, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11913
+ var CloseParen$0 = $TV($EXPECT($L125, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11793
11914
  return { $loc, token: $1 };
11794
11915
  });
11795
11916
  function CloseParen(ctx, state) {
11796
11917
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11797
11918
  }
11798
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L132, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11919
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L137, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11799
11920
  return { $loc, token: "${" };
11800
11921
  });
11801
11922
  function CoffeeSubstitutionStart(ctx, state) {
@@ -11813,31 +11934,31 @@ ${input.slice(result.pos)}
11813
11934
  function Comma(ctx, state) {
11814
11935
  return $EVENT(ctx, state, "Comma", Comma$0);
11815
11936
  }
11816
- var ConstructorShorthand$0 = $TV($EXPECT($L123, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11937
+ var ConstructorShorthand$0 = $TV($EXPECT($L128, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11817
11938
  return { $loc, token: "constructor" };
11818
11939
  });
11819
11940
  function ConstructorShorthand(ctx, state) {
11820
11941
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11821
11942
  }
11822
- var Declare$0 = $TS($S($EXPECT($L133, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11943
+ var Declare$0 = $TS($S($EXPECT($L138, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11823
11944
  return { $loc, token: $1 };
11824
11945
  });
11825
11946
  function Declare(ctx, state) {
11826
11947
  return $EVENT(ctx, state, "Declare", Declare$0);
11827
11948
  }
11828
- var Default$0 = $TS($S($EXPECT($L134, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11949
+ var Default$0 = $TS($S($EXPECT($L139, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11829
11950
  return { $loc, token: $1 };
11830
11951
  });
11831
11952
  function Default(ctx, state) {
11832
11953
  return $EVENT(ctx, state, "Default", Default$0);
11833
11954
  }
11834
- var Delete$0 = $TS($S($EXPECT($L135, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11955
+ var Delete$0 = $TS($S($EXPECT($L140, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11835
11956
  return { $loc, token: $1 };
11836
11957
  });
11837
11958
  function Delete(ctx, state) {
11838
11959
  return $EVENT(ctx, state, "Delete", Delete$0);
11839
11960
  }
11840
- var Do$0 = $TS($S($EXPECT($L136, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11961
+ var Do$0 = $TS($S($EXPECT($L141, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11841
11962
  return { $loc, token: $1 };
11842
11963
  });
11843
11964
  function Do(ctx, state) {
@@ -11857,45 +11978,45 @@ ${input.slice(result.pos)}
11857
11978
  function Dot(ctx, state) {
11858
11979
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11859
11980
  }
11860
- var DotDot$0 = $TS($S($EXPECT($L137, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11981
+ var DotDot$0 = $TS($S($EXPECT($L142, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11861
11982
  return { $loc, token: $1 };
11862
11983
  });
11863
- var DotDot$1 = $TV($EXPECT($L138, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11984
+ var DotDot$1 = $TV($EXPECT($L143, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11864
11985
  return { $loc, token: ".." };
11865
11986
  });
11866
11987
  var DotDot$$ = [DotDot$0, DotDot$1];
11867
11988
  function DotDot(ctx, state) {
11868
11989
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11869
11990
  }
11870
- var DotDotDot$0 = $TV($EXPECT($L139, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11991
+ var DotDotDot$0 = $TV($EXPECT($L144, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11871
11992
  return { $loc, token: $1 };
11872
11993
  });
11873
- var DotDotDot$1 = $TV($EXPECT($L140, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11994
+ var DotDotDot$1 = $TV($EXPECT($L145, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11874
11995
  return { $loc, token: "..." };
11875
11996
  });
11876
11997
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11877
11998
  function DotDotDot(ctx, state) {
11878
11999
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11879
12000
  }
11880
- var DoubleColon$0 = $TV($EXPECT($L141, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12001
+ var DoubleColon$0 = $TV($EXPECT($L146, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11881
12002
  return { $loc, token: $1 };
11882
12003
  });
11883
12004
  function DoubleColon(ctx, state) {
11884
12005
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11885
12006
  }
11886
- var DoubleQuote$0 = $TV($EXPECT($L142, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12007
+ var DoubleQuote$0 = $TV($EXPECT($L147, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11887
12008
  return { $loc, token: $1 };
11888
12009
  });
11889
12010
  function DoubleQuote(ctx, state) {
11890
12011
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11891
12012
  }
11892
- var Each$0 = $TS($S($EXPECT($L143, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12013
+ var Each$0 = $TS($S($EXPECT($L148, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11893
12014
  return { $loc, token: $1 };
11894
12015
  });
11895
12016
  function Each(ctx, state) {
11896
12017
  return $EVENT(ctx, state, "Each", Each$0);
11897
12018
  }
11898
- var Else$0 = $TS($S($EXPECT($L144, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12019
+ var Else$0 = $TS($S($EXPECT($L149, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11899
12020
  return { $loc, token: $1 };
11900
12021
  });
11901
12022
  function Else(ctx, state) {
@@ -11907,61 +12028,61 @@ ${input.slice(result.pos)}
11907
12028
  function Equals(ctx, state) {
11908
12029
  return $EVENT(ctx, state, "Equals", Equals$0);
11909
12030
  }
11910
- var ExclamationPoint$0 = $TV($EXPECT($L145, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
12031
+ var ExclamationPoint$0 = $TV($EXPECT($L150, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11911
12032
  return { $loc, token: $1 };
11912
12033
  });
11913
12034
  function ExclamationPoint(ctx, state) {
11914
12035
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11915
12036
  }
11916
- var Export$0 = $TS($S($EXPECT($L146, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12037
+ var Export$0 = $TS($S($EXPECT($L151, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11917
12038
  return { $loc, token: $1 };
11918
12039
  });
11919
12040
  function Export(ctx, state) {
11920
12041
  return $EVENT(ctx, state, "Export", Export$0);
11921
12042
  }
11922
- var Extends$0 = $TS($S($EXPECT($L147, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12043
+ var Extends$0 = $TS($S($EXPECT($L152, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11923
12044
  return { $loc, token: $1 };
11924
12045
  });
11925
12046
  function Extends(ctx, state) {
11926
12047
  return $EVENT(ctx, state, "Extends", Extends$0);
11927
12048
  }
11928
- var Finally$0 = $TS($S($EXPECT($L148, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12049
+ var Finally$0 = $TS($S($EXPECT($L153, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11929
12050
  return { $loc, token: $1 };
11930
12051
  });
11931
12052
  function Finally(ctx, state) {
11932
12053
  return $EVENT(ctx, state, "Finally", Finally$0);
11933
12054
  }
11934
- var For$0 = $TS($S($EXPECT($L149, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12055
+ var For$0 = $TS($S($EXPECT($L154, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11935
12056
  return { $loc, token: $1 };
11936
12057
  });
11937
12058
  function For(ctx, state) {
11938
12059
  return $EVENT(ctx, state, "For", For$0);
11939
12060
  }
11940
- var From$0 = $TS($S($EXPECT($L150, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12061
+ var From$0 = $TS($S($EXPECT($L155, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11941
12062
  return { $loc, token: $1 };
11942
12063
  });
11943
12064
  function From(ctx, state) {
11944
12065
  return $EVENT(ctx, state, "From", From$0);
11945
12066
  }
11946
- var Function$0 = $TS($S($EXPECT($L151, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12067
+ var Function$0 = $TS($S($EXPECT($L156, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11947
12068
  return { $loc, token: $1 };
11948
12069
  });
11949
12070
  function Function(ctx, state) {
11950
12071
  return $EVENT(ctx, state, "Function", Function$0);
11951
12072
  }
11952
- var GetOrSet$0 = $TS($S($C($EXPECT($L152, 'GetOrSet "get"'), $EXPECT($L153, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12073
+ var GetOrSet$0 = $TS($S($C($EXPECT($L157, 'GetOrSet "get"'), $EXPECT($L158, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11953
12074
  return { $loc, token: $1, type: "GetOrSet" };
11954
12075
  });
11955
12076
  function GetOrSet(ctx, state) {
11956
12077
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11957
12078
  }
11958
- var Hash$0 = $TV($EXPECT($L154, 'Hash "#"'), function($skip, $loc, $0, $1) {
12079
+ var Hash$0 = $TV($EXPECT($L159, 'Hash "#"'), function($skip, $loc, $0, $1) {
11959
12080
  return { $loc, token: $1 };
11960
12081
  });
11961
12082
  function Hash(ctx, state) {
11962
12083
  return $EVENT(ctx, state, "Hash", Hash$0);
11963
12084
  }
11964
- var If$0 = $TV($TEXT($S($EXPECT($L155, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
12085
+ var If$0 = $TV($TEXT($S($EXPECT($L160, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11965
12086
  return { $loc, token: $1 };
11966
12087
  });
11967
12088
  function If(ctx, state) {
@@ -11973,31 +12094,31 @@ ${input.slice(result.pos)}
11973
12094
  function Import(ctx, state) {
11974
12095
  return $EVENT(ctx, state, "Import", Import$0);
11975
12096
  }
11976
- var In$0 = $TS($S($EXPECT($L156, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12097
+ var In$0 = $TS($S($EXPECT($L161, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11977
12098
  return { $loc, token: $1 };
11978
12099
  });
11979
12100
  function In(ctx, state) {
11980
12101
  return $EVENT(ctx, state, "In", In$0);
11981
12102
  }
11982
- var Infer$0 = $TS($S($EXPECT($L157, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12103
+ var Infer$0 = $TS($S($EXPECT($L162, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11983
12104
  return { $loc, token: $1 };
11984
12105
  });
11985
12106
  function Infer(ctx, state) {
11986
12107
  return $EVENT(ctx, state, "Infer", Infer$0);
11987
12108
  }
11988
- var LetOrConst$0 = $TS($S($C($EXPECT($L158, 'LetOrConst "let"'), $EXPECT($L159, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12109
+ var LetOrConst$0 = $TS($S($C($EXPECT($L163, 'LetOrConst "let"'), $EXPECT($L164, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11989
12110
  return { $loc, token: $1 };
11990
12111
  });
11991
12112
  function LetOrConst(ctx, state) {
11992
12113
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11993
12114
  }
11994
- var Const$0 = $TS($S($EXPECT($L159, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12115
+ var Const$0 = $TS($S($EXPECT($L164, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11995
12116
  return { $loc, token: $1 };
11996
12117
  });
11997
12118
  function Const(ctx, state) {
11998
12119
  return $EVENT(ctx, state, "Const", Const$0);
11999
12120
  }
12000
- var Is$0 = $TS($S($EXPECT($L160, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12121
+ var Is$0 = $TS($S($EXPECT($L165, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12001
12122
  return { $loc, token: $1 };
12002
12123
  });
12003
12124
  function Is(ctx, state) {
@@ -12009,25 +12130,25 @@ ${input.slice(result.pos)}
12009
12130
  function LetOrConstOrVar(ctx, state) {
12010
12131
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
12011
12132
  }
12012
- var Loop$0 = $TS($S($EXPECT($L161, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12133
+ var Loop$0 = $TS($S($EXPECT($L166, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12013
12134
  return { $loc, token: "while(true)" };
12014
12135
  });
12015
12136
  function Loop(ctx, state) {
12016
12137
  return $EVENT(ctx, state, "Loop", Loop$0);
12017
12138
  }
12018
- var New$0 = $TS($S($EXPECT($L162, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12139
+ var New$0 = $TS($S($EXPECT($L167, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12019
12140
  return { $loc, token: $1 };
12020
12141
  });
12021
12142
  function New(ctx, state) {
12022
12143
  return $EVENT(ctx, state, "New", New$0);
12023
12144
  }
12024
- var Not$0 = $TS($S($EXPECT($L163, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12145
+ var Not$0 = $TS($S($EXPECT($L168, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12025
12146
  return { $loc, token: "!" };
12026
12147
  });
12027
12148
  function Not(ctx, state) {
12028
12149
  return $EVENT(ctx, state, "Not", Not$0);
12029
12150
  }
12030
- var Of$0 = $TS($S($EXPECT($L164, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12151
+ var Of$0 = $TS($S($EXPECT($L169, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12031
12152
  return { $loc, token: $1 };
12032
12153
  });
12033
12154
  function Of(ctx, state) {
@@ -12045,7 +12166,7 @@ ${input.slice(result.pos)}
12045
12166
  function OpenBrace(ctx, state) {
12046
12167
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
12047
12168
  }
12048
- var OpenBracket$0 = $TV($EXPECT($L165, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12169
+ var OpenBracket$0 = $TV($EXPECT($L170, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12049
12170
  return { $loc, token: $1 };
12050
12171
  });
12051
12172
  function OpenBracket(ctx, state) {
@@ -12057,43 +12178,43 @@ ${input.slice(result.pos)}
12057
12178
  function OpenParen(ctx, state) {
12058
12179
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
12059
12180
  }
12060
- var Operator$0 = $TS($S($EXPECT($L166, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12181
+ var Operator$0 = $TS($S($EXPECT($L171, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12061
12182
  return { $loc, token: $1 };
12062
12183
  });
12063
12184
  function Operator(ctx, state) {
12064
12185
  return $EVENT(ctx, state, "Operator", Operator$0);
12065
12186
  }
12066
- var Own$0 = $TS($S($EXPECT($L167, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12187
+ var Own$0 = $TS($S($EXPECT($L172, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12067
12188
  return { $loc, token: $1 };
12068
12189
  });
12069
12190
  function Own(ctx, state) {
12070
12191
  return $EVENT(ctx, state, "Own", Own$0);
12071
12192
  }
12072
- var Public$0 = $TS($S($EXPECT($L168, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12193
+ var Public$0 = $TS($S($EXPECT($L173, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12073
12194
  return { $loc, token: $1 };
12074
12195
  });
12075
12196
  function Public(ctx, state) {
12076
12197
  return $EVENT(ctx, state, "Public", Public$0);
12077
12198
  }
12078
- var Private$0 = $TS($S($EXPECT($L169, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12199
+ var Private$0 = $TS($S($EXPECT($L174, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12079
12200
  return { $loc, token: $1 };
12080
12201
  });
12081
12202
  function Private(ctx, state) {
12082
12203
  return $EVENT(ctx, state, "Private", Private$0);
12083
12204
  }
12084
- var Protected$0 = $TS($S($EXPECT($L170, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12205
+ var Protected$0 = $TS($S($EXPECT($L175, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12085
12206
  return { $loc, token: $1 };
12086
12207
  });
12087
12208
  function Protected(ctx, state) {
12088
12209
  return $EVENT(ctx, state, "Protected", Protected$0);
12089
12210
  }
12090
- var Pipe$0 = $TV($C($EXPECT($L171, 'Pipe "||>"'), $EXPECT($L172, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12211
+ var Pipe$0 = $TV($C($EXPECT($L176, 'Pipe "||>"'), $EXPECT($L177, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12091
12212
  return { $loc, token: "||>" };
12092
12213
  });
12093
- var Pipe$1 = $TV($C($EXPECT($L173, 'Pipe "|>="'), $EXPECT($L174, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12214
+ var Pipe$1 = $TV($C($EXPECT($L178, 'Pipe "|>="'), $EXPECT($L179, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12094
12215
  return { $loc, token: "|>=" };
12095
12216
  });
12096
- var Pipe$2 = $TV($C($EXPECT($L175, 'Pipe "|>"'), $EXPECT($L176, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12217
+ var Pipe$2 = $TV($C($EXPECT($L180, 'Pipe "|>"'), $EXPECT($L181, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12097
12218
  return { $loc, token: "|>" };
12098
12219
  });
12099
12220
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -12106,173 +12227,173 @@ ${input.slice(result.pos)}
12106
12227
  function QuestionMark(ctx, state) {
12107
12228
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
12108
12229
  }
12109
- var Readonly$0 = $TS($S($EXPECT($L177, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12230
+ var Readonly$0 = $TS($S($EXPECT($L182, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12110
12231
  return { $loc, token: $1, ts: true };
12111
12232
  });
12112
12233
  function Readonly(ctx, state) {
12113
12234
  return $EVENT(ctx, state, "Readonly", Readonly$0);
12114
12235
  }
12115
- var Return$0 = $TS($S($EXPECT($L178, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12236
+ var Return$0 = $TS($S($EXPECT($L183, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12116
12237
  return { $loc, token: $1 };
12117
12238
  });
12118
12239
  function Return(ctx, state) {
12119
12240
  return $EVENT(ctx, state, "Return", Return$0);
12120
12241
  }
12121
- var Satisfies$0 = $TS($S($EXPECT($L179, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12242
+ var Satisfies$0 = $TS($S($EXPECT($L184, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12122
12243
  return { $loc, token: $1 };
12123
12244
  });
12124
12245
  function Satisfies(ctx, state) {
12125
12246
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
12126
12247
  }
12127
- var Semicolon$0 = $TV($EXPECT($L106, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
12248
+ var Semicolon$0 = $TV($EXPECT($L111, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
12128
12249
  return { $loc, token: $1 };
12129
12250
  });
12130
12251
  function Semicolon(ctx, state) {
12131
12252
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
12132
12253
  }
12133
- var SingleQuote$0 = $TV($EXPECT($L180, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12254
+ var SingleQuote$0 = $TV($EXPECT($L185, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12134
12255
  return { $loc, token: $1 };
12135
12256
  });
12136
12257
  function SingleQuote(ctx, state) {
12137
12258
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
12138
12259
  }
12139
- var Star$0 = $TV($EXPECT($L60, 'Star "*"'), function($skip, $loc, $0, $1) {
12260
+ var Star$0 = $TV($EXPECT($L65, 'Star "*"'), function($skip, $loc, $0, $1) {
12140
12261
  return { $loc, token: $1 };
12141
12262
  });
12142
12263
  function Star(ctx, state) {
12143
12264
  return $EVENT(ctx, state, "Star", Star$0);
12144
12265
  }
12145
- var Static$0 = $TS($S($EXPECT($L181, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12266
+ var Static$0 = $TS($S($EXPECT($L186, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12146
12267
  return { $loc, token: $1 };
12147
12268
  });
12148
- var Static$1 = $TS($S($EXPECT($L123, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L123, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
12269
+ var Static$1 = $TS($S($EXPECT($L128, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L128, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
12149
12270
  return { $loc, token: "static " };
12150
12271
  });
12151
12272
  var Static$$ = [Static$0, Static$1];
12152
12273
  function Static(ctx, state) {
12153
12274
  return $EVENT_C(ctx, state, "Static", Static$$);
12154
12275
  }
12155
- var SubstitutionStart$0 = $TV($EXPECT($L182, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12276
+ var SubstitutionStart$0 = $TV($EXPECT($L187, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12156
12277
  return { $loc, token: $1 };
12157
12278
  });
12158
12279
  function SubstitutionStart(ctx, state) {
12159
12280
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
12160
12281
  }
12161
- var Super$0 = $TS($S($EXPECT($L183, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12282
+ var Super$0 = $TS($S($EXPECT($L188, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12162
12283
  return { $loc, token: $1 };
12163
12284
  });
12164
12285
  function Super(ctx, state) {
12165
12286
  return $EVENT(ctx, state, "Super", Super$0);
12166
12287
  }
12167
- var Switch$0 = $TS($S($EXPECT($L184, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12288
+ var Switch$0 = $TS($S($EXPECT($L189, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12168
12289
  return { $loc, token: $1 };
12169
12290
  });
12170
12291
  function Switch(ctx, state) {
12171
12292
  return $EVENT(ctx, state, "Switch", Switch$0);
12172
12293
  }
12173
- var Target$0 = $TS($S($EXPECT($L185, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12294
+ var Target$0 = $TS($S($EXPECT($L190, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12174
12295
  return { $loc, token: $1 };
12175
12296
  });
12176
12297
  function Target(ctx, state) {
12177
12298
  return $EVENT(ctx, state, "Target", Target$0);
12178
12299
  }
12179
- var Then$0 = $TS($S(__, $EXPECT($L186, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12300
+ var Then$0 = $TS($S(__, $EXPECT($L191, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12180
12301
  return { $loc, token: "" };
12181
12302
  });
12182
12303
  function Then(ctx, state) {
12183
12304
  return $EVENT(ctx, state, "Then", Then$0);
12184
12305
  }
12185
- var This$0 = $TS($S($EXPECT($L187, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12306
+ var This$0 = $TS($S($EXPECT($L192, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12186
12307
  return { $loc, token: $1 };
12187
12308
  });
12188
12309
  function This(ctx, state) {
12189
12310
  return $EVENT(ctx, state, "This", This$0);
12190
12311
  }
12191
- var Throw$0 = $TS($S($EXPECT($L188, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12312
+ var Throw$0 = $TS($S($EXPECT($L193, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12192
12313
  return { $loc, token: $1 };
12193
12314
  });
12194
12315
  function Throw(ctx, state) {
12195
12316
  return $EVENT(ctx, state, "Throw", Throw$0);
12196
12317
  }
12197
- var TripleDoubleQuote$0 = $TV($EXPECT($L189, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12318
+ var TripleDoubleQuote$0 = $TV($EXPECT($L194, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12198
12319
  return { $loc, token: "`" };
12199
12320
  });
12200
12321
  function TripleDoubleQuote(ctx, state) {
12201
12322
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
12202
12323
  }
12203
- var TripleSingleQuote$0 = $TV($EXPECT($L190, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12324
+ var TripleSingleQuote$0 = $TV($EXPECT($L195, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12204
12325
  return { $loc, token: "`" };
12205
12326
  });
12206
12327
  function TripleSingleQuote(ctx, state) {
12207
12328
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
12208
12329
  }
12209
- var TripleSlash$0 = $TV($EXPECT($L191, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12330
+ var TripleSlash$0 = $TV($EXPECT($L196, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12210
12331
  return { $loc, token: "/" };
12211
12332
  });
12212
12333
  function TripleSlash(ctx, state) {
12213
12334
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
12214
12335
  }
12215
- var TripleTick$0 = $TV($EXPECT($L192, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12336
+ var TripleTick$0 = $TV($EXPECT($L197, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12216
12337
  return { $loc, token: "`" };
12217
12338
  });
12218
12339
  function TripleTick(ctx, state) {
12219
12340
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
12220
12341
  }
12221
- var Try$0 = $TS($S($EXPECT($L193, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12342
+ var Try$0 = $TS($S($EXPECT($L198, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12222
12343
  return { $loc, token: $1 };
12223
12344
  });
12224
12345
  function Try(ctx, state) {
12225
12346
  return $EVENT(ctx, state, "Try", Try$0);
12226
12347
  }
12227
- var Typeof$0 = $TS($S($EXPECT($L194, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12348
+ var Typeof$0 = $TS($S($EXPECT($L199, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12228
12349
  return { $loc, token: $1 };
12229
12350
  });
12230
12351
  function Typeof(ctx, state) {
12231
12352
  return $EVENT(ctx, state, "Typeof", Typeof$0);
12232
12353
  }
12233
- var Unless$0 = $TS($S($EXPECT($L195, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12354
+ var Unless$0 = $TS($S($EXPECT($L200, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12234
12355
  return { $loc, token: $1, negated: true };
12235
12356
  });
12236
12357
  function Unless(ctx, state) {
12237
12358
  return $EVENT(ctx, state, "Unless", Unless$0);
12238
12359
  }
12239
- var Until$0 = $TS($S($EXPECT($L196, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12360
+ var Until$0 = $TS($S($EXPECT($L201, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12240
12361
  return { $loc, token: $1 };
12241
12362
  });
12242
12363
  function Until(ctx, state) {
12243
12364
  return $EVENT(ctx, state, "Until", Until$0);
12244
12365
  }
12245
- var Using$0 = $TS($S($EXPECT($L197, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12366
+ var Using$0 = $TS($S($EXPECT($L202, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12246
12367
  return { $loc, token: $1 };
12247
12368
  });
12248
12369
  function Using(ctx, state) {
12249
12370
  return $EVENT(ctx, state, "Using", Using$0);
12250
12371
  }
12251
- var Var$0 = $TS($S($EXPECT($L198, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12372
+ var Var$0 = $TS($S($EXPECT($L203, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12252
12373
  return { $loc, token: $1 };
12253
12374
  });
12254
12375
  function Var(ctx, state) {
12255
12376
  return $EVENT(ctx, state, "Var", Var$0);
12256
12377
  }
12257
- var Void$0 = $TS($S($EXPECT($L199, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12378
+ var Void$0 = $TS($S($EXPECT($L204, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12258
12379
  return { $loc, token: $1 };
12259
12380
  });
12260
12381
  function Void(ctx, state) {
12261
12382
  return $EVENT(ctx, state, "Void", Void$0);
12262
12383
  }
12263
- var When$0 = $TS($S($EXPECT($L200, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12384
+ var When$0 = $TS($S($EXPECT($L205, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12264
12385
  return { $loc, token: "case" };
12265
12386
  });
12266
12387
  function When(ctx, state) {
12267
12388
  return $EVENT(ctx, state, "When", When$0);
12268
12389
  }
12269
- var While$0 = $TS($S($EXPECT($L201, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12390
+ var While$0 = $TS($S($EXPECT($L206, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12270
12391
  return { $loc, token: $1 };
12271
12392
  });
12272
12393
  function While(ctx, state) {
12273
12394
  return $EVENT(ctx, state, "While", While$0);
12274
12395
  }
12275
- var Yield$0 = $TS($S($EXPECT($L202, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12396
+ var Yield$0 = $TS($S($EXPECT($L207, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12276
12397
  return { $loc, token: $1, type: "Yield" };
12277
12398
  });
12278
12399
  function Yield(ctx, state) {
@@ -12351,7 +12472,7 @@ ${input.slice(result.pos)}
12351
12472
  function JSXElement(ctx, state) {
12352
12473
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12353
12474
  }
12354
- 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) {
12475
+ 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) {
12355
12476
  return { type: "JSXElement", children: $0, tag: $2 };
12356
12477
  });
12357
12478
  function JSXSelfClosingElement(ctx, state) {
@@ -12370,7 +12491,7 @@ ${input.slice(result.pos)}
12370
12491
  function PopJSXStack(ctx, state) {
12371
12492
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
12372
12493
  }
12373
- var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L39, 'JSXOpeningElement ">"'));
12494
+ var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L44, 'JSXOpeningElement ">"'));
12374
12495
  function JSXOpeningElement(ctx, state) {
12375
12496
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
12376
12497
  }
@@ -12385,7 +12506,7 @@ ${input.slice(result.pos)}
12385
12506
  function JSXOptionalClosingElement(ctx, state) {
12386
12507
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12387
12508
  }
12388
- var JSXClosingElement$0 = $S($EXPECT($L204, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L39, 'JSXClosingElement ">"'));
12509
+ var JSXClosingElement$0 = $S($EXPECT($L209, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L44, 'JSXClosingElement ">"'));
12389
12510
  function JSXClosingElement(ctx, state) {
12390
12511
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12391
12512
  }
@@ -12406,7 +12527,7 @@ ${input.slice(result.pos)}
12406
12527
  ];
12407
12528
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12408
12529
  });
12409
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L205, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12530
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L210, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12410
12531
  var children = $3;
12411
12532
  $0 = $0.slice(1);
12412
12533
  return {
@@ -12419,7 +12540,7 @@ ${input.slice(result.pos)}
12419
12540
  function JSXFragment(ctx, state) {
12420
12541
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12421
12542
  }
12422
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L205, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12543
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L210, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12423
12544
  module.JSXTagStack.push("");
12424
12545
  return $1;
12425
12546
  });
@@ -12436,11 +12557,11 @@ ${input.slice(result.pos)}
12436
12557
  function JSXOptionalClosingFragment(ctx, state) {
12437
12558
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12438
12559
  }
12439
- var JSXClosingFragment$0 = $EXPECT($L206, 'JSXClosingFragment "</>"');
12560
+ var JSXClosingFragment$0 = $EXPECT($L211, 'JSXClosingFragment "</>"');
12440
12561
  function JSXClosingFragment(ctx, state) {
12441
12562
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12442
12563
  }
12443
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L154, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12564
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L159, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12444
12565
  return module.config.defaultElement;
12445
12566
  });
12446
12567
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12618,7 +12739,7 @@ ${input.slice(result.pos)}
12618
12739
  }
12619
12740
  return $skip;
12620
12741
  });
12621
- var JSXAttribute$5 = $TS($S($EXPECT($L154, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12742
+ var JSXAttribute$5 = $TS($S($EXPECT($L159, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12622
12743
  return [" ", "id=", $2];
12623
12744
  });
12624
12745
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12860,7 +12981,7 @@ ${input.slice(result.pos)}
12860
12981
  }
12861
12982
  return $skip;
12862
12983
  });
12863
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L31, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12984
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L36, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12864
12985
  return { children: [], jsxChildren: [] };
12865
12986
  });
12866
12987
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12915,7 +13036,7 @@ ${input.slice(result.pos)}
12915
13036
  function JSXChild(ctx, state) {
12916
13037
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12917
13038
  }
12918
- var JSXComment$0 = $TS($S($EXPECT($L207, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L208, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13039
+ var JSXComment$0 = $TS($S($EXPECT($L212, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L213, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12919
13040
  return ["{/*", $2, "*/}"];
12920
13041
  });
12921
13042
  function JSXComment(ctx, state) {
@@ -13102,37 +13223,37 @@ ${input.slice(result.pos)}
13102
13223
  function InterfaceExtendsTarget(ctx, state) {
13103
13224
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
13104
13225
  }
13105
- var TypeKeyword$0 = $TS($S($EXPECT($L209, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13226
+ var TypeKeyword$0 = $TS($S($EXPECT($L214, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13106
13227
  return { $loc, token: $1 };
13107
13228
  });
13108
13229
  function TypeKeyword(ctx, state) {
13109
13230
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
13110
13231
  }
13111
- var Enum$0 = $TS($S($EXPECT($L210, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13232
+ var Enum$0 = $TS($S($EXPECT($L215, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13112
13233
  return { $loc, token: $1 };
13113
13234
  });
13114
13235
  function Enum(ctx, state) {
13115
13236
  return $EVENT(ctx, state, "Enum", Enum$0);
13116
13237
  }
13117
- var Interface$0 = $TS($S($EXPECT($L211, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13238
+ var Interface$0 = $TS($S($EXPECT($L216, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13118
13239
  return { $loc, token: $1 };
13119
13240
  });
13120
13241
  function Interface(ctx, state) {
13121
13242
  return $EVENT(ctx, state, "Interface", Interface$0);
13122
13243
  }
13123
- var Global$0 = $TS($S($EXPECT($L212, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13244
+ var Global$0 = $TS($S($EXPECT($L217, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13124
13245
  return { $loc, token: $1 };
13125
13246
  });
13126
13247
  function Global(ctx, state) {
13127
13248
  return $EVENT(ctx, state, "Global", Global$0);
13128
13249
  }
13129
- var Module$0 = $TS($S($EXPECT($L213, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13250
+ var Module$0 = $TS($S($EXPECT($L218, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13130
13251
  return { $loc, token: $1 };
13131
13252
  });
13132
13253
  function Module(ctx, state) {
13133
13254
  return $EVENT(ctx, state, "Module", Module$0);
13134
13255
  }
13135
- var Namespace$0 = $TS($S($EXPECT($L214, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13256
+ var Namespace$0 = $TS($S($EXPECT($L219, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13136
13257
  return { $loc, token: $1 };
13137
13258
  });
13138
13259
  function Namespace(ctx, state) {
@@ -13406,7 +13527,7 @@ ${input.slice(result.pos)}
13406
13527
  function ReturnTypeSuffix(ctx, state) {
13407
13528
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13408
13529
  }
13409
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L215, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13530
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L220, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13410
13531
  var asserts = $1;
13411
13532
  var t = $2;
13412
13533
  if (asserts) {
@@ -13427,7 +13548,7 @@ ${input.slice(result.pos)}
13427
13548
  function ReturnType(ctx, state) {
13428
13549
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13429
13550
  }
13430
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L160, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13551
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L165, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13431
13552
  var lhs = $1;
13432
13553
  var rhs = $2;
13433
13554
  if (!rhs)
@@ -13485,8 +13606,8 @@ ${input.slice(result.pos)}
13485
13606
  function TypeUnarySuffix(ctx, state) {
13486
13607
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13487
13608
  }
13488
- var TypeUnaryOp$0 = $S($EXPECT($L216, 'TypeUnaryOp "keyof"'), NonIdContinue);
13489
- var TypeUnaryOp$1 = $S($EXPECT($L177, 'TypeUnaryOp "readonly"'), NonIdContinue);
13609
+ var TypeUnaryOp$0 = $S($EXPECT($L221, 'TypeUnaryOp "keyof"'), NonIdContinue);
13610
+ var TypeUnaryOp$1 = $S($EXPECT($L182, 'TypeUnaryOp "readonly"'), NonIdContinue);
13490
13611
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13491
13612
  function TypeUnaryOp(ctx, state) {
13492
13613
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13516,7 +13637,7 @@ ${input.slice(result.pos)}
13516
13637
  function TypeIndexedAccess(ctx, state) {
13517
13638
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13518
13639
  }
13519
- var UnknownAlias$0 = $TV($EXPECT($L217, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13640
+ var UnknownAlias$0 = $TV($EXPECT($L222, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13520
13641
  return { $loc, token: "unknown" };
13521
13642
  });
13522
13643
  function UnknownAlias(ctx, state) {
@@ -13722,10 +13843,10 @@ ${input.slice(result.pos)}
13722
13843
  }
13723
13844
  var TypeLiteral$0 = TypeTemplateLiteral;
13724
13845
  var TypeLiteral$1 = Literal;
13725
- var TypeLiteral$2 = $TS($S($EXPECT($L199, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13846
+ var TypeLiteral$2 = $TS($S($EXPECT($L204, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13726
13847
  return { type: "VoidType", $loc, token: $1 };
13727
13848
  });
13728
- var TypeLiteral$3 = $TV($EXPECT($L218, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13849
+ var TypeLiteral$3 = $TV($EXPECT($L223, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13729
13850
  return { $loc, token: "[]" };
13730
13851
  });
13731
13852
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13744,16 +13865,16 @@ ${input.slice(result.pos)}
13744
13865
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13745
13866
  return value[1];
13746
13867
  });
13747
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L120, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L40, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L31, 'InlineInterfacePropertyDelimiter "}"'))));
13868
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L45, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "}"'))));
13748
13869
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13749
13870
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13750
13871
  function InlineInterfacePropertyDelimiter(ctx, state) {
13751
13872
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
13752
13873
  }
13753
- var TypeBinaryOp$0 = $TV($EXPECT($L104, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13874
+ var TypeBinaryOp$0 = $TV($EXPECT($L109, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13754
13875
  return { $loc, token: "|" };
13755
13876
  });
13756
- var TypeBinaryOp$1 = $TV($EXPECT($L103, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13877
+ var TypeBinaryOp$1 = $TV($EXPECT($L108, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13757
13878
  return { $loc, token: "&" };
13758
13879
  });
13759
13880
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -13770,7 +13891,7 @@ ${input.slice(result.pos)}
13770
13891
  function TypeFunction(ctx, state) {
13771
13892
  return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
13772
13893
  }
13773
- var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L29, 'TypeArrowFunction "->"'), $EXPECT($L30, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13894
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L34, 'TypeArrowFunction "->"'), $EXPECT($L35, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13774
13895
  return { $loc, token: "=>" };
13775
13896
  });
13776
13897
  function TypeArrowFunction(ctx, state) {
@@ -13808,7 +13929,7 @@ ${input.slice(result.pos)}
13808
13929
  function TypeParameters(ctx, state) {
13809
13930
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13810
13931
  }
13811
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L159, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13932
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L164, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13812
13933
  function TypeParameter(ctx, state) {
13813
13934
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13814
13935
  }
@@ -13821,7 +13942,7 @@ ${input.slice(result.pos)}
13821
13942
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
13822
13943
  }
13823
13944
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
13824
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L39, 'TypeParameterDelimiter ">"')));
13945
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L44, 'TypeParameterDelimiter ">"')));
13825
13946
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
13826
13947
  return value[1];
13827
13948
  });
@@ -13851,7 +13972,7 @@ ${input.slice(result.pos)}
13851
13972
  function CivetPrologue(ctx, state) {
13852
13973
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13853
13974
  }
13854
- var CivetPrologueContent$0 = $TS($S($EXPECT($L219, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13975
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L224, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13855
13976
  var options = $3;
13856
13977
  return {
13857
13978
  type: "CivetPrologue",
@@ -14726,7 +14847,9 @@ ${input.slice(result.pos)}
14726
14847
  exports.AmpersandFunctionExpression = AmpersandFunctionExpression;
14727
14848
  exports.OperatorDeclaration = OperatorDeclaration;
14728
14849
  exports.OperatorSignature = OperatorSignature;
14850
+ exports.OperatorBehavior = OperatorBehavior;
14729
14851
  exports.OperatorPrecedence = OperatorPrecedence;
14852
+ exports.OperatorAssociativity = OperatorAssociativity;
14730
14853
  exports.AmpersandBlockRHS = AmpersandBlockRHS;
14731
14854
  exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
14732
14855
  exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
@@ -14935,6 +15058,7 @@ ${input.slice(result.pos)}
14935
15058
  exports.ImportAssertion = ImportAssertion;
14936
15059
  exports.TypeAndImportSpecifier = TypeAndImportSpecifier;
14937
15060
  exports.ImportSpecifier = ImportSpecifier;
15061
+ exports.OperatorImportSpecifier = OperatorImportSpecifier;
14938
15062
  exports.ImportAsToken = ImportAsToken;
14939
15063
  exports.ModuleExportName = ModuleExportName;
14940
15064
  exports.ModuleSpecifier = ModuleSpecifier;