@danielx/civet 0.5.55 → 0.5.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -521,6 +521,8 @@ ${input.slice(result.pos)}
521
521
  BindingPropertyList,
522
522
  ArrayBindingPattern,
523
523
  ArrayBindingPatternContent,
524
+ BindingElementList,
525
+ NestedBindingElementList,
524
526
  Elision,
525
527
  NestedBindingProperties,
526
528
  NestedBindingPropertyList,
@@ -531,9 +533,26 @@ ${input.slice(result.pos)}
531
533
  BindingElement,
532
534
  BindingRestElement,
533
535
  EmptyBindingPattern,
536
+ MatchingPattern,
537
+ ObjectMatchingPattern,
538
+ ObjectMatchingPatternContent,
539
+ NestedMatchingProperties,
540
+ MatchingPropertyList,
541
+ NestedMatchingPropertyList,
542
+ MatchingProperty,
543
+ MatchingRestProperty,
544
+ ArrayMatchingPattern,
545
+ ArrayMatchingPatternContent,
546
+ NestedMatchingElements,
547
+ MatchingElementList,
548
+ NestedMatchingElementList,
549
+ MatchingElement,
550
+ MatchingRestElement,
534
551
  FunctionDeclaration,
535
552
  FunctionSignature,
536
553
  FunctionExpression,
554
+ OperatorDeclaration,
555
+ OperatorSignature,
537
556
  AmpersandBlockRHS,
538
557
  AmpersandUnaryPrefix,
539
558
  ThinArrowFunction,
@@ -544,6 +563,7 @@ ${input.slice(result.pos)}
544
563
  ThenClause,
545
564
  BracedOrEmptyBlock,
546
565
  EmptyBlock,
566
+ EmptyBareBlock,
547
567
  BracedBlock,
548
568
  SingleLineStatements,
549
569
  BracedContent,
@@ -554,7 +574,6 @@ ${input.slice(result.pos)}
554
574
  NullLiteral,
555
575
  BooleanLiteral,
556
576
  CoffeeScriptBooleanLiteral,
557
- Comma,
558
577
  Identifier,
559
578
  IdentifierName,
560
579
  IdentifierReference,
@@ -641,7 +660,6 @@ ${input.slice(result.pos)}
641
660
  NestedCaseClause,
642
661
  CaseClause,
643
662
  CaseExpressionList,
644
- NoExpressions,
645
663
  ImpliedColon,
646
664
  TryStatement,
647
665
  TryExpression,
@@ -704,7 +722,6 @@ ${input.slice(result.pos)}
704
722
  IntegerLiteralKind,
705
723
  DecimalIntegerLiteral,
706
724
  StringLiteral,
707
- BasicStringLiteral,
708
725
  DoubleStringCharacters,
709
726
  SingleStringCharacters,
710
727
  TripleDoubleStringCharacters,
@@ -766,6 +783,7 @@ ${input.slice(result.pos)}
766
783
  CloseParen,
767
784
  CoffeeSubstitutionStart,
768
785
  Colon,
786
+ Comma,
769
787
  ConstructorShorthand,
770
788
  Declare,
771
789
  Default,
@@ -796,6 +814,7 @@ ${input.slice(result.pos)}
796
814
  OpenBrace,
797
815
  OpenBracket,
798
816
  OpenParen,
817
+ Operator,
799
818
  Public,
800
819
  Private,
801
820
  Protected,
@@ -843,6 +862,7 @@ ${input.slice(result.pos)}
843
862
  JSXIdentifierName,
844
863
  JSXAttributes,
845
864
  JSXAttribute,
865
+ JSXAttributeSpace,
846
866
  JSXShorthandString,
847
867
  JSXAttributeName,
848
868
  JSXAttributeInitializer,
@@ -936,6 +956,8 @@ ${input.slice(result.pos)}
936
956
  InsertOpenBrace,
937
957
  InsertInlineOpenBrace,
938
958
  InsertCloseBrace,
959
+ InsertOpenBracket,
960
+ InsertCloseBracket,
939
961
  InsertComma,
940
962
  InsertConst,
941
963
  InsertLet,
@@ -971,33 +993,33 @@ ${input.slice(result.pos)}
971
993
  Nested
972
994
  });
973
995
  var $L0 = $L("/ ");
974
- var $L1 = $L("?");
975
- var $L2 = $L(".");
976
- var $L3 = $L("++");
977
- var $L4 = $L("--");
978
- var $L5 = $L("=>");
979
- var $L6 = $L(" ");
980
- var $L7 = $L("implements");
981
- var $L8 = $L("<:");
982
- var $L9 = $L("#");
983
- var $L10 = $L("super");
984
- var $L11 = $L("import");
985
- var $L12 = $L("!");
986
- var $L13 = $L("-");
987
- var $L14 = $L("super[");
988
- var $L15 = $L("import.meta");
989
- var $L16 = $L("");
990
- var $L17 = $L(")");
991
- var $L18 = $L("->");
992
- var $L19 = $L("}");
993
- var $L20 = $L("null");
994
- var $L21 = $L("true");
995
- var $L22 = $L("false");
996
- var $L23 = $L("yes");
997
- var $L24 = $L("on");
998
- var $L25 = $L("no");
999
- var $L26 = $L("off");
1000
- var $L27 = $L(",");
996
+ var $L1 = $L("(");
997
+ var $L2 = $L("?");
998
+ var $L3 = $L(".");
999
+ var $L4 = $L("++");
1000
+ var $L5 = $L("--");
1001
+ var $L6 = $L("=>");
1002
+ var $L7 = $L(" ");
1003
+ var $L8 = $L("implements");
1004
+ var $L9 = $L("<:");
1005
+ var $L10 = $L("#");
1006
+ var $L11 = $L("super");
1007
+ var $L12 = $L("import");
1008
+ var $L13 = $L("!");
1009
+ var $L14 = $L("-");
1010
+ var $L15 = $L("super[");
1011
+ var $L16 = $L("import.meta");
1012
+ var $L17 = $L("");
1013
+ var $L18 = $L(")");
1014
+ var $L19 = $L("->");
1015
+ var $L20 = $L("}");
1016
+ var $L21 = $L("null");
1017
+ var $L22 = $L("true");
1018
+ var $L23 = $L("false");
1019
+ var $L24 = $L("yes");
1020
+ var $L25 = $L("on");
1021
+ var $L26 = $L("no");
1022
+ var $L27 = $L("off");
1001
1023
  var $L28 = $L("=");
1002
1024
  var $L29 = $L(">");
1003
1025
  var $L30 = $L("]");
@@ -1020,49 +1042,49 @@ ${input.slice(result.pos)}
1020
1042
  var $L47 = $L("?=");
1021
1043
  var $L48 = $L("and=");
1022
1044
  var $L49 = $L("or=");
1023
- var $L50 = $L("**");
1024
- var $L51 = $L("*");
1025
- var $L52 = $L("/");
1026
- var $L53 = $L("%%");
1027
- var $L54 = $L("%");
1028
- var $L55 = $L("+");
1029
- var $L56 = $L("<=");
1030
- var $L57 = $L(">=");
1031
- var $L58 = $L("<?");
1032
- var $L59 = $L("<<");
1033
- var $L60 = $L(">>>");
1034
- var $L61 = $L(">>");
1035
- var $L62 = $L("!==");
1036
- var $L63 = $L("!=");
1037
- var $L64 = $L("isnt");
1038
- var $L65 = $L("===");
1039
- var $L66 = $L("==");
1040
- var $L67 = $L("and");
1041
- var $L68 = $L("&&");
1042
- var $L69 = $L("of");
1043
- var $L70 = $L("or");
1044
- var $L71 = $L("||");
1045
- var $L72 = $L("??");
1046
- var $L73 = $L("instanceof");
1047
- var $L74 = $L("not");
1048
- var $L75 = $L("in");
1049
- var $L76 = $L("is");
1050
- var $L77 = $L("&");
1051
- var $L78 = $L("^");
1052
- var $L79 = $L("|");
1053
- var $L80 = $L(";");
1054
- var $L81 = $L("own");
1055
- var $L82 = $L("finally");
1056
- var $L83 = $L("break");
1057
- var $L84 = $L("continue");
1058
- var $L85 = $L("debugger");
1059
- var $L86 = $L("assert");
1060
- var $L87 = $L(":=");
1061
- var $L88 = $L(".=");
1062
- var $L89 = $L("/*");
1063
- var $L90 = $L("*/");
1064
- var $L91 = $L("\\");
1065
- var $L92 = $L("(");
1045
+ var $L50 = $L("not");
1046
+ var $L51 = $L("**");
1047
+ var $L52 = $L("*");
1048
+ var $L53 = $L("/");
1049
+ var $L54 = $L("%%");
1050
+ var $L55 = $L("%");
1051
+ var $L56 = $L("+");
1052
+ var $L57 = $L("<=");
1053
+ var $L58 = $L(">=");
1054
+ var $L59 = $L("<?");
1055
+ var $L60 = $L("!<?");
1056
+ var $L61 = $L("<<");
1057
+ var $L62 = $L(">>>");
1058
+ var $L63 = $L(">>");
1059
+ var $L64 = $L("!==");
1060
+ var $L65 = $L("!=");
1061
+ var $L66 = $L("isnt");
1062
+ var $L67 = $L("===");
1063
+ var $L68 = $L("==");
1064
+ var $L69 = $L("and");
1065
+ var $L70 = $L("&&");
1066
+ var $L71 = $L("of");
1067
+ var $L72 = $L("or");
1068
+ var $L73 = $L("||");
1069
+ var $L74 = $L("??");
1070
+ var $L75 = $L("instanceof");
1071
+ var $L76 = $L("in");
1072
+ var $L77 = $L("is");
1073
+ var $L78 = $L("&");
1074
+ var $L79 = $L("^");
1075
+ var $L80 = $L("|");
1076
+ var $L81 = $L(";");
1077
+ var $L82 = $L("own");
1078
+ var $L83 = $L("finally");
1079
+ var $L84 = $L("break");
1080
+ var $L85 = $L("continue");
1081
+ var $L86 = $L("debugger");
1082
+ var $L87 = $L("assert");
1083
+ var $L88 = $L(":=");
1084
+ var $L89 = $L(".=");
1085
+ var $L90 = $L("/*");
1086
+ var $L91 = $L("*/");
1087
+ var $L92 = $L("\\");
1066
1088
  var $L93 = $L("[");
1067
1089
  var $L94 = $L("`");
1068
1090
  var $L95 = $L("abstract");
@@ -1076,71 +1098,73 @@ ${input.slice(result.pos)}
1076
1098
  var $L103 = $L("catch");
1077
1099
  var $L104 = $L("class");
1078
1100
  var $L105 = $L("#{");
1079
- var $L106 = $L("declare");
1080
- var $L107 = $L("default");
1081
- var $L108 = $L("delete");
1082
- var $L109 = $L("do");
1083
- var $L110 = $L("..");
1084
- var $L111 = $L("...");
1085
- var $L112 = $L("::");
1086
- var $L113 = $L('"');
1087
- var $L114 = $L("else");
1088
- var $L115 = $L("export");
1089
- var $L116 = $L("extends");
1090
- var $L117 = $L("for");
1091
- var $L118 = $L("from");
1092
- var $L119 = $L("function");
1093
- var $L120 = $L("get");
1094
- var $L121 = $L("set");
1095
- var $L122 = $L("if");
1096
- var $L123 = $L("let");
1097
- var $L124 = $L("const");
1098
- var $L125 = $L("loop");
1099
- var $L126 = $L("new");
1100
- var $L127 = $L("<");
1101
- var $L128 = $L("{");
1102
- var $L129 = $L("public");
1103
- var $L130 = $L("private");
1104
- var $L131 = $L("protected");
1105
- var $L132 = $L("|>");
1106
- var $L133 = $L("readonly");
1107
- var $L134 = $L("return");
1108
- var $L135 = $L("satisfies");
1109
- var $L136 = $L("'");
1110
- var $L137 = $L("static");
1111
- var $L138 = $L("${");
1112
- var $L139 = $L("switch");
1113
- var $L140 = $L("target");
1114
- var $L141 = $L("then");
1115
- var $L142 = $L("this");
1116
- var $L143 = $L("throw");
1117
- var $L144 = $L('"""');
1118
- var $L145 = $L("'''");
1119
- var $L146 = $L("///");
1120
- var $L147 = $L("```");
1121
- var $L148 = $L("try");
1122
- var $L149 = $L("typeof");
1123
- var $L150 = $L("unless");
1124
- var $L151 = $L("until");
1125
- var $L152 = $L("var");
1126
- var $L153 = $L("void");
1127
- var $L154 = $L("when");
1128
- var $L155 = $L("while");
1129
- var $L156 = $L("yield");
1130
- var $L157 = $L("/>");
1131
- var $L158 = $L("</");
1132
- var $L159 = $L("<>");
1133
- var $L160 = $L("</>");
1134
- var $L161 = $L("<!--");
1135
- var $L162 = $L("-->");
1136
- var $L163 = $L("type");
1137
- var $L164 = $L("interface");
1138
- var $L165 = $L("namespace");
1139
- var $L166 = $L("asserts");
1140
- var $L167 = $L("keyof");
1141
- var $L168 = $L("infer");
1142
- var $L169 = $L("[]");
1143
- var $L170 = $L("civet");
1101
+ var $L106 = $L(",");
1102
+ var $L107 = $L("declare");
1103
+ var $L108 = $L("default");
1104
+ var $L109 = $L("delete");
1105
+ var $L110 = $L("do");
1106
+ var $L111 = $L("..");
1107
+ var $L112 = $L("...");
1108
+ var $L113 = $L("::");
1109
+ var $L114 = $L('"');
1110
+ var $L115 = $L("else");
1111
+ var $L116 = $L("export");
1112
+ var $L117 = $L("extends");
1113
+ var $L118 = $L("for");
1114
+ var $L119 = $L("from");
1115
+ var $L120 = $L("function");
1116
+ var $L121 = $L("get");
1117
+ var $L122 = $L("set");
1118
+ var $L123 = $L("if");
1119
+ var $L124 = $L("let");
1120
+ var $L125 = $L("const");
1121
+ var $L126 = $L("loop");
1122
+ var $L127 = $L("new");
1123
+ var $L128 = $L("<");
1124
+ var $L129 = $L("{");
1125
+ var $L130 = $L("operator");
1126
+ var $L131 = $L("public");
1127
+ var $L132 = $L("private");
1128
+ var $L133 = $L("protected");
1129
+ var $L134 = $L("|>");
1130
+ var $L135 = $L("readonly");
1131
+ var $L136 = $L("return");
1132
+ var $L137 = $L("satisfies");
1133
+ var $L138 = $L("'");
1134
+ var $L139 = $L("static");
1135
+ var $L140 = $L("${");
1136
+ var $L141 = $L("switch");
1137
+ var $L142 = $L("target");
1138
+ var $L143 = $L("then");
1139
+ var $L144 = $L("this");
1140
+ var $L145 = $L("throw");
1141
+ var $L146 = $L('"""');
1142
+ var $L147 = $L("'''");
1143
+ var $L148 = $L("///");
1144
+ var $L149 = $L("```");
1145
+ var $L150 = $L("try");
1146
+ var $L151 = $L("typeof");
1147
+ var $L152 = $L("unless");
1148
+ var $L153 = $L("until");
1149
+ var $L154 = $L("var");
1150
+ var $L155 = $L("void");
1151
+ var $L156 = $L("when");
1152
+ var $L157 = $L("while");
1153
+ var $L158 = $L("yield");
1154
+ var $L159 = $L("/>");
1155
+ var $L160 = $L("</");
1156
+ var $L161 = $L("<>");
1157
+ var $L162 = $L("</>");
1158
+ var $L163 = $L("<!--");
1159
+ var $L164 = $L("-->");
1160
+ var $L165 = $L("type");
1161
+ var $L166 = $L("interface");
1162
+ var $L167 = $L("namespace");
1163
+ var $L168 = $L("asserts");
1164
+ var $L169 = $L("keyof");
1165
+ var $L170 = $L("infer");
1166
+ var $L171 = $L("[]");
1167
+ var $L172 = $L("civet");
1144
1168
  var $R0 = $R(new RegExp("(as|for|of|satisfies|then|when|implements)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
1145
1169
  var $R1 = $R(new RegExp("[0-9]", "suy"));
1146
1170
  var $R2 = $R(new RegExp("[&]", "suy"));
@@ -1179,29 +1203,30 @@ ${input.slice(result.pos)}
1179
1203
  var $R35 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1180
1204
  var $R36 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1181
1205
  var $R37 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
1182
- var $R38 = $R(new RegExp("(?:not)(?!\\p{ID_Continue})", "suy"));
1183
- var $R39 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1184
- var $R40 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1185
- var $R41 = $R(new RegExp(".", "suy"));
1186
- var $R42 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1206
+ var $R38 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1207
+ var $R39 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1208
+ var $R40 = $R(new RegExp(".", "suy"));
1209
+ var $R41 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1210
+ var $R42 = $R(new RegExp("[^]*?###", "suy"));
1187
1211
  var $R43 = $R(new RegExp("###(?!#)", "suy"));
1188
1212
  var $R44 = $R(new RegExp("[^\\r\\n]", "suy"));
1189
1213
  var $R45 = $R(new RegExp("[ \\t]+", "suy"));
1190
1214
  var $R46 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1191
1215
  var $R47 = $R(new RegExp("\\s", "suy"));
1192
1216
  var $R48 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1193
- var $R49 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
1194
- var $R50 = $R(new RegExp("[<>]", "suy"));
1195
- var $R51 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
1196
- var $R52 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
1197
- var $R53 = $R(new RegExp("[+-]?", "suy"));
1198
- var $R54 = $R(new RegExp("[+-]", "suy"));
1199
- var $R55 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1200
- var $R56 = $R(new RegExp("[\\t ]*", "suy"));
1201
- var $R57 = $R(new RegExp("[\\s]*", "suy"));
1202
- var $R58 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1203
- var $R59 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1204
- var $R60 = $R(new RegExp("[ \\t]*", "suy"));
1217
+ var $R49 = $R(new RegExp("[\\s>]", "suy"));
1218
+ var $R50 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
1219
+ var $R51 = $R(new RegExp("[<>]", "suy"));
1220
+ var $R52 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
1221
+ var $R53 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
1222
+ var $R54 = $R(new RegExp("[+-]?", "suy"));
1223
+ var $R55 = $R(new RegExp("[+-]", "suy"));
1224
+ var $R56 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1225
+ var $R57 = $R(new RegExp("[\\t ]*", "suy"));
1226
+ var $R58 = $R(new RegExp("[\\s]*", "suy"));
1227
+ var $R59 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1228
+ var $R60 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1229
+ var $R61 = $R(new RegExp("[ \\t]*", "suy"));
1205
1230
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1206
1231
  var statements = $4;
1207
1232
  module2.processProgram(statements);
@@ -1498,7 +1523,7 @@ ${input.slice(result.pos)}
1498
1523
  }
1499
1524
  }
1500
1525
  var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
1501
- var ApplicationStart$1 = $S($N(EOS), $Y($S($P(_), $N(ForbiddenImplicitCalls))));
1526
+ var ApplicationStart$1 = $S($N(EOS), $Y($S(_, $N(ForbiddenImplicitCalls))));
1502
1527
  function ApplicationStart(state) {
1503
1528
  let eventData;
1504
1529
  if (state.events) {
@@ -1524,6 +1549,11 @@ ${input.slice(result.pos)}
1524
1549
  var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R0, fail, "ForbiddenImplicitCalls /(as|for|of|satisfies|then|when|implements)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
1525
1550
  var ForbiddenImplicitCalls$1 = $EXPECT($L0, fail, 'ForbiddenImplicitCalls "/ "');
1526
1551
  var ForbiddenImplicitCalls$2 = AtAt;
1552
+ var ForbiddenImplicitCalls$3 = $TS($S(Identifier, $N($EXPECT($L1, fail, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
1553
+ if (module2.operators.has($1.name))
1554
+ return $1;
1555
+ return $skip;
1556
+ });
1527
1557
  function ForbiddenImplicitCalls(state) {
1528
1558
  let eventData;
1529
1559
  if (state.events) {
@@ -1535,12 +1565,12 @@ ${input.slice(result.pos)}
1535
1565
  }
1536
1566
  }
1537
1567
  if (state.tokenize) {
1538
- const result = $TOKEN("ForbiddenImplicitCalls", state, ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state));
1568
+ const result = $TOKEN("ForbiddenImplicitCalls", state, ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state));
1539
1569
  if (state.events)
1540
1570
  state.events.exit?.("ForbiddenImplicitCalls", state, result, eventData);
1541
1571
  return result;
1542
1572
  } else {
1543
- const result = ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state);
1573
+ const result = ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state);
1544
1574
  if (state.events)
1545
1575
  state.events.exit?.("ForbiddenImplicitCalls", state, result, eventData);
1546
1576
  return result;
@@ -1577,7 +1607,7 @@ ${input.slice(result.pos)}
1577
1607
  return result;
1578
1608
  }
1579
1609
  }
1580
- var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S($C(Samedent, IndentedFurther), $Y($S($E($EXPECT($L1, fail, 'TrailingMemberExpressions "?"')), $EXPECT($L2, fail, 'TrailingMemberExpressions "."'), $N($EXPECT($R1, fail, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
1610
+ var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S($C(Samedent, IndentedFurther), $Y($S($E($EXPECT($L2, fail, 'TrailingMemberExpressions "?"')), $EXPECT($L3, fail, 'TrailingMemberExpressions "."'), $N($EXPECT($R1, fail, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
1581
1611
  return $1.concat($2);
1582
1612
  });
1583
1613
  function TrailingMemberExpressions(state) {
@@ -1971,7 +2001,7 @@ ${input.slice(result.pos)}
1971
2001
  return result;
1972
2002
  }
1973
2003
  }
1974
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L3, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L4, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
2004
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L4, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L5, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1975
2005
  return { $loc, token: $1 };
1976
2006
  });
1977
2007
  function UpdateExpressionSymbol(state) {
@@ -2250,7 +2280,7 @@ ${input.slice(result.pos)}
2250
2280
  return result;
2251
2281
  }
2252
2282
  }
2253
- var FatArrow$0 = $TS($S(__, $EXPECT($L5, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
2283
+ var FatArrow$0 = $TS($S(__, $EXPECT($L6, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
2254
2284
  var ws = $1;
2255
2285
  if (!ws.length)
2256
2286
  return " =>";
@@ -2333,7 +2363,7 @@ ${input.slice(result.pos)}
2333
2363
  }
2334
2364
  }
2335
2365
  var TernaryRest$0 = NestedTernaryRest;
2336
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L6, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
2366
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L7, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
2337
2367
  return $0.slice(2);
2338
2368
  });
2339
2369
  function TernaryRest(state) {
@@ -2508,13 +2538,13 @@ ${input.slice(result.pos)}
2508
2538
  }
2509
2539
  var PrimaryExpression$0 = ObjectLiteral;
2510
2540
  var PrimaryExpression$1 = ThisLiteral;
2511
- var PrimaryExpression$2 = Literal;
2512
- var PrimaryExpression$3 = ArrayLiteral;
2513
- var PrimaryExpression$4 = IdentifierReference;
2514
- var PrimaryExpression$5 = FunctionExpression;
2515
- var PrimaryExpression$6 = ClassExpression;
2516
- var PrimaryExpression$7 = RegularExpressionLiteral;
2517
- var PrimaryExpression$8 = TemplateLiteral;
2541
+ var PrimaryExpression$2 = TemplateLiteral;
2542
+ var PrimaryExpression$3 = Literal;
2543
+ var PrimaryExpression$4 = ArrayLiteral;
2544
+ var PrimaryExpression$5 = IdentifierReference;
2545
+ var PrimaryExpression$6 = FunctionExpression;
2546
+ var PrimaryExpression$7 = ClassExpression;
2547
+ var PrimaryExpression$8 = RegularExpressionLiteral;
2518
2548
  var PrimaryExpression$9 = ParenthesizedExpression;
2519
2549
  var PrimaryExpression$10 = JSXImplicitFragment;
2520
2550
  function PrimaryExpression(state) {
@@ -2547,8 +2577,8 @@ ${input.slice(result.pos)}
2547
2577
  }
2548
2578
  return {
2549
2579
  type: "ParenthesizedExpression",
2550
- expression: exp,
2551
- children: $0
2580
+ children: $0,
2581
+ expression: exp
2552
2582
  };
2553
2583
  });
2554
2584
  function ParenthesizedExpression(state) {
@@ -2693,7 +2723,7 @@ ${input.slice(result.pos)}
2693
2723
  return result;
2694
2724
  }
2695
2725
  }
2696
- var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L6, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2726
+ var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L7, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2697
2727
  var l = $1;
2698
2728
  var ws = $2;
2699
2729
  var lt = $3;
@@ -2787,7 +2817,7 @@ ${input.slice(result.pos)}
2787
2817
  return result;
2788
2818
  }
2789
2819
  }
2790
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L6, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2820
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L7, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2791
2821
  var l = $1;
2792
2822
  var ws = $2;
2793
2823
  var token = $3;
@@ -2797,7 +2827,7 @@ ${input.slice(result.pos)}
2797
2827
  }
2798
2828
  return { children };
2799
2829
  });
2800
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L7, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
2830
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L8, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
2801
2831
  $2 = { $loc, token: $2 };
2802
2832
  return [$1, $2];
2803
2833
  });
@@ -2823,7 +2853,7 @@ ${input.slice(result.pos)}
2823
2853
  return result;
2824
2854
  }
2825
2855
  }
2826
- var ImplementsShorthand$0 = $TV($EXPECT($L8, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
2856
+ var ImplementsShorthand$0 = $TV($EXPECT($L9, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
2827
2857
  return { $loc, token: "implements " };
2828
2858
  });
2829
2859
  function ImplementsShorthand(state) {
@@ -3074,7 +3104,7 @@ ${input.slice(result.pos)}
3074
3104
  }
3075
3105
  }
3076
3106
  var ThisLiteral$0 = This;
3077
- var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L9, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
3107
+ var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L10, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
3078
3108
  var at = $1;
3079
3109
  var id = $2;
3080
3110
  return [at, ".", id];
@@ -3128,7 +3158,7 @@ ${input.slice(result.pos)}
3128
3158
  return result;
3129
3159
  }
3130
3160
  }
3131
- var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L2, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
3161
+ var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L3, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
3132
3162
  if ($1.length)
3133
3163
  return $0;
3134
3164
  return $2;
@@ -3155,14 +3185,14 @@ ${input.slice(result.pos)}
3155
3185
  return result;
3156
3186
  }
3157
3187
  }
3158
- var CallExpression$0 = $TS($S($EXPECT($L10, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3188
+ var CallExpression$0 = $TS($S($EXPECT($L11, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3159
3189
  var rest = $3;
3160
3190
  return {
3161
3191
  type: "CallExpression",
3162
3192
  children: [$1, ...$2, ...rest.flat()]
3163
3193
  };
3164
3194
  });
3165
- var CallExpression$1 = $TS($S($EXPECT($L11, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3195
+ var CallExpression$1 = $TS($S($EXPECT($L12, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3166
3196
  var rest = $3;
3167
3197
  return {
3168
3198
  type: "CallExpression",
@@ -3261,7 +3291,7 @@ ${input.slice(result.pos)}
3261
3291
  return result;
3262
3292
  }
3263
3293
  }
3264
- var NonNullAssertion$0 = $T($EXPECT($L12, fail, 'NonNullAssertion "!"'), function(value) {
3294
+ var NonNullAssertion$0 = $T($EXPECT($L13, fail, 'NonNullAssertion "!"'), function(value) {
3265
3295
  return { "type": "NonNullAssertion", "ts": true, "children": value };
3266
3296
  });
3267
3297
  function NonNullAssertion(state) {
@@ -3291,7 +3321,7 @@ ${input.slice(result.pos)}
3291
3321
  if (rest.length) {
3292
3322
  return {
3293
3323
  type: "MemberExpression",
3294
- children: [$1].concat(rest)
3324
+ children: [$1].concat(rest.flat())
3295
3325
  };
3296
3326
  }
3297
3327
  return $1;
@@ -3325,7 +3355,7 @@ ${input.slice(result.pos)}
3325
3355
  if ($1.type === "Optional" && $2.type === "SliceExpression") {
3326
3356
  return [$1.children[0], $2];
3327
3357
  }
3328
- return $0;
3358
+ return $0.flat();
3329
3359
  }
3330
3360
  return $2;
3331
3361
  });
@@ -3371,35 +3401,42 @@ ${input.slice(result.pos)}
3371
3401
  ]
3372
3402
  };
3373
3403
  }
3374
- return $0;
3404
+ return {
3405
+ type: "Index",
3406
+ children: $0
3407
+ };
3375
3408
  });
3376
- var MemberBracketContent$1 = $TS($S(Dot, $C(StringLiteral, TemplateLiteral)), function($skip, $loc, $0, $1, $2) {
3409
+ var MemberBracketContent$1 = $TS($S(Dot, $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
3377
3410
  var dot = $1;
3378
3411
  var str = $2;
3379
- return [
3380
- { token: "[", $loc: dot.$loc },
3381
- str,
3382
- "]"
3383
- ];
3412
+ return {
3413
+ type: "Index",
3414
+ children: [
3415
+ { token: "[", $loc: dot.$loc },
3416
+ str,
3417
+ "]"
3418
+ ]
3419
+ };
3384
3420
  });
3385
- var MemberBracketContent$2 = $TS($S(Dot, $N($EXPECT($L2, fail, 'MemberBracketContent "."')), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
3421
+ var MemberBracketContent$2 = $TS($S(Dot, IntegerLiteral), function($skip, $loc, $0, $1, $2) {
3386
3422
  var dot = $1;
3387
- var num = $3;
3388
- return [
3389
- { token: "[", $loc: dot.$loc },
3390
- num,
3391
- "]"
3392
- ];
3423
+ var num = $2;
3424
+ return {
3425
+ type: "Index",
3426
+ children: [
3427
+ { token: "[", $loc: dot.$loc },
3428
+ num,
3429
+ "]"
3430
+ ]
3431
+ };
3393
3432
  });
3394
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L13, fail, 'MemberBracketContent "-"'), $N($EXPECT($L2, fail, 'MemberBracketContent "."')), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3, $4) {
3433
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L14, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
3395
3434
  var dot = $1;
3396
3435
  var neg = $2;
3397
- var num = $4;
3436
+ var num = $3;
3398
3437
  return [
3399
- { token: ".at(", $loc: dot.$loc },
3400
- neg,
3401
- num,
3402
- ")"
3438
+ { type: "PropertyAccess", children: [dot, "at"] },
3439
+ { type: "Call", children: ["(", neg, num, ")"] }
3403
3440
  ];
3404
3441
  });
3405
3442
  function MemberBracketContent(state) {
@@ -3535,8 +3572,8 @@ ${input.slice(result.pos)}
3535
3572
  return result;
3536
3573
  }
3537
3574
  }
3538
- var SuperProperty$0 = $S($EXPECT($L14, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
3539
- var SuperProperty$1 = $S($EXPECT($L10, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
3575
+ var SuperProperty$0 = $S($EXPECT($L15, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
3576
+ var SuperProperty$1 = $S($EXPECT($L11, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
3540
3577
  function SuperProperty(state) {
3541
3578
  let eventData;
3542
3579
  if (state.events) {
@@ -3560,7 +3597,7 @@ ${input.slice(result.pos)}
3560
3597
  }
3561
3598
  }
3562
3599
  var MetaProperty$0 = $S(New, Dot, Target);
3563
- var MetaProperty$1 = $TS($S($EXPECT($L15, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3600
+ var MetaProperty$1 = $TS($S($EXPECT($L16, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3564
3601
  return { $loc, token: $1 };
3565
3602
  });
3566
3603
  function MetaProperty(state) {
@@ -3586,7 +3623,7 @@ ${input.slice(result.pos)}
3586
3623
  }
3587
3624
  }
3588
3625
  var Parameters$0 = NonEmptyParameters;
3589
- var Parameters$1 = $TV($EXPECT($L16, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
3626
+ var Parameters$1 = $TV($EXPECT($L17, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
3590
3627
  return {
3591
3628
  type: "Parameters",
3592
3629
  children: [{ $loc, token: "()" }],
@@ -3747,7 +3784,7 @@ ${input.slice(result.pos)}
3747
3784
  }
3748
3785
  }
3749
3786
  var ParameterElementDelimiter$0 = $S($Q(_), Comma);
3750
- var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L17, fail, 'ParameterElementDelimiter ")"')));
3787
+ var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L18, fail, 'ParameterElementDelimiter ")"')));
3751
3788
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
3752
3789
  return value[1];
3753
3790
  });
@@ -3937,10 +3974,10 @@ ${input.slice(result.pos)}
3937
3974
  }
3938
3975
  var ObjectBindingPatternContent$0 = NestedBindingProperties;
3939
3976
  var ObjectBindingPatternContent$1 = $TV($E(BindingPropertyList), function($skip, $loc, $0, $1) {
3940
- var props = $0;
3941
- if (!props)
3977
+ var props2 = $0;
3978
+ if (!props2)
3942
3979
  return { children: [], names: [] };
3943
- return module2.reorderBindingRestProperty(props);
3980
+ return module2.reorderBindingRestProperty(props2);
3944
3981
  });
3945
3982
  function ObjectBindingPatternContent(state) {
3946
3983
  let eventData;
@@ -3965,8 +4002,8 @@ ${input.slice(result.pos)}
3965
4002
  }
3966
4003
  }
3967
4004
  var BindingPropertyList$0 = $TV($P($S(BindingProperty, ObjectPropertyDelimiter)), function($skip, $loc, $0, $1) {
3968
- var props = $0;
3969
- return props.map(([prop, delim]) => {
4005
+ var props2 = $0;
4006
+ return props2.map(([prop, delim]) => {
3970
4007
  return {
3971
4008
  ...prop,
3972
4009
  children: [...prop.children, delim]
@@ -4026,36 +4063,11 @@ ${input.slice(result.pos)}
4026
4063
  }
4027
4064
  }
4028
4065
  var ArrayBindingPatternContent$0 = NestedBindingElements;
4029
- var ArrayBindingPatternContent$1 = $TS($S($Q($C(BindingElement, Elision)), $E($S(BindingRestElement, ArrayElementDelimiter)), $Q($C(BindingElement, Elision))), function($skip, $loc, $0, $1, $2, $3) {
4030
- var props = $1;
4031
- var rest = $2;
4032
- var after = $3;
4033
- const names = props.flatMap((p) => p.names || []);
4034
- const children = [...props];
4035
- let blockPrefix;
4036
- if (rest) {
4037
- const [restBinding] = rest;
4038
- children.push(restBinding);
4039
- let restIdentifier;
4040
- if (restBinding.ref) {
4041
- restIdentifier = restBinding.ref;
4042
- } else {
4043
- restIdentifier = restBinding.names[0];
4044
- names.push(...restBinding.names);
4045
- }
4046
- if (after.length) {
4047
- const spliceRef = module2.getRef("splice");
4048
- blockPrefix = {
4049
- children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
4050
- names: after.flatMap((p) => p.names)
4051
- };
4052
- }
4053
- }
4054
- return {
4055
- names,
4056
- children,
4057
- blockPrefix
4058
- };
4066
+ var ArrayBindingPatternContent$1 = $TV($E(BindingElementList), function($skip, $loc, $0, $1) {
4067
+ var elements = $0;
4068
+ if (!elements)
4069
+ return { children: [], names: [] };
4070
+ return module2.adjustBindingElements(elements);
4059
4071
  });
4060
4072
  function ArrayBindingPatternContent(state) {
4061
4073
  let eventData;
@@ -4079,6 +4091,71 @@ ${input.slice(result.pos)}
4079
4091
  return result;
4080
4092
  }
4081
4093
  }
4094
+ var BindingElementList$0 = $TV($P($S(BindingElement, ArrayElementDelimiter)), function($skip, $loc, $0, $1) {
4095
+ var elements = $0;
4096
+ return elements.map(([element, delim]) => {
4097
+ return {
4098
+ ...element,
4099
+ children: [...element.children, delim]
4100
+ };
4101
+ });
4102
+ });
4103
+ function BindingElementList(state) {
4104
+ let eventData;
4105
+ if (state.events) {
4106
+ const result = state.events.enter?.("BindingElementList", state);
4107
+ if (result) {
4108
+ if (result.cache)
4109
+ return result.cache;
4110
+ eventData = result.data;
4111
+ }
4112
+ }
4113
+ if (state.tokenize) {
4114
+ const result = $TOKEN("BindingElementList", state, BindingElementList$0(state));
4115
+ if (state.events)
4116
+ state.events.exit?.("BindingElementList", state, result, eventData);
4117
+ return result;
4118
+ } else {
4119
+ const result = BindingElementList$0(state);
4120
+ if (state.events)
4121
+ state.events.exit?.("BindingElementList", state, result, eventData);
4122
+ return result;
4123
+ }
4124
+ }
4125
+ var NestedBindingElementList$0 = $TS($S(Nested, BindingElementList), function($skip, $loc, $0, $1, $2) {
4126
+ var ws = $1;
4127
+ var elements = $2;
4128
+ return elements.map((element, i) => {
4129
+ if (i > 0)
4130
+ return element;
4131
+ return {
4132
+ ...element,
4133
+ children: [ws, ...element.children]
4134
+ };
4135
+ });
4136
+ });
4137
+ function NestedBindingElementList(state) {
4138
+ let eventData;
4139
+ if (state.events) {
4140
+ const result = state.events.enter?.("NestedBindingElementList", state);
4141
+ if (result) {
4142
+ if (result.cache)
4143
+ return result.cache;
4144
+ eventData = result.data;
4145
+ }
4146
+ }
4147
+ if (state.tokenize) {
4148
+ const result = $TOKEN("NestedBindingElementList", state, NestedBindingElementList$0(state));
4149
+ if (state.events)
4150
+ state.events.exit?.("NestedBindingElementList", state, result, eventData);
4151
+ return result;
4152
+ } else {
4153
+ const result = NestedBindingElementList$0(state);
4154
+ if (state.events)
4155
+ state.events.exit?.("NestedBindingElementList", state, result, eventData);
4156
+ return result;
4157
+ }
4158
+ }
4082
4159
  var Elision$0 = $S(__, Comma);
4083
4160
  function Elision(state) {
4084
4161
  let eventData;
@@ -4103,11 +4180,10 @@ ${input.slice(result.pos)}
4103
4180
  }
4104
4181
  }
4105
4182
  var NestedBindingProperties$0 = $TS($S(PushIndent, $Q(NestedBindingPropertyList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
4106
- var props = $2;
4107
- if (!props.length)
4183
+ var props2 = $2;
4184
+ if (!props2.length)
4108
4185
  return $skip;
4109
- props = props.flat();
4110
- return module2.reorderBindingRestProperty(props);
4186
+ return module2.reorderBindingRestProperty(props2.flat());
4111
4187
  });
4112
4188
  function NestedBindingProperties(state) {
4113
4189
  let eventData;
@@ -4133,8 +4209,8 @@ ${input.slice(result.pos)}
4133
4209
  }
4134
4210
  var NestedBindingPropertyList$0 = $TS($S(Nested, BindingPropertyList), function($skip, $loc, $0, $1, $2) {
4135
4211
  var ws = $1;
4136
- var props = $2;
4137
- return props.map((prop, i) => {
4212
+ var props2 = $2;
4213
+ return props2.map((prop, i) => {
4138
4214
  if (i > 0)
4139
4215
  return prop;
4140
4216
  return {
@@ -4252,37 +4328,11 @@ ${input.slice(result.pos)}
4252
4328
  return result;
4253
4329
  }
4254
4330
  }
4255
- var NestedBindingElements$0 = $TS($S(PushIndent, $Q(NestedBindingElement), $E($S(Nested, BindingRestElement, ArrayElementDelimiter)), $Q(NestedBindingElement), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4256
- var props = $2;
4257
- var rest = $3;
4258
- var after = $4;
4259
- if (!(props.length || rest))
4331
+ var NestedBindingElements$0 = $TS($S(PushIndent, $Q(NestedBindingElementList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
4332
+ var elements = $2;
4333
+ if (!elements.length)
4260
4334
  return $skip;
4261
- const names = props.flatMap((p) => p.names), children = [...props];
4262
- let blockPrefix;
4263
- if (rest) {
4264
- const [, restBinding] = rest;
4265
- let restIdentifier;
4266
- if (restBinding.ref) {
4267
- restIdentifier = restBinding.binding.ref;
4268
- } else {
4269
- restIdentifier = restBinding.names[0];
4270
- }
4271
- if (after.length) {
4272
- const spliceRef = module2.getRef("splice");
4273
- blockPrefix = {
4274
- children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
4275
- names: after.flatMap((p) => p.names)
4276
- };
4277
- }
4278
- children.push(...rest);
4279
- names.push(...restBinding.names);
4280
- }
4281
- return {
4282
- children,
4283
- names,
4284
- blockPrefix
4285
- };
4335
+ return module2.adjustBindingElements(elements.flat());
4286
4336
  });
4287
4337
  function NestedBindingElements(state) {
4288
4338
  let eventData;
@@ -4314,10 +4364,498 @@ ${input.slice(result.pos)}
4314
4364
  children: [indent, ...element.children]
4315
4365
  };
4316
4366
  });
4317
- function NestedBindingElement(state) {
4367
+ function NestedBindingElement(state) {
4368
+ let eventData;
4369
+ if (state.events) {
4370
+ const result = state.events.enter?.("NestedBindingElement", state);
4371
+ if (result) {
4372
+ if (result.cache)
4373
+ return result.cache;
4374
+ eventData = result.data;
4375
+ }
4376
+ }
4377
+ if (state.tokenize) {
4378
+ const result = $TOKEN("NestedBindingElement", state, NestedBindingElement$0(state));
4379
+ if (state.events)
4380
+ state.events.exit?.("NestedBindingElement", state, result, eventData);
4381
+ return result;
4382
+ } else {
4383
+ const result = NestedBindingElement$0(state);
4384
+ if (state.events)
4385
+ state.events.exit?.("NestedBindingElement", state, result, eventData);
4386
+ return result;
4387
+ }
4388
+ }
4389
+ var BindingElement$0 = BindingRestElement;
4390
+ var BindingElement$1 = $TS($S($C(BindingIdentifier, BindingPattern), $E(Initializer)), function($skip, $loc, $0, $1, $2) {
4391
+ var binding = $1;
4392
+ return {
4393
+ names: binding.names,
4394
+ children: $0
4395
+ };
4396
+ });
4397
+ var BindingElement$2 = $TV($EXPECT($L17, fail, 'BindingElement ""'), function($skip, $loc, $0, $1) {
4398
+ return {
4399
+ type: "ElisionElement",
4400
+ children: [],
4401
+ names: []
4402
+ };
4403
+ });
4404
+ function BindingElement(state) {
4405
+ let eventData;
4406
+ if (state.events) {
4407
+ const result = state.events.enter?.("BindingElement", state);
4408
+ if (result) {
4409
+ if (result.cache)
4410
+ return result.cache;
4411
+ eventData = result.data;
4412
+ }
4413
+ }
4414
+ if (state.tokenize) {
4415
+ const result = $TOKEN("BindingElement", state, BindingElement$0(state) || BindingElement$1(state) || BindingElement$2(state));
4416
+ if (state.events)
4417
+ state.events.exit?.("BindingElement", state, result, eventData);
4418
+ return result;
4419
+ } else {
4420
+ const result = BindingElement$0(state) || BindingElement$1(state) || BindingElement$2(state);
4421
+ if (state.events)
4422
+ state.events.exit?.("BindingElement", state, result, eventData);
4423
+ return result;
4424
+ }
4425
+ }
4426
+ var BindingRestElement$0 = $TS($S($E(_), DotDotDot, $C(BindingIdentifier, BindingPattern, EmptyBindingPattern)), function($skip, $loc, $0, $1, $2, $3) {
4427
+ var ws = $1;
4428
+ var dots = $2;
4429
+ var binding = $3;
4430
+ return {
4431
+ ...binding,
4432
+ children: [...ws || [], dots, ...binding.children],
4433
+ rest: true
4434
+ };
4435
+ });
4436
+ var BindingRestElement$1 = $TS($S($E(_), $C(BindingIdentifier, BindingPattern), DotDotDot), function($skip, $loc, $0, $1, $2, $3) {
4437
+ var ws = $1;
4438
+ var binding = $2;
4439
+ var dots = $3;
4440
+ return {
4441
+ ...binding,
4442
+ children: [...ws || [], dots, ...binding.children],
4443
+ rest: true
4444
+ };
4445
+ });
4446
+ function BindingRestElement(state) {
4447
+ let eventData;
4448
+ if (state.events) {
4449
+ const result = state.events.enter?.("BindingRestElement", state);
4450
+ if (result) {
4451
+ if (result.cache)
4452
+ return result.cache;
4453
+ eventData = result.data;
4454
+ }
4455
+ }
4456
+ if (state.tokenize) {
4457
+ const result = $TOKEN("BindingRestElement", state, BindingRestElement$0(state) || BindingRestElement$1(state));
4458
+ if (state.events)
4459
+ state.events.exit?.("BindingRestElement", state, result, eventData);
4460
+ return result;
4461
+ } else {
4462
+ const result = BindingRestElement$0(state) || BindingRestElement$1(state);
4463
+ if (state.events)
4464
+ state.events.exit?.("BindingRestElement", state, result, eventData);
4465
+ return result;
4466
+ }
4467
+ }
4468
+ var EmptyBindingPattern$0 = $TV($EXPECT($L17, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
4469
+ const ref = {
4470
+ type: "Ref",
4471
+ base: "ref",
4472
+ id: "ref"
4473
+ };
4474
+ return {
4475
+ type: "EmptyBinding",
4476
+ children: [ref],
4477
+ names: [],
4478
+ ref
4479
+ };
4480
+ });
4481
+ function EmptyBindingPattern(state) {
4482
+ let eventData;
4483
+ if (state.events) {
4484
+ const result = state.events.enter?.("EmptyBindingPattern", state);
4485
+ if (result) {
4486
+ if (result.cache)
4487
+ return result.cache;
4488
+ eventData = result.data;
4489
+ }
4490
+ }
4491
+ if (state.tokenize) {
4492
+ const result = $TOKEN("EmptyBindingPattern", state, EmptyBindingPattern$0(state));
4493
+ if (state.events)
4494
+ state.events.exit?.("EmptyBindingPattern", state, result, eventData);
4495
+ return result;
4496
+ } else {
4497
+ const result = EmptyBindingPattern$0(state);
4498
+ if (state.events)
4499
+ state.events.exit?.("EmptyBindingPattern", state, result, eventData);
4500
+ return result;
4501
+ }
4502
+ }
4503
+ var MatchingPattern$0 = ObjectMatchingPattern;
4504
+ var MatchingPattern$1 = ArrayMatchingPattern;
4505
+ var MatchingPattern$2 = Literal;
4506
+ var MatchingPattern$3 = RegularExpressionLiteral;
4507
+ function MatchingPattern(state) {
4508
+ let eventData;
4509
+ if (state.events) {
4510
+ const result = state.events.enter?.("MatchingPattern", state);
4511
+ if (result) {
4512
+ if (result.cache)
4513
+ return result.cache;
4514
+ eventData = result.data;
4515
+ }
4516
+ }
4517
+ if (state.tokenize) {
4518
+ const result = $TOKEN("MatchingPattern", state, MatchingPattern$0(state) || MatchingPattern$1(state) || MatchingPattern$2(state) || MatchingPattern$3(state));
4519
+ if (state.events)
4520
+ state.events.exit?.("MatchingPattern", state, result, eventData);
4521
+ return result;
4522
+ } else {
4523
+ const result = MatchingPattern$0(state) || MatchingPattern$1(state) || MatchingPattern$2(state) || MatchingPattern$3(state);
4524
+ if (state.events)
4525
+ state.events.exit?.("MatchingPattern", state, result, eventData);
4526
+ return result;
4527
+ }
4528
+ }
4529
+ var ObjectMatchingPattern$0 = $TS($S($E(_), OpenBrace, ObjectMatchingPatternContent, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4530
+ var ws = $1;
4531
+ var open = $2;
4532
+ var properties = $3;
4533
+ var ws = $4;
4534
+ var close = $5;
4535
+ return {
4536
+ type: "ObjectMatchingPattern",
4537
+ children: [ws, open, ...properties.children, ...ws, close],
4538
+ properties: properties.children
4539
+ };
4540
+ });
4541
+ function ObjectMatchingPattern(state) {
4542
+ let eventData;
4543
+ if (state.events) {
4544
+ const result = state.events.enter?.("ObjectMatchingPattern", state);
4545
+ if (result) {
4546
+ if (result.cache)
4547
+ return result.cache;
4548
+ eventData = result.data;
4549
+ }
4550
+ }
4551
+ if (state.tokenize) {
4552
+ const result = $TOKEN("ObjectMatchingPattern", state, ObjectMatchingPattern$0(state));
4553
+ if (state.events)
4554
+ state.events.exit?.("ObjectMatchingPattern", state, result, eventData);
4555
+ return result;
4556
+ } else {
4557
+ const result = ObjectMatchingPattern$0(state);
4558
+ if (state.events)
4559
+ state.events.exit?.("ObjectMatchingPattern", state, result, eventData);
4560
+ return result;
4561
+ }
4562
+ }
4563
+ var ObjectMatchingPatternContent$0 = NestedMatchingProperties;
4564
+ var ObjectMatchingPatternContent$1 = $TV($E(MatchingPropertyList), function($skip, $loc, $0, $1) {
4565
+ var properties = $0;
4566
+ if (!properties)
4567
+ return { children: [], names: [] };
4568
+ return module2.reorderBindingRestProperty(properties);
4569
+ });
4570
+ function ObjectMatchingPatternContent(state) {
4571
+ let eventData;
4572
+ if (state.events) {
4573
+ const result = state.events.enter?.("ObjectMatchingPatternContent", state);
4574
+ if (result) {
4575
+ if (result.cache)
4576
+ return result.cache;
4577
+ eventData = result.data;
4578
+ }
4579
+ }
4580
+ if (state.tokenize) {
4581
+ const result = $TOKEN("ObjectMatchingPatternContent", state, ObjectMatchingPatternContent$0(state) || ObjectMatchingPatternContent$1(state));
4582
+ if (state.events)
4583
+ state.events.exit?.("ObjectMatchingPatternContent", state, result, eventData);
4584
+ return result;
4585
+ } else {
4586
+ const result = ObjectMatchingPatternContent$0(state) || ObjectMatchingPatternContent$1(state);
4587
+ if (state.events)
4588
+ state.events.exit?.("ObjectMatchingPatternContent", state, result, eventData);
4589
+ return result;
4590
+ }
4591
+ }
4592
+ var NestedMatchingProperties$0 = $TS($S(PushIndent, $Q(NestedMatchingPropertyList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
4593
+ var properties = $2;
4594
+ if (!props.length)
4595
+ return $skip;
4596
+ return module2.reorderBindingRestProperty(props.flat());
4597
+ });
4598
+ function NestedMatchingProperties(state) {
4599
+ let eventData;
4600
+ if (state.events) {
4601
+ const result = state.events.enter?.("NestedMatchingProperties", state);
4602
+ if (result) {
4603
+ if (result.cache)
4604
+ return result.cache;
4605
+ eventData = result.data;
4606
+ }
4607
+ }
4608
+ if (state.tokenize) {
4609
+ const result = $TOKEN("NestedMatchingProperties", state, NestedMatchingProperties$0(state));
4610
+ if (state.events)
4611
+ state.events.exit?.("NestedMatchingProperties", state, result, eventData);
4612
+ return result;
4613
+ } else {
4614
+ const result = NestedMatchingProperties$0(state);
4615
+ if (state.events)
4616
+ state.events.exit?.("NestedMatchingProperties", state, result, eventData);
4617
+ return result;
4618
+ }
4619
+ }
4620
+ var MatchingPropertyList$0 = $TV($P($S(MatchingProperty, ObjectPropertyDelimiter)), function($skip, $loc, $0, $1) {
4621
+ var props2 = $0;
4622
+ return props2.map(([prop, delim]) => {
4623
+ return {
4624
+ ...prop,
4625
+ children: [...prop.children, delim]
4626
+ };
4627
+ });
4628
+ });
4629
+ function MatchingPropertyList(state) {
4630
+ let eventData;
4631
+ if (state.events) {
4632
+ const result = state.events.enter?.("MatchingPropertyList", state);
4633
+ if (result) {
4634
+ if (result.cache)
4635
+ return result.cache;
4636
+ eventData = result.data;
4637
+ }
4638
+ }
4639
+ if (state.tokenize) {
4640
+ const result = $TOKEN("MatchingPropertyList", state, MatchingPropertyList$0(state));
4641
+ if (state.events)
4642
+ state.events.exit?.("MatchingPropertyList", state, result, eventData);
4643
+ return result;
4644
+ } else {
4645
+ const result = MatchingPropertyList$0(state);
4646
+ if (state.events)
4647
+ state.events.exit?.("MatchingPropertyList", state, result, eventData);
4648
+ return result;
4649
+ }
4650
+ }
4651
+ var NestedMatchingPropertyList$0 = $TS($S(Nested, MatchingPropertyList), function($skip, $loc, $0, $1, $2) {
4652
+ var ws = $1;
4653
+ var props2 = $2;
4654
+ return props2.map((prop, i) => {
4655
+ if (i > 0)
4656
+ return prop;
4657
+ return {
4658
+ ...prop,
4659
+ children: [ws, ...prop.children]
4660
+ };
4661
+ });
4662
+ });
4663
+ function NestedMatchingPropertyList(state) {
4664
+ let eventData;
4665
+ if (state.events) {
4666
+ const result = state.events.enter?.("NestedMatchingPropertyList", state);
4667
+ if (result) {
4668
+ if (result.cache)
4669
+ return result.cache;
4670
+ eventData = result.data;
4671
+ }
4672
+ }
4673
+ if (state.tokenize) {
4674
+ const result = $TOKEN("NestedMatchingPropertyList", state, NestedMatchingPropertyList$0(state));
4675
+ if (state.events)
4676
+ state.events.exit?.("NestedMatchingPropertyList", state, result, eventData);
4677
+ return result;
4678
+ } else {
4679
+ const result = NestedMatchingPropertyList$0(state);
4680
+ if (state.events)
4681
+ state.events.exit?.("NestedMatchingPropertyList", state, result, eventData);
4682
+ return result;
4683
+ }
4684
+ }
4685
+ var MatchingProperty$0 = MatchingRestProperty;
4686
+ var MatchingProperty$1 = $TS($S($E(_), PropertyName, __, Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4687
+ var name = $2;
4688
+ var match = $6;
4689
+ return {
4690
+ type: "BindingMatchProperty",
4691
+ name,
4692
+ match,
4693
+ children: $0
4694
+ };
4695
+ });
4696
+ var MatchingProperty$2 = $TS($S($E(_), BindingIdentifier), function($skip, $loc, $0, $1, $2) {
4697
+ var ws = $1;
4698
+ var b = $2;
4699
+ if (b.type === "AtBinding") {
4700
+ return {
4701
+ type: "AtBindingProperty",
4702
+ ref: b.ref,
4703
+ names: [],
4704
+ children: [ws, b]
4705
+ };
4706
+ }
4707
+ return {
4708
+ type: "BindingProperty",
4709
+ names: b.names,
4710
+ children: [ws, b],
4711
+ identifier: b
4712
+ };
4713
+ });
4714
+ function MatchingProperty(state) {
4715
+ let eventData;
4716
+ if (state.events) {
4717
+ const result = state.events.enter?.("MatchingProperty", state);
4718
+ if (result) {
4719
+ if (result.cache)
4720
+ return result.cache;
4721
+ eventData = result.data;
4722
+ }
4723
+ }
4724
+ if (state.tokenize) {
4725
+ const result = $TOKEN("MatchingProperty", state, MatchingProperty$0(state) || MatchingProperty$1(state) || MatchingProperty$2(state));
4726
+ if (state.events)
4727
+ state.events.exit?.("MatchingProperty", state, result, eventData);
4728
+ return result;
4729
+ } else {
4730
+ const result = MatchingProperty$0(state) || MatchingProperty$1(state) || MatchingProperty$2(state);
4731
+ if (state.events)
4732
+ state.events.exit?.("MatchingProperty", state, result, eventData);
4733
+ return result;
4734
+ }
4735
+ }
4736
+ var MatchingRestProperty$0 = BindingRestProperty;
4737
+ function MatchingRestProperty(state) {
4738
+ let eventData;
4739
+ if (state.events) {
4740
+ const result = state.events.enter?.("MatchingRestProperty", state);
4741
+ if (result) {
4742
+ if (result.cache)
4743
+ return result.cache;
4744
+ eventData = result.data;
4745
+ }
4746
+ }
4747
+ if (state.tokenize) {
4748
+ const result = $TOKEN("MatchingRestProperty", state, MatchingRestProperty$0(state));
4749
+ if (state.events)
4750
+ state.events.exit?.("MatchingRestProperty", state, result, eventData);
4751
+ return result;
4752
+ } else {
4753
+ const result = MatchingRestProperty$0(state);
4754
+ if (state.events)
4755
+ state.events.exit?.("MatchingRestProperty", state, result, eventData);
4756
+ return result;
4757
+ }
4758
+ }
4759
+ var ArrayMatchingPattern$0 = $TS($S($E(_), OpenBracket, ArrayMatchingPatternContent, __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4760
+ var ws = $1;
4761
+ var elements = $3;
4762
+ return {
4763
+ type: "ArrayMatchingPattern",
4764
+ children: $0,
4765
+ elements: elements.children,
4766
+ length: elements.length
4767
+ };
4768
+ });
4769
+ function ArrayMatchingPattern(state) {
4770
+ let eventData;
4771
+ if (state.events) {
4772
+ const result = state.events.enter?.("ArrayMatchingPattern", state);
4773
+ if (result) {
4774
+ if (result.cache)
4775
+ return result.cache;
4776
+ eventData = result.data;
4777
+ }
4778
+ }
4779
+ if (state.tokenize) {
4780
+ const result = $TOKEN("ArrayMatchingPattern", state, ArrayMatchingPattern$0(state));
4781
+ if (state.events)
4782
+ state.events.exit?.("ArrayMatchingPattern", state, result, eventData);
4783
+ return result;
4784
+ } else {
4785
+ const result = ArrayMatchingPattern$0(state);
4786
+ if (state.events)
4787
+ state.events.exit?.("ArrayMatchingPattern", state, result, eventData);
4788
+ return result;
4789
+ }
4790
+ }
4791
+ var ArrayMatchingPatternContent$0 = NestedMatchingElements;
4792
+ var ArrayMatchingPatternContent$1 = $TV($E(MatchingElementList), function($skip, $loc, $0, $1) {
4793
+ var elements = $0;
4794
+ if (!elements)
4795
+ return { children: [], names: [], length: 0 };
4796
+ return module2.adjustBindingElements(elements);
4797
+ });
4798
+ function ArrayMatchingPatternContent(state) {
4799
+ let eventData;
4800
+ if (state.events) {
4801
+ const result = state.events.enter?.("ArrayMatchingPatternContent", state);
4802
+ if (result) {
4803
+ if (result.cache)
4804
+ return result.cache;
4805
+ eventData = result.data;
4806
+ }
4807
+ }
4808
+ if (state.tokenize) {
4809
+ const result = $TOKEN("ArrayMatchingPatternContent", state, ArrayMatchingPatternContent$0(state) || ArrayMatchingPatternContent$1(state));
4810
+ if (state.events)
4811
+ state.events.exit?.("ArrayMatchingPatternContent", state, result, eventData);
4812
+ return result;
4813
+ } else {
4814
+ const result = ArrayMatchingPatternContent$0(state) || ArrayMatchingPatternContent$1(state);
4815
+ if (state.events)
4816
+ state.events.exit?.("ArrayMatchingPatternContent", state, result, eventData);
4817
+ return result;
4818
+ }
4819
+ }
4820
+ var NestedMatchingElements$0 = $TS($S(PushIndent, $Q(NestedMatchingElementList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
4821
+ var elements = $2;
4822
+ return module2.adjustBindingElements(elements.flat());
4823
+ });
4824
+ function NestedMatchingElements(state) {
4825
+ let eventData;
4826
+ if (state.events) {
4827
+ const result = state.events.enter?.("NestedMatchingElements", state);
4828
+ if (result) {
4829
+ if (result.cache)
4830
+ return result.cache;
4831
+ eventData = result.data;
4832
+ }
4833
+ }
4834
+ if (state.tokenize) {
4835
+ const result = $TOKEN("NestedMatchingElements", state, NestedMatchingElements$0(state));
4836
+ if (state.events)
4837
+ state.events.exit?.("NestedMatchingElements", state, result, eventData);
4838
+ return result;
4839
+ } else {
4840
+ const result = NestedMatchingElements$0(state);
4841
+ if (state.events)
4842
+ state.events.exit?.("NestedMatchingElements", state, result, eventData);
4843
+ return result;
4844
+ }
4845
+ }
4846
+ var MatchingElementList$0 = $TV($P($S(MatchingElement, ArrayElementDelimiter)), function($skip, $loc, $0, $1) {
4847
+ var elements = $0;
4848
+ return elements.map(([element, delim]) => {
4849
+ return {
4850
+ ...element,
4851
+ children: [...element.children, delim]
4852
+ };
4853
+ });
4854
+ });
4855
+ function MatchingElementList(state) {
4318
4856
  let eventData;
4319
4857
  if (state.events) {
4320
- const result = state.events.enter?.("NestedBindingElement", state);
4858
+ const result = state.events.enter?.("MatchingElementList", state);
4321
4859
  if (result) {
4322
4860
  if (result.cache)
4323
4861
  return result.cache;
@@ -4325,28 +4863,33 @@ ${input.slice(result.pos)}
4325
4863
  }
4326
4864
  }
4327
4865
  if (state.tokenize) {
4328
- const result = $TOKEN("NestedBindingElement", state, NestedBindingElement$0(state));
4866
+ const result = $TOKEN("MatchingElementList", state, MatchingElementList$0(state));
4329
4867
  if (state.events)
4330
- state.events.exit?.("NestedBindingElement", state, result, eventData);
4868
+ state.events.exit?.("MatchingElementList", state, result, eventData);
4331
4869
  return result;
4332
4870
  } else {
4333
- const result = NestedBindingElement$0(state);
4871
+ const result = MatchingElementList$0(state);
4334
4872
  if (state.events)
4335
- state.events.exit?.("NestedBindingElement", state, result, eventData);
4873
+ state.events.exit?.("MatchingElementList", state, result, eventData);
4336
4874
  return result;
4337
4875
  }
4338
4876
  }
4339
- var BindingElement$0 = $TS($S($C(BindingIdentifier, BindingPattern), $E(Initializer), ArrayElementDelimiter), function($skip, $loc, $0, $1, $2, $3) {
4340
- var binding = $1;
4341
- return {
4342
- names: binding.names,
4343
- children: $0
4344
- };
4877
+ var NestedMatchingElementList$0 = $TS($S(Nested, MatchingElementList), function($skip, $loc, $0, $1, $2) {
4878
+ var ws = $1;
4879
+ var elements = $2;
4880
+ return elements.map((element, i) => {
4881
+ if (i > 0)
4882
+ return element;
4883
+ return {
4884
+ ...element,
4885
+ children: [ws, ...element.children]
4886
+ };
4887
+ });
4345
4888
  });
4346
- function BindingElement(state) {
4889
+ function NestedMatchingElementList(state) {
4347
4890
  let eventData;
4348
4891
  if (state.events) {
4349
- const result = state.events.enter?.("BindingElement", state);
4892
+ const result = state.events.enter?.("NestedMatchingElementList", state);
4350
4893
  if (result) {
4351
4894
  if (result.cache)
4352
4895
  return result.cache;
@@ -4354,39 +4897,61 @@ ${input.slice(result.pos)}
4354
4897
  }
4355
4898
  }
4356
4899
  if (state.tokenize) {
4357
- const result = $TOKEN("BindingElement", state, BindingElement$0(state));
4900
+ const result = $TOKEN("NestedMatchingElementList", state, NestedMatchingElementList$0(state));
4358
4901
  if (state.events)
4359
- state.events.exit?.("BindingElement", state, result, eventData);
4902
+ state.events.exit?.("NestedMatchingElementList", state, result, eventData);
4360
4903
  return result;
4361
4904
  } else {
4362
- const result = BindingElement$0(state);
4905
+ const result = NestedMatchingElementList$0(state);
4363
4906
  if (state.events)
4364
- state.events.exit?.("BindingElement", state, result, eventData);
4907
+ state.events.exit?.("NestedMatchingElementList", state, result, eventData);
4365
4908
  return result;
4366
4909
  }
4367
4910
  }
4368
- var BindingRestElement$0 = $TS($S(__, DotDotDot, $C(BindingIdentifier, BindingPattern, EmptyBindingPattern)), function($skip, $loc, $0, $1, $2, $3) {
4911
+ var MatchingElement$0 = MatchingRestElement;
4912
+ var MatchingElement$1 = $TS($S($E(_), BindingIdentifier, __, Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4369
4913
  var ws = $1;
4370
- var dots = $2;
4371
- var binding = $3;
4914
+ var name = $2;
4915
+ var match = $6;
4916
+ let blockPrefix;
4917
+ switch (match.type) {
4918
+ case "ArrayMatchingPattern":
4919
+ case "ObjectMatchingPattern":
4920
+ blockPrefix = [match, " = ", name];
4921
+ break;
4922
+ default:
4923
+ break;
4924
+ }
4372
4925
  return {
4373
- ...binding,
4374
- children: [...ws, dots, ...binding.children]
4926
+ names: name.names,
4927
+ children: [ws, {
4928
+ type: "BindingMatchElement",
4929
+ name,
4930
+ match,
4931
+ children: [name],
4932
+ blockPrefix
4933
+ }]
4375
4934
  };
4376
4935
  });
4377
- var BindingRestElement$1 = $TS($S(__, $C(BindingIdentifier, BindingPattern), DotDotDot), function($skip, $loc, $0, $1, $2, $3) {
4936
+ var MatchingElement$2 = $TS($S($E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2) {
4378
4937
  var ws = $1;
4379
4938
  var binding = $2;
4380
- var dots = $3;
4381
4939
  return {
4382
- ...binding,
4383
- children: [...ws, dots, ...binding.children]
4940
+ names: binding.names,
4941
+ children: [ws, binding]
4384
4942
  };
4385
4943
  });
4386
- function BindingRestElement(state) {
4944
+ var MatchingElement$3 = $TV($EXPECT($L17, fail, 'MatchingElement ""'), function($skip, $loc, $0, $1) {
4945
+ return {
4946
+ type: "ElisionElement",
4947
+ children: [],
4948
+ names: []
4949
+ };
4950
+ });
4951
+ function MatchingElement(state) {
4387
4952
  let eventData;
4388
4953
  if (state.events) {
4389
- const result = state.events.enter?.("BindingRestElement", state);
4954
+ const result = state.events.enter?.("MatchingElement", state);
4390
4955
  if (result) {
4391
4956
  if (result.cache)
4392
4957
  return result.cache;
@@ -4394,34 +4959,22 @@ ${input.slice(result.pos)}
4394
4959
  }
4395
4960
  }
4396
4961
  if (state.tokenize) {
4397
- const result = $TOKEN("BindingRestElement", state, BindingRestElement$0(state) || BindingRestElement$1(state));
4962
+ const result = $TOKEN("MatchingElement", state, MatchingElement$0(state) || MatchingElement$1(state) || MatchingElement$2(state) || MatchingElement$3(state));
4398
4963
  if (state.events)
4399
- state.events.exit?.("BindingRestElement", state, result, eventData);
4964
+ state.events.exit?.("MatchingElement", state, result, eventData);
4400
4965
  return result;
4401
4966
  } else {
4402
- const result = BindingRestElement$0(state) || BindingRestElement$1(state);
4967
+ const result = MatchingElement$0(state) || MatchingElement$1(state) || MatchingElement$2(state) || MatchingElement$3(state);
4403
4968
  if (state.events)
4404
- state.events.exit?.("BindingRestElement", state, result, eventData);
4969
+ state.events.exit?.("MatchingElement", state, result, eventData);
4405
4970
  return result;
4406
4971
  }
4407
4972
  }
4408
- var EmptyBindingPattern$0 = $TV($EXPECT($L16, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
4409
- const ref = {
4410
- type: "Ref",
4411
- base: "ref",
4412
- id: "ref"
4413
- };
4414
- return {
4415
- type: "EmptyBinding",
4416
- children: [ref],
4417
- names: [],
4418
- ref
4419
- };
4420
- });
4421
- function EmptyBindingPattern(state) {
4973
+ var MatchingRestElement$0 = BindingRestElement;
4974
+ function MatchingRestElement(state) {
4422
4975
  let eventData;
4423
4976
  if (state.events) {
4424
- const result = state.events.enter?.("EmptyBindingPattern", state);
4977
+ const result = state.events.enter?.("MatchingRestElement", state);
4425
4978
  if (result) {
4426
4979
  if (result.cache)
4427
4980
  return result.cache;
@@ -4429,14 +4982,14 @@ ${input.slice(result.pos)}
4429
4982
  }
4430
4983
  }
4431
4984
  if (state.tokenize) {
4432
- const result = $TOKEN("EmptyBindingPattern", state, EmptyBindingPattern$0(state));
4985
+ const result = $TOKEN("MatchingRestElement", state, MatchingRestElement$0(state));
4433
4986
  if (state.events)
4434
- state.events.exit?.("EmptyBindingPattern", state, result, eventData);
4987
+ state.events.exit?.("MatchingRestElement", state, result, eventData);
4435
4988
  return result;
4436
4989
  } else {
4437
- const result = EmptyBindingPattern$0(state);
4990
+ const result = MatchingRestElement$0(state);
4438
4991
  if (state.events)
4439
- state.events.exit?.("EmptyBindingPattern", state, result, eventData);
4992
+ state.events.exit?.("MatchingRestElement", state, result, eventData);
4440
4993
  return result;
4441
4994
  }
4442
4995
  }
@@ -4567,6 +5120,101 @@ ${input.slice(result.pos)}
4567
5120
  return result;
4568
5121
  }
4569
5122
  }
5123
+ var OperatorDeclaration$0 = $TS($S(Operator, _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3) {
5124
+ var op = $1;
5125
+ var w = $2;
5126
+ var decl = $3;
5127
+ decl.names.forEach((name) => module2.operators.add(name));
5128
+ return [module2.insertTrimmingSpace(w, ""), decl];
5129
+ });
5130
+ var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
5131
+ var signature = $1;
5132
+ var block = $2;
5133
+ module2.operators.add(signature.id.name);
5134
+ return {
5135
+ ...signature,
5136
+ type: "FunctionExpression",
5137
+ children: [...signature.children, block],
5138
+ block,
5139
+ operator: true
5140
+ };
5141
+ });
5142
+ var OperatorDeclaration$2 = $TS($S(Operator, _, Identifier, $Q($S(CommaDelimiter, $E(_), Identifier))), function($skip, $loc, $0, $1, $2, $3, $4) {
5143
+ var op = $1;
5144
+ var w1 = $2;
5145
+ var id = $3;
5146
+ var ids = $4;
5147
+ module2.operators.add(id.name);
5148
+ ids.forEach(([, , id2]) => module2.operators.add(id2.name));
5149
+ return [];
5150
+ });
5151
+ function OperatorDeclaration(state) {
5152
+ let eventData;
5153
+ if (state.events) {
5154
+ const result = state.events.enter?.("OperatorDeclaration", state);
5155
+ if (result) {
5156
+ if (result.cache)
5157
+ return result.cache;
5158
+ eventData = result.data;
5159
+ }
5160
+ }
5161
+ if (state.tokenize) {
5162
+ const result = $TOKEN("OperatorDeclaration", state, OperatorDeclaration$0(state) || OperatorDeclaration$1(state) || OperatorDeclaration$2(state));
5163
+ if (state.events)
5164
+ state.events.exit?.("OperatorDeclaration", state, result, eventData);
5165
+ return result;
5166
+ } else {
5167
+ const result = OperatorDeclaration$0(state) || OperatorDeclaration$1(state) || OperatorDeclaration$2(state);
5168
+ if (state.events)
5169
+ state.events.exit?.("OperatorDeclaration", state, result, eventData);
5170
+ return result;
5171
+ }
5172
+ }
5173
+ var OperatorSignature$0 = $TS($S(Operator, $E($S(_, Function)), _, Identifier, $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
5174
+ var op = $1;
5175
+ var func = $2;
5176
+ var w1 = $3;
5177
+ var id = $4;
5178
+ var w2 = $5;
5179
+ var parameters = $6;
5180
+ var suffix = $7;
5181
+ if (!func) {
5182
+ func = { $loc: op.$loc, token: "function" };
5183
+ } else {
5184
+ func = [module2.insertTrimmingSpace(func[0], ""), func[1]];
5185
+ }
5186
+ return {
5187
+ type: "FunctionSignature",
5188
+ id,
5189
+ parameters,
5190
+ returnType: suffix?.children?.[1]?.[0]?.[1]?.token,
5191
+ ts: false,
5192
+ block: null,
5193
+ children: [func, w1, id, w2, parameters, suffix]
5194
+ };
5195
+ });
5196
+ function OperatorSignature(state) {
5197
+ let eventData;
5198
+ if (state.events) {
5199
+ const result = state.events.enter?.("OperatorSignature", state);
5200
+ if (result) {
5201
+ if (result.cache)
5202
+ return result.cache;
5203
+ eventData = result.data;
5204
+ }
5205
+ }
5206
+ if (state.tokenize) {
5207
+ const result = $TOKEN("OperatorSignature", state, OperatorSignature$0(state));
5208
+ if (state.events)
5209
+ state.events.exit?.("OperatorSignature", state, result, eventData);
5210
+ return result;
5211
+ } else {
5212
+ const result = OperatorSignature$0(state);
5213
+ if (state.events)
5214
+ state.events.exit?.("OperatorSignature", state, result, eventData);
5215
+ return result;
5216
+ }
5217
+ }
4570
5218
  var AmpersandBlockRHS$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E($S($N($EXPECT($R2, fail, "AmpersandBlockRHS /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2) {
4571
5219
  var callExpRest = $1;
4572
5220
  var binopRHS = $2;
@@ -4681,7 +5329,7 @@ ${input.slice(result.pos)}
4681
5329
  return result;
4682
5330
  }
4683
5331
  }
4684
- var Arrow$0 = $TV($EXPECT($L18, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
5332
+ var Arrow$0 = $TV($EXPECT($L19, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
4685
5333
  return { $loc, token: $1 };
4686
5334
  });
4687
5335
  function Arrow(state) {
@@ -4891,6 +5539,37 @@ ${input.slice(result.pos)}
4891
5539
  return result;
4892
5540
  }
4893
5541
  }
5542
+ var EmptyBareBlock$0 = $TV($EXPECT($L17, fail, 'EmptyBareBlock ""'), function($skip, $loc, $0, $1) {
5543
+ const expressions = [];
5544
+ return {
5545
+ type: "BlockStatement",
5546
+ expressions,
5547
+ children: [expressions],
5548
+ bare: true
5549
+ };
5550
+ });
5551
+ function EmptyBareBlock(state) {
5552
+ let eventData;
5553
+ if (state.events) {
5554
+ const result = state.events.enter?.("EmptyBareBlock", state);
5555
+ if (result) {
5556
+ if (result.cache)
5557
+ return result.cache;
5558
+ eventData = result.data;
5559
+ }
5560
+ }
5561
+ if (state.tokenize) {
5562
+ const result = $TOKEN("EmptyBareBlock", state, EmptyBareBlock$0(state));
5563
+ if (state.events)
5564
+ state.events.exit?.("EmptyBareBlock", state, result, eventData);
5565
+ return result;
5566
+ } else {
5567
+ const result = EmptyBareBlock$0(state);
5568
+ if (state.events)
5569
+ state.events.exit?.("EmptyBareBlock", state, result, eventData);
5570
+ return result;
5571
+ }
5572
+ }
4894
5573
  var BracedBlock$0 = $TS($S($Q(TrailingComment), OpenBrace, BracedContent, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4895
5574
  var block = $3;
4896
5575
  return {
@@ -4989,7 +5668,7 @@ ${input.slice(result.pos)}
4989
5668
  children: [$1, expressions]
4990
5669
  };
4991
5670
  });
4992
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L19, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
5671
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L20, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
4993
5672
  const expressions = [];
4994
5673
  return {
4995
5674
  type: "BlockStatement",
@@ -5134,7 +5813,7 @@ ${input.slice(result.pos)}
5134
5813
  return result;
5135
5814
  }
5136
5815
  }
5137
- var NullLiteral$0 = $TS($S($EXPECT($L20, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5816
+ var NullLiteral$0 = $TS($S($EXPECT($L21, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5138
5817
  return { $loc, token: $1 };
5139
5818
  });
5140
5819
  function NullLiteral(state) {
@@ -5162,7 +5841,7 @@ ${input.slice(result.pos)}
5162
5841
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
5163
5842
  return value[1];
5164
5843
  });
5165
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L21, fail, 'BooleanLiteral "true"'), $EXPECT($L22, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5844
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L22, fail, 'BooleanLiteral "true"'), $EXPECT($L23, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5166
5845
  return { $loc, token: $1 };
5167
5846
  });
5168
5847
  function BooleanLiteral(state) {
@@ -5187,10 +5866,10 @@ ${input.slice(result.pos)}
5187
5866
  return result;
5188
5867
  }
5189
5868
  }
5190
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L23, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L24, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5869
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L24, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L25, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5191
5870
  return { $loc, token: "true" };
5192
5871
  });
5193
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L25, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L26, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5872
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L26, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L27, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5194
5873
  return { $loc, token: "false" };
5195
5874
  });
5196
5875
  function CoffeeScriptBooleanLiteral(state) {
@@ -5215,31 +5894,6 @@ ${input.slice(result.pos)}
5215
5894
  return result;
5216
5895
  }
5217
5896
  }
5218
- var Comma$0 = $TV($EXPECT($L27, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
5219
- return { $loc, token: $1 };
5220
- });
5221
- function Comma(state) {
5222
- let eventData;
5223
- if (state.events) {
5224
- const result = state.events.enter?.("Comma", state);
5225
- if (result) {
5226
- if (result.cache)
5227
- return result.cache;
5228
- eventData = result.data;
5229
- }
5230
- }
5231
- if (state.tokenize) {
5232
- const result = $TOKEN("Comma", state, Comma$0(state));
5233
- if (state.events)
5234
- state.events.exit?.("Comma", state, result, eventData);
5235
- return result;
5236
- } else {
5237
- const result = Comma$0(state);
5238
- if (state.events)
5239
- state.events.exit?.("Comma", state, result, eventData);
5240
- return result;
5241
- }
5242
- }
5243
5897
  var Identifier$0 = $T($S($N(ReservedWord), IdentifierName), function(value) {
5244
5898
  return value[1];
5245
5899
  });
@@ -6019,7 +6673,7 @@ ${input.slice(result.pos)}
6019
6673
  var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S($C(Samedent, $Q(_)), NamedProperty)), InsertComma), function(value) {
6020
6674
  return value[1];
6021
6675
  });
6022
- var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L31, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L17, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L30, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L19, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
6676
+ var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L31, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L18, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L30, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L20, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
6023
6677
  return "";
6024
6678
  });
6025
6679
  var ImplicitInlineObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -6048,7 +6702,7 @@ ${input.slice(result.pos)}
6048
6702
  }
6049
6703
  }
6050
6704
  var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
6051
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L19, fail, 'ObjectPropertyDelimiter "}"')));
6705
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L20, fail, 'ObjectPropertyDelimiter "}"')));
6052
6706
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6053
6707
  return value[1];
6054
6708
  });
@@ -6117,7 +6771,15 @@ ${input.slice(result.pos)}
6117
6771
  value
6118
6772
  };
6119
6773
  });
6120
- var PropertyDefinition$1 = $TS($S(__, $TEXT($EXPECT($R5, fail, "PropertyDefinition /[!+-]/")), IdentifierName), function($skip, $loc, $0, $1, $2, $3) {
6774
+ var PropertyDefinition$1 = $TS($S(__, NamedProperty), function($skip, $loc, $0, $1, $2) {
6775
+ var ws = $1;
6776
+ var prop = $2;
6777
+ return {
6778
+ ...prop,
6779
+ children: [...ws, ...prop.children]
6780
+ };
6781
+ });
6782
+ var PropertyDefinition$2 = $TS($S(__, $TEXT($EXPECT($R5, fail, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
6121
6783
  var ws = $1;
6122
6784
  var toggle = $2;
6123
6785
  var id = $3;
@@ -6130,14 +6792,6 @@ ${input.slice(result.pos)}
6130
6792
  value
6131
6793
  };
6132
6794
  });
6133
- var PropertyDefinition$2 = $TS($S(__, NamedProperty), function($skip, $loc, $0, $1, $2) {
6134
- var ws = $1;
6135
- var prop = $2;
6136
- return {
6137
- ...prop,
6138
- children: [...ws, ...prop.children]
6139
- };
6140
- });
6141
6795
  var PropertyDefinition$3 = $TS($S(__, MethodDefinition), function($skip, $loc, $0, $1, $2) {
6142
6796
  var ws = $1;
6143
6797
  var def = $2;
@@ -6174,9 +6828,18 @@ ${input.slice(result.pos)}
6174
6828
  if (i < 0)
6175
6829
  return $skip;
6176
6830
  } while (children[i].type === "MemberExpression" && (exp = children[i]));
6177
- const { name } = children[i];
6178
- if (!name)
6831
+ const last = children[i];
6832
+ let name;
6833
+ if (last.name) {
6834
+ ({ name } = last);
6835
+ } else if (last.type === "Index") {
6836
+ name = {
6837
+ type: "ComputedPropertyName",
6838
+ children: last.children
6839
+ };
6840
+ } else {
6179
6841
  return $skip;
6842
+ }
6180
6843
  return {
6181
6844
  type: "Property",
6182
6845
  children: [ws, name, ": ", value],
@@ -6271,9 +6934,9 @@ ${input.slice(result.pos)}
6271
6934
  }
6272
6935
  }
6273
6936
  var PropertyName$0 = NumericLiteral;
6274
- var PropertyName$1 = StringLiteral;
6275
- var PropertyName$2 = IdentifierName;
6276
- var PropertyName$3 = ComputedPropertyName;
6937
+ var PropertyName$1 = ComputedPropertyName;
6938
+ var PropertyName$2 = StringLiteral;
6939
+ var PropertyName$3 = IdentifierName;
6277
6940
  function PropertyName(state) {
6278
6941
  let eventData;
6279
6942
  if (state.events) {
@@ -6297,6 +6960,24 @@ ${input.slice(result.pos)}
6297
6960
  }
6298
6961
  }
6299
6962
  var ComputedPropertyName$0 = $TS($S(OpenBracket, ExtendedExpression, __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
6963
+ var expression = $2;
6964
+ return {
6965
+ type: "ComputedPropertyName",
6966
+ children: $0,
6967
+ expression
6968
+ };
6969
+ });
6970
+ var ComputedPropertyName$1 = $TS($S(InsertOpenBracket, TemplateLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
6971
+ var expression = $2;
6972
+ if ($2.type === "StringLiteral")
6973
+ return $2;
6974
+ return {
6975
+ type: "ComputedPropertyName",
6976
+ children: $0,
6977
+ expression
6978
+ };
6979
+ });
6980
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L14, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
6300
6981
  return {
6301
6982
  type: "ComputedPropertyName",
6302
6983
  children: $0
@@ -6313,12 +6994,12 @@ ${input.slice(result.pos)}
6313
6994
  }
6314
6995
  }
6315
6996
  if (state.tokenize) {
6316
- const result = $TOKEN("ComputedPropertyName", state, ComputedPropertyName$0(state));
6997
+ const result = $TOKEN("ComputedPropertyName", state, ComputedPropertyName$0(state) || ComputedPropertyName$1(state) || ComputedPropertyName$2(state));
6317
6998
  if (state.events)
6318
6999
  state.events.exit?.("ComputedPropertyName", state, result, eventData);
6319
7000
  return result;
6320
7001
  } else {
6321
- const result = ComputedPropertyName$0(state);
7002
+ const result = ComputedPropertyName$0(state) || ComputedPropertyName$1(state) || ComputedPropertyName$2(state);
6322
7003
  if (state.events)
6323
7004
  state.events.exit?.("ComputedPropertyName", state, result, eventData);
6324
7005
  return result;
@@ -6514,7 +7195,7 @@ ${input.slice(result.pos)}
6514
7195
  return result;
6515
7196
  }
6516
7197
  }
6517
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L9, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
7198
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L10, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
6518
7199
  return {
6519
7200
  type: "Identifier",
6520
7201
  name: $0,
@@ -6657,6 +7338,25 @@ ${input.slice(result.pos)}
6657
7338
  return { $loc, token: $1 };
6658
7339
  return $1;
6659
7340
  });
7341
+ var BinaryOp$1 = $TV(Identifier, function($skip, $loc, $0, $1) {
7342
+ var id = $0;
7343
+ if (!module2.operators.has(id.name))
7344
+ return $skip;
7345
+ return {
7346
+ call: id,
7347
+ special: true
7348
+ };
7349
+ });
7350
+ var BinaryOp$2 = $TS($S($EXPECT($L50, fail, 'BinaryOp "not"'), NonIdContinue, __, Identifier), function($skip, $loc, $0, $1, $2, $3, $4) {
7351
+ var id = $4;
7352
+ if (!module2.operators.has(id.name))
7353
+ return $skip;
7354
+ return {
7355
+ call: id,
7356
+ special: true,
7357
+ negated: true
7358
+ };
7359
+ });
6660
7360
  function BinaryOp(state) {
6661
7361
  let eventData;
6662
7362
  if (state.events) {
@@ -6668,32 +7368,32 @@ ${input.slice(result.pos)}
6668
7368
  }
6669
7369
  }
6670
7370
  if (state.tokenize) {
6671
- const result = $TOKEN("BinaryOp", state, BinaryOp$0(state));
7371
+ const result = $TOKEN("BinaryOp", state, BinaryOp$0(state) || BinaryOp$1(state) || BinaryOp$2(state));
6672
7372
  if (state.events)
6673
7373
  state.events.exit?.("BinaryOp", state, result, eventData);
6674
7374
  return result;
6675
7375
  } else {
6676
- const result = BinaryOp$0(state);
7376
+ const result = BinaryOp$0(state) || BinaryOp$1(state) || BinaryOp$2(state);
6677
7377
  if (state.events)
6678
7378
  state.events.exit?.("BinaryOp", state, result, eventData);
6679
7379
  return result;
6680
7380
  }
6681
7381
  }
6682
- var BinaryOpSymbol$0 = $EXPECT($L50, fail, 'BinaryOpSymbol "**"');
6683
- var BinaryOpSymbol$1 = $EXPECT($L51, fail, 'BinaryOpSymbol "*"');
6684
- var BinaryOpSymbol$2 = $EXPECT($L52, fail, 'BinaryOpSymbol "/"');
6685
- var BinaryOpSymbol$3 = $TV($EXPECT($L53, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
7382
+ var BinaryOpSymbol$0 = $EXPECT($L51, fail, 'BinaryOpSymbol "**"');
7383
+ var BinaryOpSymbol$1 = $EXPECT($L52, fail, 'BinaryOpSymbol "*"');
7384
+ var BinaryOpSymbol$2 = $EXPECT($L53, fail, 'BinaryOpSymbol "/"');
7385
+ var BinaryOpSymbol$3 = $TV($EXPECT($L54, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
6686
7386
  return {
6687
7387
  call: module2.getRef("modulo"),
6688
7388
  special: true
6689
7389
  };
6690
7390
  });
6691
- var BinaryOpSymbol$4 = $EXPECT($L54, fail, 'BinaryOpSymbol "%"');
6692
- var BinaryOpSymbol$5 = $EXPECT($L55, fail, 'BinaryOpSymbol "+"');
6693
- var BinaryOpSymbol$6 = $EXPECT($L13, fail, 'BinaryOpSymbol "-"');
6694
- var BinaryOpSymbol$7 = $EXPECT($L56, fail, 'BinaryOpSymbol "<="');
6695
- var BinaryOpSymbol$8 = $EXPECT($L57, fail, 'BinaryOpSymbol ">="');
6696
- var BinaryOpSymbol$9 = $TV($EXPECT($L58, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
7391
+ var BinaryOpSymbol$4 = $EXPECT($L55, fail, 'BinaryOpSymbol "%"');
7392
+ var BinaryOpSymbol$5 = $EXPECT($L56, fail, 'BinaryOpSymbol "+"');
7393
+ var BinaryOpSymbol$6 = $EXPECT($L14, fail, 'BinaryOpSymbol "-"');
7394
+ var BinaryOpSymbol$7 = $EXPECT($L57, fail, 'BinaryOpSymbol "<="');
7395
+ var BinaryOpSymbol$8 = $EXPECT($L58, fail, 'BinaryOpSymbol ">="');
7396
+ var BinaryOpSymbol$9 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
6697
7397
  return {
6698
7398
  $loc,
6699
7399
  token: "instanceof",
@@ -6701,49 +7401,58 @@ ${input.slice(result.pos)}
6701
7401
  special: true
6702
7402
  };
6703
7403
  });
6704
- var BinaryOpSymbol$10 = $EXPECT($L59, fail, 'BinaryOpSymbol "<<"');
6705
- var BinaryOpSymbol$11 = $TR($EXPECT($R6, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7404
+ var BinaryOpSymbol$10 = $TV($EXPECT($L60, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
7405
+ return {
7406
+ $loc,
7407
+ token: "instanceof",
7408
+ relational: true,
7409
+ special: true,
7410
+ negated: true
7411
+ };
7412
+ });
7413
+ var BinaryOpSymbol$11 = $EXPECT($L61, fail, 'BinaryOpSymbol "<<"');
7414
+ var BinaryOpSymbol$12 = $TR($EXPECT($R6, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6706
7415
  return "<";
6707
7416
  });
6708
- var BinaryOpSymbol$12 = $EXPECT($L60, fail, 'BinaryOpSymbol ">>>"');
6709
- var BinaryOpSymbol$13 = $EXPECT($L61, fail, 'BinaryOpSymbol ">>"');
6710
- var BinaryOpSymbol$14 = $EXPECT($L29, fail, 'BinaryOpSymbol ">"');
6711
- var BinaryOpSymbol$15 = $EXPECT($L62, fail, 'BinaryOpSymbol "!=="');
6712
- var BinaryOpSymbol$16 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
7417
+ var BinaryOpSymbol$13 = $EXPECT($L62, fail, 'BinaryOpSymbol ">>>"');
7418
+ var BinaryOpSymbol$14 = $EXPECT($L63, fail, 'BinaryOpSymbol ">>"');
7419
+ var BinaryOpSymbol$15 = $EXPECT($L29, fail, 'BinaryOpSymbol ">"');
7420
+ var BinaryOpSymbol$16 = $EXPECT($L64, fail, 'BinaryOpSymbol "!=="');
7421
+ var BinaryOpSymbol$17 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
6713
7422
  if (module2.config.coffeeEq)
6714
7423
  return "!==";
6715
7424
  return $1;
6716
7425
  });
6717
- var BinaryOpSymbol$17 = $TS($S($EXPECT($L64, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7426
+ var BinaryOpSymbol$18 = $TS($S($EXPECT($L66, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6718
7427
  if (module2.config.coffeeIsnt)
6719
7428
  return "!==";
6720
7429
  return $skip;
6721
7430
  });
6722
- var BinaryOpSymbol$18 = $EXPECT($L65, fail, 'BinaryOpSymbol "==="');
6723
- var BinaryOpSymbol$19 = $TV($EXPECT($L66, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
7431
+ var BinaryOpSymbol$19 = $EXPECT($L67, fail, 'BinaryOpSymbol "==="');
7432
+ var BinaryOpSymbol$20 = $TV($EXPECT($L68, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
6724
7433
  if (module2.config.coffeeEq)
6725
7434
  return "===";
6726
7435
  return $1;
6727
7436
  });
6728
- var BinaryOpSymbol$20 = $T($S($EXPECT($L67, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
7437
+ var BinaryOpSymbol$21 = $T($S($EXPECT($L69, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
6729
7438
  return "&&";
6730
7439
  });
6731
- var BinaryOpSymbol$21 = $EXPECT($L68, fail, 'BinaryOpSymbol "&&"');
6732
- var BinaryOpSymbol$22 = $T($S(CoffeeOfEnabled, $EXPECT($L69, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
7440
+ var BinaryOpSymbol$22 = $EXPECT($L70, fail, 'BinaryOpSymbol "&&"');
7441
+ var BinaryOpSymbol$23 = $T($S(CoffeeOfEnabled, $EXPECT($L71, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
6733
7442
  return "in";
6734
7443
  });
6735
- var BinaryOpSymbol$23 = $T($S($EXPECT($L70, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
7444
+ var BinaryOpSymbol$24 = $T($S($EXPECT($L72, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
6736
7445
  return "||";
6737
7446
  });
6738
- var BinaryOpSymbol$24 = $EXPECT($L71, fail, 'BinaryOpSymbol "||"');
6739
- var BinaryOpSymbol$25 = $EXPECT($L72, fail, 'BinaryOpSymbol "??"');
6740
- var BinaryOpSymbol$26 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L1, fail, 'BinaryOpSymbol "?"')), function(value) {
7447
+ var BinaryOpSymbol$25 = $EXPECT($L73, fail, 'BinaryOpSymbol "||"');
7448
+ var BinaryOpSymbol$26 = $EXPECT($L74, fail, 'BinaryOpSymbol "??"');
7449
+ var BinaryOpSymbol$27 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L2, fail, 'BinaryOpSymbol "?"')), function(value) {
6741
7450
  return "??";
6742
7451
  });
6743
- var BinaryOpSymbol$27 = $TS($S($EXPECT($L73, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7452
+ var BinaryOpSymbol$28 = $TS($S($EXPECT($L75, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6744
7453
  return $1;
6745
7454
  });
6746
- var BinaryOpSymbol$28 = $TS($S(CoffeeNotEnabled, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7455
+ var BinaryOpSymbol$29 = $TS($S($EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L75, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6747
7456
  return {
6748
7457
  $loc,
6749
7458
  token: "instanceof",
@@ -6752,7 +7461,7 @@ ${input.slice(result.pos)}
6752
7461
  negated: true
6753
7462
  };
6754
7463
  });
6755
- var BinaryOpSymbol$29 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L69, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7464
+ var BinaryOpSymbol$30 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L71, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
6756
7465
  return {
6757
7466
  $loc,
6758
7467
  token: "in",
@@ -6760,7 +7469,7 @@ ${input.slice(result.pos)}
6760
7469
  negated: true
6761
7470
  };
6762
7471
  });
6763
- var BinaryOpSymbol$30 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7472
+ var BinaryOpSymbol$31 = $TS($S($EXPECT($L77, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6764
7473
  return {
6765
7474
  method: "includes",
6766
7475
  relational: true,
@@ -6768,7 +7477,7 @@ ${input.slice(result.pos)}
6768
7477
  special: true
6769
7478
  };
6770
7479
  });
6771
- var BinaryOpSymbol$31 = $TS($S(CoffeeOfEnabled, $EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
7480
+ var BinaryOpSymbol$32 = $TS($S(CoffeeOfEnabled, $EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
6772
7481
  return {
6773
7482
  call: [module2.getRef("indexOf"), ".call"],
6774
7483
  relational: true,
@@ -6777,7 +7486,7 @@ ${input.slice(result.pos)}
6777
7486
  special: true
6778
7487
  };
6779
7488
  });
6780
- var BinaryOpSymbol$32 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
7489
+ var BinaryOpSymbol$33 = $TS($S($EXPECT($L77, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
6781
7490
  return {
6782
7491
  method: "includes",
6783
7492
  relational: true,
@@ -6786,7 +7495,7 @@ ${input.slice(result.pos)}
6786
7495
  negated: true
6787
7496
  };
6788
7497
  });
6789
- var BinaryOpSymbol$33 = $TS($S(CoffeeOfEnabled, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7498
+ var BinaryOpSymbol$34 = $TS($S(CoffeeOfEnabled, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
6790
7499
  return {
6791
7500
  call: [module2.getRef("indexOf"), ".call"],
6792
7501
  relational: true,
@@ -6795,7 +7504,7 @@ ${input.slice(result.pos)}
6795
7504
  special: true
6796
7505
  };
6797
7506
  });
6798
- var BinaryOpSymbol$34 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L76, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7507
+ var BinaryOpSymbol$35 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L77, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
6799
7508
  if (module2.config.objectIs) {
6800
7509
  return {
6801
7510
  call: module2.getRef("is"),
@@ -6807,7 +7516,7 @@ ${input.slice(result.pos)}
6807
7516
  }
6808
7517
  return "!==";
6809
7518
  });
6810
- var BinaryOpSymbol$35 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7519
+ var BinaryOpSymbol$36 = $TS($S($EXPECT($L77, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6811
7520
  if (module2.config.objectIs) {
6812
7521
  return {
6813
7522
  call: module2.getRef("is"),
@@ -6818,12 +7527,12 @@ ${input.slice(result.pos)}
6818
7527
  }
6819
7528
  return "===";
6820
7529
  });
6821
- var BinaryOpSymbol$36 = $TS($S($EXPECT($L75, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7530
+ var BinaryOpSymbol$37 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6822
7531
  return $1;
6823
7532
  });
6824
- var BinaryOpSymbol$37 = $EXPECT($L77, fail, 'BinaryOpSymbol "&"');
6825
- var BinaryOpSymbol$38 = $EXPECT($L78, fail, 'BinaryOpSymbol "^"');
6826
- var BinaryOpSymbol$39 = $EXPECT($L79, fail, 'BinaryOpSymbol "|"');
7533
+ var BinaryOpSymbol$38 = $EXPECT($L78, fail, 'BinaryOpSymbol "&"');
7534
+ var BinaryOpSymbol$39 = $EXPECT($L79, fail, 'BinaryOpSymbol "^"');
7535
+ var BinaryOpSymbol$40 = $EXPECT($L80, fail, 'BinaryOpSymbol "|"');
6827
7536
  function BinaryOpSymbol(state) {
6828
7537
  let eventData;
6829
7538
  if (state.events) {
@@ -6835,12 +7544,12 @@ ${input.slice(result.pos)}
6835
7544
  }
6836
7545
  }
6837
7546
  if (state.tokenize) {
6838
- const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state) || BinaryOpSymbol$35(state) || BinaryOpSymbol$36(state) || BinaryOpSymbol$37(state) || BinaryOpSymbol$38(state) || BinaryOpSymbol$39(state));
7547
+ const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state) || BinaryOpSymbol$35(state) || BinaryOpSymbol$36(state) || BinaryOpSymbol$37(state) || BinaryOpSymbol$38(state) || BinaryOpSymbol$39(state) || BinaryOpSymbol$40(state));
6839
7548
  if (state.events)
6840
7549
  state.events.exit?.("BinaryOpSymbol", state, result, eventData);
6841
7550
  return result;
6842
7551
  } else {
6843
- const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state) || BinaryOpSymbol$35(state) || BinaryOpSymbol$36(state) || BinaryOpSymbol$37(state) || BinaryOpSymbol$38(state) || BinaryOpSymbol$39(state);
7552
+ const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state) || BinaryOpSymbol$35(state) || BinaryOpSymbol$36(state) || BinaryOpSymbol$37(state) || BinaryOpSymbol$38(state) || BinaryOpSymbol$39(state) || BinaryOpSymbol$40(state);
6844
7553
  if (state.events)
6845
7554
  state.events.exit?.("BinaryOpSymbol", state, result, eventData);
6846
7555
  return result;
@@ -6966,7 +7675,8 @@ ${input.slice(result.pos)}
6966
7675
  if ($1.type === "ObjectExpression") {
6967
7676
  return {
6968
7677
  type: "ParenthesizedExpression",
6969
- children: ["(", $1, ")"]
7678
+ children: ["(", $1, ")"],
7679
+ expression: $1
6970
7680
  };
6971
7681
  }
6972
7682
  return $1;
@@ -6994,7 +7704,7 @@ ${input.slice(result.pos)}
6994
7704
  return result;
6995
7705
  }
6996
7706
  }
6997
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L80, fail, 'EmptyStatement ";"'))), function(value) {
7707
+ var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L81, fail, 'EmptyStatement ";"'))), function(value) {
6998
7708
  return { "type": "EmptyStatement", "children": value[0] };
6999
7709
  });
7000
7710
  function EmptyStatement(state) {
@@ -7954,7 +8664,7 @@ ${input.slice(result.pos)}
7954
8664
  return result;
7955
8665
  }
7956
8666
  }
7957
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L81, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
8667
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L82, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
7958
8668
  var own = $1;
7959
8669
  var binding = $2;
7960
8670
  return {
@@ -8155,6 +8865,7 @@ ${input.slice(result.pos)}
8155
8865
  return {
8156
8866
  type: "SwitchStatement",
8157
8867
  children: $0,
8868
+ expression: condition,
8158
8869
  caseBlock
8159
8870
  };
8160
8871
  });
@@ -8241,7 +8952,7 @@ ${input.slice(result.pos)}
8241
8952
  return result;
8242
8953
  }
8243
8954
  }
8244
- var CaseBlock$0 = $TS($S(__, OpenBrace, NestedCaseClauses, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8955
+ var CaseBlock$0 = $TS($S($E($C(Samedent, _)), OpenBrace, NestedCaseClauses, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8245
8956
  var clauses = $3;
8246
8957
  return {
8247
8958
  type: "CaseBlock",
@@ -8337,10 +9048,20 @@ ${input.slice(result.pos)}
8337
9048
  return result;
8338
9049
  }
8339
9050
  }
8340
- var CaseClause$0 = $T($S(Case, CaseExpressionList, $C(NestedBlockStatements, NoExpressions)), function(value) {
9051
+ var CaseClause$0 = $TS($S(MatchingPattern, $C(ThenClause, NestedBlockStatements, EmptyBareBlock)), function($skip, $loc, $0, $1, $2) {
9052
+ var pattern = $1;
9053
+ var block = $2;
9054
+ return {
9055
+ type: "PatternClause",
9056
+ children: $0,
9057
+ block,
9058
+ pattern
9059
+ };
9060
+ });
9061
+ var CaseClause$1 = $T($S(Case, CaseExpressionList, $C(NestedBlockStatements, EmptyBareBlock)), function(value) {
8341
9062
  return { "type": "CaseClause", "children": value };
8342
9063
  });
8343
- var CaseClause$1 = $TS($S(When, CaseExpressionList, InsertOpenBrace, $C(ThenClause, NestedBlockStatements, NoExpressions), InsertBreak, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9064
+ var CaseClause$2 = $TS($S(When, CaseExpressionList, InsertOpenBrace, $C(ThenClause, NestedBlockStatements, EmptyBareBlock), InsertBreak, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8344
9065
  var cases = $2;
8345
9066
  var block = $4;
8346
9067
  var b = $5;
@@ -8352,7 +9073,7 @@ ${input.slice(result.pos)}
8352
9073
  children: $0
8353
9074
  };
8354
9075
  });
8355
- var CaseClause$2 = $TS($S(Default, ImpliedColon, $C(NestedBlockStatements, NoExpressions)), function($skip, $loc, $0, $1, $2, $3) {
9076
+ var CaseClause$3 = $TS($S(Default, ImpliedColon, $C(NestedBlockStatements, EmptyBareBlock)), function($skip, $loc, $0, $1, $2, $3) {
8356
9077
  var block = $3;
8357
9078
  return {
8358
9079
  type: "DefaultClause",
@@ -8360,7 +9081,7 @@ ${input.slice(result.pos)}
8360
9081
  children: $0
8361
9082
  };
8362
9083
  });
8363
- var CaseClause$3 = $TS($S(Else, ImpliedColon, InsertOpenBrace, $C(NestedBlockStatements, SingleLineStatements), InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
9084
+ var CaseClause$4 = $TS($S(Else, ImpliedColon, InsertOpenBrace, $C(NestedBlockStatements, SingleLineStatements), InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8364
9085
  var block = $4;
8365
9086
  $1.token = "default";
8366
9087
  return {
@@ -8380,12 +9101,12 @@ ${input.slice(result.pos)}
8380
9101
  }
8381
9102
  }
8382
9103
  if (state.tokenize) {
8383
- const result = $TOKEN("CaseClause", state, CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state) || CaseClause$3(state));
9104
+ const result = $TOKEN("CaseClause", state, CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state) || CaseClause$3(state) || CaseClause$4(state));
8384
9105
  if (state.events)
8385
9106
  state.events.exit?.("CaseClause", state, result, eventData);
8386
9107
  return result;
8387
9108
  } else {
8388
- const result = CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state) || CaseClause$3(state);
9109
+ const result = CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state) || CaseClause$3(state) || CaseClause$4(state);
8389
9110
  if (state.events)
8390
9111
  state.events.exit?.("CaseClause", state, result, eventData);
8391
9112
  return result;
@@ -8423,33 +9144,8 @@ ${input.slice(result.pos)}
8423
9144
  return result;
8424
9145
  }
8425
9146
  }
8426
- var NoExpressions$0 = $T($EXPECT($L16, fail, 'NoExpressions ""'), function(value) {
8427
- return [];
8428
- });
8429
- function NoExpressions(state) {
8430
- let eventData;
8431
- if (state.events) {
8432
- const result = state.events.enter?.("NoExpressions", state);
8433
- if (result) {
8434
- if (result.cache)
8435
- return result.cache;
8436
- eventData = result.data;
8437
- }
8438
- }
8439
- if (state.tokenize) {
8440
- const result = $TOKEN("NoExpressions", state, NoExpressions$0(state));
8441
- if (state.events)
8442
- state.events.exit?.("NoExpressions", state, result, eventData);
8443
- return result;
8444
- } else {
8445
- const result = NoExpressions$0(state);
8446
- if (state.events)
8447
- state.events.exit?.("NoExpressions", state, result, eventData);
8448
- return result;
8449
- }
8450
- }
8451
9147
  var ImpliedColon$0 = $S(__, Colon);
8452
- var ImpliedColon$1 = $TV($EXPECT($L16, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
9148
+ var ImpliedColon$1 = $TV($EXPECT($L17, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
8453
9149
  return { $loc, token: ":" };
8454
9150
  });
8455
9151
  function ImpliedColon(state) {
@@ -8589,7 +9285,7 @@ ${input.slice(result.pos)}
8589
9285
  return result;
8590
9286
  }
8591
9287
  }
8592
- var Finally$0 = $S(__, $EXPECT($L82, fail, 'Finally "finally"'), NonIdContinue, BracedBlock);
9288
+ var Finally$0 = $S(__, $EXPECT($L83, fail, 'Finally "finally"'), NonIdContinue, BracedBlock);
8593
9289
  function Finally(state) {
8594
9290
  let eventData;
8595
9291
  if (state.events) {
@@ -8641,13 +9337,15 @@ ${input.slice(result.pos)}
8641
9337
  });
8642
9338
  var Condition$1 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
8643
9339
  var open = $1;
8644
- var exp = $2;
9340
+ var expression = $2;
8645
9341
  var close = $3;
8646
- if (exp.type === "ParenthesizedExpression")
8647
- return exp;
9342
+ if (expression.type === "ParenthesizedExpression")
9343
+ return expression;
9344
+ expression = module2.insertTrimmingSpace(expression, "");
8648
9345
  return {
8649
9346
  type: "ParenthesizedExpression",
8650
- children: [open, module2.insertTrimmingSpace(exp, ""), close]
9347
+ children: [open, expression, close],
9348
+ expression
8651
9349
  };
8652
9350
  });
8653
9351
  function Condition(state) {
@@ -8701,7 +9399,7 @@ ${input.slice(result.pos)}
8701
9399
  return result;
8702
9400
  }
8703
9401
  }
8704
- var SuppressIndentedApplication$0 = $TV($EXPECT($L16, fail, 'SuppressIndentedApplication ""'), function($skip, $loc, $0, $1) {
9402
+ var SuppressIndentedApplication$0 = $TV($EXPECT($L17, fail, 'SuppressIndentedApplication ""'), function($skip, $loc, $0, $1) {
8705
9403
  module2.suppressIndentedApplication = true;
8706
9404
  });
8707
9405
  function SuppressIndentedApplication(state) {
@@ -8726,7 +9424,7 @@ ${input.slice(result.pos)}
8726
9424
  return result;
8727
9425
  }
8728
9426
  }
8729
- var IndentedApplicationAllowed$0 = $TV($EXPECT($L16, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
9427
+ var IndentedApplicationAllowed$0 = $TV($EXPECT($L17, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
8730
9428
  if (module2.suppressIndentedApplication)
8731
9429
  return $skip;
8732
9430
  return;
@@ -8753,7 +9451,7 @@ ${input.slice(result.pos)}
8753
9451
  return result;
8754
9452
  }
8755
9453
  }
8756
- var SuppressTrailingMemberProperty$0 = $TV($EXPECT($L16, fail, 'SuppressTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
9454
+ var SuppressTrailingMemberProperty$0 = $TV($EXPECT($L17, fail, 'SuppressTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
8757
9455
  module2.suppressTrailingMemberProperty.push(true);
8758
9456
  });
8759
9457
  function SuppressTrailingMemberProperty(state) {
@@ -8778,7 +9476,7 @@ ${input.slice(result.pos)}
8778
9476
  return result;
8779
9477
  }
8780
9478
  }
8781
- var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L16, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
9479
+ var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L17, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
8782
9480
  if (module2.trailingMemberPropertySuppressed)
8783
9481
  return $skip;
8784
9482
  });
@@ -8827,13 +9525,13 @@ ${input.slice(result.pos)}
8827
9525
  return result;
8828
9526
  }
8829
9527
  }
8830
- var KeywordStatement$0 = $T($S($EXPECT($L83, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
9528
+ var KeywordStatement$0 = $T($S($EXPECT($L84, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
8831
9529
  return { "type": "BreakStatement", "children": value };
8832
9530
  });
8833
- var KeywordStatement$1 = $T($S($EXPECT($L84, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
9531
+ var KeywordStatement$1 = $T($S($EXPECT($L85, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
8834
9532
  return { "type": "ContinueStatement", "children": value };
8835
9533
  });
8836
- var KeywordStatement$2 = $T($S($EXPECT($L85, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
9534
+ var KeywordStatement$2 = $T($S($EXPECT($L86, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
8837
9535
  return { "type": "DebuggerStatement", "children": value };
8838
9536
  });
8839
9537
  var KeywordStatement$3 = $T($S(Return, $E(MaybeNestedExpression)), function(value) {
@@ -8864,7 +9562,7 @@ ${input.slice(result.pos)}
8864
9562
  return result;
8865
9563
  }
8866
9564
  }
8867
- var DebuggerExpression$0 = $TS($S($EXPECT($L85, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9565
+ var DebuggerExpression$0 = $TS($S($EXPECT($L86, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8868
9566
  return {
8869
9567
  type: "DebuggerExpression",
8870
9568
  children: ["(()=>{", $1, "})()"]
@@ -8992,7 +9690,7 @@ ${input.slice(result.pos)}
8992
9690
  return result;
8993
9691
  }
8994
9692
  }
8995
- var ImpliedImport$0 = $TV($EXPECT($L16, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
9693
+ var ImpliedImport$0 = $TV($EXPECT($L17, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
8996
9694
  return { $loc, token: "import " };
8997
9695
  });
8998
9696
  function ImpliedImport(state) {
@@ -9141,7 +9839,7 @@ ${input.slice(result.pos)}
9141
9839
  return result;
9142
9840
  }
9143
9841
  }
9144
- var ImportAssertion$0 = $S($E(_), $EXPECT($L86, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
9842
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L87, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
9145
9843
  function ImportAssertion(state) {
9146
9844
  let eventData;
9147
9845
  if (state.events) {
@@ -9169,6 +9867,22 @@ ${input.slice(result.pos)}
9169
9867
  return $2;
9170
9868
  return { ts: true, children: $0, binding: $2.binding };
9171
9869
  });
9870
+ var TypeAndImportSpecifier$1 = $TS($S(__, Operator, ImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
9871
+ var ws = $1;
9872
+ var spec = $3;
9873
+ if (spec.binding.type !== "Identifier") {
9874
+ throw new Error("Expected identifier after `operator`");
9875
+ }
9876
+ module2.operators.add(spec.binding.name);
9877
+ return {
9878
+ ...spec,
9879
+ children: [
9880
+ ws,
9881
+ module2.insertTrimmingSpace(spec[0], ""),
9882
+ spec.children.slice(1)
9883
+ ]
9884
+ };
9885
+ });
9172
9886
  function TypeAndImportSpecifier(state) {
9173
9887
  let eventData;
9174
9888
  if (state.events) {
@@ -9180,12 +9894,12 @@ ${input.slice(result.pos)}
9180
9894
  }
9181
9895
  }
9182
9896
  if (state.tokenize) {
9183
- const result = $TOKEN("TypeAndImportSpecifier", state, TypeAndImportSpecifier$0(state));
9897
+ const result = $TOKEN("TypeAndImportSpecifier", state, TypeAndImportSpecifier$0(state) || TypeAndImportSpecifier$1(state));
9184
9898
  if (state.events)
9185
9899
  state.events.exit?.("TypeAndImportSpecifier", state, result, eventData);
9186
9900
  return result;
9187
9901
  } else {
9188
- const result = TypeAndImportSpecifier$0(state);
9902
+ const result = TypeAndImportSpecifier$0(state) || TypeAndImportSpecifier$1(state);
9189
9903
  if (state.events)
9190
9904
  state.events.exit?.("TypeAndImportSpecifier", state, result, eventData);
9191
9905
  return result;
@@ -9228,7 +9942,7 @@ ${input.slice(result.pos)}
9228
9942
  }
9229
9943
  }
9230
9944
  var ImportAsToken$0 = $S(__, As);
9231
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L6, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9945
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L7, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9232
9946
  var l = $1;
9233
9947
  var ws = $2;
9234
9948
  var c = $3;
@@ -9315,7 +10029,7 @@ ${input.slice(result.pos)}
9315
10029
  return result;
9316
10030
  }
9317
10031
  }
9318
- var UnprocessedModuleSpecifier$0 = BasicStringLiteral;
10032
+ var UnprocessedModuleSpecifier$0 = StringLiteral;
9319
10033
  var UnprocessedModuleSpecifier$1 = UnquotedSpecifier;
9320
10034
  function UnprocessedModuleSpecifier(state) {
9321
10035
  let eventData;
@@ -9582,6 +10296,7 @@ ${input.slice(result.pos)}
9582
10296
  var Declaration$1 = ClassDeclaration;
9583
10297
  var Declaration$2 = LexicalDeclaration;
9584
10298
  var Declaration$3 = TypeDeclaration;
10299
+ var Declaration$4 = OperatorDeclaration;
9585
10300
  function Declaration(state) {
9586
10301
  let eventData;
9587
10302
  if (state.events) {
@@ -9593,12 +10308,12 @@ ${input.slice(result.pos)}
9593
10308
  }
9594
10309
  }
9595
10310
  if (state.tokenize) {
9596
- const result = $TOKEN("Declaration", state, Declaration$0(state) || Declaration$1(state) || Declaration$2(state) || Declaration$3(state));
10311
+ const result = $TOKEN("Declaration", state, Declaration$0(state) || Declaration$1(state) || Declaration$2(state) || Declaration$3(state) || Declaration$4(state));
9597
10312
  if (state.events)
9598
10313
  state.events.exit?.("Declaration", state, result, eventData);
9599
10314
  return result;
9600
10315
  } else {
9601
- const result = Declaration$0(state) || Declaration$1(state) || Declaration$2(state) || Declaration$3(state);
10316
+ const result = Declaration$0(state) || Declaration$1(state) || Declaration$2(state) || Declaration$3(state) || Declaration$4(state);
9602
10317
  if (state.events)
9603
10318
  state.events.exit?.("Declaration", state, result, eventData);
9604
10319
  return result;
@@ -9726,7 +10441,7 @@ ${input.slice(result.pos)}
9726
10441
  return result;
9727
10442
  }
9728
10443
  }
9729
- var ConstAssignment$0 = $TV($EXPECT($L87, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
10444
+ var ConstAssignment$0 = $TV($EXPECT($L88, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
9730
10445
  return { $loc, token: "=" };
9731
10446
  });
9732
10447
  function ConstAssignment(state) {
@@ -9751,7 +10466,7 @@ ${input.slice(result.pos)}
9751
10466
  return result;
9752
10467
  }
9753
10468
  }
9754
- var LetAssignment$0 = $TV($EXPECT($L88, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10469
+ var LetAssignment$0 = $TV($EXPECT($L89, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
9755
10470
  return { $loc, token: "=" };
9756
10471
  });
9757
10472
  function LetAssignment(state) {
@@ -10217,57 +10932,24 @@ ${input.slice(result.pos)}
10217
10932
  return result;
10218
10933
  }
10219
10934
  }
10220
- var StringLiteral$0 = $TS($S(TripleDoubleQuote, $Q($C(TripleDoubleStringCharacters, CoffeeStringSubstitution)), TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
10221
- return module2.dedentBlockSubstitutions($0);
10222
- });
10223
- var StringLiteral$1 = $TS($S(TripleSingleQuote, TripleSingleStringCharacters, TripleSingleQuote), function($skip, $loc, $0, $1, $2, $3) {
10224
- var s = $1;
10225
- var str = $2;
10226
- var e = $3;
10227
- return [s, module2.dedentBlockString(str), e];
10228
- });
10229
- var StringLiteral$2 = CoffeeInterpolatedDoubleQuotedString;
10230
- var StringLiteral$3 = BasicStringLiteral;
10231
- function StringLiteral(state) {
10232
- let eventData;
10233
- if (state.events) {
10234
- const result = state.events.enter?.("StringLiteral", state);
10235
- if (result) {
10236
- if (result.cache)
10237
- return result.cache;
10238
- eventData = result.data;
10239
- }
10240
- }
10241
- if (state.tokenize) {
10242
- const result = $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state));
10243
- if (state.events)
10244
- state.events.exit?.("StringLiteral", state, result, eventData);
10245
- return result;
10246
- } else {
10247
- const result = StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
10248
- if (state.events)
10249
- state.events.exit?.("StringLiteral", state, result, eventData);
10250
- return result;
10251
- }
10252
- }
10253
- var BasicStringLiteral$0 = $TS($S(DoubleQuote, DoubleStringCharacters, DoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
10935
+ var StringLiteral$0 = $TS($S(DoubleQuote, DoubleStringCharacters, DoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
10254
10936
  var str = $2;
10255
10937
  return {
10256
10938
  token: `"${module2.modifyString(str.token)}"`,
10257
10939
  $loc
10258
10940
  };
10259
10941
  });
10260
- var BasicStringLiteral$1 = $TS($S(SingleQuote, SingleStringCharacters, SingleQuote), function($skip, $loc, $0, $1, $2, $3) {
10942
+ var StringLiteral$1 = $TS($S(SingleQuote, SingleStringCharacters, SingleQuote), function($skip, $loc, $0, $1, $2, $3) {
10261
10943
  var str = $2;
10262
10944
  return {
10263
10945
  token: `'${module2.modifyString(str.token)}'`,
10264
10946
  $loc
10265
10947
  };
10266
10948
  });
10267
- function BasicStringLiteral(state) {
10949
+ function StringLiteral(state) {
10268
10950
  let eventData;
10269
10951
  if (state.events) {
10270
- const result = state.events.enter?.("BasicStringLiteral", state);
10952
+ const result = state.events.enter?.("StringLiteral", state);
10271
10953
  if (result) {
10272
10954
  if (result.cache)
10273
10955
  return result.cache;
@@ -10275,14 +10957,14 @@ ${input.slice(result.pos)}
10275
10957
  }
10276
10958
  }
10277
10959
  if (state.tokenize) {
10278
- const result = $TOKEN("BasicStringLiteral", state, BasicStringLiteral$0(state) || BasicStringLiteral$1(state));
10960
+ const result = $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state));
10279
10961
  if (state.events)
10280
- state.events.exit?.("BasicStringLiteral", state, result, eventData);
10962
+ state.events.exit?.("StringLiteral", state, result, eventData);
10281
10963
  return result;
10282
10964
  } else {
10283
- const result = BasicStringLiteral$0(state) || BasicStringLiteral$1(state);
10965
+ const result = StringLiteral$0(state) || StringLiteral$1(state);
10284
10966
  if (state.events)
10285
- state.events.exit?.("BasicStringLiteral", state, result, eventData);
10967
+ state.events.exit?.("StringLiteral", state, result, eventData);
10286
10968
  return result;
10287
10969
  }
10288
10970
  }
@@ -10415,6 +11097,7 @@ ${input.slice(result.pos)}
10415
11097
  var e = $4;
10416
11098
  if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
10417
11099
  return {
11100
+ type: "StringLiteral",
10418
11101
  token: parts.length ? `"${module2.modifyString(parts[0].token)}"` : '""',
10419
11102
  $loc
10420
11103
  };
@@ -10426,7 +11109,10 @@ ${input.slice(result.pos)}
10426
11109
  }
10427
11110
  });
10428
11111
  s.token = e.token = "`";
10429
- return [s, parts, e];
11112
+ return {
11113
+ type: "TemplateLiteral",
11114
+ children: [s, parts, e]
11115
+ };
10430
11116
  });
10431
11117
  function CoffeeInterpolatedDoubleQuotedString(state) {
10432
11118
  let eventData;
@@ -10476,8 +11162,8 @@ ${input.slice(result.pos)}
10476
11162
  }
10477
11163
  }
10478
11164
  var RegularExpressionLiteral$0 = HeregexLiteral;
10479
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L52, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L52, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10480
- return { $loc, token: $1 };
11165
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L53, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L53, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11166
+ return { type: "RegularExpressionLiteral", $loc, token: $1 };
10481
11167
  });
10482
11168
  function RegularExpressionLiteral(state) {
10483
11169
  let eventData;
@@ -10577,7 +11263,10 @@ ${input.slice(result.pos)}
10577
11263
  result.push({ ...close, token: ")" });
10578
11264
  return result;
10579
11265
  }
10580
- return $0;
11266
+ return {
11267
+ type: "RegularExpressionLiteral",
11268
+ children: $0
11269
+ };
10581
11270
  });
10582
11271
  function HeregexLiteral(state) {
10583
11272
  let eventData;
@@ -10778,7 +11467,25 @@ ${input.slice(result.pos)}
10778
11467
  var TemplateLiteral$0 = $TS($S(TripleTick, $Q($C(TemplateBlockCharacters, TemplateSubstitution)), TripleTick), function($skip, $loc, $0, $1, $2, $3) {
10779
11468
  return module2.dedentBlockSubstitutions($0);
10780
11469
  });
10781
- var TemplateLiteral$1 = $S(Backtick, $Q($C(TemplateCharacters, TemplateSubstitution)), Backtick);
11470
+ var TemplateLiteral$1 = $TS($S(Backtick, $Q($C(TemplateCharacters, TemplateSubstitution)), Backtick), function($skip, $loc, $0, $1, $2, $3) {
11471
+ return {
11472
+ type: "TemplateLiteral",
11473
+ children: $0
11474
+ };
11475
+ });
11476
+ var TemplateLiteral$2 = $TS($S(TripleDoubleQuote, $Q($C(TripleDoubleStringCharacters, CoffeeStringSubstitution)), TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
11477
+ return module2.dedentBlockSubstitutions($0);
11478
+ });
11479
+ var TemplateLiteral$3 = $TS($S(TripleSingleQuote, TripleSingleStringCharacters, TripleSingleQuote), function($skip, $loc, $0, $1, $2, $3) {
11480
+ var s = $1;
11481
+ var str = $2;
11482
+ var e = $3;
11483
+ return {
11484
+ type: "TemplateLiteral",
11485
+ children: [s, module2.dedentBlockString(str), e]
11486
+ };
11487
+ });
11488
+ var TemplateLiteral$4 = CoffeeInterpolatedDoubleQuotedString;
10782
11489
  function TemplateLiteral(state) {
10783
11490
  let eventData;
10784
11491
  if (state.events) {
@@ -10790,12 +11497,12 @@ ${input.slice(result.pos)}
10790
11497
  }
10791
11498
  }
10792
11499
  if (state.tokenize) {
10793
- const result = $TOKEN("TemplateLiteral", state, TemplateLiteral$0(state) || TemplateLiteral$1(state));
11500
+ const result = $TOKEN("TemplateLiteral", state, TemplateLiteral$0(state) || TemplateLiteral$1(state) || TemplateLiteral$2(state) || TemplateLiteral$3(state) || TemplateLiteral$4(state));
10794
11501
  if (state.events)
10795
11502
  state.events.exit?.("TemplateLiteral", state, result, eventData);
10796
11503
  return result;
10797
11504
  } else {
10798
- const result = TemplateLiteral$0(state) || TemplateLiteral$1(state);
11505
+ const result = TemplateLiteral$0(state) || TemplateLiteral$1(state) || TemplateLiteral$2(state) || TemplateLiteral$3(state) || TemplateLiteral$4(state);
10799
11506
  if (state.events)
10800
11507
  state.events.exit?.("TemplateLiteral", state, result, eventData);
10801
11508
  return result;
@@ -10878,9 +11585,7 @@ ${input.slice(result.pos)}
10878
11585
  var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R35, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
10879
11586
  var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R36, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
10880
11587
  var ReservedWord$3 = $S(CoffeeOfEnabled, $R$0($EXPECT($R37, fail, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")));
10881
- var ReservedWord$4 = $S(CoffeeNotEnabled, $R$0($EXPECT($R38, fail, "ReservedWord /(?:not)(?!\\p{ID_Continue})/")));
10882
- var ReservedWord$5 = $S($EXPECT($L74, fail, 'ReservedWord "not"'), NonIdContinue, __, $EXPECT($L75, fail, 'ReservedWord "in"'), NonIdContinue);
10883
- var ReservedWord$6 = $R$0($EXPECT($R39, fail, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11588
+ var ReservedWord$4 = $R$0($EXPECT($R38, fail, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
10884
11589
  function ReservedWord(state) {
10885
11590
  let eventData;
10886
11591
  if (state.events) {
@@ -10892,12 +11597,12 @@ ${input.slice(result.pos)}
10892
11597
  }
10893
11598
  }
10894
11599
  if (state.tokenize) {
10895
- const result = $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state) || ReservedWord$5(state) || ReservedWord$6(state));
11600
+ const result = $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state));
10896
11601
  if (state.events)
10897
11602
  state.events.exit?.("ReservedWord", state, result, eventData);
10898
11603
  return result;
10899
11604
  } else {
10900
- const result = ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state) || ReservedWord$5(state) || ReservedWord$6(state);
11605
+ const result = ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state);
10901
11606
  if (state.events)
10902
11607
  state.events.exit?.("ReservedWord", state, result, eventData);
10903
11608
  return result;
@@ -10951,7 +11656,7 @@ ${input.slice(result.pos)}
10951
11656
  return result;
10952
11657
  }
10953
11658
  }
10954
- var JSSingleLineComment$0 = $TR($EXPECT($R40, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11659
+ var JSSingleLineComment$0 = $TR($EXPECT($R39, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10955
11660
  return { $loc, token: $0 };
10956
11661
  });
10957
11662
  function JSSingleLineComment(state) {
@@ -11000,7 +11705,7 @@ ${input.slice(result.pos)}
11000
11705
  return result;
11001
11706
  }
11002
11707
  }
11003
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L90, fail, 'JSMultiLineComment "*/"')), $EXPECT($R41, fail, "JSMultiLineComment /./"))), $EXPECT($L90, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11708
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L90, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L91, fail, 'JSMultiLineComment "*/"')), $EXPECT($R40, fail, "JSMultiLineComment /./"))), $EXPECT($L91, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11004
11709
  return { $loc, token: $1 };
11005
11710
  });
11006
11711
  function JSMultiLineComment(state) {
@@ -11025,7 +11730,7 @@ ${input.slice(result.pos)}
11025
11730
  return result;
11026
11731
  }
11027
11732
  }
11028
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R42, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11733
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R41, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11029
11734
  return { $loc, token: `//${$1}` };
11030
11735
  });
11031
11736
  function CoffeeSingleLineComment(state) {
@@ -11050,7 +11755,8 @@ ${input.slice(result.pos)}
11050
11755
  return result;
11051
11756
  }
11052
11757
  }
11053
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L90, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R41, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
11758
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R42, fail, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11759
+ $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
11054
11760
  return { $loc, token: `/*${$2}*/` };
11055
11761
  });
11056
11762
  function CoffeeMultiLineComment(state) {
@@ -11098,7 +11804,7 @@ ${input.slice(result.pos)}
11098
11804
  return result;
11099
11805
  }
11100
11806
  }
11101
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L90, fail, 'InlineComment "*/"')), $EXPECT($R44, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L90, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
11807
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L90, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L91, fail, 'InlineComment "*/"')), $EXPECT($R44, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L91, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
11102
11808
  return { $loc, token: $1 };
11103
11809
  });
11104
11810
  function InlineComment(state) {
@@ -11197,7 +11903,7 @@ ${input.slice(result.pos)}
11197
11903
  var NonNewlineWhitespace$0 = $TR($EXPECT($R45, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11198
11904
  return { $loc, token: $0 };
11199
11905
  });
11200
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L91, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
11906
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L92, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
11201
11907
  return "";
11202
11908
  });
11203
11909
  function NonNewlineWhitespace(state) {
@@ -11349,7 +12055,7 @@ ${input.slice(result.pos)}
11349
12055
  }
11350
12056
  }
11351
12057
  var StatementDelimiter$0 = SemicolonDelimiter;
11352
- var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L92, fail, 'StatementDelimiter "("'), $EXPECT($L93, fail, 'StatementDelimiter "["'), $EXPECT($L94, fail, 'StatementDelimiter "`"'), $EXPECT($L55, fail, 'StatementDelimiter "+"'), $EXPECT($L13, fail, 'StatementDelimiter "-"'), $EXPECT($L51, fail, 'StatementDelimiter "*"'), $EXPECT($L52, fail, 'StatementDelimiter "/"'), ObjectLiteral))), InsertSemicolon);
12058
+ var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L1, fail, 'StatementDelimiter "("'), $EXPECT($L93, fail, 'StatementDelimiter "["'), $EXPECT($L94, fail, 'StatementDelimiter "`"'), $EXPECT($L56, fail, 'StatementDelimiter "+"'), $EXPECT($L14, fail, 'StatementDelimiter "-"'), $EXPECT($L52, fail, 'StatementDelimiter "*"'), $EXPECT($L53, fail, 'StatementDelimiter "/"'), ObjectLiteral))), InsertSemicolon);
11353
12059
  var StatementDelimiter$2 = $Y(EOS);
11354
12060
  function StatementDelimiter(state) {
11355
12061
  let eventData;
@@ -11424,7 +12130,7 @@ ${input.slice(result.pos)}
11424
12130
  return result;
11425
12131
  }
11426
12132
  }
11427
- var Loc$0 = $TV($EXPECT($L16, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
12133
+ var Loc$0 = $TV($EXPECT($L17, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
11428
12134
  return { $loc, token: "" };
11429
12135
  });
11430
12136
  function Loc(state) {
@@ -11449,7 +12155,7 @@ ${input.slice(result.pos)}
11449
12155
  return result;
11450
12156
  }
11451
12157
  }
11452
- var Abstract$0 = $TV($TEXT($S($EXPECT($L95, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L6, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12158
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L95, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L7, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11453
12159
  return { $loc, token: $1, ts: true };
11454
12160
  });
11455
12161
  function Abstract(state) {
@@ -11474,7 +12180,7 @@ ${input.slice(result.pos)}
11474
12180
  return result;
11475
12181
  }
11476
12182
  }
11477
- var Ampersand$0 = $TV($EXPECT($L77, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12183
+ var Ampersand$0 = $TV($EXPECT($L78, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11478
12184
  return { $loc, token: $1 };
11479
12185
  });
11480
12186
  function Ampersand(state) {
@@ -11749,7 +12455,7 @@ ${input.slice(result.pos)}
11749
12455
  return result;
11750
12456
  }
11751
12457
  }
11752
- var CloseBrace$0 = $TV($EXPECT($L19, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12458
+ var CloseBrace$0 = $TV($EXPECT($L20, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11753
12459
  return { $loc, token: $1 };
11754
12460
  });
11755
12461
  function CloseBrace(state) {
@@ -11799,7 +12505,7 @@ ${input.slice(result.pos)}
11799
12505
  return result;
11800
12506
  }
11801
12507
  }
11802
- var CloseParen$0 = $TV($EXPECT($L17, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12508
+ var CloseParen$0 = $TV($EXPECT($L18, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11803
12509
  return { $loc, token: $1 };
11804
12510
  });
11805
12511
  function CloseParen(state) {
@@ -11874,6 +12580,31 @@ ${input.slice(result.pos)}
11874
12580
  return result;
11875
12581
  }
11876
12582
  }
12583
+ var Comma$0 = $TV($EXPECT($L106, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
12584
+ return { $loc, token: $1 };
12585
+ });
12586
+ function Comma(state) {
12587
+ let eventData;
12588
+ if (state.events) {
12589
+ const result = state.events.enter?.("Comma", state);
12590
+ if (result) {
12591
+ if (result.cache)
12592
+ return result.cache;
12593
+ eventData = result.data;
12594
+ }
12595
+ }
12596
+ if (state.tokenize) {
12597
+ const result = $TOKEN("Comma", state, Comma$0(state));
12598
+ if (state.events)
12599
+ state.events.exit?.("Comma", state, result, eventData);
12600
+ return result;
12601
+ } else {
12602
+ const result = Comma$0(state);
12603
+ if (state.events)
12604
+ state.events.exit?.("Comma", state, result, eventData);
12605
+ return result;
12606
+ }
12607
+ }
11877
12608
  var ConstructorShorthand$0 = $TV($EXPECT($L97, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11878
12609
  return { $loc, token: "constructor" };
11879
12610
  });
@@ -11899,7 +12630,7 @@ ${input.slice(result.pos)}
11899
12630
  return result;
11900
12631
  }
11901
12632
  }
11902
- var Declare$0 = $TS($S($EXPECT($L106, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12633
+ var Declare$0 = $TS($S($EXPECT($L107, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11903
12634
  return { $loc, token: $1 };
11904
12635
  });
11905
12636
  function Declare(state) {
@@ -11924,7 +12655,7 @@ ${input.slice(result.pos)}
11924
12655
  return result;
11925
12656
  }
11926
12657
  }
11927
- var Default$0 = $TS($S($EXPECT($L107, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12658
+ var Default$0 = $TS($S($EXPECT($L108, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11928
12659
  return { $loc, token: $1 };
11929
12660
  });
11930
12661
  function Default(state) {
@@ -11949,7 +12680,7 @@ ${input.slice(result.pos)}
11949
12680
  return result;
11950
12681
  }
11951
12682
  }
11952
- var Delete$0 = $TS($S($EXPECT($L108, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12683
+ var Delete$0 = $TS($S($EXPECT($L109, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11953
12684
  return { $loc, token: $1 };
11954
12685
  });
11955
12686
  function Delete(state) {
@@ -11974,7 +12705,7 @@ ${input.slice(result.pos)}
11974
12705
  return result;
11975
12706
  }
11976
12707
  }
11977
- var Do$0 = $TS($S($EXPECT($L109, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12708
+ var Do$0 = $TS($S($EXPECT($L110, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11978
12709
  return { $loc, token: $1 };
11979
12710
  });
11980
12711
  function Do(state) {
@@ -11999,7 +12730,7 @@ ${input.slice(result.pos)}
11999
12730
  return result;
12000
12731
  }
12001
12732
  }
12002
- var Dot$0 = $TV($EXPECT($L2, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
12733
+ var Dot$0 = $TV($EXPECT($L3, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
12003
12734
  return { $loc, token: $1 };
12004
12735
  });
12005
12736
  function Dot(state) {
@@ -12024,7 +12755,7 @@ ${input.slice(result.pos)}
12024
12755
  return result;
12025
12756
  }
12026
12757
  }
12027
- var DotDot$0 = $TV($EXPECT($L110, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
12758
+ var DotDot$0 = $TV($EXPECT($L111, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
12028
12759
  return { $loc, token: $1 };
12029
12760
  });
12030
12761
  function DotDot(state) {
@@ -12049,7 +12780,7 @@ ${input.slice(result.pos)}
12049
12780
  return result;
12050
12781
  }
12051
12782
  }
12052
- var DotDotDot$0 = $TV($EXPECT($L111, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
12783
+ var DotDotDot$0 = $TV($EXPECT($L112, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
12053
12784
  return { $loc, token: $1 };
12054
12785
  });
12055
12786
  function DotDotDot(state) {
@@ -12074,7 +12805,7 @@ ${input.slice(result.pos)}
12074
12805
  return result;
12075
12806
  }
12076
12807
  }
12077
- var DoubleColon$0 = $TV($EXPECT($L112, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12808
+ var DoubleColon$0 = $TV($EXPECT($L113, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12078
12809
  return { $loc, token: $1 };
12079
12810
  });
12080
12811
  function DoubleColon(state) {
@@ -12099,7 +12830,7 @@ ${input.slice(result.pos)}
12099
12830
  return result;
12100
12831
  }
12101
12832
  }
12102
- var DoubleQuote$0 = $TV($EXPECT($L113, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12833
+ var DoubleQuote$0 = $TV($EXPECT($L114, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12103
12834
  return { $loc, token: $1 };
12104
12835
  });
12105
12836
  function DoubleQuote(state) {
@@ -12124,7 +12855,7 @@ ${input.slice(result.pos)}
12124
12855
  return result;
12125
12856
  }
12126
12857
  }
12127
- var Else$0 = $TS($S($EXPECT($L114, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12858
+ var Else$0 = $TS($S($EXPECT($L115, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12128
12859
  return { $loc, token: $1 };
12129
12860
  });
12130
12861
  function Else(state) {
@@ -12174,7 +12905,7 @@ ${input.slice(result.pos)}
12174
12905
  return result;
12175
12906
  }
12176
12907
  }
12177
- var Export$0 = $TS($S($EXPECT($L115, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12908
+ var Export$0 = $TS($S($EXPECT($L116, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12178
12909
  return { $loc, token: $1 };
12179
12910
  });
12180
12911
  function Export(state) {
@@ -12199,7 +12930,7 @@ ${input.slice(result.pos)}
12199
12930
  return result;
12200
12931
  }
12201
12932
  }
12202
- var Extends$0 = $TS($S($EXPECT($L116, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12933
+ var Extends$0 = $TS($S($EXPECT($L117, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12203
12934
  return { $loc, token: $1 };
12204
12935
  });
12205
12936
  function Extends(state) {
@@ -12224,7 +12955,7 @@ ${input.slice(result.pos)}
12224
12955
  return result;
12225
12956
  }
12226
12957
  }
12227
- var For$0 = $TS($S($EXPECT($L117, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12958
+ var For$0 = $TS($S($EXPECT($L118, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12228
12959
  return { $loc, token: $1 };
12229
12960
  });
12230
12961
  function For(state) {
@@ -12249,7 +12980,7 @@ ${input.slice(result.pos)}
12249
12980
  return result;
12250
12981
  }
12251
12982
  }
12252
- var From$0 = $TS($S($EXPECT($L118, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12983
+ var From$0 = $TS($S($EXPECT($L119, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12253
12984
  return { $loc, token: $1 };
12254
12985
  });
12255
12986
  function From(state) {
@@ -12274,7 +13005,7 @@ ${input.slice(result.pos)}
12274
13005
  return result;
12275
13006
  }
12276
13007
  }
12277
- var Function$0 = $TS($S($EXPECT($L119, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13008
+ var Function$0 = $TS($S($EXPECT($L120, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12278
13009
  return { $loc, token: $1 };
12279
13010
  });
12280
13011
  function Function(state) {
@@ -12299,7 +13030,7 @@ ${input.slice(result.pos)}
12299
13030
  return result;
12300
13031
  }
12301
13032
  }
12302
- var GetOrSet$0 = $TS($S($C($EXPECT($L120, fail, 'GetOrSet "get"'), $EXPECT($L121, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13033
+ var GetOrSet$0 = $TS($S($C($EXPECT($L121, fail, 'GetOrSet "get"'), $EXPECT($L122, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12303
13034
  return { $loc, token: $1, type: "GetOrSet" };
12304
13035
  });
12305
13036
  function GetOrSet(state) {
@@ -12324,7 +13055,7 @@ ${input.slice(result.pos)}
12324
13055
  return result;
12325
13056
  }
12326
13057
  }
12327
- var If$0 = $TV($TEXT($S($EXPECT($L122, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L6, fail, 'If " "')))), function($skip, $loc, $0, $1) {
13058
+ var If$0 = $TV($TEXT($S($EXPECT($L123, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L7, fail, 'If " "')))), function($skip, $loc, $0, $1) {
12328
13059
  return { $loc, token: $1 };
12329
13060
  });
12330
13061
  function If(state) {
@@ -12349,7 +13080,7 @@ ${input.slice(result.pos)}
12349
13080
  return result;
12350
13081
  }
12351
13082
  }
12352
- var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R47, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
13083
+ var Import$0 = $TS($S($EXPECT($L12, fail, 'Import "import"'), $Y($EXPECT($R47, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
12353
13084
  return { $loc, token: $1 };
12354
13085
  });
12355
13086
  function Import(state) {
@@ -12374,7 +13105,7 @@ ${input.slice(result.pos)}
12374
13105
  return result;
12375
13106
  }
12376
13107
  }
12377
- var In$0 = $TS($S($EXPECT($L75, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13108
+ var In$0 = $TS($S($EXPECT($L76, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12378
13109
  return { $loc, token: $1 };
12379
13110
  });
12380
13111
  function In(state) {
@@ -12399,7 +13130,7 @@ ${input.slice(result.pos)}
12399
13130
  return result;
12400
13131
  }
12401
13132
  }
12402
- var LetOrConst$0 = $TS($S($C($EXPECT($L123, fail, 'LetOrConst "let"'), $EXPECT($L124, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13133
+ var LetOrConst$0 = $TS($S($C($EXPECT($L124, fail, 'LetOrConst "let"'), $EXPECT($L125, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12403
13134
  return { $loc, token: $1 };
12404
13135
  });
12405
13136
  function LetOrConst(state) {
@@ -12424,7 +13155,7 @@ ${input.slice(result.pos)}
12424
13155
  return result;
12425
13156
  }
12426
13157
  }
12427
- var Loop$0 = $TS($S($EXPECT($L125, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13158
+ var Loop$0 = $TS($S($EXPECT($L126, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12428
13159
  return { $loc, token: "while(true)" };
12429
13160
  });
12430
13161
  function Loop(state) {
@@ -12449,7 +13180,7 @@ ${input.slice(result.pos)}
12449
13180
  return result;
12450
13181
  }
12451
13182
  }
12452
- var New$0 = $TS($S($EXPECT($L126, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13183
+ var New$0 = $TS($S($EXPECT($L127, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12453
13184
  return { $loc, token: $1 };
12454
13185
  });
12455
13186
  function New(state) {
@@ -12474,7 +13205,7 @@ ${input.slice(result.pos)}
12474
13205
  return result;
12475
13206
  }
12476
13207
  }
12477
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L74, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L6, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13208
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L50, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L7, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
12478
13209
  return { $loc, token: "!" };
12479
13210
  });
12480
13211
  function Not(state) {
@@ -12499,7 +13230,7 @@ ${input.slice(result.pos)}
12499
13230
  return result;
12500
13231
  }
12501
13232
  }
12502
- var Of$0 = $TS($S($EXPECT($L69, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13233
+ var Of$0 = $TS($S($EXPECT($L71, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12503
13234
  return { $loc, token: $1 };
12504
13235
  });
12505
13236
  function Of(state) {
@@ -12524,7 +13255,7 @@ ${input.slice(result.pos)}
12524
13255
  return result;
12525
13256
  }
12526
13257
  }
12527
- var OpenAngleBracket$0 = $TV($EXPECT($L127, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
13258
+ var OpenAngleBracket$0 = $TV($EXPECT($L128, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
12528
13259
  return { $loc, token: $1 };
12529
13260
  });
12530
13261
  function OpenAngleBracket(state) {
@@ -12549,7 +13280,7 @@ ${input.slice(result.pos)}
12549
13280
  return result;
12550
13281
  }
12551
13282
  }
12552
- var OpenBrace$0 = $TV($EXPECT($L128, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
13283
+ var OpenBrace$0 = $TV($EXPECT($L129, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
12553
13284
  return { $loc, token: $1 };
12554
13285
  });
12555
13286
  function OpenBrace(state) {
@@ -12599,7 +13330,7 @@ ${input.slice(result.pos)}
12599
13330
  return result;
12600
13331
  }
12601
13332
  }
12602
- var OpenParen$0 = $TV($EXPECT($L92, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
13333
+ var OpenParen$0 = $TV($EXPECT($L1, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
12603
13334
  return { $loc, token: $1 };
12604
13335
  });
12605
13336
  function OpenParen(state) {
@@ -12624,7 +13355,32 @@ ${input.slice(result.pos)}
12624
13355
  return result;
12625
13356
  }
12626
13357
  }
12627
- var Public$0 = $TS($S($EXPECT($L129, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13358
+ var Operator$0 = $TS($S($EXPECT($L130, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13359
+ return { $loc, token: $1 };
13360
+ });
13361
+ function Operator(state) {
13362
+ let eventData;
13363
+ if (state.events) {
13364
+ const result = state.events.enter?.("Operator", state);
13365
+ if (result) {
13366
+ if (result.cache)
13367
+ return result.cache;
13368
+ eventData = result.data;
13369
+ }
13370
+ }
13371
+ if (state.tokenize) {
13372
+ const result = $TOKEN("Operator", state, Operator$0(state));
13373
+ if (state.events)
13374
+ state.events.exit?.("Operator", state, result, eventData);
13375
+ return result;
13376
+ } else {
13377
+ const result = Operator$0(state);
13378
+ if (state.events)
13379
+ state.events.exit?.("Operator", state, result, eventData);
13380
+ return result;
13381
+ }
13382
+ }
13383
+ var Public$0 = $TS($S($EXPECT($L131, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12628
13384
  return { $loc, token: $1 };
12629
13385
  });
12630
13386
  function Public(state) {
@@ -12649,7 +13405,7 @@ ${input.slice(result.pos)}
12649
13405
  return result;
12650
13406
  }
12651
13407
  }
12652
- var Private$0 = $TS($S($EXPECT($L130, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13408
+ var Private$0 = $TS($S($EXPECT($L132, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12653
13409
  return { $loc, token: $1 };
12654
13410
  });
12655
13411
  function Private(state) {
@@ -12674,7 +13430,7 @@ ${input.slice(result.pos)}
12674
13430
  return result;
12675
13431
  }
12676
13432
  }
12677
- var Protected$0 = $TS($S($EXPECT($L131, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13433
+ var Protected$0 = $TS($S($EXPECT($L133, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12678
13434
  return { $loc, token: $1 };
12679
13435
  });
12680
13436
  function Protected(state) {
@@ -12699,7 +13455,7 @@ ${input.slice(result.pos)}
12699
13455
  return result;
12700
13456
  }
12701
13457
  }
12702
- var Pipe$0 = $TV($EXPECT($L132, fail, 'Pipe "|>"'), function($skip, $loc, $0, $1) {
13458
+ var Pipe$0 = $TV($EXPECT($L134, fail, 'Pipe "|>"'), function($skip, $loc, $0, $1) {
12703
13459
  return { $loc, token: $1 };
12704
13460
  });
12705
13461
  function Pipe(state) {
@@ -12724,7 +13480,7 @@ ${input.slice(result.pos)}
12724
13480
  return result;
12725
13481
  }
12726
13482
  }
12727
- var QuestionMark$0 = $TV($EXPECT($L1, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
13483
+ var QuestionMark$0 = $TV($EXPECT($L2, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
12728
13484
  return { $loc, token: $1 };
12729
13485
  });
12730
13486
  function QuestionMark(state) {
@@ -12749,7 +13505,7 @@ ${input.slice(result.pos)}
12749
13505
  return result;
12750
13506
  }
12751
13507
  }
12752
- var Readonly$0 = $TS($S($EXPECT($L133, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13508
+ var Readonly$0 = $TS($S($EXPECT($L135, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12753
13509
  return { $loc, token: $1, ts: true };
12754
13510
  });
12755
13511
  function Readonly(state) {
@@ -12774,7 +13530,7 @@ ${input.slice(result.pos)}
12774
13530
  return result;
12775
13531
  }
12776
13532
  }
12777
- var Return$0 = $TS($S($EXPECT($L134, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13533
+ var Return$0 = $TS($S($EXPECT($L136, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12778
13534
  return { $loc, token: $1 };
12779
13535
  });
12780
13536
  function Return(state) {
@@ -12799,7 +13555,7 @@ ${input.slice(result.pos)}
12799
13555
  return result;
12800
13556
  }
12801
13557
  }
12802
- var Satisfies$0 = $TS($S($EXPECT($L135, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13558
+ var Satisfies$0 = $TS($S($EXPECT($L137, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12803
13559
  return { $loc, token: $1 };
12804
13560
  });
12805
13561
  function Satisfies(state) {
@@ -12824,7 +13580,7 @@ ${input.slice(result.pos)}
12824
13580
  return result;
12825
13581
  }
12826
13582
  }
12827
- var Semicolon$0 = $TV($EXPECT($L80, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13583
+ var Semicolon$0 = $TV($EXPECT($L81, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
12828
13584
  return { $loc, token: $1 };
12829
13585
  });
12830
13586
  function Semicolon(state) {
@@ -12849,7 +13605,7 @@ ${input.slice(result.pos)}
12849
13605
  return result;
12850
13606
  }
12851
13607
  }
12852
- var SingleQuote$0 = $TV($EXPECT($L136, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13608
+ var SingleQuote$0 = $TV($EXPECT($L138, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12853
13609
  return { $loc, token: $1 };
12854
13610
  });
12855
13611
  function SingleQuote(state) {
@@ -12874,7 +13630,7 @@ ${input.slice(result.pos)}
12874
13630
  return result;
12875
13631
  }
12876
13632
  }
12877
- var Star$0 = $TV($EXPECT($L51, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
13633
+ var Star$0 = $TV($EXPECT($L52, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
12878
13634
  return { $loc, token: $1 };
12879
13635
  });
12880
13636
  function Star(state) {
@@ -12899,10 +13655,10 @@ ${input.slice(result.pos)}
12899
13655
  return result;
12900
13656
  }
12901
13657
  }
12902
- var Static$0 = $TS($S($EXPECT($L137, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13658
+ var Static$0 = $TS($S($EXPECT($L139, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12903
13659
  return { $loc, token: $1 };
12904
13660
  });
12905
- var Static$1 = $TS($S($EXPECT($L97, fail, 'Static "@"'), $N($C($EXPECT($L92, fail, 'Static "("'), $EXPECT($L97, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13661
+ var Static$1 = $TS($S($EXPECT($L97, fail, 'Static "@"'), $N($C($EXPECT($L1, fail, 'Static "("'), $EXPECT($L97, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
12906
13662
  return { $loc, token: "static " };
12907
13663
  });
12908
13664
  function Static(state) {
@@ -12927,7 +13683,7 @@ ${input.slice(result.pos)}
12927
13683
  return result;
12928
13684
  }
12929
13685
  }
12930
- var SubstitutionStart$0 = $TV($EXPECT($L138, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13686
+ var SubstitutionStart$0 = $TV($EXPECT($L140, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12931
13687
  return { $loc, token: $1 };
12932
13688
  });
12933
13689
  function SubstitutionStart(state) {
@@ -12952,7 +13708,7 @@ ${input.slice(result.pos)}
12952
13708
  return result;
12953
13709
  }
12954
13710
  }
12955
- var Switch$0 = $TS($S($EXPECT($L139, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13711
+ var Switch$0 = $TS($S($EXPECT($L141, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12956
13712
  return { $loc, token: $1 };
12957
13713
  });
12958
13714
  function Switch(state) {
@@ -12977,7 +13733,7 @@ ${input.slice(result.pos)}
12977
13733
  return result;
12978
13734
  }
12979
13735
  }
12980
- var Target$0 = $TS($S($EXPECT($L140, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13736
+ var Target$0 = $TS($S($EXPECT($L142, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12981
13737
  return { $loc, token: $1 };
12982
13738
  });
12983
13739
  function Target(state) {
@@ -13002,7 +13758,7 @@ ${input.slice(result.pos)}
13002
13758
  return result;
13003
13759
  }
13004
13760
  }
13005
- var Then$0 = $TS($S(__, $EXPECT($L141, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13761
+ var Then$0 = $TS($S(__, $EXPECT($L143, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13006
13762
  return { $loc, token: "" };
13007
13763
  });
13008
13764
  function Then(state) {
@@ -13027,7 +13783,7 @@ ${input.slice(result.pos)}
13027
13783
  return result;
13028
13784
  }
13029
13785
  }
13030
- var This$0 = $TS($S($EXPECT($L142, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13786
+ var This$0 = $TS($S($EXPECT($L144, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13031
13787
  return { $loc, token: $1 };
13032
13788
  });
13033
13789
  function This(state) {
@@ -13052,7 +13808,7 @@ ${input.slice(result.pos)}
13052
13808
  return result;
13053
13809
  }
13054
13810
  }
13055
- var Throw$0 = $TS($S($EXPECT($L143, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13811
+ var Throw$0 = $TS($S($EXPECT($L145, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13056
13812
  return { $loc, token: $1 };
13057
13813
  });
13058
13814
  function Throw(state) {
@@ -13077,7 +13833,7 @@ ${input.slice(result.pos)}
13077
13833
  return result;
13078
13834
  }
13079
13835
  }
13080
- var TripleDoubleQuote$0 = $TV($EXPECT($L144, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13836
+ var TripleDoubleQuote$0 = $TV($EXPECT($L146, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13081
13837
  return { $loc, token: "`" };
13082
13838
  });
13083
13839
  function TripleDoubleQuote(state) {
@@ -13102,7 +13858,7 @@ ${input.slice(result.pos)}
13102
13858
  return result;
13103
13859
  }
13104
13860
  }
13105
- var TripleSingleQuote$0 = $TV($EXPECT($L145, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13861
+ var TripleSingleQuote$0 = $TV($EXPECT($L147, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13106
13862
  return { $loc, token: "`" };
13107
13863
  });
13108
13864
  function TripleSingleQuote(state) {
@@ -13127,7 +13883,7 @@ ${input.slice(result.pos)}
13127
13883
  return result;
13128
13884
  }
13129
13885
  }
13130
- var TripleSlash$0 = $TV($EXPECT($L146, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13886
+ var TripleSlash$0 = $TV($EXPECT($L148, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13131
13887
  return { $loc, token: "/" };
13132
13888
  });
13133
13889
  function TripleSlash(state) {
@@ -13152,7 +13908,7 @@ ${input.slice(result.pos)}
13152
13908
  return result;
13153
13909
  }
13154
13910
  }
13155
- var TripleTick$0 = $TV($EXPECT($L147, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13911
+ var TripleTick$0 = $TV($EXPECT($L149, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13156
13912
  return { $loc, token: "`" };
13157
13913
  });
13158
13914
  function TripleTick(state) {
@@ -13177,7 +13933,7 @@ ${input.slice(result.pos)}
13177
13933
  return result;
13178
13934
  }
13179
13935
  }
13180
- var Try$0 = $TS($S($EXPECT($L148, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13936
+ var Try$0 = $TS($S($EXPECT($L150, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13181
13937
  return { $loc, token: $1 };
13182
13938
  });
13183
13939
  function Try(state) {
@@ -13202,7 +13958,7 @@ ${input.slice(result.pos)}
13202
13958
  return result;
13203
13959
  }
13204
13960
  }
13205
- var Typeof$0 = $TS($S($EXPECT($L149, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13961
+ var Typeof$0 = $TS($S($EXPECT($L151, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13206
13962
  return { $loc, token: $1 };
13207
13963
  });
13208
13964
  function Typeof(state) {
@@ -13227,7 +13983,7 @@ ${input.slice(result.pos)}
13227
13983
  return result;
13228
13984
  }
13229
13985
  }
13230
- var Unless$0 = $TS($S($EXPECT($L150, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13986
+ var Unless$0 = $TS($S($EXPECT($L152, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13231
13987
  return { $loc, token: $1 };
13232
13988
  });
13233
13989
  function Unless(state) {
@@ -13252,7 +14008,7 @@ ${input.slice(result.pos)}
13252
14008
  return result;
13253
14009
  }
13254
14010
  }
13255
- var Until$0 = $TS($S($EXPECT($L151, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14011
+ var Until$0 = $TS($S($EXPECT($L153, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13256
14012
  return { $loc, token: $1 };
13257
14013
  });
13258
14014
  function Until(state) {
@@ -13277,7 +14033,7 @@ ${input.slice(result.pos)}
13277
14033
  return result;
13278
14034
  }
13279
14035
  }
13280
- var Var$0 = $TS($S($EXPECT($L152, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14036
+ var Var$0 = $TS($S($EXPECT($L154, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13281
14037
  return { $loc, token: $1 };
13282
14038
  });
13283
14039
  function Var(state) {
@@ -13302,7 +14058,7 @@ ${input.slice(result.pos)}
13302
14058
  return result;
13303
14059
  }
13304
14060
  }
13305
- var Void$0 = $TS($S($EXPECT($L153, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14061
+ var Void$0 = $TS($S($EXPECT($L155, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13306
14062
  return { $loc, token: $1 };
13307
14063
  });
13308
14064
  function Void(state) {
@@ -13327,7 +14083,7 @@ ${input.slice(result.pos)}
13327
14083
  return result;
13328
14084
  }
13329
14085
  }
13330
- var When$0 = $TS($S($EXPECT($L154, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14086
+ var When$0 = $TS($S($EXPECT($L156, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13331
14087
  return { $loc, token: "case" };
13332
14088
  });
13333
14089
  function When(state) {
@@ -13352,7 +14108,7 @@ ${input.slice(result.pos)}
13352
14108
  return result;
13353
14109
  }
13354
14110
  }
13355
- var While$0 = $TS($S($EXPECT($L155, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14111
+ var While$0 = $TS($S($EXPECT($L157, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13356
14112
  return { $loc, token: $1 };
13357
14113
  });
13358
14114
  function While(state) {
@@ -13377,7 +14133,7 @@ ${input.slice(result.pos)}
13377
14133
  return result;
13378
14134
  }
13379
14135
  }
13380
- var Yield$0 = $TS($S($EXPECT($L156, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14136
+ var Yield$0 = $TS($S($EXPECT($L158, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13381
14137
  return { $loc, token: $1 };
13382
14138
  });
13383
14139
  function Yield(state) {
@@ -13523,7 +14279,7 @@ ${input.slice(result.pos)}
13523
14279
  return result;
13524
14280
  }
13525
14281
  }
13526
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L127, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L157, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14282
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L128, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L159, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13527
14283
  return { type: "JSXElement", children: $0, tag: $2 };
13528
14284
  });
13529
14285
  function JSXSelfClosingElement(state) {
@@ -13574,7 +14330,7 @@ ${input.slice(result.pos)}
13574
14330
  return result;
13575
14331
  }
13576
14332
  }
13577
- var JSXOpeningElement$0 = $S($EXPECT($L127, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L29, fail, 'JSXOpeningElement ">"'));
14333
+ var JSXOpeningElement$0 = $S($EXPECT($L128, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L29, fail, 'JSXOpeningElement ">"'));
13578
14334
  function JSXOpeningElement(state) {
13579
14335
  let eventData;
13580
14336
  if (state.events) {
@@ -13603,7 +14359,7 @@ ${input.slice(result.pos)}
13603
14359
  return $skip;
13604
14360
  return $0;
13605
14361
  });
13606
- var JSXOptionalClosingElement$1 = $EXPECT($L16, fail, 'JSXOptionalClosingElement ""');
14362
+ var JSXOptionalClosingElement$1 = $EXPECT($L17, fail, 'JSXOptionalClosingElement ""');
13607
14363
  function JSXOptionalClosingElement(state) {
13608
14364
  let eventData;
13609
14365
  if (state.events) {
@@ -13626,7 +14382,7 @@ ${input.slice(result.pos)}
13626
14382
  return result;
13627
14383
  }
13628
14384
  }
13629
- var JSXClosingElement$0 = $S($EXPECT($L158, fail, 'JSXClosingElement "</"'), $E(Whitespace), $TEXT(JSXElementName), $E(Whitespace), $EXPECT($L29, fail, 'JSXClosingElement ">"'));
14385
+ var JSXClosingElement$0 = $S($EXPECT($L160, fail, 'JSXClosingElement "</"'), $E(Whitespace), $TEXT(JSXElementName), $E(Whitespace), $EXPECT($L29, fail, 'JSXClosingElement ">"'));
13630
14386
  function JSXClosingElement(state) {
13631
14387
  let eventData;
13632
14388
  if (state.events) {
@@ -13665,7 +14421,7 @@ ${input.slice(result.pos)}
13665
14421
  ];
13666
14422
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
13667
14423
  });
13668
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L159, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
14424
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L161, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13669
14425
  var children = $3;
13670
14426
  $0 = $0.slice(1);
13671
14427
  return {
@@ -13696,7 +14452,7 @@ ${input.slice(result.pos)}
13696
14452
  return result;
13697
14453
  }
13698
14454
  }
13699
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L159, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
14455
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L161, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13700
14456
  module2.JSXTagStack.push("");
13701
14457
  return $1;
13702
14458
  });
@@ -13727,7 +14483,7 @@ ${input.slice(result.pos)}
13727
14483
  return $skip;
13728
14484
  return $0;
13729
14485
  });
13730
- var JSXOptionalClosingFragment$1 = $EXPECT($L16, fail, 'JSXOptionalClosingFragment ""');
14486
+ var JSXOptionalClosingFragment$1 = $EXPECT($L17, fail, 'JSXOptionalClosingFragment ""');
13731
14487
  function JSXOptionalClosingFragment(state) {
13732
14488
  let eventData;
13733
14489
  if (state.events) {
@@ -13750,7 +14506,7 @@ ${input.slice(result.pos)}
13750
14506
  return result;
13751
14507
  }
13752
14508
  }
13753
- var JSXClosingFragment$0 = $EXPECT($L160, fail, 'JSXClosingFragment "</>"');
14509
+ var JSXClosingFragment$0 = $EXPECT($L162, fail, 'JSXClosingFragment "</>"');
13754
14510
  function JSXClosingFragment(state) {
13755
14511
  let eventData;
13756
14512
  if (state.events) {
@@ -13957,7 +14713,7 @@ ${input.slice(result.pos)}
13957
14713
  }
13958
14714
  return parts;
13959
14715
  });
13960
- var JSXAttribute$1 = $TS($S(JSXAttributeName, $E(JSXAttributeInitializer)), function($skip, $loc, $0, $1, $2) {
14716
+ var JSXAttribute$1 = $TS($S(JSXAttributeName, $C(JSXAttributeInitializer, $Y(JSXAttributeSpace))), function($skip, $loc, $0, $1, $2) {
13961
14717
  var name = $1;
13962
14718
  var value = $2;
13963
14719
  if (name.type === "ComputedPropertyName") {
@@ -13974,8 +14730,8 @@ ${input.slice(result.pos)}
13974
14730
  return $0;
13975
14731
  }
13976
14732
  });
13977
- var JSXAttribute$2 = $S(InsertInlineOpenBrace, DotDotDot, InlineJSXAttributeValue, InsertCloseBrace);
13978
- var JSXAttribute$3 = $TS($S($EXPECT($L9, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
14733
+ var JSXAttribute$2 = $S(InsertInlineOpenBrace, DotDotDot, InlineJSXAttributeValue, InsertCloseBrace, $Y(JSXAttributeSpace));
14734
+ var JSXAttribute$3 = $TS($S($EXPECT($L10, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13979
14735
  return [" ", "id=", $2];
13980
14736
  });
13981
14737
  var JSXAttribute$4 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -14012,19 +14768,36 @@ ${input.slice(result.pos)}
14012
14768
  return result;
14013
14769
  }
14014
14770
  }
14015
- var JSXShorthandString$0 = $TR($EXPECT($R49, fail, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14016
- return module2.quoteString($0);
14017
- });
14018
- var JSXShorthandString$1 = $TS($S(StringLiteral), function($skip, $loc, $0, $1) {
14019
- if (module2.isTemplateLiteral($1)) {
14020
- return ["{", $1, "}"];
14771
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R49, fail, "JSXAttributeSpace /[\\s>]/"));
14772
+ function JSXAttributeSpace(state) {
14773
+ let eventData;
14774
+ if (state.events) {
14775
+ const result = state.events.enter?.("JSXAttributeSpace", state);
14776
+ if (result) {
14777
+ if (result.cache)
14778
+ return result.cache;
14779
+ eventData = result.data;
14780
+ }
14781
+ }
14782
+ if (state.tokenize) {
14783
+ const result = $TOKEN("JSXAttributeSpace", state, JSXAttributeSpace$0(state));
14784
+ if (state.events)
14785
+ state.events.exit?.("JSXAttributeSpace", state, result, eventData);
14786
+ return result;
14021
14787
  } else {
14022
- return $1;
14788
+ const result = JSXAttributeSpace$0(state);
14789
+ if (state.events)
14790
+ state.events.exit?.("JSXAttributeSpace", state, result, eventData);
14791
+ return result;
14023
14792
  }
14793
+ }
14794
+ var JSXShorthandString$0 = $TR($EXPECT($R50, fail, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14795
+ return module2.quoteString($0);
14024
14796
  });
14025
- var JSXShorthandString$2 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
14797
+ var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
14026
14798
  return ["{", $1, "}"];
14027
14799
  });
14800
+ var JSXShorthandString$2 = StringLiteral;
14028
14801
  var JSXShorthandString$3 = $S(OpenBrace, ExtendedExpression, $E(Whitespace), CloseBrace);
14029
14802
  function JSXShorthandString(state) {
14030
14803
  let eventData;
@@ -14095,15 +14868,16 @@ ${input.slice(result.pos)}
14095
14868
  return result;
14096
14869
  }
14097
14870
  }
14098
- var JSXAttributeValue$0 = $TS($S(StringLiteral), function($skip, $loc, $0, $1) {
14099
- if (module2.isTemplateLiteral($1))
14100
- return $skip;
14101
- return $1;
14871
+ var JSXAttributeValue$0 = $S(OpenBrace, ExtendedExpression, $E(Whitespace), CloseBrace);
14872
+ var JSXAttributeValue$1 = JSXElement;
14873
+ var JSXAttributeValue$2 = JSXFragment;
14874
+ var JSXAttributeValue$3 = $TS($S(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
14875
+ if ($2.children?.length === 1 && $2.children[0].type === "StringLiteral") {
14876
+ return $2.children[0];
14877
+ }
14878
+ return $0;
14102
14879
  });
14103
- var JSXAttributeValue$1 = $S(OpenBrace, ExtendedExpression, $E(Whitespace), CloseBrace);
14104
- var JSXAttributeValue$2 = JSXElement;
14105
- var JSXAttributeValue$3 = JSXFragment;
14106
- var JSXAttributeValue$4 = $S(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace);
14880
+ var JSXAttributeValue$4 = StringLiteral;
14107
14881
  function JSXAttributeValue(state) {
14108
14882
  let eventData;
14109
14883
  if (state.events) {
@@ -14153,7 +14927,7 @@ ${input.slice(result.pos)}
14153
14927
  return result;
14154
14928
  }
14155
14929
  }
14156
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R50, fail, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, $C(ParenthesizedAssignment, InlineJSXUnaryExpression)), function($skip, $loc, $0, $1, $2, $3) {
14930
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R51, fail, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, $C(ParenthesizedAssignment, InlineJSXUnaryExpression)), function($skip, $loc, $0, $1, $2, $3) {
14157
14931
  var op = $2;
14158
14932
  var rhs = $3;
14159
14933
  return [[], op, [], rhs];
@@ -14284,8 +15058,8 @@ ${input.slice(result.pos)}
14284
15058
  return result;
14285
15059
  }
14286
15060
  }
14287
- var InlineJSXCallExpression$0 = $S($EXPECT($L10, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
14288
- var InlineJSXCallExpression$1 = $S($EXPECT($L11, fail, 'InlineJSXCallExpression "import"'), OpenParen, ExtendedExpression, __, CloseParen);
15061
+ var InlineJSXCallExpression$0 = $S($EXPECT($L11, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
15062
+ var InlineJSXCallExpression$1 = $S($EXPECT($L12, fail, 'InlineJSXCallExpression "import"'), OpenParen, ExtendedExpression, __, CloseParen);
14289
15063
  var InlineJSXCallExpression$2 = $TS($S(InlineJSXMemberExpression, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2) {
14290
15064
  if ($2.length)
14291
15065
  return $0;
@@ -14403,14 +15177,13 @@ ${input.slice(result.pos)}
14403
15177
  var InlineJSXPrimaryExpression$0 = NullLiteral;
14404
15178
  var InlineJSXPrimaryExpression$1 = BooleanLiteral;
14405
15179
  var InlineJSXPrimaryExpression$2 = NumericLiteral;
14406
- var InlineJSXPrimaryExpression$3 = StringLiteral;
15180
+ var InlineJSXPrimaryExpression$3 = TemplateLiteral;
14407
15181
  var InlineJSXPrimaryExpression$4 = ThisLiteral;
14408
15182
  var InlineJSXPrimaryExpression$5 = ArrayLiteral;
14409
15183
  var InlineJSXPrimaryExpression$6 = BracedObjectLiteral;
14410
15184
  var InlineJSXPrimaryExpression$7 = IdentifierReference;
14411
15185
  var InlineJSXPrimaryExpression$8 = RegularExpressionLiteral;
14412
- var InlineJSXPrimaryExpression$9 = TemplateLiteral;
14413
- var InlineJSXPrimaryExpression$10 = ParenthesizedExpression;
15186
+ var InlineJSXPrimaryExpression$9 = ParenthesizedExpression;
14414
15187
  function InlineJSXPrimaryExpression(state) {
14415
15188
  let eventData;
14416
15189
  if (state.events) {
@@ -14422,12 +15195,12 @@ ${input.slice(result.pos)}
14422
15195
  }
14423
15196
  }
14424
15197
  if (state.tokenize) {
14425
- 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));
15198
+ 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));
14426
15199
  if (state.events)
14427
15200
  state.events.exit?.("InlineJSXPrimaryExpression", state, result, eventData);
14428
15201
  return result;
14429
15202
  } else {
14430
- 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);
15203
+ 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);
14431
15204
  if (state.events)
14432
15205
  state.events.exit?.("InlineJSXPrimaryExpression", state, result, eventData);
14433
15206
  return result;
@@ -14500,7 +15273,7 @@ ${input.slice(result.pos)}
14500
15273
  }
14501
15274
  return $skip;
14502
15275
  });
14503
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L19, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
15276
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L20, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
14504
15277
  return { children: [], jsxChildren: [] };
14505
15278
  });
14506
15279
  function JSXNestedChildren(state) {
@@ -14629,7 +15402,7 @@ ${input.slice(result.pos)}
14629
15402
  return result;
14630
15403
  }
14631
15404
  }
14632
- var JSXComment$0 = $TS($S($EXPECT($L161, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L162, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
15405
+ var JSXComment$0 = $TS($S($EXPECT($L163, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L164, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
14633
15406
  return ["{/*", $2, "*/}"];
14634
15407
  });
14635
15408
  function JSXComment(state) {
@@ -14654,7 +15427,7 @@ ${input.slice(result.pos)}
14654
15427
  return result;
14655
15428
  }
14656
15429
  }
14657
- var JSXCommentContent$0 = $TR($EXPECT($R51, fail, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15430
+ var JSXCommentContent$0 = $TR($EXPECT($R52, fail, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14658
15431
  return { $loc, token: $0.replace(/\*\//g, "* /") };
14659
15432
  });
14660
15433
  function JSXCommentContent(state) {
@@ -14679,7 +15452,7 @@ ${input.slice(result.pos)}
14679
15452
  return result;
14680
15453
  }
14681
15454
  }
14682
- var JSXText$0 = $TR($EXPECT($R52, fail, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15455
+ var JSXText$0 = $TR($EXPECT($R53, fail, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14683
15456
  return {
14684
15457
  type: "JSXText",
14685
15458
  token: $0,
@@ -14927,7 +15700,7 @@ ${input.slice(result.pos)}
14927
15700
  return result;
14928
15701
  }
14929
15702
  }
14930
- var TypeKeyword$0 = $S($EXPECT($L163, fail, 'TypeKeyword "type"'), NonIdContinue);
15703
+ var TypeKeyword$0 = $S($EXPECT($L165, fail, 'TypeKeyword "type"'), NonIdContinue);
14931
15704
  function TypeKeyword(state) {
14932
15705
  let eventData;
14933
15706
  if (state.events) {
@@ -14950,7 +15723,7 @@ ${input.slice(result.pos)}
14950
15723
  return result;
14951
15724
  }
14952
15725
  }
14953
- var Interface$0 = $S($EXPECT($L164, fail, 'Interface "interface"'), NonIdContinue);
15726
+ var Interface$0 = $S($EXPECT($L166, fail, 'Interface "interface"'), NonIdContinue);
14954
15727
  function Interface(state) {
14955
15728
  let eventData;
14956
15729
  if (state.events) {
@@ -14973,7 +15746,7 @@ ${input.slice(result.pos)}
14973
15746
  return result;
14974
15747
  }
14975
15748
  }
14976
- var Namespace$0 = $S($EXPECT($L165, fail, 'Namespace "namespace"'), NonIdContinue);
15749
+ var Namespace$0 = $S($EXPECT($L167, fail, 'Namespace "namespace"'), NonIdContinue);
14977
15750
  function Namespace(state) {
14978
15751
  let eventData;
14979
15752
  if (state.events) {
@@ -15022,9 +15795,9 @@ ${input.slice(result.pos)}
15022
15795
  }
15023
15796
  }
15024
15797
  var NestedInterfaceProperties$0 = $TS($S(PushIndent, $Q(NestedInterfaceProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15025
- var props = $2;
15026
- if (props.length)
15027
- return props;
15798
+ var props2 = $2;
15799
+ if (props2.length)
15800
+ return props2;
15028
15801
  return $skip;
15029
15802
  });
15030
15803
  function NestedInterfaceProperties(state) {
@@ -15221,7 +15994,7 @@ ${input.slice(result.pos)}
15221
15994
  return result;
15222
15995
  }
15223
15996
  }
15224
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R53, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L133, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R54, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
15997
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R54, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L135, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R55, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
15225
15998
  function TypeIndexSignature(state) {
15226
15999
  let eventData;
15227
16000
  if (state.events) {
@@ -15293,7 +16066,7 @@ ${input.slice(result.pos)}
15293
16066
  return result;
15294
16067
  }
15295
16068
  }
15296
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L166, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
16069
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L168, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
15297
16070
  const children = [...$1, $2];
15298
16071
  if ($3)
15299
16072
  children.push($3);
@@ -15326,7 +16099,7 @@ ${input.slice(result.pos)}
15326
16099
  return result;
15327
16100
  }
15328
16101
  }
15329
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L76, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
16102
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L77, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
15330
16103
  if (!$2)
15331
16104
  return $1;
15332
16105
  return $0;
@@ -15452,10 +16225,10 @@ ${input.slice(result.pos)}
15452
16225
  return result;
15453
16226
  }
15454
16227
  }
15455
- var TypeUnaryOp$0 = $S($EXPECT($L167, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
15456
- var TypeUnaryOp$1 = $S($EXPECT($L149, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
15457
- var TypeUnaryOp$2 = $S($EXPECT($L168, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
15458
- var TypeUnaryOp$3 = $S($EXPECT($L133, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
16228
+ var TypeUnaryOp$0 = $S($EXPECT($L169, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
16229
+ var TypeUnaryOp$1 = $S($EXPECT($L151, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
16230
+ var TypeUnaryOp$2 = $S($EXPECT($L170, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
16231
+ var TypeUnaryOp$3 = $S($EXPECT($L135, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
15459
16232
  function TypeUnaryOp(state) {
15460
16233
  let eventData;
15461
16234
  if (state.events) {
@@ -15531,8 +16304,8 @@ ${input.slice(result.pos)}
15531
16304
  return result;
15532
16305
  }
15533
16306
  }
15534
- var ImportType$0 = $S($EXPECT($L11, fail, 'ImportType "import"'), OpenParen, __, BasicStringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
15535
- var ImportType$1 = $S($EXPECT($L11, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, BasicStringLiteral, InsertCloseParen);
16307
+ var ImportType$0 = $S($EXPECT($L12, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
16308
+ var ImportType$1 = $S($EXPECT($L12, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
15536
16309
  function ImportType(state) {
15537
16310
  let eventData;
15538
16311
  if (state.events) {
@@ -15653,7 +16426,7 @@ ${input.slice(result.pos)}
15653
16426
  return result;
15654
16427
  }
15655
16428
  }
15656
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L116, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
16429
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L117, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
15657
16430
  if ($2)
15658
16431
  return $0;
15659
16432
  return $1;
@@ -15680,12 +16453,12 @@ ${input.slice(result.pos)}
15680
16453
  return result;
15681
16454
  }
15682
16455
  }
15683
- var TypeLiteral$0 = Literal;
15684
- var TypeLiteral$1 = TemplateLiteral;
15685
- var TypeLiteral$2 = $TS($S($EXPECT($L153, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16456
+ var TypeLiteral$0 = TemplateLiteral;
16457
+ var TypeLiteral$1 = Literal;
16458
+ var TypeLiteral$2 = $TS($S($EXPECT($L155, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15686
16459
  return { $loc, token: "void" };
15687
16460
  });
15688
- var TypeLiteral$3 = $TV($EXPECT($L169, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
16461
+ var TypeLiteral$3 = $TV($EXPECT($L171, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
15689
16462
  return { $loc, token: "[]" };
15690
16463
  });
15691
16464
  function TypeLiteral(state) {
@@ -15760,7 +16533,7 @@ ${input.slice(result.pos)}
15760
16533
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
15761
16534
  return value[1];
15762
16535
  });
15763
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L17, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L30, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L19, fail, 'InlineInterfacePropertyDelimiter "}"'))));
16536
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L18, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L30, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L20, fail, 'InlineInterfacePropertyDelimiter "}"'))));
15764
16537
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
15765
16538
  function InlineInterfacePropertyDelimiter(state) {
15766
16539
  let eventData;
@@ -15784,10 +16557,10 @@ ${input.slice(result.pos)}
15784
16557
  return result;
15785
16558
  }
15786
16559
  }
15787
- var TypeBinaryOp$0 = $TV($EXPECT($L79, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
16560
+ var TypeBinaryOp$0 = $TV($EXPECT($L80, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
15788
16561
  return { $loc, token: "|" };
15789
16562
  });
15790
- var TypeBinaryOp$1 = $TV($EXPECT($L77, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
16563
+ var TypeBinaryOp$1 = $TV($EXPECT($L78, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
15791
16564
  return { $loc, token: "&" };
15792
16565
  });
15793
16566
  function TypeBinaryOp(state) {
@@ -15812,7 +16585,7 @@ ${input.slice(result.pos)}
15812
16585
  return result;
15813
16586
  }
15814
16587
  }
15815
- var FunctionType$0 = $TS($S(Parameters, __, $EXPECT($L5, fail, 'FunctionType "=>"'), $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4) {
16588
+ var FunctionType$0 = $TS($S(Parameters, __, $EXPECT($L6, fail, 'FunctionType "=>"'), $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4) {
15816
16589
  var type = $4;
15817
16590
  if (type) {
15818
16591
  return $0;
@@ -15841,7 +16614,7 @@ ${input.slice(result.pos)}
15841
16614
  return result;
15842
16615
  }
15843
16616
  }
15844
- var TypeArguments$0 = $TS($S($EXPECT($L127, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L29, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
16617
+ var TypeArguments$0 = $TS($S($EXPECT($L128, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L29, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
15845
16618
  return { ts: true, children: $0 };
15846
16619
  });
15847
16620
  function TypeArguments(state) {
@@ -15912,7 +16685,7 @@ ${input.slice(result.pos)}
15912
16685
  return result;
15913
16686
  }
15914
16687
  }
15915
- var TypeParameters$0 = $TS($S(__, $EXPECT($L127, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L29, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
16688
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L128, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L29, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15916
16689
  var parameters = $3;
15917
16690
  return {
15918
16691
  type: "TypeParameters",
@@ -15966,7 +16739,7 @@ ${input.slice(result.pos)}
15966
16739
  return result;
15967
16740
  }
15968
16741
  }
15969
- var TypeConstraint$0 = $S(__, $EXPECT($L116, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
16742
+ var TypeConstraint$0 = $S(__, $EXPECT($L117, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
15970
16743
  function TypeConstraint(state) {
15971
16744
  let eventData;
15972
16745
  if (state.events) {
@@ -16064,7 +16837,7 @@ ${input.slice(result.pos)}
16064
16837
  return result;
16065
16838
  }
16066
16839
  }
16067
- var Shebang$0 = $S($R$0($EXPECT($R55, fail, "Shebang /#![^\\r\\n]*/")), EOL);
16840
+ var Shebang$0 = $S($R$0($EXPECT($R56, fail, "Shebang /#![^\\r\\n]*/")), EOL);
16068
16841
  function Shebang(state) {
16069
16842
  let eventData;
16070
16843
  if (state.events) {
@@ -16087,11 +16860,11 @@ ${input.slice(result.pos)}
16087
16860
  return result;
16088
16861
  }
16089
16862
  }
16090
- var CivetPrologue$0 = $T($S($EXPECT($R56, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
16863
+ var CivetPrologue$0 = $T($S($EXPECT($R57, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
16091
16864
  var content = value[2];
16092
16865
  return content;
16093
16866
  });
16094
- var CivetPrologue$1 = $T($S($EXPECT($R56, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
16867
+ var CivetPrologue$1 = $T($S($EXPECT($R57, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
16095
16868
  var content = value[2];
16096
16869
  return content;
16097
16870
  });
@@ -16117,7 +16890,7 @@ ${input.slice(result.pos)}
16117
16890
  return result;
16118
16891
  }
16119
16892
  }
16120
- var CivetPrologueContent$0 = $TS($S($EXPECT($L170, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R57, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
16893
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L172, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R58, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
16121
16894
  var options = $3;
16122
16895
  return {
16123
16896
  type: "CivetPrologue",
@@ -16147,7 +16920,7 @@ ${input.slice(result.pos)}
16147
16920
  return result;
16148
16921
  }
16149
16922
  }
16150
- var CivetOption$0 = $TR($EXPECT($R58, 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) {
16923
+ var CivetOption$0 = $TR($EXPECT($R59, 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) {
16151
16924
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
16152
16925
  if (l)
16153
16926
  return l.toUpperCase();
@@ -16183,7 +16956,7 @@ ${input.slice(result.pos)}
16183
16956
  return result;
16184
16957
  }
16185
16958
  }
16186
- var UnknownPrologue$0 = $S($R$0($EXPECT($R56, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
16959
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R57, fail, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
16187
16960
  function UnknownPrologue(state) {
16188
16961
  let eventData;
16189
16962
  if (state.events) {
@@ -16253,7 +17026,7 @@ ${input.slice(result.pos)}
16253
17026
  return result;
16254
17027
  }
16255
17028
  }
16256
- var EOL$0 = $TR($EXPECT($R59, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
17029
+ var EOL$0 = $TR($EXPECT($R60, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16257
17030
  return { $loc, token: $0 };
16258
17031
  });
16259
17032
  function EOL(state) {
@@ -16278,7 +17051,7 @@ ${input.slice(result.pos)}
16278
17051
  return result;
16279
17052
  }
16280
17053
  }
16281
- var Debugger$0 = $TV($EXPECT($L16, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
17054
+ var Debugger$0 = $TV($EXPECT($L17, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
16282
17055
  debugger;
16283
17056
  });
16284
17057
  function Debugger(state) {
@@ -16303,7 +17076,7 @@ ${input.slice(result.pos)}
16303
17076
  return result;
16304
17077
  }
16305
17078
  }
16306
- var InsertSemicolon$0 = $TV($EXPECT($L16, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
17079
+ var InsertSemicolon$0 = $TV($EXPECT($L17, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
16307
17080
  return { $loc, token: ";" };
16308
17081
  });
16309
17082
  function InsertSemicolon(state) {
@@ -16328,7 +17101,7 @@ ${input.slice(result.pos)}
16328
17101
  return result;
16329
17102
  }
16330
17103
  }
16331
- var InsertOpenParen$0 = $TV($EXPECT($L16, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
17104
+ var InsertOpenParen$0 = $TV($EXPECT($L17, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
16332
17105
  return { $loc, token: "(" };
16333
17106
  });
16334
17107
  function InsertOpenParen(state) {
@@ -16353,7 +17126,7 @@ ${input.slice(result.pos)}
16353
17126
  return result;
16354
17127
  }
16355
17128
  }
16356
- var InsertCloseParen$0 = $TV($EXPECT($L16, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
17129
+ var InsertCloseParen$0 = $TV($EXPECT($L17, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
16357
17130
  return { $loc, token: ")" };
16358
17131
  });
16359
17132
  function InsertCloseParen(state) {
@@ -16378,7 +17151,7 @@ ${input.slice(result.pos)}
16378
17151
  return result;
16379
17152
  }
16380
17153
  }
16381
- var InsertOpenBrace$0 = $TV($EXPECT($L16, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
17154
+ var InsertOpenBrace$0 = $TV($EXPECT($L17, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
16382
17155
  return [{ $loc, token: " " }, { $loc, token: "{" }];
16383
17156
  });
16384
17157
  function InsertOpenBrace(state) {
@@ -16403,7 +17176,7 @@ ${input.slice(result.pos)}
16403
17176
  return result;
16404
17177
  }
16405
17178
  }
16406
- var InsertInlineOpenBrace$0 = $TV($EXPECT($L16, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
17179
+ var InsertInlineOpenBrace$0 = $TV($EXPECT($L17, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
16407
17180
  return { $loc, token: "{" };
16408
17181
  });
16409
17182
  function InsertInlineOpenBrace(state) {
@@ -16428,7 +17201,7 @@ ${input.slice(result.pos)}
16428
17201
  return result;
16429
17202
  }
16430
17203
  }
16431
- var InsertCloseBrace$0 = $TV($EXPECT($L16, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
17204
+ var InsertCloseBrace$0 = $TV($EXPECT($L17, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
16432
17205
  return { $loc, token: "}" };
16433
17206
  });
16434
17207
  function InsertCloseBrace(state) {
@@ -16453,7 +17226,57 @@ ${input.slice(result.pos)}
16453
17226
  return result;
16454
17227
  }
16455
17228
  }
16456
- var InsertComma$0 = $TV($EXPECT($L16, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
17229
+ var InsertOpenBracket$0 = $TV($EXPECT($L17, fail, 'InsertOpenBracket ""'), function($skip, $loc, $0, $1) {
17230
+ return { $loc, token: "[" };
17231
+ });
17232
+ function InsertOpenBracket(state) {
17233
+ let eventData;
17234
+ if (state.events) {
17235
+ const result = state.events.enter?.("InsertOpenBracket", state);
17236
+ if (result) {
17237
+ if (result.cache)
17238
+ return result.cache;
17239
+ eventData = result.data;
17240
+ }
17241
+ }
17242
+ if (state.tokenize) {
17243
+ const result = $TOKEN("InsertOpenBracket", state, InsertOpenBracket$0(state));
17244
+ if (state.events)
17245
+ state.events.exit?.("InsertOpenBracket", state, result, eventData);
17246
+ return result;
17247
+ } else {
17248
+ const result = InsertOpenBracket$0(state);
17249
+ if (state.events)
17250
+ state.events.exit?.("InsertOpenBracket", state, result, eventData);
17251
+ return result;
17252
+ }
17253
+ }
17254
+ var InsertCloseBracket$0 = $TV($EXPECT($L17, fail, 'InsertCloseBracket ""'), function($skip, $loc, $0, $1) {
17255
+ return { $loc, token: "]" };
17256
+ });
17257
+ function InsertCloseBracket(state) {
17258
+ let eventData;
17259
+ if (state.events) {
17260
+ const result = state.events.enter?.("InsertCloseBracket", state);
17261
+ if (result) {
17262
+ if (result.cache)
17263
+ return result.cache;
17264
+ eventData = result.data;
17265
+ }
17266
+ }
17267
+ if (state.tokenize) {
17268
+ const result = $TOKEN("InsertCloseBracket", state, InsertCloseBracket$0(state));
17269
+ if (state.events)
17270
+ state.events.exit?.("InsertCloseBracket", state, result, eventData);
17271
+ return result;
17272
+ } else {
17273
+ const result = InsertCloseBracket$0(state);
17274
+ if (state.events)
17275
+ state.events.exit?.("InsertCloseBracket", state, result, eventData);
17276
+ return result;
17277
+ }
17278
+ }
17279
+ var InsertComma$0 = $TV($EXPECT($L17, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
16457
17280
  return { $loc, token: "," };
16458
17281
  });
16459
17282
  function InsertComma(state) {
@@ -16478,7 +17301,7 @@ ${input.slice(result.pos)}
16478
17301
  return result;
16479
17302
  }
16480
17303
  }
16481
- var InsertConst$0 = $TV($EXPECT($L16, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
17304
+ var InsertConst$0 = $TV($EXPECT($L17, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
16482
17305
  return { $loc, token: "const " };
16483
17306
  });
16484
17307
  function InsertConst(state) {
@@ -16503,7 +17326,7 @@ ${input.slice(result.pos)}
16503
17326
  return result;
16504
17327
  }
16505
17328
  }
16506
- var InsertLet$0 = $TV($EXPECT($L16, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
17329
+ var InsertLet$0 = $TV($EXPECT($L17, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
16507
17330
  return { $loc, token: "let " };
16508
17331
  });
16509
17332
  function InsertLet(state) {
@@ -16528,7 +17351,7 @@ ${input.slice(result.pos)}
16528
17351
  return result;
16529
17352
  }
16530
17353
  }
16531
- var InsertReadonly$0 = $TV($EXPECT($L16, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
17354
+ var InsertReadonly$0 = $TV($EXPECT($L17, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
16532
17355
  return { ts: true, children: [{ $loc, token: "readonly " }] };
16533
17356
  });
16534
17357
  function InsertReadonly(state) {
@@ -16553,7 +17376,7 @@ ${input.slice(result.pos)}
16553
17376
  return result;
16554
17377
  }
16555
17378
  }
16556
- var InsertNewline$0 = $TV($EXPECT($L16, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
17379
+ var InsertNewline$0 = $TV($EXPECT($L17, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
16557
17380
  return "\n";
16558
17381
  });
16559
17382
  function InsertNewline(state) {
@@ -16578,7 +17401,7 @@ ${input.slice(result.pos)}
16578
17401
  return result;
16579
17402
  }
16580
17403
  }
16581
- var InsertIndent$0 = $TV($EXPECT($L16, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
17404
+ var InsertIndent$0 = $TV($EXPECT($L17, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
16582
17405
  return module2.currentIndent.token;
16583
17406
  });
16584
17407
  function InsertIndent(state) {
@@ -16603,7 +17426,7 @@ ${input.slice(result.pos)}
16603
17426
  return result;
16604
17427
  }
16605
17428
  }
16606
- var InsertSpace$0 = $TV($EXPECT($L16, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
17429
+ var InsertSpace$0 = $TV($EXPECT($L17, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
16607
17430
  return { $loc, token: " " };
16608
17431
  });
16609
17432
  function InsertSpace(state) {
@@ -16628,7 +17451,7 @@ ${input.slice(result.pos)}
16628
17451
  return result;
16629
17452
  }
16630
17453
  }
16631
- var InsertDot$0 = $TV($EXPECT($L16, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
17454
+ var InsertDot$0 = $TV($EXPECT($L17, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
16632
17455
  return { $loc, token: "." };
16633
17456
  });
16634
17457
  function InsertDot(state) {
@@ -16653,7 +17476,7 @@ ${input.slice(result.pos)}
16653
17476
  return result;
16654
17477
  }
16655
17478
  }
16656
- var InsertBreak$0 = $TV($EXPECT($L16, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
17479
+ var InsertBreak$0 = $TV($EXPECT($L17, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
16657
17480
  return { $loc, token: ";break;" };
16658
17481
  });
16659
17482
  function InsertBreak(state) {
@@ -16678,7 +17501,7 @@ ${input.slice(result.pos)}
16678
17501
  return result;
16679
17502
  }
16680
17503
  }
16681
- var InsertVar$0 = $TV($EXPECT($L16, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
17504
+ var InsertVar$0 = $TV($EXPECT($L17, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
16682
17505
  return { $loc, token: "var " };
16683
17506
  });
16684
17507
  function InsertVar(state) {
@@ -16703,7 +17526,7 @@ ${input.slice(result.pos)}
16703
17526
  return result;
16704
17527
  }
16705
17528
  }
16706
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
17529
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
16707
17530
  if (module2.config.coffeeBinaryExistential)
16708
17531
  return;
16709
17532
  return $skip;
@@ -16730,7 +17553,7 @@ ${input.slice(result.pos)}
16730
17553
  return result;
16731
17554
  }
16732
17555
  }
16733
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
17556
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
16734
17557
  if (module2.config.coffeeBooleans)
16735
17558
  return;
16736
17559
  return $skip;
@@ -16757,7 +17580,7 @@ ${input.slice(result.pos)}
16757
17580
  return result;
16758
17581
  }
16759
17582
  }
16760
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
17583
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
16761
17584
  if (module2.config.coffeeClasses)
16762
17585
  return;
16763
17586
  return $skip;
@@ -16784,7 +17607,7 @@ ${input.slice(result.pos)}
16784
17607
  return result;
16785
17608
  }
16786
17609
  }
16787
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
17610
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
16788
17611
  if (module2.config.coffeeComment)
16789
17612
  return;
16790
17613
  return $skip;
@@ -16811,7 +17634,7 @@ ${input.slice(result.pos)}
16811
17634
  return result;
16812
17635
  }
16813
17636
  }
16814
- var CoffeeDoEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
17637
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
16815
17638
  if (module2.config.coffeeDo)
16816
17639
  return;
16817
17640
  return $skip;
@@ -16838,7 +17661,7 @@ ${input.slice(result.pos)}
16838
17661
  return result;
16839
17662
  }
16840
17663
  }
16841
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
17664
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
16842
17665
  if (module2.config.coffeeForLoops)
16843
17666
  return;
16844
17667
  return $skip;
@@ -16865,7 +17688,7 @@ ${input.slice(result.pos)}
16865
17688
  return result;
16866
17689
  }
16867
17690
  }
16868
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
17691
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
16869
17692
  if (module2.config.coffeeInterpolation)
16870
17693
  return;
16871
17694
  return $skip;
@@ -16892,7 +17715,7 @@ ${input.slice(result.pos)}
16892
17715
  return result;
16893
17716
  }
16894
17717
  }
16895
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
17718
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
16896
17719
  if (module2.config.coffeeIsnt)
16897
17720
  return;
16898
17721
  return $skip;
@@ -16919,7 +17742,7 @@ ${input.slice(result.pos)}
16919
17742
  return result;
16920
17743
  }
16921
17744
  }
16922
- var CoffeeJSXEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
17745
+ var CoffeeJSXEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
16923
17746
  if (module2.config.coffeeJSX)
16924
17747
  return;
16925
17748
  return $skip;
@@ -16946,7 +17769,7 @@ ${input.slice(result.pos)}
16946
17769
  return result;
16947
17770
  }
16948
17771
  }
16949
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
17772
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
16950
17773
  if (module2.config.coffeeLineContinuation)
16951
17774
  return;
16952
17775
  return $skip;
@@ -16973,7 +17796,7 @@ ${input.slice(result.pos)}
16973
17796
  return result;
16974
17797
  }
16975
17798
  }
16976
- var CoffeeNotEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
17799
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
16977
17800
  if (module2.config.coffeeNot)
16978
17801
  return;
16979
17802
  return $skip;
@@ -17000,7 +17823,7 @@ ${input.slice(result.pos)}
17000
17823
  return result;
17001
17824
  }
17002
17825
  }
17003
- var CoffeeOfEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
17826
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
17004
17827
  if (module2.config.coffeeOf)
17005
17828
  return;
17006
17829
  return $skip;
@@ -17027,7 +17850,7 @@ ${input.slice(result.pos)}
17027
17850
  return result;
17028
17851
  }
17029
17852
  }
17030
- var CoffeePrototypeEnabled$0 = $TV($EXPECT($L16, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
17853
+ var CoffeePrototypeEnabled$0 = $TV($EXPECT($L17, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
17031
17854
  if (module2.config.coffeePrototype)
17032
17855
  return;
17033
17856
  return $skip;
@@ -17054,7 +17877,7 @@ ${input.slice(result.pos)}
17054
17877
  return result;
17055
17878
  }
17056
17879
  }
17057
- var ObjectIsEnabled$0 = $TV($EXPECT($L16, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
17880
+ var ObjectIsEnabled$0 = $TV($EXPECT($L17, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
17058
17881
  if (module2.config.objectIs)
17059
17882
  return;
17060
17883
  return $skip;
@@ -17081,13 +17904,14 @@ ${input.slice(result.pos)}
17081
17904
  return result;
17082
17905
  }
17083
17906
  }
17084
- var Reset$0 = $TV($EXPECT($L16, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
17907
+ var Reset$0 = $TV($EXPECT($L17, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
17085
17908
  module2.indentLevels = [{
17086
17909
  level: 0,
17087
17910
  token: ""
17088
17911
  }];
17089
17912
  module2.suppressTrailingMemberProperty = [false];
17090
17913
  module2.JSXTagStack = [];
17914
+ module2.operators = /* @__PURE__ */ new Set();
17091
17915
  if (!module2._init) {
17092
17916
  module2._init = true;
17093
17917
  Object.defineProperties(module2, {
@@ -17351,7 +18175,7 @@ ${input.slice(result.pos)}
17351
18175
  return result;
17352
18176
  }
17353
18177
  }
17354
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L16, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
18178
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L17, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
17355
18179
  var directives = $2;
17356
18180
  directives.forEach((directive) => {
17357
18181
  if (directive.type === "CivetPrologue") {
@@ -17561,11 +18385,11 @@ ${input.slice(result.pos)}
17561
18385
  return;
17562
18386
  case "WhenClause":
17563
18387
  node.children.splice(node.children.indexOf(node.break), 1);
17564
- if (node.block.length === 0) {
17565
- node.block.push(wrapWithReturn());
17566
- return;
18388
+ if (node.block.expressions.length) {
18389
+ insertReturn(node.block);
18390
+ } else {
18391
+ node.block.expressions.push(wrapWithReturn());
17567
18392
  }
17568
- insertReturn(node.block);
17569
18393
  return;
17570
18394
  case "DefaultClause":
17571
18395
  insertReturn(node.block);
@@ -17616,18 +18440,19 @@ ${input.slice(result.pos)}
17616
18440
  const returnStatement = wrapWithReturn(node[1]);
17617
18441
  node.splice(1, 1, returnStatement);
17618
18442
  }
17619
- module2.makeLeftHandSideExpression = function(exp) {
17620
- switch (exp.type) {
18443
+ module2.makeLeftHandSideExpression = function(expression) {
18444
+ switch (expression.type) {
17621
18445
  case "Identifier":
17622
18446
  case "Literal":
17623
18447
  case "CallExpression":
17624
18448
  case "MemberExpression":
17625
18449
  case "ParenthesizedExpression":
17626
- return exp;
18450
+ return expression;
17627
18451
  default:
17628
18452
  return {
17629
18453
  type: "ParenthesizedExpression",
17630
- children: ["(", exp, ")"]
18454
+ children: ["(", expression, ")"],
18455
+ expression
17631
18456
  };
17632
18457
  }
17633
18458
  };
@@ -17680,7 +18505,9 @@ ${input.slice(result.pos)}
17680
18505
  children = [a, wsOp, ".", op2.method, "(", wsB, b, ")"];
17681
18506
  }
17682
18507
  } else if (op2.token) {
17683
- children = ["(", a, wsOp, op2, wsB, b, ")"];
18508
+ children = [a, wsOp, op2, wsB, b];
18509
+ if (op2.negated)
18510
+ children = ["(", ...children, ")"];
17684
18511
  } else {
17685
18512
  throw new Error("Unknown operator: " + JSON.stringify(op2));
17686
18513
  }
@@ -17832,7 +18659,10 @@ ${input.slice(result.pos)}
17832
18659
  i++;
17833
18660
  }
17834
18661
  results.push(e);
17835
- return results;
18662
+ return {
18663
+ type: "TemplateLiteral",
18664
+ children: results
18665
+ };
17836
18666
  };
17837
18667
  module2.dedentBlockString = function({ $loc: $loc2, token: str }, spacing, trim = true) {
17838
18668
  if (spacing == null)
@@ -17852,11 +18682,67 @@ ${input.slice(result.pos)}
17852
18682
  token: str
17853
18683
  };
17854
18684
  };
17855
- module2.reorderBindingRestProperty = function(props) {
17856
- const names = props.flatMap((p) => p.names);
18685
+ module2.adjustBindingElements = function(elements) {
18686
+ const names = elements.flatMap((p) => p.names || []), { length } = elements;
18687
+ let blockPrefix, restIndex = -1, restCount = 0;
18688
+ elements.forEach(({ rest }, i) => {
18689
+ if (rest) {
18690
+ if (restIndex < 0)
18691
+ restIndex = i;
18692
+ restCount++;
18693
+ }
18694
+ });
18695
+ if (restCount === 0) {
18696
+ return {
18697
+ children: elements,
18698
+ names,
18699
+ blockPrefix,
18700
+ length
18701
+ };
18702
+ } else if (restCount === 1) {
18703
+ const rest = elements[restIndex];
18704
+ const after = elements.slice(restIndex + 1);
18705
+ let restIdentifier;
18706
+ if (rest.ref) {
18707
+ restIdentifier = rest.ref;
18708
+ } else {
18709
+ restIdentifier = rest.names[0];
18710
+ names.push(...rest.names);
18711
+ }
18712
+ if (after.length) {
18713
+ const spliceRef = module2.getRef("splice");
18714
+ blockPrefix = {
18715
+ type: "PostRestBindingElements",
18716
+ children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
18717
+ names: after.flatMap((p) => p.names)
18718
+ };
18719
+ }
18720
+ return {
18721
+ names,
18722
+ children: [...elements.slice(0, restIndex), {
18723
+ ...rest,
18724
+ children: rest.children.slice(0, -1)
18725
+ }],
18726
+ blockPrefix,
18727
+ length
18728
+ };
18729
+ }
18730
+ const err = {
18731
+ type: "Error",
18732
+ children: ["Multiple rest elements in array pattern"]
18733
+ };
18734
+ return {
18735
+ names,
18736
+ children: [...elements, err],
18737
+ blockPrefix,
18738
+ length
18739
+ };
18740
+ };
18741
+ module2.reorderBindingRestProperty = function(props2) {
18742
+ const names = props2.flatMap((p) => p.names);
17857
18743
  let restIndex = -1;
17858
18744
  let restCount = 0;
17859
- props.forEach(({ type }, i) => {
18745
+ props2.forEach(({ type }, i) => {
17860
18746
  if (type === "BindingRestProperty") {
17861
18747
  if (restIndex < 0)
17862
18748
  restIndex = i;
@@ -17864,21 +18750,20 @@ ${input.slice(result.pos)}
17864
18750
  }
17865
18751
  });
17866
18752
  if (restCount === 0) {
17867
- const children = [...props];
17868
18753
  return {
17869
- children,
18754
+ children: props2,
17870
18755
  names
17871
18756
  };
17872
18757
  } else if (restCount === 1) {
17873
- let after = props.slice(restIndex + 1);
17874
- let rest = props[restIndex];
17875
- props = props.slice(0, restIndex);
18758
+ let after = props2.slice(restIndex + 1);
18759
+ let rest = props2[restIndex];
18760
+ props2 = props2.slice(0, restIndex);
17876
18761
  if (after.length) {
17877
18762
  const [restDelim] = rest.children.slice(-1), lastAfterProp = after[after.length - 1], lastAfterChildren = lastAfterProp.children, [lastDelim] = lastAfterChildren.slice(-1);
17878
18763
  rest = { ...rest, children: [...rest.children.slice(0, -1), lastDelim] };
17879
18764
  after = [...after.slice(0, -1), { ...lastAfterProp, children: [...lastAfterChildren.slice(0, -1), restDelim] }];
17880
18765
  }
17881
- const children = [...props, ...after, rest];
18766
+ const children = [...props2, ...after, rest];
17882
18767
  return {
17883
18768
  children,
17884
18769
  names
@@ -18132,11 +19017,260 @@ ${input.slice(result.pos)}
18132
19017
  block
18133
19018
  };
18134
19019
  };
19020
+ function getPatternConditions(pattern, ref, conditions) {
19021
+ switch (pattern.type) {
19022
+ case "ArrayMatchingPattern": {
19023
+ const { elements, length } = pattern, hasRest = elements.some((e) => e.rest), comparator = hasRest ? " >= " : " === ", l = [comparator, (length - hasRest).toString()];
19024
+ conditions.push(
19025
+ ["Array.isArray(", ref, ")"],
19026
+ [ref, ".length", l]
19027
+ );
19028
+ elements.forEach(({ children: [, e] }, i) => {
19029
+ const subRef = [ref, "[", i.toString(), "]"];
19030
+ switch (e.type) {
19031
+ case "ArrayMatchingPattern":
19032
+ case "ObjectMatchingPattern":
19033
+ case "RegularExpressionLiteral":
19034
+ getPatternConditions(e, subRef, conditions);
19035
+ break;
19036
+ case "BindingMatchElement":
19037
+ getPatternConditions(e.match, subRef, conditions);
19038
+ break;
19039
+ }
19040
+ });
19041
+ const postRest = pattern.children.find((c) => c?.blockPrefix);
19042
+ if (postRest) {
19043
+ const postElements = postRest.blockPrefix.children[1], { length: postLength } = postElements;
19044
+ postElements.forEach(({ children: [, e] }, i) => {
19045
+ const subRef = [ref, "[", ref, ".length - ", (postLength + i).toString(), "]"];
19046
+ switch (e.type) {
19047
+ case "ArrayMatchingPattern":
19048
+ case "ObjectMatchingPattern":
19049
+ case "RegularExpressionLiteral":
19050
+ case "Literal":
19051
+ getPatternConditions(e, subRef, conditions);
19052
+ break;
19053
+ case "BindingMatchElement":
19054
+ getPatternConditions(e.match, subRef, conditions);
19055
+ break;
19056
+ }
19057
+ });
19058
+ }
19059
+ break;
19060
+ }
19061
+ case "ObjectMatchingPattern": {
19062
+ conditions.push(
19063
+ ["typeof ", ref, " === 'object'"],
19064
+ [ref, " != null"]
19065
+ );
19066
+ pattern.properties.forEach((p) => {
19067
+ switch (p.type) {
19068
+ case "BindingMatchProperty": {
19069
+ const { name, match } = p;
19070
+ let subRef;
19071
+ switch (name.type) {
19072
+ case "ComputedPropertyName":
19073
+ conditions.push([name.expression, " in ", ref]);
19074
+ subRef = [ref, name];
19075
+ break;
19076
+ case "Literal":
19077
+ case "StringLiteral":
19078
+ case void 0:
19079
+ conditions.push([name, " in ", ref]);
19080
+ subRef = [ref, "[", name, "]"];
19081
+ break;
19082
+ default:
19083
+ conditions.push(["'", name, "' in ", ref]);
19084
+ subRef = [ref, ".", name];
19085
+ }
19086
+ getPatternConditions(p.match, subRef, conditions);
19087
+ break;
19088
+ }
19089
+ case "BindingProperty":
19090
+ conditions.push(["'", p.identifier, "' in ", ref]);
19091
+ break;
19092
+ }
19093
+ });
19094
+ break;
19095
+ }
19096
+ case "RegularExpressionLiteral": {
19097
+ conditions.push(
19098
+ ["typeof ", ref, " === 'string'"],
19099
+ [pattern, ".test(", ref, ")"]
19100
+ );
19101
+ break;
19102
+ }
19103
+ default: {
19104
+ conditions.push([
19105
+ ref,
19106
+ " === ",
19107
+ pattern
19108
+ ]);
19109
+ }
19110
+ }
19111
+ }
19112
+ function elideMatchersFromArrayBindings(elements) {
19113
+ return elements.map(({ children: [ws, e, sep] }) => {
19114
+ switch (e.type) {
19115
+ case "Literal":
19116
+ case "RegularExpressionLiteral":
19117
+ case "StringLiteral":
19118
+ return sep;
19119
+ default:
19120
+ return [ws, nonMatcherBindings(e), sep];
19121
+ }
19122
+ });
19123
+ }
19124
+ function elideMatchersFromPropertyBindings(properties) {
19125
+ return properties.map((p) => {
19126
+ switch (p.type) {
19127
+ case "BindingMatchProperty": {
19128
+ const { children, name, match } = p;
19129
+ const [ws, , , , , , sep] = children;
19130
+ switch (match.type) {
19131
+ case "ArrayMatchingPattern":
19132
+ case "ObjectMatchingPattern":
19133
+ return {
19134
+ ...p,
19135
+ children: [ws, name, ": ", nonMatcherBindings(match)]
19136
+ };
19137
+ case "Identifier":
19138
+ switch (name.type) {
19139
+ case "ComputedPropertyName":
19140
+ case "Literal":
19141
+ case void 0:
19142
+ return {
19143
+ ...p,
19144
+ children: [ws, name, ": ", match, sep]
19145
+ };
19146
+ }
19147
+ case "Literal":
19148
+ case "RegularExpressionLiteral":
19149
+ case "StringLiteral":
19150
+ default:
19151
+ return {
19152
+ ...p,
19153
+ children: [ws, name, sep]
19154
+ };
19155
+ }
19156
+ }
19157
+ case "BindingProperty":
19158
+ case "BindingRestProperty":
19159
+ default:
19160
+ return p;
19161
+ }
19162
+ });
19163
+ }
19164
+ function nonMatcherBindings(pattern) {
19165
+ switch (pattern.type) {
19166
+ case "ArrayMatchingPattern":
19167
+ return ["[", elideMatchersFromArrayBindings(pattern.elements), "]"];
19168
+ case "PostRestBindingElements": {
19169
+ const els = elideMatchersFromArrayBindings(pattern.children[1]);
19170
+ return {
19171
+ ...pattern,
19172
+ children: [
19173
+ pattern.children[0],
19174
+ els,
19175
+ ...pattern.children.slice(2)
19176
+ ]
19177
+ };
19178
+ }
19179
+ case "ObjectMatchingPattern":
19180
+ return ["{", elideMatchersFromPropertyBindings(pattern.properties), "}"];
19181
+ default:
19182
+ return pattern;
19183
+ }
19184
+ }
19185
+ function processPatternMatching(statements) {
19186
+ gatherRecursiveAll(statements, (n) => n.type === "SwitchStatement").forEach((s) => {
19187
+ const { caseBlock } = s;
19188
+ const { clauses } = caseBlock;
19189
+ let errors = false;
19190
+ let isPattern = false;
19191
+ if (clauses.some((c) => c.type === "PatternClause")) {
19192
+ isPattern = true;
19193
+ clauses.forEach((c) => {
19194
+ if (!(c.type === "PatternClause" || c.type === "DefaultClause")) {
19195
+ errors = true;
19196
+ c.children.push({
19197
+ type: "Error",
19198
+ message: "Can't mix pattern matching and non-pattern matching clauses"
19199
+ });
19200
+ }
19201
+ });
19202
+ }
19203
+ if (errors || !isPattern)
19204
+ return;
19205
+ let { expression } = s;
19206
+ if (expression.type === "ParenthesizedExpression") {
19207
+ expression = expression.expression;
19208
+ }
19209
+ let ref;
19210
+ switch (expression.type) {
19211
+ case "Identifier":
19212
+ case "Literal":
19213
+ ref = expression;
19214
+ break;
19215
+ default:
19216
+ ref = {
19217
+ type: "Ref",
19218
+ base: "m",
19219
+ id: "m"
19220
+ };
19221
+ }
19222
+ let prev = [], root = prev;
19223
+ const l = clauses.length;
19224
+ clauses.forEach((c, i) => {
19225
+ let { pattern, block } = c;
19226
+ const indent = block.expressions[0][0];
19227
+ const conditions = [];
19228
+ getPatternConditions(pattern, ref, conditions);
19229
+ const condition = {
19230
+ type: "ParenthesizedExpression",
19231
+ children: ["(", conditions.map((c2, i2) => {
19232
+ if (i2 === 0)
19233
+ return c2;
19234
+ return [" && ", ...c2];
19235
+ }), ")"],
19236
+ expression: conditions
19237
+ };
19238
+ const prefix = [];
19239
+ switch (pattern.type) {
19240
+ case "ArrayMatchingPattern":
19241
+ case "ObjectMatchingPattern": {
19242
+ let [splices, thisAssignments] = gatherBindingCode(pattern);
19243
+ splices = splices.map((s2) => [", ", nonMatcherBindings(s2)]);
19244
+ thisAssignments = thisAssignments.map((a) => [indent, a, ";\n"]);
19245
+ prefix.push([indent, "const ", nonMatcherBindings(pattern), " = ", ref, splices, ";\n"]);
19246
+ prefix.push(...thisAssignments);
19247
+ break;
19248
+ }
19249
+ }
19250
+ block.expressions.unshift(...prefix);
19251
+ const next = [];
19252
+ if (block.bare) {
19253
+ block.children.unshift(" {");
19254
+ block.children.push("}");
19255
+ block.bare = false;
19256
+ }
19257
+ const e = i < l - 1 ? ["\nelse "] : [];
19258
+ prev.push({
19259
+ type: "IfStatement",
19260
+ children: ["if", condition, block, ...e, next]
19261
+ });
19262
+ prev = next;
19263
+ });
19264
+ s.type = "PatternMatchingStatement";
19265
+ s.children = [root];
19266
+ });
19267
+ }
18135
19268
  module2.processProgram = function(statements) {
18136
19269
  processAssignments(statements);
18137
19270
  processFunctions(statements);
18138
19271
  processSwitchExpressions(statements);
18139
19272
  processTryExpressions(statements);
19273
+ processPatternMatching(statements);
18140
19274
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
18141
19275
  checkSpliceRef(statements);
18142
19276
  statements.unshift(...module2.prelude);
@@ -18383,7 +19517,7 @@ ${input.slice(result.pos)}
18383
19517
  return result;
18384
19518
  }
18385
19519
  }
18386
- var Indent$0 = $TR($EXPECT($R60, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
19520
+ var Indent$0 = $TR($EXPECT($R61, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18387
19521
  let level;
18388
19522
  if (module2.config.tab) {
18389
19523
  const tabs = $0.match(/\t/g);
@@ -18538,7 +19672,7 @@ ${input.slice(result.pos)}
18538
19672
  return result;
18539
19673
  }
18540
19674
  }
18541
- var PopIndent$0 = $TV($EXPECT($L16, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
19675
+ var PopIndent$0 = $TV($EXPECT($L17, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
18542
19676
  if (module2.config.verbose) {
18543
19677
  console.log("popping indent", module2.indentLevels[module2.indentLevels.length - 1], "->", module2.indentLevels[module2.indentLevels.length - 2]);
18544
19678
  }
@@ -18644,6 +19778,13 @@ var generate_default = gen = function(node, options) {
18644
19778
  }).join("");
18645
19779
  }
18646
19780
  if (typeof node === "object") {
19781
+ if (node.type === "Error") {
19782
+ if (options.errors == null) {
19783
+ options.errors = [];
19784
+ }
19785
+ options.errors.push(node);
19786
+ return "";
19787
+ }
18647
19788
  if (options.js && node.ts) {
18648
19789
  return "";
18649
19790
  }
@@ -18660,13 +19801,17 @@ var generate_default = gen = function(node, options) {
18660
19801
  return token;
18661
19802
  }
18662
19803
  if (!node.children) {
19804
+ switch (node.type) {
19805
+ case "Ref":
19806
+ throw new Error(`Unpopulated ref ${JSON.stringify(node)}`);
19807
+ }
18663
19808
  debugger;
18664
- throw new Error("Unknown node", JSON.stringify(node));
19809
+ throw new Error(`Unknown node ${JSON.stringify(node)}`);
18665
19810
  }
18666
19811
  return gen(node.children, options);
18667
19812
  }
18668
19813
  debugger;
18669
- throw new Error("Unknown node", JSON.stringify(node));
19814
+ throw new Error(`Unknown node ${JSON.stringify(node)}`);
18670
19815
  };
18671
19816
  var prune = function(node) {
18672
19817
  var a;
@@ -19024,16 +20169,19 @@ remapPosition = function(position, sourcemapLines) {
19024
20169
  "civet coffeeCompat";
19025
20170
  var SourceMap2;
19026
20171
  var base64Encode2;
19027
- var defaultOptions;
19028
20172
  var makeCache;
19029
20173
  var parse;
19030
20174
  var uncacheable;
19031
20175
  ({ parse } = import_parser.default);
19032
20176
  ({ SourceMap: SourceMap2, base64Encode: base64Encode2 } = util_exports);
19033
- defaultOptions = {};
19034
20177
  uncacheable = /* @__PURE__ */ new Set(["ActualAssignment", "ApplicationStart", "Arguments", "ArgumentsWithTrailingMemberExpressions", "ArrowFunction", "ArrowFunctionTail", "AssignmentExpression", "AssignmentExpressionTail", "BinaryOpExpression", "BinaryOpRHS", "BracedBlock", "BracedObjectLiteralContent", "BracedOrEmptyBlock", "CallExpression", "CallExpressionRest", "CoffeeCommentEnabled", "CommaDelimiter", "ConditionalExpression", "Declaration", "Debugger", "ElseClause", "Expression", "ExpressionStatement", "ExpressionWithIndentedApplicationSuppressed", "ExtendedExpression", "FatArrowBody", "FunctionDeclaration", "FunctionExpression", "HoistableDeclaration", "ImplicitArguments", "ImplicitInlineObjectPropertyDelimiter", "ImplicitNestedBlock", "IndentedApplicationAllowed", "IndentedFurther", "IndentedJSXChildExpression", "InlineObjectLiteral", "InsertIndent", "JSXChild", "JSXChildren", "JSXElement", "JSXFragment", "JSXImplicitFragment", "JSXMixedChildren", "JSXNested", "JSXNestedChildren", "JSXOptionalClosingElement", "JSXOptionalClosingFragment", "JSXTag", "LeftHandSideExpression", "MemberExpression", "MemberExpressionRest", "Nested", "NestedBindingElement", "NestedBindingElements", "NestedBlockExpression", "NestedBlockExpression", "NestedBlockStatement", "NestedBlockStatements", "NestedElement", "NestedElementList", "NestedImplicitObjectLiteral", "NestedImplicitPropertyDefinition", "NestedImplicitPropertyDefinitions", "NestedInterfaceProperty", "NestedJSXChildExpression", "NestedObject", "NestedPropertyDefinitions", "NonSuppressedTrailingMemberExpressions", "ObjectLiteral", "PopIndent", "PrimaryExpression", "PushIndent", "PushJSXOpeningElement", "PushJSXOpeningFragment", "Samedent", "ShortCircuitExpression", "SingleLineAssignmentExpression", "SingleLineComment", "SingleLineStatements", "SnugNamedProperty", "Statement", "StatementListItem", "SuppressIndentedApplication", "SuppressTrailingMemberProperty", "ThinArrowFunction", "TrackIndented", "TrailingMemberExpressions", "TrailingMemberPropertyAllowed", "TypedJSXElement", "TypedJSXFragment", "UnaryExpression", "UpdateExpression"]);
19035
- var compile = function(src, options = defaultOptions) {
19036
- var ast, code, events, filename, sm, srcMapJSON;
20178
+ var compile = function(src, options) {
20179
+ var ast, code, events, filename, ref, result, sm, srcMapJSON;
20180
+ if (!options) {
20181
+ options = {};
20182
+ } else {
20183
+ options = { ...options };
20184
+ }
19037
20185
  filename = options.filename || "unknown";
19038
20186
  if (filename.endsWith(".coffee") && !/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(src)) {
19039
20187
  src = `"civet coffeeCompat"; ${src}`;
@@ -19061,7 +20209,11 @@ ${"//#"} sourceMappingURL=data:application/json;base64,${base64Encode2(JSON.stri
19061
20209
  };
19062
20210
  }
19063
20211
  }
19064
- return generate_default(ast, options);
20212
+ result = generate_default(ast, options);
20213
+ if ((ref = options.errors) != null ? ref.length : void 0) {
20214
+ throw new Error(`Parse errors: ${options.errors.join("\n")} `);
20215
+ }
20216
+ return result;
19065
20217
  };
19066
20218
  makeCache = function() {
19067
20219
  var caches, events;