@danielx/civet 0.6.76 → 0.6.77

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