@danielx/civet 0.4.37 → 0.5.0

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.
Files changed (4) hide show
  1. package/README.md +65 -61
  2. package/dist/browser.js +573 -249
  3. package/dist/main.js +573 -249
  4. package/package.json +1 -1
package/dist/browser.js CHANGED
@@ -479,6 +479,7 @@ ${input.slice(result.pos)}
479
479
  ExpressionizedStatement,
480
480
  Expression,
481
481
  Arguments,
482
+ ExplicitArguments,
482
483
  ApplicationStart,
483
484
  IndentedApplicationAllowed,
484
485
  ArgumentsWithTrailingCallExpressions,
@@ -844,6 +845,16 @@ ${input.slice(result.pos)}
844
845
  JSXAttributeInitializer,
845
846
  JSXAttributeValue,
846
847
  InlineJSXAttributeValue,
848
+ InlineJSXBinaryOpRHS,
849
+ InlineJSXUnaryExpression,
850
+ InlineJSXUnaryOp,
851
+ InlineJSXUnaryPostfix,
852
+ InlineJSXUpdateExpression,
853
+ InlineJSXCallExpression,
854
+ InlineJSXCallExpressionRest,
855
+ InlineJSXMemberExpression,
856
+ InlineJSXMemberExpressionRest,
857
+ InlineJSXPrimaryExpression,
847
858
  JSXMixedChildren,
848
859
  JSXChildren,
849
860
  JSXNestedChildren,
@@ -1022,77 +1033,78 @@ ${input.slice(result.pos)}
1022
1033
  var $L85 = $L("default");
1023
1034
  var $L86 = $L(":=");
1024
1035
  var $L87 = $L("::=");
1025
- var $L88 = $L("/*");
1026
- var $L89 = $L("*/");
1027
- var $L90 = $L("\\");
1028
- var $L91 = $L("as");
1029
- var $L92 = $L("@");
1030
- var $L93 = $L("@@");
1031
- var $L94 = $L("async");
1032
- var $L95 = $L("await");
1033
- var $L96 = $L("`");
1034
- var $L97 = $L("by");
1035
- var $L98 = $L("case");
1036
- var $L99 = $L("catch");
1037
- var $L100 = $L("class");
1038
- var $L101 = $L("#{");
1039
- var $L102 = $L("delete");
1040
- var $L103 = $L("do");
1041
- var $L104 = $L("..");
1042
- var $L105 = $L("...");
1043
- var $L106 = $L("::");
1044
- var $L107 = $L('"');
1045
- var $L108 = $L("else");
1046
- var $L109 = $L("export");
1047
- var $L110 = $L("for");
1048
- var $L111 = $L("from");
1049
- var $L112 = $L("function");
1050
- var $L113 = $L("get");
1051
- var $L114 = $L("set");
1052
- var $L115 = $L("if");
1053
- var $L116 = $L("let");
1054
- var $L117 = $L("const");
1055
- var $L118 = $L("loop");
1056
- var $L119 = $L("new");
1057
- var $L120 = $L("{");
1058
- var $L121 = $L("[");
1059
- var $L122 = $L("(");
1060
- var $L123 = $L("return");
1061
- var $L124 = $L("'");
1062
- var $L125 = $L("static");
1063
- var $L126 = $L("${");
1064
- var $L127 = $L("switch");
1065
- var $L128 = $L("target");
1066
- var $L129 = $L("then");
1067
- var $L130 = $L("this");
1068
- var $L131 = $L("throw");
1069
- var $L132 = $L('"""');
1070
- var $L133 = $L("'''");
1071
- var $L134 = $L("///");
1072
- var $L135 = $L("```");
1073
- var $L136 = $L("try");
1074
- var $L137 = $L("typeof");
1075
- var $L138 = $L("unless");
1076
- var $L139 = $L("until");
1077
- var $L140 = $L("var");
1078
- var $L141 = $L("void");
1079
- var $L142 = $L("when");
1080
- var $L143 = $L("while");
1081
- var $L144 = $L("yield");
1082
- var $L145 = $L("/>");
1083
- var $L146 = $L("</");
1084
- var $L147 = $L("<>");
1085
- var $L148 = $L("</>");
1086
- var $L149 = $L("declare");
1087
- var $L150 = $L("type");
1088
- var $L151 = $L("interface");
1089
- var $L152 = $L("namespace");
1090
- var $L153 = $L("readonly");
1091
- var $L154 = $L("asserts");
1092
- var $L155 = $L("keyof");
1093
- var $L156 = $L("infer");
1094
- var $L157 = $L("[]");
1095
- var $L158 = $L("civet");
1036
+ var $L88 = $L(".=");
1037
+ var $L89 = $L("/*");
1038
+ var $L90 = $L("*/");
1039
+ var $L91 = $L("\\");
1040
+ var $L92 = $L("as");
1041
+ var $L93 = $L("@");
1042
+ var $L94 = $L("@@");
1043
+ var $L95 = $L("async");
1044
+ var $L96 = $L("await");
1045
+ var $L97 = $L("`");
1046
+ var $L98 = $L("by");
1047
+ var $L99 = $L("case");
1048
+ var $L100 = $L("catch");
1049
+ var $L101 = $L("class");
1050
+ var $L102 = $L("#{");
1051
+ var $L103 = $L("delete");
1052
+ var $L104 = $L("do");
1053
+ var $L105 = $L("..");
1054
+ var $L106 = $L("...");
1055
+ var $L107 = $L("::");
1056
+ var $L108 = $L('"');
1057
+ var $L109 = $L("else");
1058
+ var $L110 = $L("export");
1059
+ var $L111 = $L("for");
1060
+ var $L112 = $L("from");
1061
+ var $L113 = $L("function");
1062
+ var $L114 = $L("get");
1063
+ var $L115 = $L("set");
1064
+ var $L116 = $L("if");
1065
+ var $L117 = $L("let");
1066
+ var $L118 = $L("const");
1067
+ var $L119 = $L("loop");
1068
+ var $L120 = $L("new");
1069
+ var $L121 = $L("{");
1070
+ var $L122 = $L("[");
1071
+ var $L123 = $L("(");
1072
+ var $L124 = $L("return");
1073
+ var $L125 = $L("'");
1074
+ var $L126 = $L("static");
1075
+ var $L127 = $L("${");
1076
+ var $L128 = $L("switch");
1077
+ var $L129 = $L("target");
1078
+ var $L130 = $L("then");
1079
+ var $L131 = $L("this");
1080
+ var $L132 = $L("throw");
1081
+ var $L133 = $L('"""');
1082
+ var $L134 = $L("'''");
1083
+ var $L135 = $L("///");
1084
+ var $L136 = $L("```");
1085
+ var $L137 = $L("try");
1086
+ var $L138 = $L("typeof");
1087
+ var $L139 = $L("unless");
1088
+ var $L140 = $L("until");
1089
+ var $L141 = $L("var");
1090
+ var $L142 = $L("void");
1091
+ var $L143 = $L("when");
1092
+ var $L144 = $L("while");
1093
+ var $L145 = $L("yield");
1094
+ var $L146 = $L("/>");
1095
+ var $L147 = $L("</");
1096
+ var $L148 = $L("<>");
1097
+ var $L149 = $L("</>");
1098
+ var $L150 = $L("declare");
1099
+ var $L151 = $L("type");
1100
+ var $L152 = $L("interface");
1101
+ var $L153 = $L("namespace");
1102
+ var $L154 = $L("readonly");
1103
+ var $L155 = $L("asserts");
1104
+ var $L156 = $L("keyof");
1105
+ var $L157 = $L("infer");
1106
+ var $L158 = $L("[]");
1107
+ var $L159 = $L("civet");
1096
1108
  var $R0 = $R(new RegExp("(for|of|then|when)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
1097
1109
  var $R1 = $R(new RegExp("[&]", "suy"));
1098
1110
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
@@ -1139,16 +1151,14 @@ ${input.slice(result.pos)}
1139
1151
  var $R43 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1140
1152
  var $R44 = $R(new RegExp("\\s", "suy"));
1141
1153
  var $R45 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1142
- var $R46 = $R(new RegExp('"[^"]*"', "suy"));
1143
- var $R47 = $R(new RegExp("'[^']*'", "suy"));
1144
- var $R48 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
1145
- var $R49 = $R(new RegExp("[+-]?", "suy"));
1146
- var $R50 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1147
- var $R51 = $R(new RegExp("[\\t ]*", "suy"));
1148
- var $R52 = $R(new RegExp("[\\s]*", "suy"));
1149
- var $R53 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1150
- var $R54 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1151
- var $R55 = $R(new RegExp("[ \\t]*", "suy"));
1154
+ var $R46 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
1155
+ var $R47 = $R(new RegExp("[+-]?", "suy"));
1156
+ var $R48 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1157
+ var $R49 = $R(new RegExp("[\\t ]*", "suy"));
1158
+ var $R50 = $R(new RegExp("[\\s]*", "suy"));
1159
+ var $R51 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1160
+ var $R52 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1161
+ var $R53 = $R(new RegExp("[ \\t]*", "suy"));
1152
1162
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1153
1163
  var statements = $4;
1154
1164
  module.processProgram(statements);
@@ -1269,7 +1279,7 @@ ${input.slice(result.pos)}
1269
1279
  return result;
1270
1280
  }
1271
1281
  }
1272
- var Arguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
1282
+ var Arguments$0 = ExplicitArguments;
1273
1283
  var Arguments$1 = $TS($S(ApplicationStart, InsertOpenParen, $Q(_), ArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1274
1284
  var open = $2;
1275
1285
  var ws = $3;
@@ -1295,6 +1305,25 @@ ${input.slice(result.pos)}
1295
1305
  return result;
1296
1306
  }
1297
1307
  }
1308
+ var ExplicitArguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
1309
+ function ExplicitArguments(state) {
1310
+ if (state.events) {
1311
+ const result = state.events.enter?.("ExplicitArguments", state);
1312
+ if (result)
1313
+ return result.cache;
1314
+ }
1315
+ if (state.tokenize) {
1316
+ const result = $TOKEN("ExplicitArguments", state, ExplicitArguments$0(state));
1317
+ if (state.events)
1318
+ state.events.exit?.("ExplicitArguments", state, result);
1319
+ return result;
1320
+ } else {
1321
+ const result = ExplicitArguments$0(state);
1322
+ if (state.events)
1323
+ state.events.exit?.("ExplicitArguments", state, result);
1324
+ return result;
1325
+ }
1326
+ }
1298
1327
  var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
1299
1328
  var ApplicationStart$1 = $S($N(EOS), $Y($S($P(_), $N(AdditionalReservedWords))));
1300
1329
  function ApplicationStart(state) {
@@ -1487,9 +1516,8 @@ ${input.slice(result.pos)}
1487
1516
  }
1488
1517
  }
1489
1518
  var BinaryOpExpression$0 = $TS($S(UnaryExpression, $Q(BinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
1490
- if ($2.length) {
1519
+ if ($2.length)
1491
1520
  return module.processBinaryOpExpression($0);
1492
- }
1493
1521
  return $1;
1494
1522
  });
1495
1523
  function BinaryOpExpression(state) {
@@ -1552,53 +1580,7 @@ ${input.slice(result.pos)}
1552
1580
  var pre = $1;
1553
1581
  var exp = $2;
1554
1582
  var post = $3;
1555
- if (post?.token === "?") {
1556
- post = {
1557
- $loc: post.$loc,
1558
- token: " != null"
1559
- };
1560
- switch (exp.type) {
1561
- case "Identifier":
1562
- case "Literal":
1563
- return {
1564
- ...exp,
1565
- children: [...pre, ...exp.children, post]
1566
- };
1567
- default:
1568
- return {
1569
- type: "ParenthesizedExpression",
1570
- children: ["(", ...pre, "(", exp, ")", post, ")"]
1571
- };
1572
- }
1573
- }
1574
- if (exp.type === "Literal") {
1575
- if (pre.length === 1 && pre[0].token === "-") {
1576
- const children = [pre[0], ...exp.children];
1577
- if (post)
1578
- exp.children.push(post);
1579
- return {
1580
- type: "Literal",
1581
- children,
1582
- raw: `-${exp.raw}`
1583
- };
1584
- }
1585
- }
1586
- if (exp.children) {
1587
- const children = [...pre, ...exp.children];
1588
- if (post)
1589
- children.push(post);
1590
- return Object.assign({}, exp, { children });
1591
- } else if (Array.isArray(exp)) {
1592
- const children = [...pre, ...exp];
1593
- if (post)
1594
- children.push(post);
1595
- return { children };
1596
- } else {
1597
- const children = [...pre, exp];
1598
- if (post)
1599
- children.push(post);
1600
- return { children };
1601
- }
1583
+ return module.processUnaryExpression(pre, exp, post);
1602
1584
  });
1603
1585
  var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
1604
1586
  var ws = $3;
@@ -2082,7 +2064,7 @@ ${input.slice(result.pos)}
2082
2064
  return result;
2083
2065
  }
2084
2066
  }
2085
- var ClassExpression$0 = $S($E(Decorators), Class, $E($S(BindingIdentifier, $E(TypeArguments))), $E(ClassHeritage), ClassBody);
2067
+ var ClassExpression$0 = $S($E(Decorators), Class, $E($S(BindingIdentifier, $E(TypeParameters))), $E(ClassHeritage), ClassBody);
2086
2068
  function ClassExpression(state) {
2087
2069
  if (state.events) {
2088
2070
  const result = state.events.enter?.("ClassExpression", state);
@@ -7812,6 +7794,9 @@ ${input.slice(result.pos)}
7812
7794
  var LetAssignment$0 = $TV($EXPECT($L87, fail, 'LetAssignment "::="'), function($skip, $loc, $0, $1) {
7813
7795
  return { $loc, token: "=" };
7814
7796
  });
7797
+ var LetAssignment$1 = $TV($EXPECT($L88, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
7798
+ return { $loc, token: "=" };
7799
+ });
7815
7800
  function LetAssignment(state) {
7816
7801
  if (state.events) {
7817
7802
  const result = state.events.enter?.("LetAssignment", state);
@@ -7819,12 +7804,12 @@ ${input.slice(result.pos)}
7819
7804
  return result.cache;
7820
7805
  }
7821
7806
  if (state.tokenize) {
7822
- const result = $TOKEN("LetAssignment", state, LetAssignment$0(state));
7807
+ const result = $TOKEN("LetAssignment", state, LetAssignment$0(state) || LetAssignment$1(state));
7823
7808
  if (state.events)
7824
7809
  state.events.exit?.("LetAssignment", state, result);
7825
7810
  return result;
7826
7811
  } else {
7827
- const result = LetAssignment$0(state);
7812
+ const result = LetAssignment$0(state) || LetAssignment$1(state);
7828
7813
  if (state.events)
7829
7814
  state.events.exit?.("LetAssignment", state, result);
7830
7815
  return result;
@@ -8312,10 +8297,9 @@ ${input.slice(result.pos)}
8312
8297
  var s = $2;
8313
8298
  var parts = $3;
8314
8299
  var e = $4;
8315
- const noInterpolations = parts.length === 1 && parts[0].token != null;
8316
- if (noInterpolations) {
8300
+ if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
8317
8301
  return {
8318
- token: `"${module.modifyString(parts[0].token)}"`,
8302
+ token: parts.length ? `"${module.modifyString(parts[0].token)}"` : '""',
8319
8303
  $loc
8320
8304
  };
8321
8305
  }
@@ -8814,7 +8798,7 @@ ${input.slice(result.pos)}
8814
8798
  return result;
8815
8799
  }
8816
8800
  }
8817
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L88, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L89, fail, 'JSMultiLineComment "*/"')), $EXPECT($R38, fail, "JSMultiLineComment /./"))), $EXPECT($L89, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8801
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L90, fail, 'JSMultiLineComment "*/"')), $EXPECT($R38, fail, "JSMultiLineComment /./"))), $EXPECT($L90, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8818
8802
  return { $loc, token: $1 };
8819
8803
  });
8820
8804
  function JSMultiLineComment(state) {
@@ -8856,7 +8840,7 @@ ${input.slice(result.pos)}
8856
8840
  return result;
8857
8841
  }
8858
8842
  }
8859
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L89, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R38, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8843
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L90, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R38, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8860
8844
  return { $loc, token: `/*${$2}*/` };
8861
8845
  });
8862
8846
  function CoffeeMultiLineComment(state) {
@@ -8896,7 +8880,7 @@ ${input.slice(result.pos)}
8896
8880
  return result;
8897
8881
  }
8898
8882
  }
8899
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L88, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L89, fail, 'InlineComment "*/"')), $EXPECT($R41, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L89, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8883
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L90, fail, 'InlineComment "*/"')), $EXPECT($R41, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L90, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8900
8884
  return { $loc, token: $1 };
8901
8885
  });
8902
8886
  function InlineComment(state) {
@@ -8979,7 +8963,7 @@ ${input.slice(result.pos)}
8979
8963
  var NonNewlineWhitespace$0 = $TR($EXPECT($R42, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8980
8964
  return { $loc, token: $0 };
8981
8965
  });
8982
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L90, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8966
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L91, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8983
8967
  return "";
8984
8968
  });
8985
8969
  function NonNewlineWhitespace(state) {
@@ -9145,7 +9129,7 @@ ${input.slice(result.pos)}
9145
9129
  return result;
9146
9130
  }
9147
9131
  }
9148
- var As$0 = $TS($S($EXPECT($L91, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9132
+ var As$0 = $TS($S($EXPECT($L92, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9149
9133
  return { $loc, token: $1 };
9150
9134
  });
9151
9135
  function As(state) {
@@ -9166,7 +9150,7 @@ ${input.slice(result.pos)}
9166
9150
  return result;
9167
9151
  }
9168
9152
  }
9169
- var At$0 = $TV($EXPECT($L92, fail, 'At "@"'), function($skip, $loc, $0, $1) {
9153
+ var At$0 = $TV($EXPECT($L93, fail, 'At "@"'), function($skip, $loc, $0, $1) {
9170
9154
  return { $loc, token: $1 };
9171
9155
  });
9172
9156
  function At(state) {
@@ -9187,7 +9171,7 @@ ${input.slice(result.pos)}
9187
9171
  return result;
9188
9172
  }
9189
9173
  }
9190
- var AtAt$0 = $TV($EXPECT($L93, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
9174
+ var AtAt$0 = $TV($EXPECT($L94, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
9191
9175
  return { $loc, token: "@" };
9192
9176
  });
9193
9177
  function AtAt(state) {
@@ -9208,7 +9192,7 @@ ${input.slice(result.pos)}
9208
9192
  return result;
9209
9193
  }
9210
9194
  }
9211
- var Async$0 = $TV($EXPECT($L94, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
9195
+ var Async$0 = $TV($EXPECT($L95, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
9212
9196
  return { $loc, token: $1, type: "Async" };
9213
9197
  });
9214
9198
  function Async(state) {
@@ -9229,7 +9213,7 @@ ${input.slice(result.pos)}
9229
9213
  return result;
9230
9214
  }
9231
9215
  }
9232
- var Await$0 = $TS($S($EXPECT($L95, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9216
+ var Await$0 = $TS($S($EXPECT($L96, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9233
9217
  return { $loc, token: $1 };
9234
9218
  });
9235
9219
  function Await(state) {
@@ -9250,7 +9234,7 @@ ${input.slice(result.pos)}
9250
9234
  return result;
9251
9235
  }
9252
9236
  }
9253
- var Backtick$0 = $TV($EXPECT($L96, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
9237
+ var Backtick$0 = $TV($EXPECT($L97, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
9254
9238
  return { $loc, token: $1 };
9255
9239
  });
9256
9240
  function Backtick(state) {
@@ -9271,7 +9255,7 @@ ${input.slice(result.pos)}
9271
9255
  return result;
9272
9256
  }
9273
9257
  }
9274
- var By$0 = $TS($S($EXPECT($L97, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9258
+ var By$0 = $TS($S($EXPECT($L98, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9275
9259
  return { $loc, token: $1 };
9276
9260
  });
9277
9261
  function By(state) {
@@ -9292,7 +9276,7 @@ ${input.slice(result.pos)}
9292
9276
  return result;
9293
9277
  }
9294
9278
  }
9295
- var Case$0 = $TS($S($EXPECT($L98, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9279
+ var Case$0 = $TS($S($EXPECT($L99, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9296
9280
  return { $loc, token: $1 };
9297
9281
  });
9298
9282
  function Case(state) {
@@ -9313,7 +9297,7 @@ ${input.slice(result.pos)}
9313
9297
  return result;
9314
9298
  }
9315
9299
  }
9316
- var Catch$0 = $TV($EXPECT($L99, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
9300
+ var Catch$0 = $TV($EXPECT($L100, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
9317
9301
  return { $loc, token: $1 };
9318
9302
  });
9319
9303
  function Catch(state) {
@@ -9334,7 +9318,7 @@ ${input.slice(result.pos)}
9334
9318
  return result;
9335
9319
  }
9336
9320
  }
9337
- var Class$0 = $TV($EXPECT($L100, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
9321
+ var Class$0 = $TV($EXPECT($L101, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
9338
9322
  return { $loc, token: $1 };
9339
9323
  });
9340
9324
  function Class(state) {
@@ -9418,7 +9402,7 @@ ${input.slice(result.pos)}
9418
9402
  return result;
9419
9403
  }
9420
9404
  }
9421
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L101, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
9405
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L102, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
9422
9406
  return { $loc, token: "${" };
9423
9407
  });
9424
9408
  function CoffeeSubstitutionStart(state) {
@@ -9460,7 +9444,7 @@ ${input.slice(result.pos)}
9460
9444
  return result;
9461
9445
  }
9462
9446
  }
9463
- var ConstructorShorthand$0 = $TV($EXPECT($L92, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
9447
+ var ConstructorShorthand$0 = $TV($EXPECT($L93, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
9464
9448
  return { $loc, token: "constructor" };
9465
9449
  });
9466
9450
  function ConstructorShorthand(state) {
@@ -9502,7 +9486,7 @@ ${input.slice(result.pos)}
9502
9486
  return result;
9503
9487
  }
9504
9488
  }
9505
- var Delete$0 = $TS($S($EXPECT($L102, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9489
+ var Delete$0 = $TS($S($EXPECT($L103, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9506
9490
  return { $loc, token: $1 };
9507
9491
  });
9508
9492
  function Delete(state) {
@@ -9523,7 +9507,7 @@ ${input.slice(result.pos)}
9523
9507
  return result;
9524
9508
  }
9525
9509
  }
9526
- var Do$0 = $TS($S($EXPECT($L103, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9510
+ var Do$0 = $TS($S($EXPECT($L104, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9527
9511
  return { $loc, token: $1 };
9528
9512
  });
9529
9513
  function Do(state) {
@@ -9565,7 +9549,7 @@ ${input.slice(result.pos)}
9565
9549
  return result;
9566
9550
  }
9567
9551
  }
9568
- var DotDot$0 = $TV($EXPECT($L104, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
9552
+ var DotDot$0 = $TV($EXPECT($L105, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
9569
9553
  return { $loc, token: $1 };
9570
9554
  });
9571
9555
  function DotDot(state) {
@@ -9586,7 +9570,7 @@ ${input.slice(result.pos)}
9586
9570
  return result;
9587
9571
  }
9588
9572
  }
9589
- var DotDotDot$0 = $TV($EXPECT($L105, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
9573
+ var DotDotDot$0 = $TV($EXPECT($L106, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
9590
9574
  return { $loc, token: $1 };
9591
9575
  });
9592
9576
  function DotDotDot(state) {
@@ -9607,7 +9591,7 @@ ${input.slice(result.pos)}
9607
9591
  return result;
9608
9592
  }
9609
9593
  }
9610
- var DoubleColon$0 = $TV($EXPECT($L106, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
9594
+ var DoubleColon$0 = $TV($EXPECT($L107, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
9611
9595
  return { $loc, token: $1 };
9612
9596
  });
9613
9597
  function DoubleColon(state) {
@@ -9628,7 +9612,7 @@ ${input.slice(result.pos)}
9628
9612
  return result;
9629
9613
  }
9630
9614
  }
9631
- var DoubleQuote$0 = $TV($EXPECT($L107, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
9615
+ var DoubleQuote$0 = $TV($EXPECT($L108, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
9632
9616
  return { $loc, token: $1 };
9633
9617
  });
9634
9618
  function DoubleQuote(state) {
@@ -9649,7 +9633,7 @@ ${input.slice(result.pos)}
9649
9633
  return result;
9650
9634
  }
9651
9635
  }
9652
- var Else$0 = $TV($EXPECT($L108, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
9636
+ var Else$0 = $TV($EXPECT($L109, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
9653
9637
  return { $loc, token: $1 };
9654
9638
  });
9655
9639
  function Else(state) {
@@ -9691,7 +9675,7 @@ ${input.slice(result.pos)}
9691
9675
  return result;
9692
9676
  }
9693
9677
  }
9694
- var Export$0 = $TS($S($EXPECT($L109, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9678
+ var Export$0 = $TS($S($EXPECT($L110, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9695
9679
  return { $loc, token: $1 };
9696
9680
  });
9697
9681
  function Export(state) {
@@ -9712,7 +9696,7 @@ ${input.slice(result.pos)}
9712
9696
  return result;
9713
9697
  }
9714
9698
  }
9715
- var For$0 = $TS($S($EXPECT($L110, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9699
+ var For$0 = $TS($S($EXPECT($L111, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9716
9700
  return { $loc, token: $1 };
9717
9701
  });
9718
9702
  function For(state) {
@@ -9733,7 +9717,7 @@ ${input.slice(result.pos)}
9733
9717
  return result;
9734
9718
  }
9735
9719
  }
9736
- var From$0 = $TS($S($EXPECT($L111, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9720
+ var From$0 = $TS($S($EXPECT($L112, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9737
9721
  return { $loc, token: $1 };
9738
9722
  });
9739
9723
  function From(state) {
@@ -9754,7 +9738,7 @@ ${input.slice(result.pos)}
9754
9738
  return result;
9755
9739
  }
9756
9740
  }
9757
- var Function$0 = $TV($EXPECT($L112, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
9741
+ var Function$0 = $TV($EXPECT($L113, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
9758
9742
  return { $loc, token: $1 };
9759
9743
  });
9760
9744
  function Function(state) {
@@ -9775,7 +9759,7 @@ ${input.slice(result.pos)}
9775
9759
  return result;
9776
9760
  }
9777
9761
  }
9778
- var GetOrSet$0 = $TS($S($C($EXPECT($L113, fail, 'GetOrSet "get"'), $EXPECT($L114, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9762
+ var GetOrSet$0 = $TS($S($C($EXPECT($L114, fail, 'GetOrSet "get"'), $EXPECT($L115, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9779
9763
  return { $loc, token: $1, type: "GetOrSet" };
9780
9764
  });
9781
9765
  function GetOrSet(state) {
@@ -9796,7 +9780,7 @@ ${input.slice(result.pos)}
9796
9780
  return result;
9797
9781
  }
9798
9782
  }
9799
- var If$0 = $TV($TEXT($S($EXPECT($L115, fail, 'If "if"'), $E($EXPECT($L4, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9783
+ var If$0 = $TV($TEXT($S($EXPECT($L116, fail, 'If "if"'), $E($EXPECT($L4, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9800
9784
  return { $loc, token: $1 };
9801
9785
  });
9802
9786
  function If(state) {
@@ -9859,7 +9843,7 @@ ${input.slice(result.pos)}
9859
9843
  return result;
9860
9844
  }
9861
9845
  }
9862
- var LetOrConst$0 = $TS($S($C($EXPECT($L116, fail, 'LetOrConst "let"'), $EXPECT($L117, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9846
+ var LetOrConst$0 = $TS($S($C($EXPECT($L117, fail, 'LetOrConst "let"'), $EXPECT($L118, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9863
9847
  return { $loc, token: $1 };
9864
9848
  });
9865
9849
  function LetOrConst(state) {
@@ -9880,7 +9864,7 @@ ${input.slice(result.pos)}
9880
9864
  return result;
9881
9865
  }
9882
9866
  }
9883
- var Loop$0 = $TS($S($EXPECT($L118, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9867
+ var Loop$0 = $TS($S($EXPECT($L119, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9884
9868
  return { $loc, token: "while(true)" };
9885
9869
  });
9886
9870
  function Loop(state) {
@@ -9901,7 +9885,7 @@ ${input.slice(result.pos)}
9901
9885
  return result;
9902
9886
  }
9903
9887
  }
9904
- var New$0 = $TS($S($EXPECT($L119, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9888
+ var New$0 = $TS($S($EXPECT($L120, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9905
9889
  return { $loc, token: $1 };
9906
9890
  });
9907
9891
  function New(state) {
@@ -9964,7 +9948,7 @@ ${input.slice(result.pos)}
9964
9948
  return result;
9965
9949
  }
9966
9950
  }
9967
- var OpenBrace$0 = $TV($EXPECT($L120, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9951
+ var OpenBrace$0 = $TV($EXPECT($L121, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9968
9952
  return { $loc, token: $1 };
9969
9953
  });
9970
9954
  function OpenBrace(state) {
@@ -9985,7 +9969,7 @@ ${input.slice(result.pos)}
9985
9969
  return result;
9986
9970
  }
9987
9971
  }
9988
- var OpenBracket$0 = $TV($EXPECT($L121, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9972
+ var OpenBracket$0 = $TV($EXPECT($L122, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9989
9973
  return { $loc, token: $1 };
9990
9974
  });
9991
9975
  function OpenBracket(state) {
@@ -10006,7 +9990,7 @@ ${input.slice(result.pos)}
10006
9990
  return result;
10007
9991
  }
10008
9992
  }
10009
- var OpenParen$0 = $TV($EXPECT($L122, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9993
+ var OpenParen$0 = $TV($EXPECT($L123, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
10010
9994
  return { $loc, token: $1 };
10011
9995
  });
10012
9996
  function OpenParen(state) {
@@ -10048,7 +10032,7 @@ ${input.slice(result.pos)}
10048
10032
  return result;
10049
10033
  }
10050
10034
  }
10051
- var Return$0 = $TS($S($EXPECT($L123, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10035
+ var Return$0 = $TS($S($EXPECT($L124, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10052
10036
  return { $loc, token: $1 };
10053
10037
  });
10054
10038
  function Return(state) {
@@ -10090,7 +10074,7 @@ ${input.slice(result.pos)}
10090
10074
  return result;
10091
10075
  }
10092
10076
  }
10093
- var SingleQuote$0 = $TV($EXPECT($L124, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
10077
+ var SingleQuote$0 = $TV($EXPECT($L125, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
10094
10078
  return { $loc, token: $1 };
10095
10079
  });
10096
10080
  function SingleQuote(state) {
@@ -10132,10 +10116,10 @@ ${input.slice(result.pos)}
10132
10116
  return result;
10133
10117
  }
10134
10118
  }
10135
- var Static$0 = $TV($EXPECT($L125, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
10119
+ var Static$0 = $TV($EXPECT($L126, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
10136
10120
  return { $loc, token: $1 };
10137
10121
  });
10138
- var Static$1 = $TS($S($EXPECT($L92, fail, 'Static "@"'), $N($C($EXPECT($L122, fail, 'Static "("'), $EXPECT($L92, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
10122
+ var Static$1 = $TS($S($EXPECT($L93, fail, 'Static "@"'), $N($C($EXPECT($L123, fail, 'Static "("'), $EXPECT($L93, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
10139
10123
  return { $loc, token: "static " };
10140
10124
  });
10141
10125
  function Static(state) {
@@ -10156,7 +10140,7 @@ ${input.slice(result.pos)}
10156
10140
  return result;
10157
10141
  }
10158
10142
  }
10159
- var SubstitutionStart$0 = $TV($EXPECT($L126, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
10143
+ var SubstitutionStart$0 = $TV($EXPECT($L127, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
10160
10144
  return { $loc, token: $1 };
10161
10145
  });
10162
10146
  function SubstitutionStart(state) {
@@ -10177,7 +10161,7 @@ ${input.slice(result.pos)}
10177
10161
  return result;
10178
10162
  }
10179
10163
  }
10180
- var Switch$0 = $TS($S($EXPECT($L127, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10164
+ var Switch$0 = $TS($S($EXPECT($L128, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10181
10165
  return { $loc, token: $1 };
10182
10166
  });
10183
10167
  function Switch(state) {
@@ -10198,7 +10182,7 @@ ${input.slice(result.pos)}
10198
10182
  return result;
10199
10183
  }
10200
10184
  }
10201
- var Target$0 = $TS($S($EXPECT($L128, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10185
+ var Target$0 = $TS($S($EXPECT($L129, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10202
10186
  return { $loc, token: $1 };
10203
10187
  });
10204
10188
  function Target(state) {
@@ -10219,7 +10203,7 @@ ${input.slice(result.pos)}
10219
10203
  return result;
10220
10204
  }
10221
10205
  }
10222
- var Then$0 = $TS($S(__, $EXPECT($L129, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
10206
+ var Then$0 = $TS($S(__, $EXPECT($L130, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
10223
10207
  return { $loc, token: "" };
10224
10208
  });
10225
10209
  function Then(state) {
@@ -10240,7 +10224,7 @@ ${input.slice(result.pos)}
10240
10224
  return result;
10241
10225
  }
10242
10226
  }
10243
- var This$0 = $TS($S($EXPECT($L130, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10227
+ var This$0 = $TS($S($EXPECT($L131, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10244
10228
  return { $loc, token: $1 };
10245
10229
  });
10246
10230
  function This(state) {
@@ -10261,7 +10245,7 @@ ${input.slice(result.pos)}
10261
10245
  return result;
10262
10246
  }
10263
10247
  }
10264
- var Throw$0 = $TS($S($EXPECT($L131, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10248
+ var Throw$0 = $TS($S($EXPECT($L132, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10265
10249
  return { $loc, token: $1 };
10266
10250
  });
10267
10251
  function Throw(state) {
@@ -10282,7 +10266,7 @@ ${input.slice(result.pos)}
10282
10266
  return result;
10283
10267
  }
10284
10268
  }
10285
- var TripleDoubleQuote$0 = $TV($EXPECT($L132, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
10269
+ var TripleDoubleQuote$0 = $TV($EXPECT($L133, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
10286
10270
  return { $loc, token: "`" };
10287
10271
  });
10288
10272
  function TripleDoubleQuote(state) {
@@ -10303,7 +10287,7 @@ ${input.slice(result.pos)}
10303
10287
  return result;
10304
10288
  }
10305
10289
  }
10306
- var TripleSingleQuote$0 = $TV($EXPECT($L133, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
10290
+ var TripleSingleQuote$0 = $TV($EXPECT($L134, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
10307
10291
  return { $loc, token: "`" };
10308
10292
  });
10309
10293
  function TripleSingleQuote(state) {
@@ -10324,7 +10308,7 @@ ${input.slice(result.pos)}
10324
10308
  return result;
10325
10309
  }
10326
10310
  }
10327
- var TripleSlash$0 = $TV($EXPECT($L134, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
10311
+ var TripleSlash$0 = $TV($EXPECT($L135, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
10328
10312
  return { $loc, token: "/" };
10329
10313
  });
10330
10314
  function TripleSlash(state) {
@@ -10345,7 +10329,7 @@ ${input.slice(result.pos)}
10345
10329
  return result;
10346
10330
  }
10347
10331
  }
10348
- var TripleTick$0 = $TV($EXPECT($L135, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
10332
+ var TripleTick$0 = $TV($EXPECT($L136, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
10349
10333
  return { $loc, token: "`" };
10350
10334
  });
10351
10335
  function TripleTick(state) {
@@ -10366,7 +10350,7 @@ ${input.slice(result.pos)}
10366
10350
  return result;
10367
10351
  }
10368
10352
  }
10369
- var Try$0 = $TS($S($EXPECT($L136, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10353
+ var Try$0 = $TS($S($EXPECT($L137, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10370
10354
  return { $loc, token: $1 };
10371
10355
  });
10372
10356
  function Try(state) {
@@ -10387,7 +10371,7 @@ ${input.slice(result.pos)}
10387
10371
  return result;
10388
10372
  }
10389
10373
  }
10390
- var Typeof$0 = $TS($S($EXPECT($L137, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10374
+ var Typeof$0 = $TS($S($EXPECT($L138, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10391
10375
  return { $loc, token: $1 };
10392
10376
  });
10393
10377
  function Typeof(state) {
@@ -10408,7 +10392,7 @@ ${input.slice(result.pos)}
10408
10392
  return result;
10409
10393
  }
10410
10394
  }
10411
- var Unless$0 = $TS($S($EXPECT($L138, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10395
+ var Unless$0 = $TS($S($EXPECT($L139, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10412
10396
  return { $loc, token: $1 };
10413
10397
  });
10414
10398
  function Unless(state) {
@@ -10429,7 +10413,7 @@ ${input.slice(result.pos)}
10429
10413
  return result;
10430
10414
  }
10431
10415
  }
10432
- var Until$0 = $TS($S($EXPECT($L139, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10416
+ var Until$0 = $TS($S($EXPECT($L140, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10433
10417
  return { $loc, token: $1 };
10434
10418
  });
10435
10419
  function Until(state) {
@@ -10450,7 +10434,7 @@ ${input.slice(result.pos)}
10450
10434
  return result;
10451
10435
  }
10452
10436
  }
10453
- var Var$0 = $TS($S($EXPECT($L140, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10437
+ var Var$0 = $TS($S($EXPECT($L141, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10454
10438
  return { $loc, token: $1 };
10455
10439
  });
10456
10440
  function Var(state) {
@@ -10471,7 +10455,7 @@ ${input.slice(result.pos)}
10471
10455
  return result;
10472
10456
  }
10473
10457
  }
10474
- var Void$0 = $TS($S($EXPECT($L141, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10458
+ var Void$0 = $TS($S($EXPECT($L142, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10475
10459
  return { $loc, token: $1 };
10476
10460
  });
10477
10461
  function Void(state) {
@@ -10492,7 +10476,7 @@ ${input.slice(result.pos)}
10492
10476
  return result;
10493
10477
  }
10494
10478
  }
10495
- var When$0 = $TS($S($EXPECT($L142, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10479
+ var When$0 = $TS($S($EXPECT($L143, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10496
10480
  return { $loc, token: "case" };
10497
10481
  });
10498
10482
  function When(state) {
@@ -10513,7 +10497,7 @@ ${input.slice(result.pos)}
10513
10497
  return result;
10514
10498
  }
10515
10499
  }
10516
- var While$0 = $TS($S($EXPECT($L143, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10500
+ var While$0 = $TS($S($EXPECT($L144, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10517
10501
  return { $loc, token: $1 };
10518
10502
  });
10519
10503
  function While(state) {
@@ -10534,7 +10518,7 @@ ${input.slice(result.pos)}
10534
10518
  return result;
10535
10519
  }
10536
10520
  }
10537
- var Yield$0 = $TS($S($EXPECT($L144, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10521
+ var Yield$0 = $TS($S($EXPECT($L145, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10538
10522
  return { $loc, token: $1 };
10539
10523
  });
10540
10524
  function Yield(state) {
@@ -10591,7 +10575,7 @@ ${input.slice(result.pos)}
10591
10575
  return result;
10592
10576
  }
10593
10577
  }
10594
- var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L145, fail, 'JSXSelfClosingElement "/>"'));
10578
+ var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L146, fail, 'JSXSelfClosingElement "/>"'));
10595
10579
  function JSXSelfClosingElement(state) {
10596
10580
  if (state.events) {
10597
10581
  const result = state.events.enter?.("JSXSelfClosingElement", state);
@@ -10629,7 +10613,7 @@ ${input.slice(result.pos)}
10629
10613
  return result;
10630
10614
  }
10631
10615
  }
10632
- var JSXClosingElement$0 = $S($EXPECT($L146, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L27, fail, 'JSXClosingElement ">"'));
10616
+ var JSXClosingElement$0 = $S($EXPECT($L147, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L27, fail, 'JSXClosingElement ">"'));
10633
10617
  function JSXClosingElement(state) {
10634
10618
  if (state.events) {
10635
10619
  const result = state.events.enter?.("JSXClosingElement", state);
@@ -10648,8 +10632,8 @@ ${input.slice(result.pos)}
10648
10632
  return result;
10649
10633
  }
10650
10634
  }
10651
- var JSXFragment$0 = $S($EXPECT($L147, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L148, fail, 'JSXFragment "</>"'));
10652
- var JSXFragment$1 = $TS($S($EXPECT($L147, fail, 'JSXFragment "<>"'), JSXMixedChildren, InsertNewline, InsertIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
10635
+ var JSXFragment$0 = $S($EXPECT($L148, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L149, fail, 'JSXFragment "</>"'));
10636
+ var JSXFragment$1 = $TS($S($EXPECT($L148, fail, 'JSXFragment "<>"'), JSXMixedChildren, InsertNewline, InsertIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
10653
10637
  return [...$0, "</>"];
10654
10638
  });
10655
10639
  function JSXFragment(state) {
@@ -10839,12 +10823,15 @@ ${input.slice(result.pos)}
10839
10823
  return result;
10840
10824
  }
10841
10825
  }
10842
- var JSXAttributeValue$0 = $R$0($EXPECT($R46, fail, 'JSXAttributeValue /"[^"]*"/'));
10843
- var JSXAttributeValue$1 = $R$0($EXPECT($R47, fail, "JSXAttributeValue /'[^']*'/"));
10844
- var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
10845
- var JSXAttributeValue$3 = JSXElement;
10846
- var JSXAttributeValue$4 = JSXFragment;
10847
- var JSXAttributeValue$5 = $S(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace);
10826
+ var JSXAttributeValue$0 = $TS($S(StringLiteral), function($skip, $loc, $0, $1) {
10827
+ if (module.isTemplateLiteral($1))
10828
+ return $skip;
10829
+ return $1;
10830
+ });
10831
+ var JSXAttributeValue$1 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
10832
+ var JSXAttributeValue$2 = JSXElement;
10833
+ var JSXAttributeValue$3 = JSXFragment;
10834
+ var JSXAttributeValue$4 = $S(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace);
10848
10835
  function JSXAttributeValue(state) {
10849
10836
  if (state.events) {
10850
10837
  const result = state.events.enter?.("JSXAttributeValue", state);
@@ -10852,27 +10839,22 @@ ${input.slice(result.pos)}
10852
10839
  return result.cache;
10853
10840
  }
10854
10841
  if (state.tokenize) {
10855
- const result = $TOKEN("JSXAttributeValue", state, JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state) || JSXAttributeValue$5(state));
10842
+ const result = $TOKEN("JSXAttributeValue", state, JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state));
10856
10843
  if (state.events)
10857
10844
  state.events.exit?.("JSXAttributeValue", state, result);
10858
10845
  return result;
10859
10846
  } else {
10860
- const result = JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state) || JSXAttributeValue$5(state);
10847
+ const result = JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state);
10861
10848
  if (state.events)
10862
10849
  state.events.exit?.("JSXAttributeValue", state, result);
10863
10850
  return result;
10864
10851
  }
10865
10852
  }
10866
- var InlineJSXAttributeValue$0 = NullLiteral;
10867
- var InlineJSXAttributeValue$1 = BooleanLiteral;
10868
- var InlineJSXAttributeValue$2 = NumericLiteral;
10869
- var InlineJSXAttributeValue$3 = ThisLiteral;
10870
- var InlineJSXAttributeValue$4 = ArrayLiteral;
10871
- var InlineJSXAttributeValue$5 = BracedObjectLiteral;
10872
- var InlineJSXAttributeValue$6 = IdentifierReference;
10873
- var InlineJSXAttributeValue$7 = RegularExpressionLiteral;
10874
- var InlineJSXAttributeValue$8 = TemplateLiteral;
10875
- var InlineJSXAttributeValue$9 = ParenthesizedExpression;
10853
+ var InlineJSXAttributeValue$0 = $TS($S(InlineJSXUnaryExpression, $Q(InlineJSXBinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
10854
+ if ($2.length)
10855
+ return module.processBinaryOpExpression($0);
10856
+ return $1;
10857
+ });
10876
10858
  function InlineJSXAttributeValue(state) {
10877
10859
  if (state.events) {
10878
10860
  const result = state.events.enter?.("InlineJSXAttributeValue", state);
@@ -10880,17 +10862,255 @@ ${input.slice(result.pos)}
10880
10862
  return result.cache;
10881
10863
  }
10882
10864
  if (state.tokenize) {
10883
- const result = $TOKEN("InlineJSXAttributeValue", state, InlineJSXAttributeValue$0(state) || InlineJSXAttributeValue$1(state) || InlineJSXAttributeValue$2(state) || InlineJSXAttributeValue$3(state) || InlineJSXAttributeValue$4(state) || InlineJSXAttributeValue$5(state) || InlineJSXAttributeValue$6(state) || InlineJSXAttributeValue$7(state) || InlineJSXAttributeValue$8(state) || InlineJSXAttributeValue$9(state));
10865
+ const result = $TOKEN("InlineJSXAttributeValue", state, InlineJSXAttributeValue$0(state));
10884
10866
  if (state.events)
10885
10867
  state.events.exit?.("InlineJSXAttributeValue", state, result);
10886
10868
  return result;
10887
10869
  } else {
10888
- const result = InlineJSXAttributeValue$0(state) || InlineJSXAttributeValue$1(state) || InlineJSXAttributeValue$2(state) || InlineJSXAttributeValue$3(state) || InlineJSXAttributeValue$4(state) || InlineJSXAttributeValue$5(state) || InlineJSXAttributeValue$6(state) || InlineJSXAttributeValue$7(state) || InlineJSXAttributeValue$8(state) || InlineJSXAttributeValue$9(state);
10870
+ const result = InlineJSXAttributeValue$0(state);
10889
10871
  if (state.events)
10890
10872
  state.events.exit?.("InlineJSXAttributeValue", state, result);
10891
10873
  return result;
10892
10874
  }
10893
10875
  }
10876
+ var InlineJSXBinaryOpRHS$0 = $TS($S(BinaryOp, $C(ParenthesizedAssignment, InlineJSXUnaryExpression)), function($skip, $loc, $0, $1, $2) {
10877
+ return [[], $1, [], $2];
10878
+ });
10879
+ function InlineJSXBinaryOpRHS(state) {
10880
+ if (state.events) {
10881
+ const result = state.events.enter?.("InlineJSXBinaryOpRHS", state);
10882
+ if (result)
10883
+ return result.cache;
10884
+ }
10885
+ if (state.tokenize) {
10886
+ const result = $TOKEN("InlineJSXBinaryOpRHS", state, InlineJSXBinaryOpRHS$0(state));
10887
+ if (state.events)
10888
+ state.events.exit?.("InlineJSXBinaryOpRHS", state, result);
10889
+ return result;
10890
+ } else {
10891
+ const result = InlineJSXBinaryOpRHS$0(state);
10892
+ if (state.events)
10893
+ state.events.exit?.("InlineJSXBinaryOpRHS", state, result);
10894
+ return result;
10895
+ }
10896
+ }
10897
+ var InlineJSXUnaryExpression$0 = $TS($S($Q(InlineJSXUnaryOp), InlineJSXUpdateExpression, $E(InlineJSXUnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
10898
+ var pre = $1;
10899
+ var exp = $2;
10900
+ var post = $3;
10901
+ return module.processUnaryExpression(pre, exp, post);
10902
+ });
10903
+ function InlineJSXUnaryExpression(state) {
10904
+ if (state.events) {
10905
+ const result = state.events.enter?.("InlineJSXUnaryExpression", state);
10906
+ if (result)
10907
+ return result.cache;
10908
+ }
10909
+ if (state.tokenize) {
10910
+ const result = $TOKEN("InlineJSXUnaryExpression", state, InlineJSXUnaryExpression$0(state));
10911
+ if (state.events)
10912
+ state.events.exit?.("InlineJSXUnaryExpression", state, result);
10913
+ return result;
10914
+ } else {
10915
+ const result = InlineJSXUnaryExpression$0(state);
10916
+ if (state.events)
10917
+ state.events.exit?.("InlineJSXUnaryExpression", state, result);
10918
+ return result;
10919
+ }
10920
+ }
10921
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R6, fail, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10922
+ return { $loc, token: $0 };
10923
+ });
10924
+ function InlineJSXUnaryOp(state) {
10925
+ if (state.events) {
10926
+ const result = state.events.enter?.("InlineJSXUnaryOp", state);
10927
+ if (result)
10928
+ return result.cache;
10929
+ }
10930
+ if (state.tokenize) {
10931
+ const result = $TOKEN("InlineJSXUnaryOp", state, InlineJSXUnaryOp$0(state));
10932
+ if (state.events)
10933
+ state.events.exit?.("InlineJSXUnaryOp", state, result);
10934
+ return result;
10935
+ } else {
10936
+ const result = InlineJSXUnaryOp$0(state);
10937
+ if (state.events)
10938
+ state.events.exit?.("InlineJSXUnaryOp", state, result);
10939
+ return result;
10940
+ }
10941
+ }
10942
+ var InlineJSXUnaryPostfix$0 = QuestionMark;
10943
+ function InlineJSXUnaryPostfix(state) {
10944
+ if (state.events) {
10945
+ const result = state.events.enter?.("InlineJSXUnaryPostfix", state);
10946
+ if (result)
10947
+ return result.cache;
10948
+ }
10949
+ if (state.tokenize) {
10950
+ const result = $TOKEN("InlineJSXUnaryPostfix", state, InlineJSXUnaryPostfix$0(state));
10951
+ if (state.events)
10952
+ state.events.exit?.("InlineJSXUnaryPostfix", state, result);
10953
+ return result;
10954
+ } else {
10955
+ const result = InlineJSXUnaryPostfix$0(state);
10956
+ if (state.events)
10957
+ state.events.exit?.("InlineJSXUnaryPostfix", state, result);
10958
+ return result;
10959
+ }
10960
+ }
10961
+ var InlineJSXUpdateExpression$0 = $S(UpdateExpressionSymbol, UnaryExpression);
10962
+ var InlineJSXUpdateExpression$1 = $TS($S(InlineJSXCallExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
10963
+ if ($2)
10964
+ return $0;
10965
+ return $1;
10966
+ });
10967
+ function InlineJSXUpdateExpression(state) {
10968
+ if (state.events) {
10969
+ const result = state.events.enter?.("InlineJSXUpdateExpression", state);
10970
+ if (result)
10971
+ return result.cache;
10972
+ }
10973
+ if (state.tokenize) {
10974
+ const result = $TOKEN("InlineJSXUpdateExpression", state, InlineJSXUpdateExpression$0(state) || InlineJSXUpdateExpression$1(state));
10975
+ if (state.events)
10976
+ state.events.exit?.("InlineJSXUpdateExpression", state, result);
10977
+ return result;
10978
+ } else {
10979
+ const result = InlineJSXUpdateExpression$0(state) || InlineJSXUpdateExpression$1(state);
10980
+ if (state.events)
10981
+ state.events.exit?.("InlineJSXUpdateExpression", state, result);
10982
+ return result;
10983
+ }
10984
+ }
10985
+ var InlineJSXCallExpression$0 = $S($EXPECT($L10, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
10986
+ var InlineJSXCallExpression$1 = $S($EXPECT($L11, fail, 'InlineJSXCallExpression "import"'), OpenParen, ExtendedExpression, __, CloseParen);
10987
+ var InlineJSXCallExpression$2 = $TS($S(InlineJSXMemberExpression, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2) {
10988
+ if ($2.length)
10989
+ return $0;
10990
+ return $1;
10991
+ });
10992
+ function InlineJSXCallExpression(state) {
10993
+ if (state.events) {
10994
+ const result = state.events.enter?.("InlineJSXCallExpression", state);
10995
+ if (result)
10996
+ return result.cache;
10997
+ }
10998
+ if (state.tokenize) {
10999
+ const result = $TOKEN("InlineJSXCallExpression", state, InlineJSXCallExpression$0(state) || InlineJSXCallExpression$1(state) || InlineJSXCallExpression$2(state));
11000
+ if (state.events)
11001
+ state.events.exit?.("InlineJSXCallExpression", state, result);
11002
+ return result;
11003
+ } else {
11004
+ const result = InlineJSXCallExpression$0(state) || InlineJSXCallExpression$1(state) || InlineJSXCallExpression$2(state);
11005
+ if (state.events)
11006
+ state.events.exit?.("InlineJSXCallExpression", state, result);
11007
+ return result;
11008
+ }
11009
+ }
11010
+ var InlineJSXCallExpressionRest$0 = MemberExpressionRest;
11011
+ var InlineJSXCallExpressionRest$1 = TemplateLiteral;
11012
+ var InlineJSXCallExpressionRest$2 = $S($E($C(OptionalShorthand, NonNullAssertion)), ExplicitArguments);
11013
+ function InlineJSXCallExpressionRest(state) {
11014
+ if (state.events) {
11015
+ const result = state.events.enter?.("InlineJSXCallExpressionRest", state);
11016
+ if (result)
11017
+ return result.cache;
11018
+ }
11019
+ if (state.tokenize) {
11020
+ const result = $TOKEN("InlineJSXCallExpressionRest", state, InlineJSXCallExpressionRest$0(state) || InlineJSXCallExpressionRest$1(state) || InlineJSXCallExpressionRest$2(state));
11021
+ if (state.events)
11022
+ state.events.exit?.("InlineJSXCallExpressionRest", state, result);
11023
+ return result;
11024
+ } else {
11025
+ const result = InlineJSXCallExpressionRest$0(state) || InlineJSXCallExpressionRest$1(state) || InlineJSXCallExpressionRest$2(state);
11026
+ if (state.events)
11027
+ state.events.exit?.("InlineJSXCallExpressionRest", state, result);
11028
+ return result;
11029
+ }
11030
+ }
11031
+ var InlineJSXMemberExpression$0 = $TS($S(InlineJSXPrimaryExpression, $Q(InlineJSXMemberExpressionRest)), function($skip, $loc, $0, $1, $2) {
11032
+ if ($2.length)
11033
+ return $0;
11034
+ return $1;
11035
+ });
11036
+ var InlineJSXMemberExpression$1 = SuperProperty;
11037
+ var InlineJSXMemberExpression$2 = MetaProperty;
11038
+ function InlineJSXMemberExpression(state) {
11039
+ if (state.events) {
11040
+ const result = state.events.enter?.("InlineJSXMemberExpression", state);
11041
+ if (result)
11042
+ return result.cache;
11043
+ }
11044
+ if (state.tokenize) {
11045
+ const result = $TOKEN("InlineJSXMemberExpression", state, InlineJSXMemberExpression$0(state) || InlineJSXMemberExpression$1(state) || InlineJSXMemberExpression$2(state));
11046
+ if (state.events)
11047
+ state.events.exit?.("InlineJSXMemberExpression", state, result);
11048
+ return result;
11049
+ } else {
11050
+ const result = InlineJSXMemberExpression$0(state) || InlineJSXMemberExpression$1(state) || InlineJSXMemberExpression$2(state);
11051
+ if (state.events)
11052
+ state.events.exit?.("InlineJSXMemberExpression", state, result);
11053
+ return result;
11054
+ }
11055
+ }
11056
+ var InlineJSXMemberExpressionRest$0 = $TS($S($E($C(OptionalShorthand, NonNullAssertion)), MemberBracketContent), function($skip, $loc, $0, $1, $2) {
11057
+ if ($1) {
11058
+ if ($1.length === 2 && $2.type === "SliceExpression") {
11059
+ return [$1[0], $2];
11060
+ }
11061
+ return $0;
11062
+ }
11063
+ return $2;
11064
+ });
11065
+ var InlineJSXMemberExpressionRest$1 = PropertyAccess;
11066
+ var InlineJSXMemberExpressionRest$2 = NonNullAssertion;
11067
+ function InlineJSXMemberExpressionRest(state) {
11068
+ if (state.events) {
11069
+ const result = state.events.enter?.("InlineJSXMemberExpressionRest", state);
11070
+ if (result)
11071
+ return result.cache;
11072
+ }
11073
+ if (state.tokenize) {
11074
+ const result = $TOKEN("InlineJSXMemberExpressionRest", state, InlineJSXMemberExpressionRest$0(state) || InlineJSXMemberExpressionRest$1(state) || InlineJSXMemberExpressionRest$2(state));
11075
+ if (state.events)
11076
+ state.events.exit?.("InlineJSXMemberExpressionRest", state, result);
11077
+ return result;
11078
+ } else {
11079
+ const result = InlineJSXMemberExpressionRest$0(state) || InlineJSXMemberExpressionRest$1(state) || InlineJSXMemberExpressionRest$2(state);
11080
+ if (state.events)
11081
+ state.events.exit?.("InlineJSXMemberExpressionRest", state, result);
11082
+ return result;
11083
+ }
11084
+ }
11085
+ var InlineJSXPrimaryExpression$0 = NullLiteral;
11086
+ var InlineJSXPrimaryExpression$1 = BooleanLiteral;
11087
+ var InlineJSXPrimaryExpression$2 = NumericLiteral;
11088
+ var InlineJSXPrimaryExpression$3 = StringLiteral;
11089
+ var InlineJSXPrimaryExpression$4 = ThisLiteral;
11090
+ var InlineJSXPrimaryExpression$5 = ArrayLiteral;
11091
+ var InlineJSXPrimaryExpression$6 = BracedObjectLiteral;
11092
+ var InlineJSXPrimaryExpression$7 = IdentifierReference;
11093
+ var InlineJSXPrimaryExpression$8 = RegularExpressionLiteral;
11094
+ var InlineJSXPrimaryExpression$9 = TemplateLiteral;
11095
+ var InlineJSXPrimaryExpression$10 = ParenthesizedExpression;
11096
+ function InlineJSXPrimaryExpression(state) {
11097
+ if (state.events) {
11098
+ const result = state.events.enter?.("InlineJSXPrimaryExpression", state);
11099
+ if (result)
11100
+ return result.cache;
11101
+ }
11102
+ if (state.tokenize) {
11103
+ const result = $TOKEN("InlineJSXPrimaryExpression", state, InlineJSXPrimaryExpression$0(state) || InlineJSXPrimaryExpression$1(state) || InlineJSXPrimaryExpression$2(state) || InlineJSXPrimaryExpression$3(state) || InlineJSXPrimaryExpression$4(state) || InlineJSXPrimaryExpression$5(state) || InlineJSXPrimaryExpression$6(state) || InlineJSXPrimaryExpression$7(state) || InlineJSXPrimaryExpression$8(state) || InlineJSXPrimaryExpression$9(state) || InlineJSXPrimaryExpression$10(state));
11104
+ if (state.events)
11105
+ state.events.exit?.("InlineJSXPrimaryExpression", state, result);
11106
+ return result;
11107
+ } else {
11108
+ const result = InlineJSXPrimaryExpression$0(state) || InlineJSXPrimaryExpression$1(state) || InlineJSXPrimaryExpression$2(state) || InlineJSXPrimaryExpression$3(state) || InlineJSXPrimaryExpression$4(state) || InlineJSXPrimaryExpression$5(state) || InlineJSXPrimaryExpression$6(state) || InlineJSXPrimaryExpression$7(state) || InlineJSXPrimaryExpression$8(state) || InlineJSXPrimaryExpression$9(state) || InlineJSXPrimaryExpression$10(state);
11109
+ if (state.events)
11110
+ state.events.exit?.("InlineJSXPrimaryExpression", state, result);
11111
+ return result;
11112
+ }
11113
+ }
10894
11114
  var JSXMixedChildren$0 = $TS($S($Q($C(_, JSXChild)), JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
10895
11115
  var c1 = $1;
10896
11116
  var c2 = $2;
@@ -10981,7 +11201,7 @@ ${input.slice(result.pos)}
10981
11201
  return result;
10982
11202
  }
10983
11203
  }
10984
- var JSXText$0 = $R$0($EXPECT($R48, fail, "JSXText /[^{}<>\\r\\n]+/"));
11204
+ var JSXText$0 = $R$0($EXPECT($R46, fail, "JSXText /[^{}<>\\r\\n]+/"));
10985
11205
  function JSXText(state) {
10986
11206
  if (state.events) {
10987
11207
  const result = state.events.enter?.("JSXText", state);
@@ -11040,7 +11260,7 @@ ${input.slice(result.pos)}
11040
11260
  return result;
11041
11261
  }
11042
11262
  }
11043
- var TypeDeclarationModifier$0 = $S($EXPECT($L149, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
11263
+ var TypeDeclarationModifier$0 = $S($EXPECT($L150, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
11044
11264
  var TypeDeclarationModifier$1 = Export;
11045
11265
  function TypeDeclarationModifier(state) {
11046
11266
  if (state.events) {
@@ -11082,7 +11302,7 @@ ${input.slice(result.pos)}
11082
11302
  return result;
11083
11303
  }
11084
11304
  }
11085
- var TypeKeyword$0 = $S($EXPECT($L150, fail, 'TypeKeyword "type"'), NonIdContinue);
11305
+ var TypeKeyword$0 = $S($EXPECT($L151, fail, 'TypeKeyword "type"'), NonIdContinue);
11086
11306
  function TypeKeyword(state) {
11087
11307
  if (state.events) {
11088
11308
  const result = state.events.enter?.("TypeKeyword", state);
@@ -11101,7 +11321,7 @@ ${input.slice(result.pos)}
11101
11321
  return result;
11102
11322
  }
11103
11323
  }
11104
- var Interface$0 = $S($EXPECT($L151, fail, 'Interface "interface"'), NonIdContinue);
11324
+ var Interface$0 = $S($EXPECT($L152, fail, 'Interface "interface"'), NonIdContinue);
11105
11325
  function Interface(state) {
11106
11326
  if (state.events) {
11107
11327
  const result = state.events.enter?.("Interface", state);
@@ -11120,7 +11340,7 @@ ${input.slice(result.pos)}
11120
11340
  return result;
11121
11341
  }
11122
11342
  }
11123
- var Namespace$0 = $S($EXPECT($L152, fail, 'Namespace "namespace"'), NonIdContinue);
11343
+ var Namespace$0 = $S($EXPECT($L153, fail, 'Namespace "namespace"'), NonIdContinue);
11124
11344
  function Namespace(state) {
11125
11345
  if (state.events) {
11126
11346
  const result = state.events.enter?.("Namespace", state);
@@ -11309,7 +11529,7 @@ ${input.slice(result.pos)}
11309
11529
  return result;
11310
11530
  }
11311
11531
  }
11312
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R49, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L153, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R4, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
11532
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L154, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R4, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
11313
11533
  function TypeIndexSignature(state) {
11314
11534
  if (state.events) {
11315
11535
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -11369,7 +11589,7 @@ ${input.slice(result.pos)}
11369
11589
  return result;
11370
11590
  }
11371
11591
  }
11372
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L154, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
11592
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L155, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
11373
11593
  const children = [...$1, $2];
11374
11594
  if ($3)
11375
11595
  children.push($3);
@@ -11504,10 +11724,10 @@ ${input.slice(result.pos)}
11504
11724
  return result;
11505
11725
  }
11506
11726
  }
11507
- var TypeUnaryOp$0 = $EXPECT($L155, fail, 'TypeUnaryOp "keyof"');
11508
- var TypeUnaryOp$1 = $EXPECT($L137, fail, 'TypeUnaryOp "typeof"');
11509
- var TypeUnaryOp$2 = $EXPECT($L156, fail, 'TypeUnaryOp "infer"');
11510
- var TypeUnaryOp$3 = $EXPECT($L153, fail, 'TypeUnaryOp "readonly"');
11727
+ var TypeUnaryOp$0 = $EXPECT($L156, fail, 'TypeUnaryOp "keyof"');
11728
+ var TypeUnaryOp$1 = $EXPECT($L138, fail, 'TypeUnaryOp "typeof"');
11729
+ var TypeUnaryOp$2 = $EXPECT($L157, fail, 'TypeUnaryOp "infer"');
11730
+ var TypeUnaryOp$3 = $EXPECT($L154, fail, 'TypeUnaryOp "readonly"');
11511
11731
  function TypeUnaryOp(state) {
11512
11732
  if (state.events) {
11513
11733
  const result = state.events.enter?.("TypeUnaryOp", state);
@@ -11676,10 +11896,10 @@ ${input.slice(result.pos)}
11676
11896
  }
11677
11897
  var TypeLiteral$0 = Literal;
11678
11898
  var TypeLiteral$1 = TemplateLiteral;
11679
- var TypeLiteral$2 = $TV($EXPECT($L141, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
11899
+ var TypeLiteral$2 = $TV($EXPECT($L142, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
11680
11900
  return { $loc, token: "void" };
11681
11901
  });
11682
- var TypeLiteral$3 = $TV($EXPECT($L157, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
11902
+ var TypeLiteral$3 = $TV($EXPECT($L158, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
11683
11903
  return { $loc, token: "[]" };
11684
11904
  });
11685
11905
  function TypeLiteral(state) {
@@ -11743,7 +11963,9 @@ ${input.slice(result.pos)}
11743
11963
  return result;
11744
11964
  }
11745
11965
  }
11746
- var TypeArguments$0 = $S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L27, fail, 'TypeArguments ">"'));
11966
+ var TypeArguments$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L27, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
11967
+ return { ts: true, children: $0 };
11968
+ });
11747
11969
  function TypeArguments(state) {
11748
11970
  if (state.events) {
11749
11971
  const result = state.events.enter?.("TypeArguments", state);
@@ -11762,7 +11984,7 @@ ${input.slice(result.pos)}
11762
11984
  return result;
11763
11985
  }
11764
11986
  }
11765
- var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L27, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
11987
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L27, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11766
11988
  return { ts: true, children: $0 };
11767
11989
  });
11768
11990
  function TypeParameters(state) {
@@ -11822,11 +12044,8 @@ ${input.slice(result.pos)}
11822
12044
  }
11823
12045
  }
11824
12046
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
11825
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L27, fail, 'TypeParameterDelimiter ">"')));
11826
- var TypeParameterDelimiter$2 = $T($S($Y($S(__, $EXPECT($L27, fail, 'TypeParameterDelimiter ">"'))), InsertComma), function(value) {
11827
- return value[1];
11828
- });
11829
- var TypeParameterDelimiter$3 = $T($S($Y(EOS), InsertComma), function(value) {
12047
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L27, fail, 'TypeParameterDelimiter ">"')));
12048
+ var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
11830
12049
  return value[1];
11831
12050
  });
11832
12051
  function TypeParameterDelimiter(state) {
@@ -11836,18 +12055,18 @@ ${input.slice(result.pos)}
11836
12055
  return result.cache;
11837
12056
  }
11838
12057
  if (state.tokenize) {
11839
- const result = $TOKEN("TypeParameterDelimiter", state, TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state));
12058
+ const result = $TOKEN("TypeParameterDelimiter", state, TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state));
11840
12059
  if (state.events)
11841
12060
  state.events.exit?.("TypeParameterDelimiter", state, result);
11842
12061
  return result;
11843
12062
  } else {
11844
- const result = TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
12063
+ const result = TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state);
11845
12064
  if (state.events)
11846
12065
  state.events.exit?.("TypeParameterDelimiter", state, result);
11847
12066
  return result;
11848
12067
  }
11849
12068
  }
11850
- var Shebang$0 = $S($R$0($EXPECT($R50, fail, "Shebang /#![^\\r\\n]*/")), EOL);
12069
+ var Shebang$0 = $S($R$0($EXPECT($R48, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11851
12070
  function Shebang(state) {
11852
12071
  if (state.events) {
11853
12072
  const result = state.events.enter?.("Shebang", state);
@@ -11866,11 +12085,11 @@ ${input.slice(result.pos)}
11866
12085
  return result;
11867
12086
  }
11868
12087
  }
11869
- var CivetPrologue$0 = $T($S($EXPECT($R51, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
12088
+ var CivetPrologue$0 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11870
12089
  var content = value[2];
11871
12090
  return content;
11872
12091
  });
11873
- var CivetPrologue$1 = $T($S($EXPECT($R51, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
12092
+ var CivetPrologue$1 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11874
12093
  var content = value[2];
11875
12094
  return content;
11876
12095
  });
@@ -11892,7 +12111,7 @@ ${input.slice(result.pos)}
11892
12111
  return result;
11893
12112
  }
11894
12113
  }
11895
- var CivetPrologueContent$0 = $TS($S($EXPECT($L158, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R52, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
12114
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L159, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R50, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11896
12115
  var options = $2;
11897
12116
  return {
11898
12117
  type: "CivetPrologue",
@@ -11918,7 +12137,7 @@ ${input.slice(result.pos)}
11918
12137
  return result;
11919
12138
  }
11920
12139
  }
11921
- var CivetOption$0 = $TR($EXPECT($R53, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12140
+ var CivetOption$0 = $TR($EXPECT($R51, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11922
12141
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
11923
12142
  if (l)
11924
12143
  return l.toUpperCase();
@@ -11950,7 +12169,7 @@ ${input.slice(result.pos)}
11950
12169
  return result;
11951
12170
  }
11952
12171
  }
11953
- var UnknownPrologue$0 = $S($R$0($EXPECT($R51, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
12172
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R49, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11954
12173
  function UnknownPrologue(state) {
11955
12174
  if (state.events) {
11956
12175
  const result = state.events.enter?.("UnknownPrologue", state);
@@ -12008,7 +12227,7 @@ ${input.slice(result.pos)}
12008
12227
  return result;
12009
12228
  }
12010
12229
  }
12011
- var EOL$0 = $TR($EXPECT($R54, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12230
+ var EOL$0 = $TR($EXPECT($R52, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12012
12231
  return { $loc, token: $0 };
12013
12232
  });
12014
12233
  function EOL(state) {
@@ -12635,6 +12854,7 @@ ${input.slice(result.pos)}
12635
12854
  }
12636
12855
  module.config = parse.config = {
12637
12856
  autoVar: false,
12857
+ autoLet: false,
12638
12858
  coffeeBinaryExistential: false,
12639
12859
  coffeeBooleans: false,
12640
12860
  coffeeClasses: false,
@@ -12759,6 +12979,55 @@ ${input.slice(result.pos)}
12759
12979
  Object.assign(module.config, directive.config);
12760
12980
  }
12761
12981
  });
12982
+ module.processUnaryExpression = (pre, exp, post) => {
12983
+ if (post?.token === "?") {
12984
+ post = {
12985
+ $loc: post.$loc,
12986
+ token: " != null"
12987
+ };
12988
+ switch (exp.type) {
12989
+ case "Identifier":
12990
+ case "Literal":
12991
+ return {
12992
+ ...exp,
12993
+ children: [...pre, ...exp.children, post]
12994
+ };
12995
+ default:
12996
+ return {
12997
+ type: "ParenthesizedExpression",
12998
+ children: ["(", ...pre, "(", exp, ")", post, ")"]
12999
+ };
13000
+ }
13001
+ }
13002
+ if (exp.type === "Literal") {
13003
+ if (pre.length === 1 && pre[0].token === "-") {
13004
+ const children = [pre[0], ...exp.children];
13005
+ if (post)
13006
+ exp.children.push(post);
13007
+ return {
13008
+ type: "Literal",
13009
+ children,
13010
+ raw: `-${exp.raw}`
13011
+ };
13012
+ }
13013
+ }
13014
+ if (exp.children) {
13015
+ const children = [...pre, ...exp.children];
13016
+ if (post)
13017
+ children.push(post);
13018
+ return Object.assign({}, exp, { children });
13019
+ } else if (Array.isArray(exp)) {
13020
+ const children = [...pre, ...exp];
13021
+ if (post)
13022
+ children.push(post);
13023
+ return { children };
13024
+ } else {
13025
+ const children = [...pre, exp];
13026
+ if (post)
13027
+ children.push(post);
13028
+ return { children };
13029
+ }
13030
+ };
12762
13031
  module.expressionizeIfClause = function(clause, b, e) {
12763
13032
  const children = clause.children.slice(1);
12764
13033
  children.push("?", b);
@@ -12992,6 +13261,12 @@ ${input.slice(result.pos)}
12992
13261
  if (Array.isArray(node))
12993
13262
  return node.every(module.isWhitespaceOrEmpty);
12994
13263
  };
13264
+ module.isTemplateLiteral = function(node) {
13265
+ let s = node;
13266
+ while (s && s[0] && !s.token)
13267
+ s = s[0];
13268
+ return s.token?.startsWith?.("`");
13269
+ };
12995
13270
  module.processBinaryOpExpression = function($02) {
12996
13271
  const expandedOps = module.expandChainedComparisons($02);
12997
13272
  let i = 2;
@@ -13417,6 +13692,9 @@ ${input.slice(result.pos)}
13417
13692
  if (module.config.autoVar) {
13418
13693
  createVarDecs(statements, []);
13419
13694
  }
13695
+ if (module.config.autoLet) {
13696
+ createLetDecs(statements, []);
13697
+ }
13420
13698
  populateRefs(statements);
13421
13699
  adjustAtBindings(statements);
13422
13700
  };
@@ -13515,6 +13793,52 @@ ${input.slice(result.pos)}
13515
13793
  statements.unshift([indent, "var ", varIds.join(", "), "\n"]);
13516
13794
  }
13517
13795
  }
13796
+ function createLetDecs(statements, scopes) {
13797
+ function hasDec(name) {
13798
+ return scopes.some((s) => s.has(name));
13799
+ }
13800
+ function insertBeforeAssignment(assignment, content) {
13801
+ if (assignment.children && assignment.children.length) {
13802
+ let indent = assignment.children[0][0][0];
13803
+ if (Array.isArray(indent))
13804
+ indent = indent[indent.length - 1];
13805
+ assignment.children.unshift([indent, ...content]);
13806
+ }
13807
+ }
13808
+ let currentScope = /* @__PURE__ */ new Set();
13809
+ scopes.push(currentScope);
13810
+ const fnNodes = gatherNodes(statements, (s) => s.type === "FunctionExpression");
13811
+ const forNodes = gatherNodes(statements, (s) => s.type === "ForStatement");
13812
+ const nodes = gatherNodes(statements, (s) => s.type === "BlockStatement" || s.type === "AssignmentExpression");
13813
+ for (const node of nodes) {
13814
+ if (node.type == "AssignmentExpression") {
13815
+ let undeclaredIdentifiers = node.names.filter((name) => !hasDec(name));
13816
+ if (node.children.length)
13817
+ createLetDecs(node.children, scopes);
13818
+ undeclaredIdentifiers.forEach((name) => currentScope.add(name));
13819
+ if (node.names.length === undeclaredIdentifiers.length) {
13820
+ insertBeforeAssignment(node, ["let "]);
13821
+ } else if (undeclaredIdentifiers.length > 0) {
13822
+ insertBeforeAssignment(node, ["let ", undeclaredIdentifiers.join(", "), "\n"]);
13823
+ }
13824
+ } else {
13825
+ let block = node;
13826
+ let fnNode = fnNodes.find((fnNode2) => fnNode2.block === block);
13827
+ let forNode = forNodes.find((forNode2) => forNode2.block === block);
13828
+ if (fnNode != null) {
13829
+ scopes.push(new Set(fnNode.parameters.names));
13830
+ createLetDecs(block.expressions, scopes);
13831
+ scopes.pop();
13832
+ } else if (forNode != null) {
13833
+ scopes.push(new Set(forNode.declaration.names));
13834
+ createLetDecs(block.expressions, scopes);
13835
+ scopes.pop();
13836
+ } else
13837
+ createLetDecs(block.expressions, scopes);
13838
+ }
13839
+ }
13840
+ scopes.pop();
13841
+ }
13518
13842
  function gatherBindingCode(statements) {
13519
13843
  const thisAssignments = [];
13520
13844
  const splices = [];
@@ -13554,7 +13878,7 @@ ${input.slice(result.pos)}
13554
13878
  return result;
13555
13879
  }
13556
13880
  }
13557
- var Indent$0 = $TR($EXPECT($R55, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13881
+ var Indent$0 = $TR($EXPECT($R53, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13558
13882
  let level;
13559
13883
  if (module.config.tab) {
13560
13884
  const tabs = $0.match(/\t/g);