@danielx/civet 0.5.70 → 0.5.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.mjs CHANGED
@@ -497,6 +497,8 @@ ${input.slice(result.pos)}
497
497
  AtThis,
498
498
  LeftHandSideExpression,
499
499
  CallExpression,
500
+ ReturnValue,
501
+ AfterReturnShorthand,
500
502
  CallExpressionRest,
501
503
  OptionalShorthand,
502
504
  OptionalDot,
@@ -1039,170 +1041,171 @@ ${input.slice(result.pos)}
1039
1041
  var $L11 = $L("#");
1040
1042
  var $L12 = $L("super");
1041
1043
  var $L13 = $L("import");
1042
- var $L14 = $L("!");
1043
- var $L15 = $L("^");
1044
- var $L16 = $L("-");
1045
- var $L17 = $L("import.meta");
1046
- var $L18 = $L("");
1047
- var $L19 = $L(",");
1048
- var $L20 = $L("->");
1049
- var $L21 = $L("}");
1050
- var $L22 = $L("null");
1051
- var $L23 = $L("true");
1052
- var $L24 = $L("false");
1053
- var $L25 = $L("yes");
1054
- var $L26 = $L("on");
1055
- var $L27 = $L("no");
1056
- var $L28 = $L("off");
1057
- var $L29 = $L(">");
1058
- var $L30 = $L("]");
1059
- var $L31 = $L(":");
1060
- var $L32 = $L(")");
1061
- var $L33 = $L("**=");
1062
- var $L34 = $L("*=");
1063
- var $L35 = $L("/=");
1064
- var $L36 = $L("%=");
1065
- var $L37 = $L("+=");
1066
- var $L38 = $L("-=");
1067
- var $L39 = $L("<<=");
1068
- var $L40 = $L(">>>=");
1069
- var $L41 = $L(">>=");
1070
- var $L42 = $L("&&=");
1071
- var $L43 = $L("&=");
1072
- var $L44 = $L("^=");
1073
- var $L45 = $L("||=");
1074
- var $L46 = $L("|=");
1075
- var $L47 = $L("??=");
1076
- var $L48 = $L("?=");
1077
- var $L49 = $L("and=");
1078
- var $L50 = $L("or=");
1079
- var $L51 = $L("not");
1080
- var $L52 = $L("**");
1081
- var $L53 = $L("*");
1082
- var $L54 = $L("/");
1083
- var $L55 = $L("%%");
1084
- var $L56 = $L("%");
1085
- var $L57 = $L("+");
1086
- var $L58 = $L("<=");
1087
- var $L59 = $L(">=");
1088
- var $L60 = $L("<?");
1089
- var $L61 = $L("!<?");
1090
- var $L62 = $L("<<");
1091
- var $L63 = $L(">>>");
1092
- var $L64 = $L(">>");
1093
- var $L65 = $L("!==");
1094
- var $L66 = $L("!=");
1095
- var $L67 = $L("isnt");
1096
- var $L68 = $L("===");
1097
- var $L69 = $L("==");
1098
- var $L70 = $L("and");
1099
- var $L71 = $L("&&");
1100
- var $L72 = $L("of");
1101
- var $L73 = $L("or");
1102
- var $L74 = $L("||");
1103
- var $L75 = $L("^^");
1104
- var $L76 = $L("xor");
1105
- var $L77 = $L("xnor");
1106
- var $L78 = $L("??");
1107
- var $L79 = $L("instanceof");
1108
- var $L80 = $L("in");
1109
- var $L81 = $L("is");
1110
- var $L82 = $L("&");
1111
- var $L83 = $L("|");
1112
- var $L84 = $L(";");
1113
- var $L85 = $L("$:");
1114
- var $L86 = $L("own");
1115
- var $L87 = $L("break");
1116
- var $L88 = $L("continue");
1117
- var $L89 = $L("debugger");
1118
- var $L90 = $L("assert");
1119
- var $L91 = $L(":=");
1120
- var $L92 = $L(".=");
1121
- var $L93 = $L("/*");
1122
- var $L94 = $L("*/");
1123
- var $L95 = $L("\\");
1124
- var $L96 = $L("[");
1125
- var $L97 = $L("`");
1126
- var $L98 = $L("abstract");
1127
- var $L99 = $L("as");
1128
- var $L100 = $L("@");
1129
- var $L101 = $L("@@");
1130
- var $L102 = $L("async");
1131
- var $L103 = $L("await");
1132
- var $L104 = $L("by");
1133
- var $L105 = $L("case");
1134
- var $L106 = $L("catch");
1135
- var $L107 = $L("class");
1136
- var $L108 = $L("#{");
1137
- var $L109 = $L("declare");
1138
- var $L110 = $L("default");
1139
- var $L111 = $L("delete");
1140
- var $L112 = $L("do");
1141
- var $L113 = $L("..");
1142
- var $L114 = $L("...");
1143
- var $L115 = $L("::");
1144
- var $L116 = $L('"');
1145
- var $L117 = $L("else");
1146
- var $L118 = $L("export");
1147
- var $L119 = $L("extends");
1148
- var $L120 = $L("finally");
1149
- var $L121 = $L("for");
1150
- var $L122 = $L("from");
1151
- var $L123 = $L("function");
1152
- var $L124 = $L("get");
1153
- var $L125 = $L("set");
1154
- var $L126 = $L("if");
1155
- var $L127 = $L("let");
1156
- var $L128 = $L("const");
1157
- var $L129 = $L("loop");
1158
- var $L130 = $L("new");
1159
- var $L131 = $L("<");
1160
- var $L132 = $L("{");
1161
- var $L133 = $L("operator");
1162
- var $L134 = $L("public");
1163
- var $L135 = $L("private");
1164
- var $L136 = $L("protected");
1165
- var $L137 = $L("||>");
1166
- var $L138 = $L("|>=");
1167
- var $L139 = $L("|>");
1168
- var $L140 = $L("readonly");
1169
- var $L141 = $L("return");
1170
- var $L142 = $L("satisfies");
1171
- var $L143 = $L("'");
1172
- var $L144 = $L("static");
1173
- var $L145 = $L("${");
1174
- var $L146 = $L("switch");
1175
- var $L147 = $L("target");
1176
- var $L148 = $L("then");
1177
- var $L149 = $L("this");
1178
- var $L150 = $L("throw");
1179
- var $L151 = $L('"""');
1180
- var $L152 = $L("'''");
1181
- var $L153 = $L("///");
1182
- var $L154 = $L("```");
1183
- var $L155 = $L("try");
1184
- var $L156 = $L("typeof");
1185
- var $L157 = $L("unless");
1186
- var $L158 = $L("until");
1187
- var $L159 = $L("var");
1188
- var $L160 = $L("void");
1189
- var $L161 = $L("when");
1190
- var $L162 = $L("while");
1191
- var $L163 = $L("yield");
1192
- var $L164 = $L("/>");
1193
- var $L165 = $L("</");
1194
- var $L166 = $L("<>");
1195
- var $L167 = $L("</>");
1196
- var $L168 = $L("<!--");
1197
- var $L169 = $L("-->");
1198
- var $L170 = $L("type");
1199
- var $L171 = $L("interface");
1200
- var $L172 = $L("namespace");
1201
- var $L173 = $L("asserts");
1202
- var $L174 = $L("keyof");
1203
- var $L175 = $L("infer");
1204
- var $L176 = $L("[]");
1205
- var $L177 = $L("civet");
1044
+ var $L14 = $L("return.value");
1045
+ var $L15 = $L("!");
1046
+ var $L16 = $L("^");
1047
+ var $L17 = $L("-");
1048
+ var $L18 = $L("import.meta");
1049
+ var $L19 = $L("");
1050
+ var $L20 = $L(",");
1051
+ var $L21 = $L("->");
1052
+ var $L22 = $L("}");
1053
+ var $L23 = $L("null");
1054
+ var $L24 = $L("true");
1055
+ var $L25 = $L("false");
1056
+ var $L26 = $L("yes");
1057
+ var $L27 = $L("on");
1058
+ var $L28 = $L("no");
1059
+ var $L29 = $L("off");
1060
+ var $L30 = $L(">");
1061
+ var $L31 = $L("]");
1062
+ var $L32 = $L(":");
1063
+ var $L33 = $L(")");
1064
+ var $L34 = $L("**=");
1065
+ var $L35 = $L("*=");
1066
+ var $L36 = $L("/=");
1067
+ var $L37 = $L("%=");
1068
+ var $L38 = $L("+=");
1069
+ var $L39 = $L("-=");
1070
+ var $L40 = $L("<<=");
1071
+ var $L41 = $L(">>>=");
1072
+ var $L42 = $L(">>=");
1073
+ var $L43 = $L("&&=");
1074
+ var $L44 = $L("&=");
1075
+ var $L45 = $L("^=");
1076
+ var $L46 = $L("||=");
1077
+ var $L47 = $L("|=");
1078
+ var $L48 = $L("??=");
1079
+ var $L49 = $L("?=");
1080
+ var $L50 = $L("and=");
1081
+ var $L51 = $L("or=");
1082
+ var $L52 = $L("not");
1083
+ var $L53 = $L("**");
1084
+ var $L54 = $L("*");
1085
+ var $L55 = $L("/");
1086
+ var $L56 = $L("%%");
1087
+ var $L57 = $L("%");
1088
+ var $L58 = $L("+");
1089
+ var $L59 = $L("<=");
1090
+ var $L60 = $L(">=");
1091
+ var $L61 = $L("<?");
1092
+ var $L62 = $L("!<?");
1093
+ var $L63 = $L("<<");
1094
+ var $L64 = $L(">>>");
1095
+ var $L65 = $L(">>");
1096
+ var $L66 = $L("!==");
1097
+ var $L67 = $L("!=");
1098
+ var $L68 = $L("isnt");
1099
+ var $L69 = $L("===");
1100
+ var $L70 = $L("==");
1101
+ var $L71 = $L("and");
1102
+ var $L72 = $L("&&");
1103
+ var $L73 = $L("of");
1104
+ var $L74 = $L("or");
1105
+ var $L75 = $L("||");
1106
+ var $L76 = $L("^^");
1107
+ var $L77 = $L("xor");
1108
+ var $L78 = $L("xnor");
1109
+ var $L79 = $L("??");
1110
+ var $L80 = $L("instanceof");
1111
+ var $L81 = $L("in");
1112
+ var $L82 = $L("is");
1113
+ var $L83 = $L("&");
1114
+ var $L84 = $L("|");
1115
+ var $L85 = $L(";");
1116
+ var $L86 = $L("$:");
1117
+ var $L87 = $L("own");
1118
+ var $L88 = $L("break");
1119
+ var $L89 = $L("continue");
1120
+ var $L90 = $L("debugger");
1121
+ var $L91 = $L("assert");
1122
+ var $L92 = $L(":=");
1123
+ var $L93 = $L(".=");
1124
+ var $L94 = $L("/*");
1125
+ var $L95 = $L("*/");
1126
+ var $L96 = $L("\\");
1127
+ var $L97 = $L("[");
1128
+ var $L98 = $L("`");
1129
+ var $L99 = $L("abstract");
1130
+ var $L100 = $L("as");
1131
+ var $L101 = $L("@");
1132
+ var $L102 = $L("@@");
1133
+ var $L103 = $L("async");
1134
+ var $L104 = $L("await");
1135
+ var $L105 = $L("by");
1136
+ var $L106 = $L("case");
1137
+ var $L107 = $L("catch");
1138
+ var $L108 = $L("class");
1139
+ var $L109 = $L("#{");
1140
+ var $L110 = $L("declare");
1141
+ var $L111 = $L("default");
1142
+ var $L112 = $L("delete");
1143
+ var $L113 = $L("do");
1144
+ var $L114 = $L("..");
1145
+ var $L115 = $L("...");
1146
+ var $L116 = $L("::");
1147
+ var $L117 = $L('"');
1148
+ var $L118 = $L("else");
1149
+ var $L119 = $L("export");
1150
+ var $L120 = $L("extends");
1151
+ var $L121 = $L("finally");
1152
+ var $L122 = $L("for");
1153
+ var $L123 = $L("from");
1154
+ var $L124 = $L("function");
1155
+ var $L125 = $L("get");
1156
+ var $L126 = $L("set");
1157
+ var $L127 = $L("if");
1158
+ var $L128 = $L("let");
1159
+ var $L129 = $L("const");
1160
+ var $L130 = $L("loop");
1161
+ var $L131 = $L("new");
1162
+ var $L132 = $L("<");
1163
+ var $L133 = $L("{");
1164
+ var $L134 = $L("operator");
1165
+ var $L135 = $L("public");
1166
+ var $L136 = $L("private");
1167
+ var $L137 = $L("protected");
1168
+ var $L138 = $L("||>");
1169
+ var $L139 = $L("|>=");
1170
+ var $L140 = $L("|>");
1171
+ var $L141 = $L("readonly");
1172
+ var $L142 = $L("return");
1173
+ var $L143 = $L("satisfies");
1174
+ var $L144 = $L("'");
1175
+ var $L145 = $L("static");
1176
+ var $L146 = $L("${");
1177
+ var $L147 = $L("switch");
1178
+ var $L148 = $L("target");
1179
+ var $L149 = $L("then");
1180
+ var $L150 = $L("this");
1181
+ var $L151 = $L("throw");
1182
+ var $L152 = $L('"""');
1183
+ var $L153 = $L("'''");
1184
+ var $L154 = $L("///");
1185
+ var $L155 = $L("```");
1186
+ var $L156 = $L("try");
1187
+ var $L157 = $L("typeof");
1188
+ var $L158 = $L("unless");
1189
+ var $L159 = $L("until");
1190
+ var $L160 = $L("var");
1191
+ var $L161 = $L("void");
1192
+ var $L162 = $L("when");
1193
+ var $L163 = $L("while");
1194
+ var $L164 = $L("yield");
1195
+ var $L165 = $L("/>");
1196
+ var $L166 = $L("</");
1197
+ var $L167 = $L("<>");
1198
+ var $L168 = $L("</>");
1199
+ var $L169 = $L("<!--");
1200
+ var $L170 = $L("-->");
1201
+ var $L171 = $L("type");
1202
+ var $L172 = $L("interface");
1203
+ var $L173 = $L("namespace");
1204
+ var $L174 = $L("asserts");
1205
+ var $L175 = $L("keyof");
1206
+ var $L176 = $L("infer");
1207
+ var $L177 = $L("[]");
1208
+ var $L178 = $L("civet");
1206
1209
  var $R0 = $R(new RegExp("(as|for|while|until|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
1207
1210
  var $R1 = $R(new RegExp("[0-9]", "suy"));
1208
1211
  var $R2 = $R(new RegExp("[)}]", "suy"));
@@ -2372,7 +2375,7 @@ ${input.slice(result.pos)}
2372
2375
  return {
2373
2376
  type: "ArrowFunction",
2374
2377
  parameters,
2375
- returnType: suffix?.children?.[1]?.[0]?.[1]?.token,
2378
+ returnType: suffix,
2376
2379
  ts: false,
2377
2380
  block: expOrBlock,
2378
2381
  children: $0
@@ -3160,7 +3163,7 @@ ${input.slice(result.pos)}
3160
3163
  return result;
3161
3164
  }
3162
3165
  }
3163
- var FieldDefinition$0 = $TS($S(CoffeeClassesEnabled, ClassElementName, __, Colon, __, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
3166
+ var FieldDefinition$0 = $TS($S(CoffeeClassesEnabled, ClassElementName, $E(_), Colon, __, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
3164
3167
  var id = $2;
3165
3168
  var exp = $6;
3166
3169
  switch (exp.type) {
@@ -3305,7 +3308,8 @@ ${input.slice(result.pos)}
3305
3308
  children: [$1, ...$2, ...rest.flat()]
3306
3309
  });
3307
3310
  });
3308
- var CallExpression$2 = $TS($S(MemberExpression, AllowedTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3311
+ var CallExpression$2 = ReturnValue;
3312
+ var CallExpression$3 = $TS($S(MemberExpression, AllowedTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3309
3313
  var member = $1;
3310
3314
  var trailing = $2;
3311
3315
  var rest = $3;
@@ -3329,17 +3333,69 @@ ${input.slice(result.pos)}
3329
3333
  }
3330
3334
  }
3331
3335
  if (state.tokenize) {
3332
- const result = $TOKEN("CallExpression", state, CallExpression$0(state) || CallExpression$1(state) || CallExpression$2(state));
3336
+ const result = $TOKEN("CallExpression", state, CallExpression$0(state) || CallExpression$1(state) || CallExpression$2(state) || CallExpression$3(state));
3333
3337
  if (state.events)
3334
3338
  state.events.exit?.("CallExpression", state, result, eventData);
3335
3339
  return result;
3336
3340
  } else {
3337
- const result = CallExpression$0(state) || CallExpression$1(state) || CallExpression$2(state);
3341
+ const result = CallExpression$0(state) || CallExpression$1(state) || CallExpression$2(state) || CallExpression$3(state);
3338
3342
  if (state.events)
3339
3343
  state.events.exit?.("CallExpression", state, result, eventData);
3340
3344
  return result;
3341
3345
  }
3342
3346
  }
3347
+ var ReturnValue$0 = $TV($C($S($EXPECT($L14, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
3348
+ return { type: "ReturnValue", children: [$1[0]] };
3349
+ });
3350
+ function ReturnValue(state) {
3351
+ let eventData;
3352
+ if (state.events) {
3353
+ const result = state.events.enter?.("ReturnValue", state);
3354
+ if (result) {
3355
+ if (result.cache)
3356
+ return result.cache;
3357
+ eventData = result.data;
3358
+ }
3359
+ }
3360
+ if (state.tokenize) {
3361
+ const result = $TOKEN("ReturnValue", state, ReturnValue$0(state));
3362
+ if (state.events)
3363
+ state.events.exit?.("ReturnValue", state, result, eventData);
3364
+ return result;
3365
+ } else {
3366
+ const result = ReturnValue$0(state);
3367
+ if (state.events)
3368
+ state.events.exit?.("ReturnValue", state, result, eventData);
3369
+ return result;
3370
+ }
3371
+ }
3372
+ var AfterReturnShorthand$0 = WAssignmentOp;
3373
+ var AfterReturnShorthand$1 = UpdateExpressionSymbol;
3374
+ var AfterReturnShorthand$2 = TypeSuffix;
3375
+ var AfterReturnShorthand$3 = $S(__, LetAssignment);
3376
+ var AfterReturnShorthand$4 = $S(__, ConstAssignment);
3377
+ function AfterReturnShorthand(state) {
3378
+ let eventData;
3379
+ if (state.events) {
3380
+ const result = state.events.enter?.("AfterReturnShorthand", state);
3381
+ if (result) {
3382
+ if (result.cache)
3383
+ return result.cache;
3384
+ eventData = result.data;
3385
+ }
3386
+ }
3387
+ if (state.tokenize) {
3388
+ const result = $TOKEN("AfterReturnShorthand", state, AfterReturnShorthand$0(state) || AfterReturnShorthand$1(state) || AfterReturnShorthand$2(state) || AfterReturnShorthand$3(state) || AfterReturnShorthand$4(state));
3389
+ if (state.events)
3390
+ state.events.exit?.("AfterReturnShorthand", state, result, eventData);
3391
+ return result;
3392
+ } else {
3393
+ const result = AfterReturnShorthand$0(state) || AfterReturnShorthand$1(state) || AfterReturnShorthand$2(state) || AfterReturnShorthand$3(state) || AfterReturnShorthand$4(state);
3394
+ if (state.events)
3395
+ state.events.exit?.("AfterReturnShorthand", state, result, eventData);
3396
+ return result;
3397
+ }
3398
+ }
3343
3399
  var CallExpressionRest$0 = MemberExpressionRest;
3344
3400
  var CallExpressionRest$1 = $TV($C(TemplateLiteral, StringLiteral), function($skip, $loc, $0, $1) {
3345
3401
  if ($1.type === "StringLiteral") {
@@ -3426,7 +3482,7 @@ ${input.slice(result.pos)}
3426
3482
  return result;
3427
3483
  }
3428
3484
  }
3429
- var NonNullAssertion$0 = $T($S($EXPECT($L14, fail, 'NonNullAssertion "!"'), $N($EXPECT($L15, fail, 'NonNullAssertion "^"'))), function(value) {
3485
+ var NonNullAssertion$0 = $T($S($EXPECT($L15, fail, 'NonNullAssertion "!"'), $N($EXPECT($L16, fail, 'NonNullAssertion "^"'))), function(value) {
3430
3486
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
3431
3487
  });
3432
3488
  function NonNullAssertion(state) {
@@ -3564,7 +3620,7 @@ ${input.slice(result.pos)}
3564
3620
  ]
3565
3621
  };
3566
3622
  });
3567
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L16, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
3623
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L17, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
3568
3624
  var dot = $1;
3569
3625
  var neg = $2;
3570
3626
  var num = $3;
@@ -3761,7 +3817,7 @@ ${input.slice(result.pos)}
3761
3817
  }
3762
3818
  }
3763
3819
  var MetaProperty$0 = $S(New, Dot, Target);
3764
- var MetaProperty$1 = $TS($S($EXPECT($L17, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3820
+ var MetaProperty$1 = $TS($S($EXPECT($L18, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3765
3821
  return { $loc, token: $1 };
3766
3822
  });
3767
3823
  function MetaProperty(state) {
@@ -3787,7 +3843,7 @@ ${input.slice(result.pos)}
3787
3843
  }
3788
3844
  }
3789
3845
  var Parameters$0 = NonEmptyParameters;
3790
- var Parameters$1 = $TV($EXPECT($L18, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
3846
+ var Parameters$1 = $TV($EXPECT($L19, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
3791
3847
  return {
3792
3848
  type: "Parameters",
3793
3849
  children: [{ $loc, token: "()" }],
@@ -4010,6 +4066,9 @@ ${input.slice(result.pos)}
4010
4066
  };
4011
4067
  });
4012
4068
  var NWBindingIdentifier$1 = Identifier;
4069
+ var NWBindingIdentifier$2 = $TS($S(ReturnValue), function($skip, $loc, $0, $1) {
4070
+ return { children: [$1], names: [] };
4071
+ });
4013
4072
  function NWBindingIdentifier(state) {
4014
4073
  let eventData;
4015
4074
  if (state.events) {
@@ -4021,12 +4080,12 @@ ${input.slice(result.pos)}
4021
4080
  }
4022
4081
  }
4023
4082
  if (state.tokenize) {
4024
- const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state));
4083
+ const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state));
4025
4084
  if (state.events)
4026
4085
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
4027
4086
  return result;
4028
4087
  } else {
4029
- const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state);
4088
+ const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state);
4030
4089
  if (state.events)
4031
4090
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
4032
4091
  return result;
@@ -4407,7 +4466,7 @@ ${input.slice(result.pos)}
4407
4466
  }
4408
4467
  }
4409
4468
  var BindingProperty$0 = BindingRestProperty;
4410
- var BindingProperty$1 = $TS($S($E(_), PropertyName, __, Colon, $C(BindingIdentifier, BindingPattern), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4469
+ var BindingProperty$1 = $TS($S($E(_), PropertyName, $E(_), Colon, $C(BindingIdentifier, BindingPattern), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4411
4470
  var name = $2;
4412
4471
  var b = $5;
4413
4472
  var init = $6;
@@ -4568,7 +4627,7 @@ ${input.slice(result.pos)}
4568
4627
  children: $0
4569
4628
  };
4570
4629
  });
4571
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L19, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
4630
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L20, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
4572
4631
  return {
4573
4632
  children: [{
4574
4633
  type: "ElisionElement",
@@ -4641,7 +4700,7 @@ ${input.slice(result.pos)}
4641
4700
  return result;
4642
4701
  }
4643
4702
  }
4644
- var EmptyBindingPattern$0 = $TV($EXPECT($L18, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
4703
+ var EmptyBindingPattern$0 = $TV($EXPECT($L19, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
4645
4704
  const ref = {
4646
4705
  type: "Ref",
4647
4706
  base: "ref",
@@ -4859,7 +4918,7 @@ ${input.slice(result.pos)}
4859
4918
  }
4860
4919
  }
4861
4920
  var MatchingProperty$0 = MatchingRestProperty;
4862
- var MatchingProperty$1 = $TS($S($E(_), PropertyName, __, Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4921
+ var MatchingProperty$1 = $TS($S($E(_), PropertyName, $E(_), Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4863
4922
  var name = $2;
4864
4923
  var match = $6;
4865
4924
  return {
@@ -5085,7 +5144,7 @@ ${input.slice(result.pos)}
5085
5144
  }
5086
5145
  }
5087
5146
  var MatchingElement$0 = MatchingRestElement;
5088
- var MatchingElement$1 = $TS($S($E(_), BindingIdentifier, __, Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5147
+ var MatchingElement$1 = $TS($S($E(_), BindingIdentifier, $E(_), Colon, $E(_), $C(BindingIdentifier, MatchingPattern)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5089
5148
  var ws = $1;
5090
5149
  var name = $2;
5091
5150
  var match = $6;
@@ -5117,7 +5176,7 @@ ${input.slice(result.pos)}
5117
5176
  children: [ws, binding]
5118
5177
  };
5119
5178
  });
5120
- var MatchingElement$3 = $TV($Y($S($E(_), $EXPECT($L19, fail, 'MatchingElement ","'))), function($skip, $loc, $0, $1) {
5179
+ var MatchingElement$3 = $TV($Y($S($E(_), $EXPECT($L20, fail, 'MatchingElement ","'))), function($skip, $loc, $0, $1) {
5121
5180
  return {
5122
5181
  children: [{
5123
5182
  type: "ElisionElement",
@@ -5210,7 +5269,7 @@ ${input.slice(result.pos)}
5210
5269
  type: "FunctionSignature",
5211
5270
  id: wid?.[1],
5212
5271
  parameters,
5213
- returnType: suffix?.children?.[1]?.[0]?.[1]?.token,
5272
+ returnType: suffix,
5214
5273
  ts: false,
5215
5274
  block: null,
5216
5275
  children: !parameters.implicit ? $0 : [async, func, star, wid, parameters, w, suffix]
@@ -5369,7 +5428,7 @@ ${input.slice(result.pos)}
5369
5428
  type: "FunctionSignature",
5370
5429
  id,
5371
5430
  parameters,
5372
- returnType: suffix?.children?.[1]?.[0]?.[1]?.token,
5431
+ returnType: suffix,
5373
5432
  ts: false,
5374
5433
  block: null,
5375
5434
  children: [func, w1, id, w2, parameters, suffix]
@@ -5478,7 +5537,7 @@ ${input.slice(result.pos)}
5478
5537
  type: "FunctionExpression",
5479
5538
  id: void 0,
5480
5539
  parameters,
5481
- returnType: suffix?.children?.[1]?.[0]?.[1]?.token,
5540
+ returnType: suffix,
5482
5541
  ts: false,
5483
5542
  block,
5484
5543
  children: [
@@ -5511,7 +5570,7 @@ ${input.slice(result.pos)}
5511
5570
  return result;
5512
5571
  }
5513
5572
  }
5514
- var Arrow$0 = $TV($EXPECT($L20, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
5573
+ var Arrow$0 = $TV($EXPECT($L21, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
5515
5574
  return { $loc, token: $1 };
5516
5575
  });
5517
5576
  function Arrow(state) {
@@ -5575,12 +5634,16 @@ ${input.slice(result.pos)}
5575
5634
  return result;
5576
5635
  }
5577
5636
  }
5578
- var ImplicitNestedBlock$0 = $TS($S(InsertOpenBrace, NestedBlockStatements, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5579
- var block = $2;
5580
- return Object.assign({}, block, {
5581
- children: [$1, ...block.children, $3, $4, $5],
5637
+ var ImplicitNestedBlock$0 = $TS($S($Y(EOS), InsertOpenBrace, AllowAll, $E($S(NestedBlockStatements, InsertNewline, InsertIndent, InsertCloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5638
+ var open = $2;
5639
+ if (!$4)
5640
+ return $skip;
5641
+ const [block, ...tail] = $4;
5642
+ return {
5643
+ ...block,
5644
+ children: [open, ...block.children, ...tail],
5582
5645
  bare: false
5583
- });
5646
+ };
5584
5647
  });
5585
5648
  function ImplicitNestedBlock(state) {
5586
5649
  let eventData;
@@ -5745,7 +5808,7 @@ ${input.slice(result.pos)}
5745
5808
  return result;
5746
5809
  }
5747
5810
  }
5748
- var EmptyBareBlock$0 = $TV($EXPECT($L18, fail, 'EmptyBareBlock ""'), function($skip, $loc, $0, $1) {
5811
+ var EmptyBareBlock$0 = $TV($EXPECT($L19, fail, 'EmptyBareBlock ""'), function($skip, $loc, $0, $1) {
5749
5812
  const expressions = [];
5750
5813
  return {
5751
5814
  type: "BlockStatement",
@@ -5848,12 +5911,16 @@ ${input.slice(result.pos)}
5848
5911
  return result;
5849
5912
  }
5850
5913
  }
5851
- var NonSingleBracedBlock$0 = $TS($S($Q(TrailingComment), OpenBrace, BracedContent, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5852
- var block = $3;
5914
+ var NonSingleBracedBlock$0 = $TS($S($Q(TrailingComment), OpenBrace, AllowAll, $E($S(BracedContent, __, CloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5915
+ var ws1 = $1;
5916
+ var open = $2;
5917
+ if (!$4)
5918
+ return $skip;
5919
+ const [block, ws2, close] = $4;
5853
5920
  return {
5854
5921
  type: "BlockStatement",
5855
5922
  expressions: block.expressions,
5856
- children: [$1, $2, ...block.children, $4, $5],
5923
+ children: [ws1, open, ...block.children, ws2, close],
5857
5924
  bare: false
5858
5925
  };
5859
5926
  return block;
@@ -5968,7 +6035,7 @@ ${input.slice(result.pos)}
5968
6035
  children: [$1, expressions]
5969
6036
  };
5970
6037
  });
5971
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L21, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
6038
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L22, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
5972
6039
  const expressions = [];
5973
6040
  return {
5974
6041
  type: "BlockStatement",
@@ -6113,7 +6180,7 @@ ${input.slice(result.pos)}
6113
6180
  return result;
6114
6181
  }
6115
6182
  }
6116
- var NullLiteral$0 = $TS($S($EXPECT($L22, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6183
+ var NullLiteral$0 = $TS($S($EXPECT($L23, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6117
6184
  return { $loc, token: $1 };
6118
6185
  });
6119
6186
  function NullLiteral(state) {
@@ -6141,7 +6208,7 @@ ${input.slice(result.pos)}
6141
6208
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
6142
6209
  return value[1];
6143
6210
  });
6144
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L23, fail, 'BooleanLiteral "true"'), $EXPECT($L24, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6211
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L24, fail, 'BooleanLiteral "true"'), $EXPECT($L25, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6145
6212
  return { $loc, token: $1 };
6146
6213
  });
6147
6214
  function BooleanLiteral(state) {
@@ -6166,10 +6233,10 @@ ${input.slice(result.pos)}
6166
6233
  return result;
6167
6234
  }
6168
6235
  }
6169
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L25, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L26, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6236
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L26, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L27, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6170
6237
  return { $loc, token: "true" };
6171
6238
  });
6172
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L27, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L28, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6239
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6173
6240
  return { $loc, token: "false" };
6174
6241
  });
6175
6242
  function CoffeeScriptBooleanLiteral(state) {
@@ -6275,7 +6342,7 @@ ${input.slice(result.pos)}
6275
6342
  return result;
6276
6343
  }
6277
6344
  }
6278
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L1, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L1, fail, 'UpcomingAssignment "="'), $EXPECT($L29, fail, 'UpcomingAssignment ">"')))));
6345
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L1, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L1, fail, 'UpcomingAssignment "="'), $EXPECT($L30, fail, 'UpcomingAssignment ">"')))));
6279
6346
  function UpcomingAssignment(state) {
6280
6347
  let eventData;
6281
6348
  if (state.events) {
@@ -6541,7 +6608,7 @@ ${input.slice(result.pos)}
6541
6608
  }
6542
6609
  }
6543
6610
  var ArrayElementDelimiter$0 = $S(__, Comma);
6544
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L30, fail, 'ArrayElementDelimiter "]"')));
6611
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L31, fail, 'ArrayElementDelimiter "]"')));
6545
6612
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6546
6613
  return value[1];
6547
6614
  });
@@ -6968,7 +7035,7 @@ ${input.slice(result.pos)}
6968
7035
  var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S($C(Samedent, $Q(_)), NamedProperty)), InsertComma), function(value) {
6969
7036
  return value[1];
6970
7037
  });
6971
- var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L31, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L32, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L30, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L21, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
7038
+ var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L32, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L33, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L31, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L22, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
6972
7039
  return "";
6973
7040
  });
6974
7041
  var ImplicitInlineObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -6997,7 +7064,7 @@ ${input.slice(result.pos)}
6997
7064
  }
6998
7065
  }
6999
7066
  var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
7000
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L21, fail, 'ObjectPropertyDelimiter "}"')));
7067
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L22, fail, 'ObjectPropertyDelimiter "}"')));
7001
7068
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7002
7069
  return value[1];
7003
7070
  });
@@ -7167,7 +7234,7 @@ ${input.slice(result.pos)}
7167
7234
  return result;
7168
7235
  }
7169
7236
  }
7170
- var NamedProperty$0 = $TS($S(PropertyName, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
7237
+ var NamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
7171
7238
  var name = $1;
7172
7239
  var exp = $4;
7173
7240
  return {
@@ -7200,7 +7267,7 @@ ${input.slice(result.pos)}
7200
7267
  return result;
7201
7268
  }
7202
7269
  }
7203
- var ImplicitNamedProperty$0 = $TS($S(PropertyName, __, Colon, $C(MultiLineImplicitObjectLiteralAllowed, $N(EOS)), ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7270
+ var ImplicitNamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, $C(MultiLineImplicitObjectLiteralAllowed, $N(EOS)), ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7204
7271
  var name = $1;
7205
7272
  var exp = $5;
7206
7273
  return {
@@ -7307,7 +7374,7 @@ ${input.slice(result.pos)}
7307
7374
  expression
7308
7375
  };
7309
7376
  });
7310
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L16, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
7377
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L17, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
7311
7378
  return {
7312
7379
  type: "ComputedPropertyName",
7313
7380
  children: $0
@@ -7475,7 +7542,7 @@ ${input.slice(result.pos)}
7475
7542
  children: $0,
7476
7543
  name,
7477
7544
  modifier: $1?.[0]?.token,
7478
- returnType: void 0,
7545
+ returnType: suffix,
7479
7546
  parameters
7480
7547
  };
7481
7548
  });
@@ -7656,22 +7723,22 @@ ${input.slice(result.pos)}
7656
7723
  return result;
7657
7724
  }
7658
7725
  }
7659
- var AssignmentOpSymbol$0 = $EXPECT($L33, fail, 'AssignmentOpSymbol "**="');
7660
- var AssignmentOpSymbol$1 = $EXPECT($L34, fail, 'AssignmentOpSymbol "*="');
7661
- var AssignmentOpSymbol$2 = $EXPECT($L35, fail, 'AssignmentOpSymbol "/="');
7662
- var AssignmentOpSymbol$3 = $EXPECT($L36, fail, 'AssignmentOpSymbol "%="');
7663
- var AssignmentOpSymbol$4 = $EXPECT($L37, fail, 'AssignmentOpSymbol "+="');
7664
- var AssignmentOpSymbol$5 = $EXPECT($L38, fail, 'AssignmentOpSymbol "-="');
7665
- var AssignmentOpSymbol$6 = $EXPECT($L39, fail, 'AssignmentOpSymbol "<<="');
7666
- var AssignmentOpSymbol$7 = $EXPECT($L40, fail, 'AssignmentOpSymbol ">>>="');
7667
- var AssignmentOpSymbol$8 = $EXPECT($L41, fail, 'AssignmentOpSymbol ">>="');
7668
- var AssignmentOpSymbol$9 = $EXPECT($L42, fail, 'AssignmentOpSymbol "&&="');
7669
- var AssignmentOpSymbol$10 = $EXPECT($L43, fail, 'AssignmentOpSymbol "&="');
7670
- var AssignmentOpSymbol$11 = $EXPECT($L44, fail, 'AssignmentOpSymbol "^="');
7671
- var AssignmentOpSymbol$12 = $EXPECT($L45, fail, 'AssignmentOpSymbol "||="');
7672
- var AssignmentOpSymbol$13 = $EXPECT($L46, fail, 'AssignmentOpSymbol "|="');
7673
- var AssignmentOpSymbol$14 = $EXPECT($L47, fail, 'AssignmentOpSymbol "??="');
7674
- var AssignmentOpSymbol$15 = $T($EXPECT($L48, fail, 'AssignmentOpSymbol "?="'), function(value) {
7726
+ var AssignmentOpSymbol$0 = $EXPECT($L34, fail, 'AssignmentOpSymbol "**="');
7727
+ var AssignmentOpSymbol$1 = $EXPECT($L35, fail, 'AssignmentOpSymbol "*="');
7728
+ var AssignmentOpSymbol$2 = $EXPECT($L36, fail, 'AssignmentOpSymbol "/="');
7729
+ var AssignmentOpSymbol$3 = $EXPECT($L37, fail, 'AssignmentOpSymbol "%="');
7730
+ var AssignmentOpSymbol$4 = $EXPECT($L38, fail, 'AssignmentOpSymbol "+="');
7731
+ var AssignmentOpSymbol$5 = $EXPECT($L39, fail, 'AssignmentOpSymbol "-="');
7732
+ var AssignmentOpSymbol$6 = $EXPECT($L40, fail, 'AssignmentOpSymbol "<<="');
7733
+ var AssignmentOpSymbol$7 = $EXPECT($L41, fail, 'AssignmentOpSymbol ">>>="');
7734
+ var AssignmentOpSymbol$8 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>="');
7735
+ var AssignmentOpSymbol$9 = $EXPECT($L43, fail, 'AssignmentOpSymbol "&&="');
7736
+ var AssignmentOpSymbol$10 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&="');
7737
+ var AssignmentOpSymbol$11 = $EXPECT($L45, fail, 'AssignmentOpSymbol "^="');
7738
+ var AssignmentOpSymbol$12 = $EXPECT($L46, fail, 'AssignmentOpSymbol "||="');
7739
+ var AssignmentOpSymbol$13 = $EXPECT($L47, fail, 'AssignmentOpSymbol "|="');
7740
+ var AssignmentOpSymbol$14 = $EXPECT($L48, fail, 'AssignmentOpSymbol "??="');
7741
+ var AssignmentOpSymbol$15 = $T($EXPECT($L49, fail, 'AssignmentOpSymbol "?="'), function(value) {
7675
7742
  return "??=";
7676
7743
  });
7677
7744
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L1, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L1, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -7702,10 +7769,10 @@ ${input.slice(result.pos)}
7702
7769
  return result;
7703
7770
  }
7704
7771
  }
7705
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L49, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
7772
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L50, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
7706
7773
  return "&&=";
7707
7774
  });
7708
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L50, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
7775
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
7709
7776
  return "||=";
7710
7777
  });
7711
7778
  function CoffeeWordAssignmentOp(state) {
@@ -7744,7 +7811,7 @@ ${input.slice(result.pos)}
7744
7811
  special: true
7745
7812
  };
7746
7813
  });
7747
- var BinaryOp$2 = $TS($S($EXPECT($L51, fail, 'BinaryOp "not"'), NonIdContinue, __, Identifier), function($skip, $loc, $0, $1, $2, $3, $4) {
7814
+ var BinaryOp$2 = $TS($S($EXPECT($L52, fail, 'BinaryOp "not"'), NonIdContinue, __, Identifier), function($skip, $loc, $0, $1, $2, $3, $4) {
7748
7815
  var id = $4;
7749
7816
  if (!module.operators.has(id.name))
7750
7817
  return $skip;
@@ -7776,21 +7843,21 @@ ${input.slice(result.pos)}
7776
7843
  return result;
7777
7844
  }
7778
7845
  }
7779
- var BinaryOpSymbol$0 = $EXPECT($L52, fail, 'BinaryOpSymbol "**"');
7780
- var BinaryOpSymbol$1 = $EXPECT($L53, fail, 'BinaryOpSymbol "*"');
7781
- var BinaryOpSymbol$2 = $EXPECT($L54, fail, 'BinaryOpSymbol "/"');
7782
- var BinaryOpSymbol$3 = $TV($EXPECT($L55, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
7846
+ var BinaryOpSymbol$0 = $EXPECT($L53, fail, 'BinaryOpSymbol "**"');
7847
+ var BinaryOpSymbol$1 = $EXPECT($L54, fail, 'BinaryOpSymbol "*"');
7848
+ var BinaryOpSymbol$2 = $EXPECT($L55, fail, 'BinaryOpSymbol "/"');
7849
+ var BinaryOpSymbol$3 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
7783
7850
  return {
7784
7851
  call: module.getRef("modulo"),
7785
7852
  special: true
7786
7853
  };
7787
7854
  });
7788
- var BinaryOpSymbol$4 = $EXPECT($L56, fail, 'BinaryOpSymbol "%"');
7789
- var BinaryOpSymbol$5 = $EXPECT($L57, fail, 'BinaryOpSymbol "+"');
7790
- var BinaryOpSymbol$6 = $EXPECT($L16, fail, 'BinaryOpSymbol "-"');
7791
- var BinaryOpSymbol$7 = $EXPECT($L58, fail, 'BinaryOpSymbol "<="');
7792
- var BinaryOpSymbol$8 = $EXPECT($L59, fail, 'BinaryOpSymbol ">="');
7793
- var BinaryOpSymbol$9 = $TV($EXPECT($L60, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
7855
+ var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
7856
+ var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
7857
+ var BinaryOpSymbol$6 = $EXPECT($L17, fail, 'BinaryOpSymbol "-"');
7858
+ var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
7859
+ var BinaryOpSymbol$8 = $EXPECT($L60, fail, 'BinaryOpSymbol ">="');
7860
+ var BinaryOpSymbol$9 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
7794
7861
  return {
7795
7862
  $loc,
7796
7863
  token: "instanceof",
@@ -7798,7 +7865,7 @@ ${input.slice(result.pos)}
7798
7865
  special: true
7799
7866
  };
7800
7867
  });
7801
- var BinaryOpSymbol$10 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
7868
+ var BinaryOpSymbol$10 = $TV($EXPECT($L62, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
7802
7869
  return {
7803
7870
  $loc,
7804
7871
  token: "instanceof",
@@ -7807,58 +7874,58 @@ ${input.slice(result.pos)}
7807
7874
  negated: true
7808
7875
  };
7809
7876
  });
7810
- var BinaryOpSymbol$11 = $EXPECT($L62, fail, 'BinaryOpSymbol "<<"');
7877
+ var BinaryOpSymbol$11 = $EXPECT($L63, fail, 'BinaryOpSymbol "<<"');
7811
7878
  var BinaryOpSymbol$12 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7812
7879
  return "<";
7813
7880
  });
7814
- var BinaryOpSymbol$13 = $EXPECT($L63, fail, 'BinaryOpSymbol ">>>"');
7815
- var BinaryOpSymbol$14 = $EXPECT($L64, fail, 'BinaryOpSymbol ">>"');
7816
- var BinaryOpSymbol$15 = $EXPECT($L29, fail, 'BinaryOpSymbol ">"');
7817
- var BinaryOpSymbol$16 = $EXPECT($L65, fail, 'BinaryOpSymbol "!=="');
7818
- var BinaryOpSymbol$17 = $TV($EXPECT($L66, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
7881
+ var BinaryOpSymbol$13 = $EXPECT($L64, fail, 'BinaryOpSymbol ">>>"');
7882
+ var BinaryOpSymbol$14 = $EXPECT($L65, fail, 'BinaryOpSymbol ">>"');
7883
+ var BinaryOpSymbol$15 = $EXPECT($L30, fail, 'BinaryOpSymbol ">"');
7884
+ var BinaryOpSymbol$16 = $EXPECT($L66, fail, 'BinaryOpSymbol "!=="');
7885
+ var BinaryOpSymbol$17 = $TV($EXPECT($L67, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
7819
7886
  if (module.config.coffeeEq)
7820
7887
  return "!==";
7821
7888
  return $1;
7822
7889
  });
7823
- var BinaryOpSymbol$18 = $TS($S($EXPECT($L67, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7890
+ var BinaryOpSymbol$18 = $TS($S($EXPECT($L68, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7824
7891
  if (module.config.coffeeIsnt)
7825
7892
  return "!==";
7826
7893
  return $skip;
7827
7894
  });
7828
- var BinaryOpSymbol$19 = $EXPECT($L68, fail, 'BinaryOpSymbol "==="');
7829
- var BinaryOpSymbol$20 = $TV($EXPECT($L69, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
7895
+ var BinaryOpSymbol$19 = $EXPECT($L69, fail, 'BinaryOpSymbol "==="');
7896
+ var BinaryOpSymbol$20 = $TV($EXPECT($L70, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
7830
7897
  if (module.config.coffeeEq)
7831
7898
  return "===";
7832
7899
  return $1;
7833
7900
  });
7834
- var BinaryOpSymbol$21 = $T($S($EXPECT($L70, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
7901
+ var BinaryOpSymbol$21 = $T($S($EXPECT($L71, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
7835
7902
  return "&&";
7836
7903
  });
7837
- var BinaryOpSymbol$22 = $EXPECT($L71, fail, 'BinaryOpSymbol "&&"');
7838
- var BinaryOpSymbol$23 = $T($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
7904
+ var BinaryOpSymbol$22 = $EXPECT($L72, fail, 'BinaryOpSymbol "&&"');
7905
+ var BinaryOpSymbol$23 = $T($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
7839
7906
  return "in";
7840
7907
  });
7841
- var BinaryOpSymbol$24 = $T($S($EXPECT($L73, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
7908
+ var BinaryOpSymbol$24 = $T($S($EXPECT($L74, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
7842
7909
  return "||";
7843
7910
  });
7844
- var BinaryOpSymbol$25 = $EXPECT($L74, fail, 'BinaryOpSymbol "||"');
7845
- var BinaryOpSymbol$26 = $TV($C($EXPECT($L75, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L76, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7911
+ var BinaryOpSymbol$25 = $EXPECT($L75, fail, 'BinaryOpSymbol "||"');
7912
+ var BinaryOpSymbol$26 = $TV($C($EXPECT($L76, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L77, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7846
7913
  return {
7847
7914
  call: module.getRef("xor"),
7848
7915
  special: true
7849
7916
  };
7850
7917
  });
7851
- var BinaryOpSymbol$27 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L77, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7918
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L78, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7852
7919
  return {
7853
7920
  call: module.getRef("xnor"),
7854
7921
  special: true
7855
7922
  };
7856
7923
  });
7857
- var BinaryOpSymbol$28 = $EXPECT($L78, fail, 'BinaryOpSymbol "??"');
7924
+ var BinaryOpSymbol$28 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
7858
7925
  var BinaryOpSymbol$29 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L3, fail, 'BinaryOpSymbol "?"')), function(value) {
7859
7926
  return "??";
7860
7927
  });
7861
- var BinaryOpSymbol$30 = $TS($S($EXPECT($L79, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7928
+ var BinaryOpSymbol$30 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7862
7929
  return {
7863
7930
  $loc,
7864
7931
  token: $1,
@@ -7866,7 +7933,7 @@ ${input.slice(result.pos)}
7866
7933
  special: true
7867
7934
  };
7868
7935
  });
7869
- var BinaryOpSymbol$31 = $TS($S($EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L79, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7936
+ var BinaryOpSymbol$31 = $TS($S($EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7870
7937
  return {
7871
7938
  $loc,
7872
7939
  token: "instanceof",
@@ -7875,7 +7942,7 @@ ${input.slice(result.pos)}
7875
7942
  negated: true
7876
7943
  };
7877
7944
  });
7878
- var BinaryOpSymbol$32 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L72, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7945
+ var BinaryOpSymbol$32 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7879
7946
  return {
7880
7947
  $loc,
7881
7948
  token: "in",
@@ -7883,7 +7950,7 @@ ${input.slice(result.pos)}
7883
7950
  negated: true
7884
7951
  };
7885
7952
  });
7886
- var BinaryOpSymbol$33 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7953
+ var BinaryOpSymbol$33 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7887
7954
  return {
7888
7955
  method: "includes",
7889
7956
  relational: true,
@@ -7891,7 +7958,7 @@ ${input.slice(result.pos)}
7891
7958
  special: true
7892
7959
  };
7893
7960
  });
7894
- var BinaryOpSymbol$34 = $TS($S(CoffeeOfEnabled, $EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
7961
+ var BinaryOpSymbol$34 = $TS($S(CoffeeOfEnabled, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
7895
7962
  return {
7896
7963
  call: [module.getRef("indexOf"), ".call"],
7897
7964
  relational: true,
@@ -7900,7 +7967,7 @@ ${input.slice(result.pos)}
7900
7967
  special: true
7901
7968
  };
7902
7969
  });
7903
- var BinaryOpSymbol$35 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
7970
+ var BinaryOpSymbol$35 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
7904
7971
  return {
7905
7972
  method: "includes",
7906
7973
  relational: true,
@@ -7909,7 +7976,7 @@ ${input.slice(result.pos)}
7909
7976
  negated: true
7910
7977
  };
7911
7978
  });
7912
- var BinaryOpSymbol$36 = $TS($S(CoffeeOfEnabled, $EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7979
+ var BinaryOpSymbol$36 = $TS($S(CoffeeOfEnabled, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7913
7980
  return {
7914
7981
  call: [module.getRef("indexOf"), ".call"],
7915
7982
  relational: true,
@@ -7918,7 +7985,7 @@ ${input.slice(result.pos)}
7918
7985
  special: true
7919
7986
  };
7920
7987
  });
7921
- var BinaryOpSymbol$37 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L81, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L51, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7988
+ var BinaryOpSymbol$37 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7922
7989
  if (module.config.objectIs) {
7923
7990
  return {
7924
7991
  call: module.getRef("is"),
@@ -7930,7 +7997,7 @@ ${input.slice(result.pos)}
7930
7997
  }
7931
7998
  return "!==";
7932
7999
  });
7933
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8000
+ var BinaryOpSymbol$38 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7934
8001
  if (module.config.objectIs) {
7935
8002
  return {
7936
8003
  call: module.getRef("is"),
@@ -7941,12 +8008,12 @@ ${input.slice(result.pos)}
7941
8008
  }
7942
8009
  return "===";
7943
8010
  });
7944
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8011
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7945
8012
  return $1;
7946
8013
  });
7947
- var BinaryOpSymbol$40 = $EXPECT($L82, fail, 'BinaryOpSymbol "&"');
7948
- var BinaryOpSymbol$41 = $EXPECT($L15, fail, 'BinaryOpSymbol "^"');
7949
- var BinaryOpSymbol$42 = $EXPECT($L83, fail, 'BinaryOpSymbol "|"');
8014
+ var BinaryOpSymbol$40 = $EXPECT($L83, fail, 'BinaryOpSymbol "&"');
8015
+ var BinaryOpSymbol$41 = $EXPECT($L16, fail, 'BinaryOpSymbol "^"');
8016
+ var BinaryOpSymbol$42 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
7950
8017
  function BinaryOpSymbol(state) {
7951
8018
  let eventData;
7952
8019
  if (state.events) {
@@ -7969,8 +8036,8 @@ ${input.slice(result.pos)}
7969
8036
  return result;
7970
8037
  }
7971
8038
  }
7972
- var Xor$0 = $EXPECT($L75, fail, 'Xor "^^"');
7973
- var Xor$1 = $S($EXPECT($L76, fail, 'Xor "xor"'), NonIdContinue);
8039
+ var Xor$0 = $EXPECT($L76, fail, 'Xor "^^"');
8040
+ var Xor$1 = $S($EXPECT($L77, fail, 'Xor "xor"'), NonIdContinue);
7974
8041
  function Xor(state) {
7975
8042
  let eventData;
7976
8043
  if (state.events) {
@@ -7994,7 +8061,7 @@ ${input.slice(result.pos)}
7994
8061
  }
7995
8062
  }
7996
8063
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
7997
- var Xnor$1 = $EXPECT($L77, fail, 'Xnor "xnor"');
8064
+ var Xnor$1 = $EXPECT($L78, fail, 'Xnor "xnor"');
7998
8065
  function Xnor(state) {
7999
8066
  let eventData;
8000
8067
  if (state.events) {
@@ -8215,7 +8282,7 @@ ${input.slice(result.pos)}
8215
8282
  return result;
8216
8283
  }
8217
8284
  }
8218
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L84, fail, 'EmptyStatement ";"'))), function(value) {
8285
+ var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L85, fail, 'EmptyStatement ";"'))), function(value) {
8219
8286
  return { "type": "EmptyStatement", "children": value[0] };
8220
8287
  });
8221
8288
  function EmptyStatement(state) {
@@ -8294,7 +8361,7 @@ ${input.slice(result.pos)}
8294
8361
  var w = $3;
8295
8362
  return [id, colon, w];
8296
8363
  });
8297
- var Label$1 = $S($EXPECT($L85, fail, 'Label "$:"'), Whitespace);
8364
+ var Label$1 = $S($EXPECT($L86, fail, 'Label "$:"'), Whitespace);
8298
8365
  function Label(state) {
8299
8366
  let eventData;
8300
8367
  if (state.events) {
@@ -9246,7 +9313,7 @@ ${input.slice(result.pos)}
9246
9313
  return result;
9247
9314
  }
9248
9315
  }
9249
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L86, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
9316
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L87, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
9250
9317
  var own = $1;
9251
9318
  var binding = $2;
9252
9319
  return {
@@ -9730,8 +9797,8 @@ ${input.slice(result.pos)}
9730
9797
  return result;
9731
9798
  }
9732
9799
  }
9733
- var ImpliedColon$0 = $S(__, Colon);
9734
- var ImpliedColon$1 = $TV($EXPECT($L18, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
9800
+ var ImpliedColon$0 = $S($E(_), Colon);
9801
+ var ImpliedColon$1 = $TV($EXPECT($L19, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
9735
9802
  return { $loc, token: ":" };
9736
9803
  });
9737
9804
  function ImpliedColon(state) {
@@ -9984,7 +10051,7 @@ ${input.slice(result.pos)}
9984
10051
  return result;
9985
10052
  }
9986
10053
  }
9987
- var ForbidIndentedApplication$0 = $TV($EXPECT($L18, fail, 'ForbidIndentedApplication ""'), function($skip, $loc, $0, $1) {
10054
+ var ForbidIndentedApplication$0 = $TV($EXPECT($L19, fail, 'ForbidIndentedApplication ""'), function($skip, $loc, $0, $1) {
9988
10055
  module.forbidIndentedApplication.push(true);
9989
10056
  });
9990
10057
  function ForbidIndentedApplication(state) {
@@ -10009,7 +10076,7 @@ ${input.slice(result.pos)}
10009
10076
  return result;
10010
10077
  }
10011
10078
  }
10012
- var AllowIndentedApplication$0 = $TV($EXPECT($L18, fail, 'AllowIndentedApplication ""'), function($skip, $loc, $0, $1) {
10079
+ var AllowIndentedApplication$0 = $TV($EXPECT($L19, fail, 'AllowIndentedApplication ""'), function($skip, $loc, $0, $1) {
10013
10080
  module.forbidIndentedApplication.push(false);
10014
10081
  });
10015
10082
  function AllowIndentedApplication(state) {
@@ -10034,7 +10101,7 @@ ${input.slice(result.pos)}
10034
10101
  return result;
10035
10102
  }
10036
10103
  }
10037
- var RestoreIndentedApplication$0 = $TV($EXPECT($L18, fail, 'RestoreIndentedApplication ""'), function($skip, $loc, $0, $1) {
10104
+ var RestoreIndentedApplication$0 = $TV($EXPECT($L19, fail, 'RestoreIndentedApplication ""'), function($skip, $loc, $0, $1) {
10038
10105
  module.forbidIndentedApplication.pop();
10039
10106
  });
10040
10107
  function RestoreIndentedApplication(state) {
@@ -10059,7 +10126,7 @@ ${input.slice(result.pos)}
10059
10126
  return result;
10060
10127
  }
10061
10128
  }
10062
- var IndentedApplicationAllowed$0 = $TV($EXPECT($L18, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
10129
+ var IndentedApplicationAllowed$0 = $TV($EXPECT($L19, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
10063
10130
  if (module.config.verbose) {
10064
10131
  console.log("forbidIndentedApplication:", module.forbidIndentedApplication);
10065
10132
  }
@@ -10089,7 +10156,7 @@ ${input.slice(result.pos)}
10089
10156
  return result;
10090
10157
  }
10091
10158
  }
10092
- var ForbidTrailingMemberProperty$0 = $TV($EXPECT($L18, fail, 'ForbidTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10159
+ var ForbidTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'ForbidTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10093
10160
  module.forbidTrailingMemberProperty.push(true);
10094
10161
  });
10095
10162
  function ForbidTrailingMemberProperty(state) {
@@ -10114,7 +10181,7 @@ ${input.slice(result.pos)}
10114
10181
  return result;
10115
10182
  }
10116
10183
  }
10117
- var AllowTrailingMemberProperty$0 = $TV($EXPECT($L18, fail, 'AllowTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10184
+ var AllowTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'AllowTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10118
10185
  module.forbidTrailingMemberProperty.push(false);
10119
10186
  });
10120
10187
  function AllowTrailingMemberProperty(state) {
@@ -10139,7 +10206,7 @@ ${input.slice(result.pos)}
10139
10206
  return result;
10140
10207
  }
10141
10208
  }
10142
- var RestoreTrailingMemberProperty$0 = $TV($EXPECT($L18, fail, 'RestoreTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10209
+ var RestoreTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'RestoreTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10143
10210
  module.forbidTrailingMemberProperty.pop();
10144
10211
  });
10145
10212
  function RestoreTrailingMemberProperty(state) {
@@ -10164,7 +10231,7 @@ ${input.slice(result.pos)}
10164
10231
  return result;
10165
10232
  }
10166
10233
  }
10167
- var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L18, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
10234
+ var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L19, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
10168
10235
  if (module.config.verbose) {
10169
10236
  console.log("forbidTrailingMemberProperty:", module.forbidTrailingMemberProperty);
10170
10237
  }
@@ -10193,7 +10260,7 @@ ${input.slice(result.pos)}
10193
10260
  return result;
10194
10261
  }
10195
10262
  }
10196
- var ForbidMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L18, fail, 'ForbidMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10263
+ var ForbidMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'ForbidMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10197
10264
  module.forbidMultiLineImplicitObjectLiteral.push(true);
10198
10265
  });
10199
10266
  function ForbidMultiLineImplicitObjectLiteral(state) {
@@ -10218,7 +10285,7 @@ ${input.slice(result.pos)}
10218
10285
  return result;
10219
10286
  }
10220
10287
  }
10221
- var AllowMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L18, fail, 'AllowMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10288
+ var AllowMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'AllowMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10222
10289
  module.forbidMultiLineImplicitObjectLiteral.push(false);
10223
10290
  });
10224
10291
  function AllowMultiLineImplicitObjectLiteral(state) {
@@ -10243,7 +10310,7 @@ ${input.slice(result.pos)}
10243
10310
  return result;
10244
10311
  }
10245
10312
  }
10246
- var RestoreMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L18, fail, 'RestoreMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10313
+ var RestoreMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'RestoreMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10247
10314
  module.forbidMultiLineImplicitObjectLiteral.pop();
10248
10315
  });
10249
10316
  function RestoreMultiLineImplicitObjectLiteral(state) {
@@ -10268,7 +10335,7 @@ ${input.slice(result.pos)}
10268
10335
  return result;
10269
10336
  }
10270
10337
  }
10271
- var MultiLineImplicitObjectLiteralAllowed$0 = $TV($EXPECT($L18, fail, 'MultiLineImplicitObjectLiteralAllowed ""'), function($skip, $loc, $0, $1) {
10338
+ var MultiLineImplicitObjectLiteralAllowed$0 = $TV($EXPECT($L19, fail, 'MultiLineImplicitObjectLiteralAllowed ""'), function($skip, $loc, $0, $1) {
10272
10339
  if (module.config.verbose) {
10273
10340
  console.log("forbidMultiLineImplicitObjectLiteral:", module.forbidMultiLineImplicitObjectLiteral);
10274
10341
  }
@@ -10381,8 +10448,9 @@ ${input.slice(result.pos)}
10381
10448
  var KeywordStatement$2 = $T($S(Debugger), function(value) {
10382
10449
  return { "type": "DebuggerStatement", "children": value };
10383
10450
  });
10384
- var KeywordStatement$3 = $T($S(Return, $E(MaybeNestedExpression)), function(value) {
10385
- return { "type": "ReturnStatement", "children": value };
10451
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L4, fail, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10452
+ var expression = value[2];
10453
+ return { "type": "ReturnStatement", "expression": expression, "children": value };
10386
10454
  });
10387
10455
  var KeywordStatement$4 = $T($S(Throw, ExtendedExpression), function(value) {
10388
10456
  return { "type": "ThrowStatement", "children": value };
@@ -10409,7 +10477,7 @@ ${input.slice(result.pos)}
10409
10477
  return result;
10410
10478
  }
10411
10479
  }
10412
- var Break$0 = $TS($S($EXPECT($L87, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10480
+ var Break$0 = $TS($S($EXPECT($L88, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10413
10481
  return { $loc, token: $1 };
10414
10482
  });
10415
10483
  function Break(state) {
@@ -10434,7 +10502,7 @@ ${input.slice(result.pos)}
10434
10502
  return result;
10435
10503
  }
10436
10504
  }
10437
- var Continue$0 = $TS($S($EXPECT($L88, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10505
+ var Continue$0 = $TS($S($EXPECT($L89, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10438
10506
  return { $loc, token: $1 };
10439
10507
  });
10440
10508
  function Continue(state) {
@@ -10459,7 +10527,7 @@ ${input.slice(result.pos)}
10459
10527
  return result;
10460
10528
  }
10461
10529
  }
10462
- var Debugger$0 = $TS($S($EXPECT($L89, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10530
+ var Debugger$0 = $TS($S($EXPECT($L90, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10463
10531
  return { $loc, token: $1 };
10464
10532
  });
10465
10533
  function Debugger(state) {
@@ -10612,7 +10680,7 @@ ${input.slice(result.pos)}
10612
10680
  return result;
10613
10681
  }
10614
10682
  }
10615
- var ImpliedImport$0 = $TV($EXPECT($L18, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
10683
+ var ImpliedImport$0 = $TV($EXPECT($L19, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
10616
10684
  return { $loc, token: "import " };
10617
10685
  });
10618
10686
  function ImpliedImport(state) {
@@ -10761,7 +10829,7 @@ ${input.slice(result.pos)}
10761
10829
  return result;
10762
10830
  }
10763
10831
  }
10764
- var ImportAssertion$0 = $S($E(_), $EXPECT($L90, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
10832
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L91, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
10765
10833
  function ImportAssertion(state) {
10766
10834
  let eventData;
10767
10835
  if (state.events) {
@@ -11365,7 +11433,7 @@ ${input.slice(result.pos)}
11365
11433
  return result;
11366
11434
  }
11367
11435
  }
11368
- var ConstAssignment$0 = $TV($EXPECT($L91, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
11436
+ var ConstAssignment$0 = $TV($EXPECT($L92, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
11369
11437
  return { $loc, token: "=" };
11370
11438
  });
11371
11439
  function ConstAssignment(state) {
@@ -11390,7 +11458,7 @@ ${input.slice(result.pos)}
11390
11458
  return result;
11391
11459
  }
11392
11460
  }
11393
- var LetAssignment$0 = $TV($EXPECT($L92, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11461
+ var LetAssignment$0 = $TV($EXPECT($L93, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
11394
11462
  return { $loc, token: "=" };
11395
11463
  });
11396
11464
  function LetAssignment(state) {
@@ -12088,7 +12156,7 @@ ${input.slice(result.pos)}
12088
12156
  }
12089
12157
  }
12090
12158
  var RegularExpressionLiteral$0 = HeregexLiteral;
12091
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12159
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12092
12160
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
12093
12161
  });
12094
12162
  function RegularExpressionLiteral(state) {
@@ -12655,7 +12723,7 @@ ${input.slice(result.pos)}
12655
12723
  return result;
12656
12724
  }
12657
12725
  }
12658
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L93, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L94, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L94, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12726
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L94, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L95, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L95, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12659
12727
  return { $loc, token: $1 };
12660
12728
  });
12661
12729
  function JSMultiLineComment(state) {
@@ -12754,7 +12822,7 @@ ${input.slice(result.pos)}
12754
12822
  return result;
12755
12823
  }
12756
12824
  }
12757
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L93, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L94, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L94, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
12825
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L94, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L95, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L95, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
12758
12826
  return { $loc, token: $1 };
12759
12827
  });
12760
12828
  function InlineComment(state) {
@@ -12853,7 +12921,7 @@ ${input.slice(result.pos)}
12853
12921
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12854
12922
  return { $loc, token: $0 };
12855
12923
  });
12856
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L95, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
12924
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L96, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
12857
12925
  return "";
12858
12926
  });
12859
12927
  function NonNewlineWhitespace(state) {
@@ -13005,7 +13073,7 @@ ${input.slice(result.pos)}
13005
13073
  }
13006
13074
  }
13007
13075
  var StatementDelimiter$0 = SemicolonDelimiter;
13008
- var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L2, fail, 'StatementDelimiter "("'), $EXPECT($L96, fail, 'StatementDelimiter "["'), $EXPECT($L97, fail, 'StatementDelimiter "`"'), $EXPECT($L57, fail, 'StatementDelimiter "+"'), $EXPECT($L16, fail, 'StatementDelimiter "-"'), $EXPECT($L53, fail, 'StatementDelimiter "*"'), $EXPECT($L54, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L2, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
13076
+ var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L2, fail, 'StatementDelimiter "("'), $EXPECT($L97, fail, 'StatementDelimiter "["'), $EXPECT($L98, fail, 'StatementDelimiter "`"'), $EXPECT($L58, fail, 'StatementDelimiter "+"'), $EXPECT($L17, fail, 'StatementDelimiter "-"'), $EXPECT($L54, fail, 'StatementDelimiter "*"'), $EXPECT($L55, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L2, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
13009
13077
  var StatementDelimiter$2 = $Y(EOS);
13010
13078
  function StatementDelimiter(state) {
13011
13079
  let eventData;
@@ -13080,7 +13148,7 @@ ${input.slice(result.pos)}
13080
13148
  return result;
13081
13149
  }
13082
13150
  }
13083
- var Loc$0 = $TV($EXPECT($L18, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
13151
+ var Loc$0 = $TV($EXPECT($L19, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
13084
13152
  return { $loc, token: "" };
13085
13153
  });
13086
13154
  function Loc(state) {
@@ -13105,7 +13173,7 @@ ${input.slice(result.pos)}
13105
13173
  return result;
13106
13174
  }
13107
13175
  }
13108
- var Abstract$0 = $TV($TEXT($S($EXPECT($L98, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L8, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13176
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L99, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L8, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13109
13177
  return { $loc, token: $1, ts: true };
13110
13178
  });
13111
13179
  function Abstract(state) {
@@ -13130,7 +13198,7 @@ ${input.slice(result.pos)}
13130
13198
  return result;
13131
13199
  }
13132
13200
  }
13133
- var Ampersand$0 = $TV($EXPECT($L82, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
13201
+ var Ampersand$0 = $TV($EXPECT($L83, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
13134
13202
  return { $loc, token: $1 };
13135
13203
  });
13136
13204
  function Ampersand(state) {
@@ -13155,7 +13223,7 @@ ${input.slice(result.pos)}
13155
13223
  return result;
13156
13224
  }
13157
13225
  }
13158
- var As$0 = $TS($S($EXPECT($L99, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13226
+ var As$0 = $TS($S($EXPECT($L100, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13159
13227
  return { $loc, token: $1 };
13160
13228
  });
13161
13229
  function As(state) {
@@ -13180,7 +13248,7 @@ ${input.slice(result.pos)}
13180
13248
  return result;
13181
13249
  }
13182
13250
  }
13183
- var At$0 = $TV($EXPECT($L100, fail, 'At "@"'), function($skip, $loc, $0, $1) {
13251
+ var At$0 = $TV($EXPECT($L101, fail, 'At "@"'), function($skip, $loc, $0, $1) {
13184
13252
  return { $loc, token: $1 };
13185
13253
  });
13186
13254
  function At(state) {
@@ -13205,7 +13273,7 @@ ${input.slice(result.pos)}
13205
13273
  return result;
13206
13274
  }
13207
13275
  }
13208
- var AtAt$0 = $TV($EXPECT($L101, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
13276
+ var AtAt$0 = $TV($EXPECT($L102, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
13209
13277
  return { $loc, token: "@" };
13210
13278
  });
13211
13279
  function AtAt(state) {
@@ -13230,7 +13298,7 @@ ${input.slice(result.pos)}
13230
13298
  return result;
13231
13299
  }
13232
13300
  }
13233
- var Async$0 = $TS($S($EXPECT($L102, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13301
+ var Async$0 = $TS($S($EXPECT($L103, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13234
13302
  return { $loc, token: $1, type: "Async" };
13235
13303
  });
13236
13304
  function Async(state) {
@@ -13255,7 +13323,7 @@ ${input.slice(result.pos)}
13255
13323
  return result;
13256
13324
  }
13257
13325
  }
13258
- var Await$0 = $TS($S($EXPECT($L103, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13326
+ var Await$0 = $TS($S($EXPECT($L104, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13259
13327
  return { $loc, token: $1 };
13260
13328
  });
13261
13329
  function Await(state) {
@@ -13280,7 +13348,7 @@ ${input.slice(result.pos)}
13280
13348
  return result;
13281
13349
  }
13282
13350
  }
13283
- var Backtick$0 = $TV($EXPECT($L97, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
13351
+ var Backtick$0 = $TV($EXPECT($L98, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
13284
13352
  return { $loc, token: $1 };
13285
13353
  });
13286
13354
  function Backtick(state) {
@@ -13305,7 +13373,7 @@ ${input.slice(result.pos)}
13305
13373
  return result;
13306
13374
  }
13307
13375
  }
13308
- var By$0 = $TS($S($EXPECT($L104, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13376
+ var By$0 = $TS($S($EXPECT($L105, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13309
13377
  return { $loc, token: $1 };
13310
13378
  });
13311
13379
  function By(state) {
@@ -13330,7 +13398,7 @@ ${input.slice(result.pos)}
13330
13398
  return result;
13331
13399
  }
13332
13400
  }
13333
- var Case$0 = $TS($S($EXPECT($L105, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13401
+ var Case$0 = $TS($S($EXPECT($L106, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13334
13402
  return { $loc, token: $1 };
13335
13403
  });
13336
13404
  function Case(state) {
@@ -13355,7 +13423,7 @@ ${input.slice(result.pos)}
13355
13423
  return result;
13356
13424
  }
13357
13425
  }
13358
- var Catch$0 = $TS($S($EXPECT($L106, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13426
+ var Catch$0 = $TS($S($EXPECT($L107, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13359
13427
  return { $loc, token: $1 };
13360
13428
  });
13361
13429
  function Catch(state) {
@@ -13380,7 +13448,7 @@ ${input.slice(result.pos)}
13380
13448
  return result;
13381
13449
  }
13382
13450
  }
13383
- var Class$0 = $TS($S($EXPECT($L107, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13451
+ var Class$0 = $TS($S($EXPECT($L108, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13384
13452
  return { $loc, token: $1 };
13385
13453
  });
13386
13454
  function Class(state) {
@@ -13405,7 +13473,7 @@ ${input.slice(result.pos)}
13405
13473
  return result;
13406
13474
  }
13407
13475
  }
13408
- var CloseBrace$0 = $TV($EXPECT($L21, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
13476
+ var CloseBrace$0 = $TV($EXPECT($L22, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
13409
13477
  return { $loc, token: $1 };
13410
13478
  });
13411
13479
  function CloseBrace(state) {
@@ -13430,7 +13498,7 @@ ${input.slice(result.pos)}
13430
13498
  return result;
13431
13499
  }
13432
13500
  }
13433
- var CloseBracket$0 = $TV($EXPECT($L30, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
13501
+ var CloseBracket$0 = $TV($EXPECT($L31, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
13434
13502
  return { $loc, token: $1 };
13435
13503
  });
13436
13504
  function CloseBracket(state) {
@@ -13455,7 +13523,7 @@ ${input.slice(result.pos)}
13455
13523
  return result;
13456
13524
  }
13457
13525
  }
13458
- var CloseParen$0 = $TV($EXPECT($L32, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
13526
+ var CloseParen$0 = $TV($EXPECT($L33, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
13459
13527
  return { $loc, token: $1 };
13460
13528
  });
13461
13529
  function CloseParen(state) {
@@ -13480,7 +13548,7 @@ ${input.slice(result.pos)}
13480
13548
  return result;
13481
13549
  }
13482
13550
  }
13483
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L108, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
13551
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L109, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
13484
13552
  return { $loc, token: "${" };
13485
13553
  });
13486
13554
  function CoffeeSubstitutionStart(state) {
@@ -13505,7 +13573,7 @@ ${input.slice(result.pos)}
13505
13573
  return result;
13506
13574
  }
13507
13575
  }
13508
- var Colon$0 = $TV($EXPECT($L31, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
13576
+ var Colon$0 = $TV($EXPECT($L32, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
13509
13577
  return { $loc, token: $1 };
13510
13578
  });
13511
13579
  function Colon(state) {
@@ -13530,7 +13598,7 @@ ${input.slice(result.pos)}
13530
13598
  return result;
13531
13599
  }
13532
13600
  }
13533
- var Comma$0 = $TV($EXPECT($L19, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
13601
+ var Comma$0 = $TV($EXPECT($L20, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
13534
13602
  return { $loc, token: $1 };
13535
13603
  });
13536
13604
  function Comma(state) {
@@ -13555,7 +13623,7 @@ ${input.slice(result.pos)}
13555
13623
  return result;
13556
13624
  }
13557
13625
  }
13558
- var ConstructorShorthand$0 = $TV($EXPECT($L100, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
13626
+ var ConstructorShorthand$0 = $TV($EXPECT($L101, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
13559
13627
  return { $loc, token: "constructor" };
13560
13628
  });
13561
13629
  function ConstructorShorthand(state) {
@@ -13580,7 +13648,7 @@ ${input.slice(result.pos)}
13580
13648
  return result;
13581
13649
  }
13582
13650
  }
13583
- var Declare$0 = $TS($S($EXPECT($L109, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13651
+ var Declare$0 = $TS($S($EXPECT($L110, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13584
13652
  return { $loc, token: $1 };
13585
13653
  });
13586
13654
  function Declare(state) {
@@ -13605,7 +13673,7 @@ ${input.slice(result.pos)}
13605
13673
  return result;
13606
13674
  }
13607
13675
  }
13608
- var Default$0 = $TS($S($EXPECT($L110, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13676
+ var Default$0 = $TS($S($EXPECT($L111, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13609
13677
  return { $loc, token: $1 };
13610
13678
  });
13611
13679
  function Default(state) {
@@ -13630,7 +13698,7 @@ ${input.slice(result.pos)}
13630
13698
  return result;
13631
13699
  }
13632
13700
  }
13633
- var Delete$0 = $TS($S($EXPECT($L111, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13701
+ var Delete$0 = $TS($S($EXPECT($L112, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13634
13702
  return { $loc, token: $1 };
13635
13703
  });
13636
13704
  function Delete(state) {
@@ -13655,7 +13723,7 @@ ${input.slice(result.pos)}
13655
13723
  return result;
13656
13724
  }
13657
13725
  }
13658
- var Do$0 = $TS($S($EXPECT($L112, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13726
+ var Do$0 = $TS($S($EXPECT($L113, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13659
13727
  return { $loc, token: $1 };
13660
13728
  });
13661
13729
  function Do(state) {
@@ -13705,7 +13773,7 @@ ${input.slice(result.pos)}
13705
13773
  return result;
13706
13774
  }
13707
13775
  }
13708
- var DotDot$0 = $TV($EXPECT($L113, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
13776
+ var DotDot$0 = $TV($EXPECT($L114, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
13709
13777
  return { $loc, token: $1 };
13710
13778
  });
13711
13779
  function DotDot(state) {
@@ -13730,7 +13798,7 @@ ${input.slice(result.pos)}
13730
13798
  return result;
13731
13799
  }
13732
13800
  }
13733
- var DotDotDot$0 = $TV($EXPECT($L114, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
13801
+ var DotDotDot$0 = $TV($EXPECT($L115, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
13734
13802
  return { $loc, token: $1 };
13735
13803
  });
13736
13804
  function DotDotDot(state) {
@@ -13755,7 +13823,7 @@ ${input.slice(result.pos)}
13755
13823
  return result;
13756
13824
  }
13757
13825
  }
13758
- var DoubleColon$0 = $TV($EXPECT($L115, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
13826
+ var DoubleColon$0 = $TV($EXPECT($L116, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
13759
13827
  return { $loc, token: $1 };
13760
13828
  });
13761
13829
  function DoubleColon(state) {
@@ -13780,7 +13848,7 @@ ${input.slice(result.pos)}
13780
13848
  return result;
13781
13849
  }
13782
13850
  }
13783
- var DoubleQuote$0 = $TV($EXPECT($L116, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
13851
+ var DoubleQuote$0 = $TV($EXPECT($L117, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
13784
13852
  return { $loc, token: $1 };
13785
13853
  });
13786
13854
  function DoubleQuote(state) {
@@ -13805,7 +13873,7 @@ ${input.slice(result.pos)}
13805
13873
  return result;
13806
13874
  }
13807
13875
  }
13808
- var Else$0 = $TS($S($EXPECT($L117, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13876
+ var Else$0 = $TS($S($EXPECT($L118, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13809
13877
  return { $loc, token: $1 };
13810
13878
  });
13811
13879
  function Else(state) {
@@ -13855,7 +13923,7 @@ ${input.slice(result.pos)}
13855
13923
  return result;
13856
13924
  }
13857
13925
  }
13858
- var Export$0 = $TS($S($EXPECT($L118, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13926
+ var Export$0 = $TS($S($EXPECT($L119, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13859
13927
  return { $loc, token: $1 };
13860
13928
  });
13861
13929
  function Export(state) {
@@ -13880,7 +13948,7 @@ ${input.slice(result.pos)}
13880
13948
  return result;
13881
13949
  }
13882
13950
  }
13883
- var Extends$0 = $TS($S($EXPECT($L119, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13951
+ var Extends$0 = $TS($S($EXPECT($L120, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13884
13952
  return { $loc, token: $1 };
13885
13953
  });
13886
13954
  function Extends(state) {
@@ -13905,7 +13973,7 @@ ${input.slice(result.pos)}
13905
13973
  return result;
13906
13974
  }
13907
13975
  }
13908
- var Finally$0 = $TS($S($EXPECT($L120, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13976
+ var Finally$0 = $TS($S($EXPECT($L121, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13909
13977
  return { $loc, token: $1 };
13910
13978
  });
13911
13979
  function Finally(state) {
@@ -13930,7 +13998,7 @@ ${input.slice(result.pos)}
13930
13998
  return result;
13931
13999
  }
13932
14000
  }
13933
- var For$0 = $TS($S($EXPECT($L121, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14001
+ var For$0 = $TS($S($EXPECT($L122, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13934
14002
  return { $loc, token: $1 };
13935
14003
  });
13936
14004
  function For(state) {
@@ -13955,7 +14023,7 @@ ${input.slice(result.pos)}
13955
14023
  return result;
13956
14024
  }
13957
14025
  }
13958
- var From$0 = $TS($S($EXPECT($L122, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14026
+ var From$0 = $TS($S($EXPECT($L123, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13959
14027
  return { $loc, token: $1 };
13960
14028
  });
13961
14029
  function From(state) {
@@ -13980,7 +14048,7 @@ ${input.slice(result.pos)}
13980
14048
  return result;
13981
14049
  }
13982
14050
  }
13983
- var Function$0 = $TS($S($EXPECT($L123, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14051
+ var Function$0 = $TS($S($EXPECT($L124, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13984
14052
  return { $loc, token: $1 };
13985
14053
  });
13986
14054
  function Function(state) {
@@ -14005,7 +14073,7 @@ ${input.slice(result.pos)}
14005
14073
  return result;
14006
14074
  }
14007
14075
  }
14008
- var GetOrSet$0 = $TS($S($C($EXPECT($L124, fail, 'GetOrSet "get"'), $EXPECT($L125, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14076
+ var GetOrSet$0 = $TS($S($C($EXPECT($L125, fail, 'GetOrSet "get"'), $EXPECT($L126, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14009
14077
  return { $loc, token: $1, type: "GetOrSet" };
14010
14078
  });
14011
14079
  function GetOrSet(state) {
@@ -14030,7 +14098,7 @@ ${input.slice(result.pos)}
14030
14098
  return result;
14031
14099
  }
14032
14100
  }
14033
- var If$0 = $TV($TEXT($S($EXPECT($L126, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L8, fail, 'If " "')))), function($skip, $loc, $0, $1) {
14101
+ var If$0 = $TV($TEXT($S($EXPECT($L127, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L8, fail, 'If " "')))), function($skip, $loc, $0, $1) {
14034
14102
  return { $loc, token: $1 };
14035
14103
  });
14036
14104
  function If(state) {
@@ -14080,7 +14148,7 @@ ${input.slice(result.pos)}
14080
14148
  return result;
14081
14149
  }
14082
14150
  }
14083
- var In$0 = $TS($S($EXPECT($L80, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14151
+ var In$0 = $TS($S($EXPECT($L81, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14084
14152
  return { $loc, token: $1 };
14085
14153
  });
14086
14154
  function In(state) {
@@ -14105,7 +14173,7 @@ ${input.slice(result.pos)}
14105
14173
  return result;
14106
14174
  }
14107
14175
  }
14108
- var LetOrConst$0 = $TS($S($C($EXPECT($L127, fail, 'LetOrConst "let"'), $EXPECT($L128, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14176
+ var LetOrConst$0 = $TS($S($C($EXPECT($L128, fail, 'LetOrConst "let"'), $EXPECT($L129, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14109
14177
  return { $loc, token: $1 };
14110
14178
  });
14111
14179
  function LetOrConst(state) {
@@ -14130,7 +14198,7 @@ ${input.slice(result.pos)}
14130
14198
  return result;
14131
14199
  }
14132
14200
  }
14133
- var Loop$0 = $TS($S($EXPECT($L129, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14201
+ var Loop$0 = $TS($S($EXPECT($L130, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14134
14202
  return { $loc, token: "while(true)" };
14135
14203
  });
14136
14204
  function Loop(state) {
@@ -14155,7 +14223,7 @@ ${input.slice(result.pos)}
14155
14223
  return result;
14156
14224
  }
14157
14225
  }
14158
- var New$0 = $TS($S($EXPECT($L130, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14226
+ var New$0 = $TS($S($EXPECT($L131, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14159
14227
  return { $loc, token: $1 };
14160
14228
  });
14161
14229
  function New(state) {
@@ -14180,7 +14248,7 @@ ${input.slice(result.pos)}
14180
14248
  return result;
14181
14249
  }
14182
14250
  }
14183
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L51, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L8, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
14251
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L52, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L8, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
14184
14252
  return { $loc, token: "!" };
14185
14253
  });
14186
14254
  function Not(state) {
@@ -14205,7 +14273,7 @@ ${input.slice(result.pos)}
14205
14273
  return result;
14206
14274
  }
14207
14275
  }
14208
- var Of$0 = $TS($S($EXPECT($L72, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14276
+ var Of$0 = $TS($S($EXPECT($L73, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14209
14277
  return { $loc, token: $1 };
14210
14278
  });
14211
14279
  function Of(state) {
@@ -14230,7 +14298,7 @@ ${input.slice(result.pos)}
14230
14298
  return result;
14231
14299
  }
14232
14300
  }
14233
- var OpenAngleBracket$0 = $TV($EXPECT($L131, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14301
+ var OpenAngleBracket$0 = $TV($EXPECT($L132, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14234
14302
  return { $loc, token: $1 };
14235
14303
  });
14236
14304
  function OpenAngleBracket(state) {
@@ -14255,7 +14323,7 @@ ${input.slice(result.pos)}
14255
14323
  return result;
14256
14324
  }
14257
14325
  }
14258
- var OpenBrace$0 = $TV($EXPECT($L132, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
14326
+ var OpenBrace$0 = $TV($EXPECT($L133, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
14259
14327
  return { $loc, token: $1 };
14260
14328
  });
14261
14329
  function OpenBrace(state) {
@@ -14280,7 +14348,7 @@ ${input.slice(result.pos)}
14280
14348
  return result;
14281
14349
  }
14282
14350
  }
14283
- var OpenBracket$0 = $TV($EXPECT($L96, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
14351
+ var OpenBracket$0 = $TV($EXPECT($L97, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
14284
14352
  return { $loc, token: $1 };
14285
14353
  });
14286
14354
  function OpenBracket(state) {
@@ -14330,7 +14398,7 @@ ${input.slice(result.pos)}
14330
14398
  return result;
14331
14399
  }
14332
14400
  }
14333
- var Operator$0 = $TS($S($EXPECT($L133, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14401
+ var Operator$0 = $TS($S($EXPECT($L134, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14334
14402
  return { $loc, token: $1 };
14335
14403
  });
14336
14404
  function Operator(state) {
@@ -14355,7 +14423,7 @@ ${input.slice(result.pos)}
14355
14423
  return result;
14356
14424
  }
14357
14425
  }
14358
- var Public$0 = $TS($S($EXPECT($L134, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14426
+ var Public$0 = $TS($S($EXPECT($L135, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14359
14427
  return { $loc, token: $1 };
14360
14428
  });
14361
14429
  function Public(state) {
@@ -14380,7 +14448,7 @@ ${input.slice(result.pos)}
14380
14448
  return result;
14381
14449
  }
14382
14450
  }
14383
- var Private$0 = $TS($S($EXPECT($L135, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14451
+ var Private$0 = $TS($S($EXPECT($L136, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14384
14452
  return { $loc, token: $1 };
14385
14453
  });
14386
14454
  function Private(state) {
@@ -14405,7 +14473,7 @@ ${input.slice(result.pos)}
14405
14473
  return result;
14406
14474
  }
14407
14475
  }
14408
- var Protected$0 = $TS($S($EXPECT($L136, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14476
+ var Protected$0 = $TS($S($EXPECT($L137, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14409
14477
  return { $loc, token: $1 };
14410
14478
  });
14411
14479
  function Protected(state) {
@@ -14430,13 +14498,13 @@ ${input.slice(result.pos)}
14430
14498
  return result;
14431
14499
  }
14432
14500
  }
14433
- var Pipe$0 = $TV($EXPECT($L137, fail, 'Pipe "||>"'), function($skip, $loc, $0, $1) {
14501
+ var Pipe$0 = $TV($EXPECT($L138, fail, 'Pipe "||>"'), function($skip, $loc, $0, $1) {
14434
14502
  return { $loc, token: $1 };
14435
14503
  });
14436
- var Pipe$1 = $TV($EXPECT($L138, fail, 'Pipe "|>="'), function($skip, $loc, $0, $1) {
14504
+ var Pipe$1 = $TV($EXPECT($L139, fail, 'Pipe "|>="'), function($skip, $loc, $0, $1) {
14437
14505
  return { $loc, token: $1 };
14438
14506
  });
14439
- var Pipe$2 = $TV($EXPECT($L139, fail, 'Pipe "|>"'), function($skip, $loc, $0, $1) {
14507
+ var Pipe$2 = $TV($EXPECT($L140, fail, 'Pipe "|>"'), function($skip, $loc, $0, $1) {
14440
14508
  return { $loc, token: $1 };
14441
14509
  });
14442
14510
  function Pipe(state) {
@@ -14486,7 +14554,7 @@ ${input.slice(result.pos)}
14486
14554
  return result;
14487
14555
  }
14488
14556
  }
14489
- var Readonly$0 = $TS($S($EXPECT($L140, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14557
+ var Readonly$0 = $TS($S($EXPECT($L141, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14490
14558
  return { $loc, token: $1, ts: true };
14491
14559
  });
14492
14560
  function Readonly(state) {
@@ -14511,7 +14579,7 @@ ${input.slice(result.pos)}
14511
14579
  return result;
14512
14580
  }
14513
14581
  }
14514
- var Return$0 = $TS($S($EXPECT($L141, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14582
+ var Return$0 = $TS($S($EXPECT($L142, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14515
14583
  return { $loc, token: $1 };
14516
14584
  });
14517
14585
  function Return(state) {
@@ -14536,7 +14604,7 @@ ${input.slice(result.pos)}
14536
14604
  return result;
14537
14605
  }
14538
14606
  }
14539
- var Satisfies$0 = $TS($S($EXPECT($L142, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14607
+ var Satisfies$0 = $TS($S($EXPECT($L143, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14540
14608
  return { $loc, token: $1 };
14541
14609
  });
14542
14610
  function Satisfies(state) {
@@ -14561,7 +14629,7 @@ ${input.slice(result.pos)}
14561
14629
  return result;
14562
14630
  }
14563
14631
  }
14564
- var Semicolon$0 = $TV($EXPECT($L84, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
14632
+ var Semicolon$0 = $TV($EXPECT($L85, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
14565
14633
  return { $loc, token: $1 };
14566
14634
  });
14567
14635
  function Semicolon(state) {
@@ -14586,7 +14654,7 @@ ${input.slice(result.pos)}
14586
14654
  return result;
14587
14655
  }
14588
14656
  }
14589
- var SingleQuote$0 = $TV($EXPECT($L143, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
14657
+ var SingleQuote$0 = $TV($EXPECT($L144, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
14590
14658
  return { $loc, token: $1 };
14591
14659
  });
14592
14660
  function SingleQuote(state) {
@@ -14611,7 +14679,7 @@ ${input.slice(result.pos)}
14611
14679
  return result;
14612
14680
  }
14613
14681
  }
14614
- var Star$0 = $TV($EXPECT($L53, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
14682
+ var Star$0 = $TV($EXPECT($L54, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
14615
14683
  return { $loc, token: $1 };
14616
14684
  });
14617
14685
  function Star(state) {
@@ -14636,10 +14704,10 @@ ${input.slice(result.pos)}
14636
14704
  return result;
14637
14705
  }
14638
14706
  }
14639
- var Static$0 = $TS($S($EXPECT($L144, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14707
+ var Static$0 = $TS($S($EXPECT($L145, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14640
14708
  return { $loc, token: $1 };
14641
14709
  });
14642
- var Static$1 = $TS($S($EXPECT($L100, fail, 'Static "@"'), $N($C($EXPECT($L2, fail, 'Static "("'), $EXPECT($L100, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
14710
+ var Static$1 = $TS($S($EXPECT($L101, fail, 'Static "@"'), $N($C($EXPECT($L2, fail, 'Static "("'), $EXPECT($L101, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
14643
14711
  return { $loc, token: "static " };
14644
14712
  });
14645
14713
  function Static(state) {
@@ -14664,7 +14732,7 @@ ${input.slice(result.pos)}
14664
14732
  return result;
14665
14733
  }
14666
14734
  }
14667
- var SubstitutionStart$0 = $TV($EXPECT($L145, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
14735
+ var SubstitutionStart$0 = $TV($EXPECT($L146, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
14668
14736
  return { $loc, token: $1 };
14669
14737
  });
14670
14738
  function SubstitutionStart(state) {
@@ -14689,7 +14757,7 @@ ${input.slice(result.pos)}
14689
14757
  return result;
14690
14758
  }
14691
14759
  }
14692
- var Switch$0 = $TS($S($EXPECT($L146, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14760
+ var Switch$0 = $TS($S($EXPECT($L147, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14693
14761
  return { $loc, token: $1 };
14694
14762
  });
14695
14763
  function Switch(state) {
@@ -14714,7 +14782,7 @@ ${input.slice(result.pos)}
14714
14782
  return result;
14715
14783
  }
14716
14784
  }
14717
- var Target$0 = $TS($S($EXPECT($L147, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14785
+ var Target$0 = $TS($S($EXPECT($L148, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14718
14786
  return { $loc, token: $1 };
14719
14787
  });
14720
14788
  function Target(state) {
@@ -14739,7 +14807,7 @@ ${input.slice(result.pos)}
14739
14807
  return result;
14740
14808
  }
14741
14809
  }
14742
- var Then$0 = $TS($S(__, $EXPECT($L148, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
14810
+ var Then$0 = $TS($S(__, $EXPECT($L149, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
14743
14811
  return { $loc, token: "" };
14744
14812
  });
14745
14813
  function Then(state) {
@@ -14764,7 +14832,7 @@ ${input.slice(result.pos)}
14764
14832
  return result;
14765
14833
  }
14766
14834
  }
14767
- var This$0 = $TS($S($EXPECT($L149, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14835
+ var This$0 = $TS($S($EXPECT($L150, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14768
14836
  return { $loc, token: $1 };
14769
14837
  });
14770
14838
  function This(state) {
@@ -14789,7 +14857,7 @@ ${input.slice(result.pos)}
14789
14857
  return result;
14790
14858
  }
14791
14859
  }
14792
- var Throw$0 = $TS($S($EXPECT($L150, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14860
+ var Throw$0 = $TS($S($EXPECT($L151, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14793
14861
  return { $loc, token: $1 };
14794
14862
  });
14795
14863
  function Throw(state) {
@@ -14814,7 +14882,7 @@ ${input.slice(result.pos)}
14814
14882
  return result;
14815
14883
  }
14816
14884
  }
14817
- var TripleDoubleQuote$0 = $TV($EXPECT($L151, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
14885
+ var TripleDoubleQuote$0 = $TV($EXPECT($L152, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
14818
14886
  return { $loc, token: "`" };
14819
14887
  });
14820
14888
  function TripleDoubleQuote(state) {
@@ -14839,7 +14907,7 @@ ${input.slice(result.pos)}
14839
14907
  return result;
14840
14908
  }
14841
14909
  }
14842
- var TripleSingleQuote$0 = $TV($EXPECT($L152, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
14910
+ var TripleSingleQuote$0 = $TV($EXPECT($L153, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
14843
14911
  return { $loc, token: "`" };
14844
14912
  });
14845
14913
  function TripleSingleQuote(state) {
@@ -14864,7 +14932,7 @@ ${input.slice(result.pos)}
14864
14932
  return result;
14865
14933
  }
14866
14934
  }
14867
- var TripleSlash$0 = $TV($EXPECT($L153, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
14935
+ var TripleSlash$0 = $TV($EXPECT($L154, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
14868
14936
  return { $loc, token: "/" };
14869
14937
  });
14870
14938
  function TripleSlash(state) {
@@ -14889,7 +14957,7 @@ ${input.slice(result.pos)}
14889
14957
  return result;
14890
14958
  }
14891
14959
  }
14892
- var TripleTick$0 = $TV($EXPECT($L154, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
14960
+ var TripleTick$0 = $TV($EXPECT($L155, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
14893
14961
  return { $loc, token: "`" };
14894
14962
  });
14895
14963
  function TripleTick(state) {
@@ -14914,7 +14982,7 @@ ${input.slice(result.pos)}
14914
14982
  return result;
14915
14983
  }
14916
14984
  }
14917
- var Try$0 = $TS($S($EXPECT($L155, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14985
+ var Try$0 = $TS($S($EXPECT($L156, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14918
14986
  return { $loc, token: $1 };
14919
14987
  });
14920
14988
  function Try(state) {
@@ -14939,7 +15007,7 @@ ${input.slice(result.pos)}
14939
15007
  return result;
14940
15008
  }
14941
15009
  }
14942
- var Typeof$0 = $TS($S($EXPECT($L156, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15010
+ var Typeof$0 = $TS($S($EXPECT($L157, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14943
15011
  return { $loc, token: $1 };
14944
15012
  });
14945
15013
  function Typeof(state) {
@@ -14964,7 +15032,7 @@ ${input.slice(result.pos)}
14964
15032
  return result;
14965
15033
  }
14966
15034
  }
14967
- var Unless$0 = $TS($S($EXPECT($L157, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15035
+ var Unless$0 = $TS($S($EXPECT($L158, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14968
15036
  return { $loc, token: $1 };
14969
15037
  });
14970
15038
  function Unless(state) {
@@ -14989,7 +15057,7 @@ ${input.slice(result.pos)}
14989
15057
  return result;
14990
15058
  }
14991
15059
  }
14992
- var Until$0 = $TS($S($EXPECT($L158, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15060
+ var Until$0 = $TS($S($EXPECT($L159, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14993
15061
  return { $loc, token: $1 };
14994
15062
  });
14995
15063
  function Until(state) {
@@ -15014,7 +15082,7 @@ ${input.slice(result.pos)}
15014
15082
  return result;
15015
15083
  }
15016
15084
  }
15017
- var Var$0 = $TS($S($EXPECT($L159, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15085
+ var Var$0 = $TS($S($EXPECT($L160, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15018
15086
  return { $loc, token: $1 };
15019
15087
  });
15020
15088
  function Var(state) {
@@ -15039,7 +15107,7 @@ ${input.slice(result.pos)}
15039
15107
  return result;
15040
15108
  }
15041
15109
  }
15042
- var Void$0 = $TS($S($EXPECT($L160, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15110
+ var Void$0 = $TS($S($EXPECT($L161, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15043
15111
  return { $loc, token: $1 };
15044
15112
  });
15045
15113
  function Void(state) {
@@ -15064,7 +15132,7 @@ ${input.slice(result.pos)}
15064
15132
  return result;
15065
15133
  }
15066
15134
  }
15067
- var When$0 = $TS($S($EXPECT($L161, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15135
+ var When$0 = $TS($S($EXPECT($L162, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15068
15136
  return { $loc, token: "case" };
15069
15137
  });
15070
15138
  function When(state) {
@@ -15089,7 +15157,7 @@ ${input.slice(result.pos)}
15089
15157
  return result;
15090
15158
  }
15091
15159
  }
15092
- var While$0 = $TS($S($EXPECT($L162, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15160
+ var While$0 = $TS($S($EXPECT($L163, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15093
15161
  return { $loc, token: $1 };
15094
15162
  });
15095
15163
  function While(state) {
@@ -15114,7 +15182,7 @@ ${input.slice(result.pos)}
15114
15182
  return result;
15115
15183
  }
15116
15184
  }
15117
- var Yield$0 = $TS($S($EXPECT($L163, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15185
+ var Yield$0 = $TS($S($EXPECT($L164, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15118
15186
  return { $loc, token: $1 };
15119
15187
  });
15120
15188
  function Yield(state) {
@@ -15259,7 +15327,7 @@ ${input.slice(result.pos)}
15259
15327
  return result;
15260
15328
  }
15261
15329
  }
15262
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L131, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L164, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15330
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L132, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L165, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15263
15331
  return { type: "JSXElement", children: $0, tag: $2 };
15264
15332
  });
15265
15333
  function JSXSelfClosingElement(state) {
@@ -15310,7 +15378,7 @@ ${input.slice(result.pos)}
15310
15378
  return result;
15311
15379
  }
15312
15380
  }
15313
- var PopJSXStack$0 = $TV($EXPECT($L18, fail, 'PopJSXStack ""'), function($skip, $loc, $0, $1) {
15381
+ var PopJSXStack$0 = $TV($EXPECT($L19, fail, 'PopJSXStack ""'), function($skip, $loc, $0, $1) {
15314
15382
  module.JSXTagStack.pop();
15315
15383
  });
15316
15384
  function PopJSXStack(state) {
@@ -15335,7 +15403,7 @@ ${input.slice(result.pos)}
15335
15403
  return result;
15336
15404
  }
15337
15405
  }
15338
- var JSXOpeningElement$0 = $S($EXPECT($L131, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L29, fail, 'JSXOpeningElement ">"'));
15406
+ var JSXOpeningElement$0 = $S($EXPECT($L132, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L30, fail, 'JSXOpeningElement ">"'));
15339
15407
  function JSXOpeningElement(state) {
15340
15408
  let eventData;
15341
15409
  if (state.events) {
@@ -15364,7 +15432,7 @@ ${input.slice(result.pos)}
15364
15432
  return $skip;
15365
15433
  return $0;
15366
15434
  });
15367
- var JSXOptionalClosingElement$1 = $EXPECT($L18, fail, 'JSXOptionalClosingElement ""');
15435
+ var JSXOptionalClosingElement$1 = $EXPECT($L19, fail, 'JSXOptionalClosingElement ""');
15368
15436
  function JSXOptionalClosingElement(state) {
15369
15437
  let eventData;
15370
15438
  if (state.events) {
@@ -15387,7 +15455,7 @@ ${input.slice(result.pos)}
15387
15455
  return result;
15388
15456
  }
15389
15457
  }
15390
- var JSXClosingElement$0 = $S($EXPECT($L165, fail, 'JSXClosingElement "</"'), $E(Whitespace), $TEXT(JSXElementName), $E(Whitespace), $EXPECT($L29, fail, 'JSXClosingElement ">"'));
15458
+ var JSXClosingElement$0 = $S($EXPECT($L166, fail, 'JSXClosingElement "</"'), $E(Whitespace), $TEXT(JSXElementName), $E(Whitespace), $EXPECT($L30, fail, 'JSXClosingElement ">"'));
15391
15459
  function JSXClosingElement(state) {
15392
15460
  let eventData;
15393
15461
  if (state.events) {
@@ -15425,7 +15493,7 @@ ${input.slice(result.pos)}
15425
15493
  ];
15426
15494
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
15427
15495
  });
15428
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L166, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15496
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L167, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15429
15497
  var children = $3;
15430
15498
  $0 = $0.slice(1);
15431
15499
  return {
@@ -15456,7 +15524,7 @@ ${input.slice(result.pos)}
15456
15524
  return result;
15457
15525
  }
15458
15526
  }
15459
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L166, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
15527
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L167, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
15460
15528
  module.JSXTagStack.push("");
15461
15529
  return $1;
15462
15530
  });
@@ -15487,7 +15555,7 @@ ${input.slice(result.pos)}
15487
15555
  return $skip;
15488
15556
  return $0;
15489
15557
  });
15490
- var JSXOptionalClosingFragment$1 = $EXPECT($L18, fail, 'JSXOptionalClosingFragment ""');
15558
+ var JSXOptionalClosingFragment$1 = $EXPECT($L19, fail, 'JSXOptionalClosingFragment ""');
15491
15559
  function JSXOptionalClosingFragment(state) {
15492
15560
  let eventData;
15493
15561
  if (state.events) {
@@ -15510,7 +15578,7 @@ ${input.slice(result.pos)}
15510
15578
  return result;
15511
15579
  }
15512
15580
  }
15513
- var JSXClosingFragment$0 = $EXPECT($L167, fail, 'JSXClosingFragment "</>"');
15581
+ var JSXClosingFragment$0 = $EXPECT($L168, fail, 'JSXClosingFragment "</>"');
15514
15582
  function JSXClosingFragment(state) {
15515
15583
  let eventData;
15516
15584
  if (state.events) {
@@ -16277,7 +16345,7 @@ ${input.slice(result.pos)}
16277
16345
  }
16278
16346
  return $skip;
16279
16347
  });
16280
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L21, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
16348
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L22, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
16281
16349
  return { children: [], jsxChildren: [] };
16282
16350
  });
16283
16351
  function JSXNestedChildren(state) {
@@ -16406,7 +16474,7 @@ ${input.slice(result.pos)}
16406
16474
  return result;
16407
16475
  }
16408
16476
  }
16409
- var JSXComment$0 = $TS($S($EXPECT($L168, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L169, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
16477
+ var JSXComment$0 = $TS($S($EXPECT($L169, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L170, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
16410
16478
  return ["{/*", $2, "*/}"];
16411
16479
  });
16412
16480
  function JSXComment(state) {
@@ -16704,7 +16772,7 @@ ${input.slice(result.pos)}
16704
16772
  return result;
16705
16773
  }
16706
16774
  }
16707
- var TypeKeyword$0 = $S($EXPECT($L170, fail, 'TypeKeyword "type"'), NonIdContinue);
16775
+ var TypeKeyword$0 = $S($EXPECT($L171, fail, 'TypeKeyword "type"'), NonIdContinue);
16708
16776
  function TypeKeyword(state) {
16709
16777
  let eventData;
16710
16778
  if (state.events) {
@@ -16727,7 +16795,7 @@ ${input.slice(result.pos)}
16727
16795
  return result;
16728
16796
  }
16729
16797
  }
16730
- var Interface$0 = $S($EXPECT($L171, fail, 'Interface "interface"'), NonIdContinue);
16798
+ var Interface$0 = $S($EXPECT($L172, fail, 'Interface "interface"'), NonIdContinue);
16731
16799
  function Interface(state) {
16732
16800
  let eventData;
16733
16801
  if (state.events) {
@@ -16750,7 +16818,7 @@ ${input.slice(result.pos)}
16750
16818
  return result;
16751
16819
  }
16752
16820
  }
16753
- var Namespace$0 = $S($EXPECT($L172, fail, 'Namespace "namespace"'), NonIdContinue);
16821
+ var Namespace$0 = $S($EXPECT($L173, fail, 'Namespace "namespace"'), NonIdContinue);
16754
16822
  function Namespace(state) {
16755
16823
  let eventData;
16756
16824
  if (state.events) {
@@ -16998,7 +17066,7 @@ ${input.slice(result.pos)}
16998
17066
  return result;
16999
17067
  }
17000
17068
  }
17001
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R57, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L140, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R58, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
17069
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R57, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L141, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R58, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
17002
17070
  function TypeIndexSignature(state) {
17003
17071
  let eventData;
17004
17072
  if (state.events) {
@@ -17045,7 +17113,7 @@ ${input.slice(result.pos)}
17045
17113
  return result;
17046
17114
  }
17047
17115
  }
17048
- var TypeSuffix$0 = $T($S($E(QuestionMark), __, Colon, Type), function(value) {
17116
+ var TypeSuffix$0 = $T($S($E(QuestionMark), $E(_), Colon, Type), function(value) {
17049
17117
  return { "type": "TypeSuffix", "ts": true, "children": value };
17050
17118
  });
17051
17119
  function TypeSuffix(state) {
@@ -17070,14 +17138,20 @@ ${input.slice(result.pos)}
17070
17138
  return result;
17071
17139
  }
17072
17140
  }
17073
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L173, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
17074
- const children = [...$1, $2];
17075
- if ($3)
17076
- children.push($3);
17077
- children.push($4);
17141
+ var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, $E($S(__, $EXPECT($L174, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
17142
+ var asserts = $3;
17143
+ var t = $4;
17144
+ if (asserts) {
17145
+ t = {
17146
+ type: "AssertsType",
17147
+ t,
17148
+ children: [asserts[0], asserts[1], t]
17149
+ };
17150
+ }
17078
17151
  return {
17079
17152
  type: "ReturnTypeAnnotation",
17080
- children,
17153
+ children: [$1, $2, t],
17154
+ t,
17081
17155
  ts: true
17082
17156
  };
17083
17157
  });
@@ -17103,10 +17177,17 @@ ${input.slice(result.pos)}
17103
17177
  return result;
17104
17178
  }
17105
17179
  }
17106
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L81, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
17107
- if (!$2)
17108
- return $1;
17109
- return $0;
17180
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L82, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
17181
+ var lhs = $1;
17182
+ var rhs = $2;
17183
+ if (!rhs)
17184
+ return lhs;
17185
+ return {
17186
+ type: "TypePredicate",
17187
+ lhs,
17188
+ rhs: rhs[3],
17189
+ children: [lhs, ...rhs]
17190
+ };
17110
17191
  });
17111
17192
  function TypePredicate(state) {
17112
17193
  let eventData;
@@ -17181,6 +17262,8 @@ ${input.slice(result.pos)}
17181
17262
  }
17182
17263
  }
17183
17264
  var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
17265
+ if (!$1.length && !$3.length)
17266
+ return $2;
17184
17267
  return [...$1, $2, ...$3];
17185
17268
  });
17186
17269
  function TypeUnary(state) {
@@ -17229,10 +17312,10 @@ ${input.slice(result.pos)}
17229
17312
  return result;
17230
17313
  }
17231
17314
  }
17232
- var TypeUnaryOp$0 = $S($EXPECT($L174, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
17233
- var TypeUnaryOp$1 = $S($EXPECT($L156, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
17234
- var TypeUnaryOp$2 = $S($EXPECT($L175, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
17235
- var TypeUnaryOp$3 = $S($EXPECT($L140, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
17315
+ var TypeUnaryOp$0 = $S($EXPECT($L175, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
17316
+ var TypeUnaryOp$1 = $S($EXPECT($L157, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
17317
+ var TypeUnaryOp$2 = $S($EXPECT($L176, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
17318
+ var TypeUnaryOp$3 = $S($EXPECT($L141, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
17236
17319
  function TypeUnaryOp(state) {
17237
17320
  let eventData;
17238
17321
  if (state.events) {
@@ -17283,8 +17366,23 @@ ${input.slice(result.pos)}
17283
17366
  var TypePrimary$2 = $S($E(_), InlineInterfaceLiteral);
17284
17367
  var TypePrimary$3 = $S($E(_), TypeTuple);
17285
17368
  var TypePrimary$4 = $S($E(_), ImportType);
17286
- var TypePrimary$5 = $S($E(_), TypeLiteral);
17287
- var TypePrimary$6 = $S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments));
17369
+ var TypePrimary$5 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
17370
+ var t = $2;
17371
+ return {
17372
+ type: "LiteralType",
17373
+ t,
17374
+ children: $0
17375
+ };
17376
+ });
17377
+ var TypePrimary$6 = $TS($S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments)), function($skip, $loc, $0, $1, $2, $3, $4) {
17378
+ var args = $4;
17379
+ return {
17380
+ type: "IdentifierType",
17381
+ children: $0,
17382
+ raw: [$2.name, ...$3.map(([dot, id]) => dot.token + id.name)].join(""),
17383
+ args
17384
+ };
17385
+ });
17288
17386
  var TypePrimary$7 = $S(__, OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen);
17289
17387
  function TypePrimary(state) {
17290
17388
  let eventData;
@@ -17430,7 +17528,7 @@ ${input.slice(result.pos)}
17430
17528
  return result;
17431
17529
  }
17432
17530
  }
17433
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L119, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
17531
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L120, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
17434
17532
  if ($2)
17435
17533
  return $0;
17436
17534
  return $1;
@@ -17459,10 +17557,10 @@ ${input.slice(result.pos)}
17459
17557
  }
17460
17558
  var TypeLiteral$0 = TemplateLiteral;
17461
17559
  var TypeLiteral$1 = Literal;
17462
- var TypeLiteral$2 = $TS($S($EXPECT($L160, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17463
- return { $loc, token: "void" };
17560
+ var TypeLiteral$2 = $TS($S($EXPECT($L161, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17561
+ return { type: "VoidType", $loc, token: $1 };
17464
17562
  });
17465
- var TypeLiteral$3 = $TV($EXPECT($L176, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
17563
+ var TypeLiteral$3 = $TV($EXPECT($L177, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
17466
17564
  return { $loc, token: "[]" };
17467
17565
  });
17468
17566
  function TypeLiteral(state) {
@@ -17537,7 +17635,7 @@ ${input.slice(result.pos)}
17537
17635
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
17538
17636
  return value[1];
17539
17637
  });
17540
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L32, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L30, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L21, fail, 'InlineInterfacePropertyDelimiter "}"'))));
17638
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L32, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L33, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L22, fail, 'InlineInterfacePropertyDelimiter "}"'))));
17541
17639
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
17542
17640
  function InlineInterfacePropertyDelimiter(state) {
17543
17641
  let eventData;
@@ -17561,10 +17659,10 @@ ${input.slice(result.pos)}
17561
17659
  return result;
17562
17660
  }
17563
17661
  }
17564
- var TypeBinaryOp$0 = $TV($EXPECT($L83, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
17662
+ var TypeBinaryOp$0 = $TV($EXPECT($L84, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
17565
17663
  return { $loc, token: "|" };
17566
17664
  });
17567
- var TypeBinaryOp$1 = $TV($EXPECT($L82, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
17665
+ var TypeBinaryOp$1 = $TV($EXPECT($L83, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
17568
17666
  return { $loc, token: "&" };
17569
17667
  });
17570
17668
  function TypeBinaryOp(state) {
@@ -17621,7 +17719,7 @@ ${input.slice(result.pos)}
17621
17719
  var TypeArrowFunction$0 = $TV($EXPECT($L7, fail, 'TypeArrowFunction "=>"'), function($skip, $loc, $0, $1) {
17622
17720
  return { $loc, token: "=>" };
17623
17721
  });
17624
- var TypeArrowFunction$1 = $TV($EXPECT($L20, fail, 'TypeArrowFunction "->"'), function($skip, $loc, $0, $1) {
17722
+ var TypeArrowFunction$1 = $TV($EXPECT($L21, fail, 'TypeArrowFunction "->"'), function($skip, $loc, $0, $1) {
17625
17723
  return { $loc, token: "=>" };
17626
17724
  });
17627
17725
  function TypeArrowFunction(state) {
@@ -17646,7 +17744,7 @@ ${input.slice(result.pos)}
17646
17744
  return result;
17647
17745
  }
17648
17746
  }
17649
- var TypeArguments$0 = $TS($S($EXPECT($L131, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L29, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
17747
+ var TypeArguments$0 = $TS($S($EXPECT($L132, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L30, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
17650
17748
  return { ts: true, children: $0 };
17651
17749
  });
17652
17750
  function TypeArguments(state) {
@@ -17717,7 +17815,7 @@ ${input.slice(result.pos)}
17717
17815
  return result;
17718
17816
  }
17719
17817
  }
17720
- var TypeParameters$0 = $TS($S(__, $EXPECT($L131, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L29, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17818
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L132, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L30, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17721
17819
  var parameters = $3;
17722
17820
  return {
17723
17821
  type: "TypeParameters",
@@ -17771,7 +17869,7 @@ ${input.slice(result.pos)}
17771
17869
  return result;
17772
17870
  }
17773
17871
  }
17774
- var TypeConstraint$0 = $S(__, $EXPECT($L119, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
17872
+ var TypeConstraint$0 = $S(__, $EXPECT($L120, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
17775
17873
  function TypeConstraint(state) {
17776
17874
  let eventData;
17777
17875
  if (state.events) {
@@ -17818,7 +17916,7 @@ ${input.slice(result.pos)}
17818
17916
  }
17819
17917
  }
17820
17918
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
17821
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L29, fail, 'TypeParameterDelimiter ">"')));
17919
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L30, fail, 'TypeParameterDelimiter ">"')));
17822
17920
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
17823
17921
  return value[1];
17824
17922
  });
@@ -17922,7 +18020,7 @@ ${input.slice(result.pos)}
17922
18020
  return result;
17923
18021
  }
17924
18022
  }
17925
- var CivetPrologueContent$0 = $TS($S($EXPECT($L177, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R61, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
18023
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L178, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R61, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
17926
18024
  var options = $3;
17927
18025
  return {
17928
18026
  type: "CivetPrologue",
@@ -18083,7 +18181,7 @@ ${input.slice(result.pos)}
18083
18181
  return result;
18084
18182
  }
18085
18183
  }
18086
- var DebugHere$0 = $TV($EXPECT($L18, fail, 'DebugHere ""'), function($skip, $loc, $0, $1) {
18184
+ var DebugHere$0 = $TV($EXPECT($L19, fail, 'DebugHere ""'), function($skip, $loc, $0, $1) {
18087
18185
  debugger;
18088
18186
  });
18089
18187
  function DebugHere(state) {
@@ -18108,7 +18206,7 @@ ${input.slice(result.pos)}
18108
18206
  return result;
18109
18207
  }
18110
18208
  }
18111
- var InsertSemicolon$0 = $TV($EXPECT($L18, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
18209
+ var InsertSemicolon$0 = $TV($EXPECT($L19, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
18112
18210
  return { $loc, token: ";" };
18113
18211
  });
18114
18212
  function InsertSemicolon(state) {
@@ -18133,7 +18231,7 @@ ${input.slice(result.pos)}
18133
18231
  return result;
18134
18232
  }
18135
18233
  }
18136
- var InsertOpenParen$0 = $TV($EXPECT($L18, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
18234
+ var InsertOpenParen$0 = $TV($EXPECT($L19, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
18137
18235
  return { $loc, token: "(" };
18138
18236
  });
18139
18237
  function InsertOpenParen(state) {
@@ -18158,7 +18256,7 @@ ${input.slice(result.pos)}
18158
18256
  return result;
18159
18257
  }
18160
18258
  }
18161
- var InsertCloseParen$0 = $TV($EXPECT($L18, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
18259
+ var InsertCloseParen$0 = $TV($EXPECT($L19, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
18162
18260
  return { $loc, token: ")" };
18163
18261
  });
18164
18262
  function InsertCloseParen(state) {
@@ -18183,7 +18281,7 @@ ${input.slice(result.pos)}
18183
18281
  return result;
18184
18282
  }
18185
18283
  }
18186
- var InsertOpenBrace$0 = $TV($EXPECT($L18, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
18284
+ var InsertOpenBrace$0 = $TV($EXPECT($L19, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
18187
18285
  return [{ $loc, token: " " }, { $loc, token: "{" }];
18188
18286
  });
18189
18287
  function InsertOpenBrace(state) {
@@ -18208,7 +18306,7 @@ ${input.slice(result.pos)}
18208
18306
  return result;
18209
18307
  }
18210
18308
  }
18211
- var InsertInlineOpenBrace$0 = $TV($EXPECT($L18, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
18309
+ var InsertInlineOpenBrace$0 = $TV($EXPECT($L19, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
18212
18310
  return { $loc, token: "{" };
18213
18311
  });
18214
18312
  function InsertInlineOpenBrace(state) {
@@ -18233,7 +18331,7 @@ ${input.slice(result.pos)}
18233
18331
  return result;
18234
18332
  }
18235
18333
  }
18236
- var InsertCloseBrace$0 = $TV($EXPECT($L18, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
18334
+ var InsertCloseBrace$0 = $TV($EXPECT($L19, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
18237
18335
  return { $loc, token: "}" };
18238
18336
  });
18239
18337
  function InsertCloseBrace(state) {
@@ -18258,7 +18356,7 @@ ${input.slice(result.pos)}
18258
18356
  return result;
18259
18357
  }
18260
18358
  }
18261
- var InsertOpenBracket$0 = $TV($EXPECT($L18, fail, 'InsertOpenBracket ""'), function($skip, $loc, $0, $1) {
18359
+ var InsertOpenBracket$0 = $TV($EXPECT($L19, fail, 'InsertOpenBracket ""'), function($skip, $loc, $0, $1) {
18262
18360
  return { $loc, token: "[" };
18263
18361
  });
18264
18362
  function InsertOpenBracket(state) {
@@ -18283,7 +18381,7 @@ ${input.slice(result.pos)}
18283
18381
  return result;
18284
18382
  }
18285
18383
  }
18286
- var InsertCloseBracket$0 = $TV($EXPECT($L18, fail, 'InsertCloseBracket ""'), function($skip, $loc, $0, $1) {
18384
+ var InsertCloseBracket$0 = $TV($EXPECT($L19, fail, 'InsertCloseBracket ""'), function($skip, $loc, $0, $1) {
18287
18385
  return { $loc, token: "]" };
18288
18386
  });
18289
18387
  function InsertCloseBracket(state) {
@@ -18308,7 +18406,7 @@ ${input.slice(result.pos)}
18308
18406
  return result;
18309
18407
  }
18310
18408
  }
18311
- var InsertComma$0 = $TV($EXPECT($L18, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
18409
+ var InsertComma$0 = $TV($EXPECT($L19, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
18312
18410
  return { $loc, token: "," };
18313
18411
  });
18314
18412
  function InsertComma(state) {
@@ -18333,7 +18431,7 @@ ${input.slice(result.pos)}
18333
18431
  return result;
18334
18432
  }
18335
18433
  }
18336
- var InsertConst$0 = $TV($EXPECT($L18, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
18434
+ var InsertConst$0 = $TV($EXPECT($L19, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
18337
18435
  return { $loc, token: "const " };
18338
18436
  });
18339
18437
  function InsertConst(state) {
@@ -18358,7 +18456,7 @@ ${input.slice(result.pos)}
18358
18456
  return result;
18359
18457
  }
18360
18458
  }
18361
- var InsertLet$0 = $TV($EXPECT($L18, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
18459
+ var InsertLet$0 = $TV($EXPECT($L19, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
18362
18460
  return { $loc, token: "let " };
18363
18461
  });
18364
18462
  function InsertLet(state) {
@@ -18383,7 +18481,7 @@ ${input.slice(result.pos)}
18383
18481
  return result;
18384
18482
  }
18385
18483
  }
18386
- var InsertReadonly$0 = $TV($EXPECT($L18, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
18484
+ var InsertReadonly$0 = $TV($EXPECT($L19, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
18387
18485
  return { ts: true, children: [{ $loc, token: "readonly " }] };
18388
18486
  });
18389
18487
  function InsertReadonly(state) {
@@ -18408,7 +18506,7 @@ ${input.slice(result.pos)}
18408
18506
  return result;
18409
18507
  }
18410
18508
  }
18411
- var InsertNewline$0 = $TV($EXPECT($L18, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
18509
+ var InsertNewline$0 = $TV($EXPECT($L19, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
18412
18510
  return "\n";
18413
18511
  });
18414
18512
  function InsertNewline(state) {
@@ -18433,7 +18531,7 @@ ${input.slice(result.pos)}
18433
18531
  return result;
18434
18532
  }
18435
18533
  }
18436
- var InsertIndent$0 = $TV($EXPECT($L18, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
18534
+ var InsertIndent$0 = $TV($EXPECT($L19, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
18437
18535
  return module.currentIndent.token;
18438
18536
  });
18439
18537
  function InsertIndent(state) {
@@ -18458,7 +18556,7 @@ ${input.slice(result.pos)}
18458
18556
  return result;
18459
18557
  }
18460
18558
  }
18461
- var InsertSpace$0 = $TV($EXPECT($L18, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
18559
+ var InsertSpace$0 = $TV($EXPECT($L19, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
18462
18560
  return { $loc, token: " " };
18463
18561
  });
18464
18562
  function InsertSpace(state) {
@@ -18483,7 +18581,7 @@ ${input.slice(result.pos)}
18483
18581
  return result;
18484
18582
  }
18485
18583
  }
18486
- var InsertDot$0 = $TV($EXPECT($L18, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
18584
+ var InsertDot$0 = $TV($EXPECT($L19, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
18487
18585
  return { $loc, token: "." };
18488
18586
  });
18489
18587
  function InsertDot(state) {
@@ -18508,7 +18606,7 @@ ${input.slice(result.pos)}
18508
18606
  return result;
18509
18607
  }
18510
18608
  }
18511
- var InsertBreak$0 = $TV($EXPECT($L18, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
18609
+ var InsertBreak$0 = $TV($EXPECT($L19, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
18512
18610
  return { $loc, token: ";break;" };
18513
18611
  });
18514
18612
  function InsertBreak(state) {
@@ -18533,7 +18631,7 @@ ${input.slice(result.pos)}
18533
18631
  return result;
18534
18632
  }
18535
18633
  }
18536
- var InsertVar$0 = $TV($EXPECT($L18, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
18634
+ var InsertVar$0 = $TV($EXPECT($L19, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
18537
18635
  return { $loc, token: "var " };
18538
18636
  });
18539
18637
  function InsertVar(state) {
@@ -18558,7 +18656,7 @@ ${input.slice(result.pos)}
18558
18656
  return result;
18559
18657
  }
18560
18658
  }
18561
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
18659
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
18562
18660
  if (module.config.coffeeBinaryExistential)
18563
18661
  return;
18564
18662
  return $skip;
@@ -18585,7 +18683,7 @@ ${input.slice(result.pos)}
18585
18683
  return result;
18586
18684
  }
18587
18685
  }
18588
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
18686
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
18589
18687
  if (module.config.coffeeBooleans)
18590
18688
  return;
18591
18689
  return $skip;
@@ -18612,7 +18710,7 @@ ${input.slice(result.pos)}
18612
18710
  return result;
18613
18711
  }
18614
18712
  }
18615
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
18713
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
18616
18714
  if (module.config.coffeeClasses)
18617
18715
  return;
18618
18716
  return $skip;
@@ -18639,7 +18737,7 @@ ${input.slice(result.pos)}
18639
18737
  return result;
18640
18738
  }
18641
18739
  }
18642
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
18740
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
18643
18741
  if (module.config.coffeeComment)
18644
18742
  return;
18645
18743
  return $skip;
@@ -18666,7 +18764,7 @@ ${input.slice(result.pos)}
18666
18764
  return result;
18667
18765
  }
18668
18766
  }
18669
- var CoffeeDoEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
18767
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
18670
18768
  if (module.config.coffeeDo)
18671
18769
  return;
18672
18770
  return $skip;
@@ -18693,7 +18791,7 @@ ${input.slice(result.pos)}
18693
18791
  return result;
18694
18792
  }
18695
18793
  }
18696
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
18794
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
18697
18795
  if (module.config.coffeeForLoops)
18698
18796
  return;
18699
18797
  return $skip;
@@ -18720,7 +18818,7 @@ ${input.slice(result.pos)}
18720
18818
  return result;
18721
18819
  }
18722
18820
  }
18723
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
18821
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
18724
18822
  if (module.config.coffeeInterpolation)
18725
18823
  return;
18726
18824
  return $skip;
@@ -18747,7 +18845,7 @@ ${input.slice(result.pos)}
18747
18845
  return result;
18748
18846
  }
18749
18847
  }
18750
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
18848
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
18751
18849
  if (module.config.coffeeIsnt)
18752
18850
  return;
18753
18851
  return $skip;
@@ -18774,7 +18872,7 @@ ${input.slice(result.pos)}
18774
18872
  return result;
18775
18873
  }
18776
18874
  }
18777
- var CoffeeJSXEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
18875
+ var CoffeeJSXEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
18778
18876
  if (module.config.coffeeJSX)
18779
18877
  return;
18780
18878
  return $skip;
@@ -18801,7 +18899,7 @@ ${input.slice(result.pos)}
18801
18899
  return result;
18802
18900
  }
18803
18901
  }
18804
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
18902
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
18805
18903
  if (module.config.coffeeLineContinuation)
18806
18904
  return;
18807
18905
  return $skip;
@@ -18828,7 +18926,7 @@ ${input.slice(result.pos)}
18828
18926
  return result;
18829
18927
  }
18830
18928
  }
18831
- var CoffeeNotEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
18929
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
18832
18930
  if (module.config.coffeeNot)
18833
18931
  return;
18834
18932
  return $skip;
@@ -18855,7 +18953,7 @@ ${input.slice(result.pos)}
18855
18953
  return result;
18856
18954
  }
18857
18955
  }
18858
- var CoffeeOfEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
18956
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
18859
18957
  if (module.config.coffeeOf)
18860
18958
  return;
18861
18959
  return $skip;
@@ -18882,7 +18980,7 @@ ${input.slice(result.pos)}
18882
18980
  return result;
18883
18981
  }
18884
18982
  }
18885
- var CoffeePrototypeEnabled$0 = $TV($EXPECT($L18, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
18983
+ var CoffeePrototypeEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
18886
18984
  if (module.config.coffeePrototype)
18887
18985
  return;
18888
18986
  return $skip;
@@ -18909,7 +19007,7 @@ ${input.slice(result.pos)}
18909
19007
  return result;
18910
19008
  }
18911
19009
  }
18912
- var ObjectIsEnabled$0 = $TV($EXPECT($L18, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
19010
+ var ObjectIsEnabled$0 = $TV($EXPECT($L19, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
18913
19011
  if (module.config.objectIs)
18914
19012
  return;
18915
19013
  return $skip;
@@ -18936,7 +19034,7 @@ ${input.slice(result.pos)}
18936
19034
  return result;
18937
19035
  }
18938
19036
  }
18939
- var Reset$0 = $TV($EXPECT($L18, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
19037
+ var Reset$0 = $TV($EXPECT($L19, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
18940
19038
  module.indentLevels = [{
18941
19039
  level: 0,
18942
19040
  token: ""
@@ -19243,7 +19341,7 @@ ${input.slice(result.pos)}
19243
19341
  return result;
19244
19342
  }
19245
19343
  }
19246
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L18, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
19344
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L19, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
19247
19345
  var directives = $2;
19248
19346
  directives.forEach((directive) => {
19249
19347
  if (directive.type === "CivetPrologue") {
@@ -19546,6 +19644,12 @@ ${input.slice(result.pos)}
19546
19644
  return;
19547
19645
  }
19548
19646
  }
19647
+ function getIndent(statement) {
19648
+ let indent = statement?.[0];
19649
+ if (Array.isArray(indent))
19650
+ indent = indent[indent.length - 1];
19651
+ return indent;
19652
+ }
19549
19653
  function insertReturn(node) {
19550
19654
  if (!node)
19551
19655
  return;
@@ -19570,9 +19674,7 @@ ${input.slice(result.pos)}
19570
19674
  const [, exp, semi] = node;
19571
19675
  if (semi?.type === "SemicolonDelimiter")
19572
19676
  return;
19573
- let indent = node[0];
19574
- if (Array.isArray(indent))
19575
- indent = indent[indent.length - 1];
19677
+ let indent = getIndent(node);
19576
19678
  if (!exp)
19577
19679
  return;
19578
19680
  switch (exp.type) {
@@ -19992,12 +20094,14 @@ ${input.slice(result.pos)}
19992
20094
  }
19993
20095
  return [];
19994
20096
  }
19995
- function gatherRecursive(node, predicate) {
20097
+ function gatherRecursive(node, predicate, skipPredicate) {
19996
20098
  if (node == null)
19997
20099
  return [];
19998
20100
  if (Array.isArray(node)) {
19999
20101
  return node.flatMap((n) => gatherRecursive(n, predicate));
20000
20102
  }
20103
+ if (skipPredicate?.(node))
20104
+ return [];
20001
20105
  if (predicate(node)) {
20002
20106
  return [node];
20003
20107
  }
@@ -20015,6 +20119,36 @@ ${input.slice(result.pos)}
20015
20119
  }
20016
20120
  return nodes;
20017
20121
  }
20122
+ function isFunction({ type }) {
20123
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
20124
+ }
20125
+ function gatherRecursiveWithinFunction(node, predicate) {
20126
+ return gatherRecursive(node, predicate, isFunction);
20127
+ }
20128
+ function addParentPointers(node, parent) {
20129
+ if (node == null)
20130
+ return;
20131
+ if (typeof node !== "object")
20132
+ return;
20133
+ node.parent = parent;
20134
+ if (Array.isArray(node)) {
20135
+ for (const child of node) {
20136
+ addParentPointers(child, node);
20137
+ }
20138
+ } else if (node.children) {
20139
+ for (const child of node.children) {
20140
+ addParentPointers(child, node);
20141
+ }
20142
+ }
20143
+ }
20144
+ function findAncestor(node, predicate, stopPredicate) {
20145
+ node = node.parent;
20146
+ while (node && !stopPredicate?.(node)) {
20147
+ if (predicate(node))
20148
+ return node;
20149
+ node = node.parent;
20150
+ }
20151
+ }
20018
20152
  function processParams(f) {
20019
20153
  const { type, parameters, block } = f;
20020
20154
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
@@ -20060,26 +20194,89 @@ ${input.slice(result.pos)}
20060
20194
  }
20061
20195
  });
20062
20196
  }
20197
+ function processReturnValue(func) {
20198
+ const { block } = func;
20199
+ const values = gatherRecursiveWithinFunction(
20200
+ block,
20201
+ ({ type }) => type === "ReturnValue"
20202
+ );
20203
+ if (!values.length)
20204
+ return false;
20205
+ const ref = {
20206
+ type: "Ref",
20207
+ base: "ret",
20208
+ id: "ret"
20209
+ };
20210
+ let declared;
20211
+ values.forEach((value) => {
20212
+ value.children = [ref];
20213
+ const ancestor = findAncestor(
20214
+ value,
20215
+ ({ type }) => type === "Declaration",
20216
+ isFunction
20217
+ );
20218
+ if (ancestor)
20219
+ declared = true;
20220
+ });
20221
+ if (!declared) {
20222
+ let returnType = func.returnType ?? func.signature?.returnType;
20223
+ if (returnType) {
20224
+ const { t } = returnType;
20225
+ if (t.type === "TypePredicate") {
20226
+ returnType = ": boolean";
20227
+ } else if (t.type === "AssertsType") {
20228
+ returnType = void 0;
20229
+ }
20230
+ }
20231
+ block.expressions.unshift([
20232
+ getIndent(block.expressions[0]),
20233
+ {
20234
+ type: "Declaration",
20235
+ children: ["let ", ref, returnType, ";\n"],
20236
+ names: []
20237
+ }
20238
+ ]);
20239
+ }
20240
+ gatherRecursiveWithinFunction(
20241
+ block,
20242
+ (r) => r.type === "ReturnStatement" && !r.expression
20243
+ ).forEach((r) => {
20244
+ r.expression = ref;
20245
+ r.children.splice(-1, 1, " ", ref);
20246
+ });
20247
+ if (block.children.at(-2)?.type !== "ReturnStatement") {
20248
+ block.expressions.push([
20249
+ ["\n", getIndent(block.expressions.at(-1))],
20250
+ {
20251
+ type: "ReturnStatement",
20252
+ expression: ref,
20253
+ children: ["return ", ref]
20254
+ }
20255
+ ]);
20256
+ }
20257
+ return true;
20258
+ }
20259
+ function isVoidType(t) {
20260
+ return t?.type === "LiteralType" && t.t.type === "VoidType";
20261
+ }
20063
20262
  function processFunctions(statements) {
20064
- gatherRecursiveAll(statements, (n) => {
20065
- return n.type === "FunctionExpression" || n.type === "ArrowFunction";
20066
- }).forEach((f) => {
20263
+ gatherRecursiveAll(statements, ({ type }) => type === "FunctionExpression" || type === "ArrowFunction").forEach((f) => {
20067
20264
  processParams(f);
20068
- const { block, returnType } = f;
20069
- if (module.config.implicitReturns) {
20070
- const isVoid = returnType === "void";
20265
+ if (!processReturnValue(f) && module.config.implicitReturns) {
20266
+ const { block, returnType } = f;
20267
+ const isVoid = isVoidType(returnType?.t);
20071
20268
  const isBlock = block?.type === "BlockStatement";
20072
20269
  if (!isVoid && isBlock) {
20073
20270
  insertReturn(block);
20074
20271
  }
20075
20272
  }
20076
20273
  });
20077
- gatherRecursiveAll(statements, (n) => n.type === "MethodDefinition").forEach((f) => {
20274
+ gatherRecursiveAll(statements, ({ type }) => type === "MethodDefinition").forEach((f) => {
20078
20275
  processParams(f);
20079
- const { signature, block } = f;
20080
- if (module.config.implicitReturns) {
20276
+ if (!processReturnValue(f) && module.config.implicitReturns) {
20277
+ const { signature, block } = f;
20081
20278
  const isConstructor = signature.name === "constructor";
20082
- const isVoid = signature.returnType === "void";
20279
+ const isVoid = isVoidType(signature.returnType?.t);
20083
20280
  const isSet = signature.modifier === "set";
20084
20281
  if (!isConstructor && !isSet && !isVoid) {
20085
20282
  insertReturn(block);
@@ -20567,6 +20764,7 @@ ${input.slice(result.pos)}
20567
20764
  });
20568
20765
  }
20569
20766
  module.processProgram = function(statements) {
20767
+ addParentPointers(statements);
20570
20768
  processPipelineExpressions(statements);
20571
20769
  processAssignments(statements);
20572
20770
  processFunctions(statements);
@@ -20593,18 +20791,7 @@ ${input.slice(result.pos)}
20593
20791
  return new Set(declarationNames);
20594
20792
  }
20595
20793
  function populateRefs(statements) {
20596
- const refNodes = gatherNodes(statements, ({ type }) => type === "Ref");
20597
- const blockNodes = new Set(gatherNodes(statements, ({ type }) => type === "BlockStatement"));
20598
- const forNodes = gatherNodes(statements, ({ type }) => type === "ForStatement");
20599
- forNodes.forEach(({ declaration, block }) => {
20600
- if (block.type === "BlockStatement") {
20601
- populateRefs([declaration, ...block.children]);
20602
- } else {
20603
- populateRefs([declaration, ...block]);
20604
- }
20605
- blockNodes.delete(block);
20606
- });
20607
- blockNodes.forEach(({ expressions }) => populateRefs(expressions));
20794
+ const refNodes = gatherRecursive(statements, ({ type }) => type === "Ref");
20608
20795
  if (refNodes.length) {
20609
20796
  const ids = gatherRecursive(statements, (s) => s.type === "Identifier");
20610
20797
  const names = new Set(ids.flatMap(({ names: names2 }) => names2 || []));
@@ -21010,7 +21197,7 @@ ${input.slice(result.pos)}
21010
21197
  return result;
21011
21198
  }
21012
21199
  }
21013
- var PopIndent$0 = $TV($EXPECT($L18, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
21200
+ var PopIndent$0 = $TV($EXPECT($L19, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
21014
21201
  if (module.config.verbose) {
21015
21202
  console.log("popping indent", module.indentLevels[module.indentLevels.length - 1], "->", module.indentLevels[module.indentLevels.length - 2]);
21016
21203
  }
@@ -21149,6 +21336,9 @@ var prune = function(node) {
21149
21336
  if (node.length === 0) {
21150
21337
  return;
21151
21338
  }
21339
+ if (node.parent != null) {
21340
+ delete node.parent;
21341
+ }
21152
21342
  if (Array.isArray(node)) {
21153
21343
  a = node.map(function(n) {
21154
21344
  return prune(n);