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