@danielx/civet 0.4.21 → 0.4.23

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/browser.js CHANGED
@@ -401,6 +401,7 @@ ${input.slice(result.pos)}
401
401
  Expression,
402
402
  Arguments,
403
403
  ApplicationStart,
404
+ IndentedApplicationAllowed,
404
405
  ArgumentsWithTrailingCallExpressions,
405
406
  ArgumentList,
406
407
  NestedArgumentList,
@@ -459,6 +460,7 @@ ${input.slice(result.pos)}
459
460
  ParameterElement,
460
461
  ParameterElementDelimiter,
461
462
  BindingIdentifier,
463
+ AtIdentifierRef,
462
464
  BindingPattern,
463
465
  ObjectBindingPattern,
464
466
  ObjectBindingPatternContent,
@@ -588,6 +590,8 @@ ${input.slice(result.pos)}
588
590
  Finally,
589
591
  CatchParameter,
590
592
  Condition,
593
+ ExpressionWithIndentedApplicationSuppressed,
594
+ SuppressIndentedApplication,
591
595
  ExpressionStatement,
592
596
  KeywordStatement,
593
597
  DebuggerExpression,
@@ -606,9 +610,11 @@ ${input.slice(result.pos)}
606
610
  UnquotedSpecifier,
607
611
  ImportedBinding,
608
612
  ExportDeclaration,
613
+ ExportVarDec,
609
614
  ExportFromClause,
610
615
  NamedExports,
611
616
  ExportSpecifier,
617
+ ImplicitExportSpecifier,
612
618
  Declaration,
613
619
  HoistableDeclaration,
614
620
  LexicalDeclaration,
@@ -803,6 +809,7 @@ ${input.slice(result.pos)}
803
809
  InsertOpenParen,
804
810
  InsertCloseParen,
805
811
  InsertOpenBrace,
812
+ InsertInlineOpenBrace,
806
813
  InsertCloseBrace,
807
814
  InsertConst,
808
815
  InsertReadonly,
@@ -811,6 +818,7 @@ ${input.slice(result.pos)}
811
818
  InsertSpace,
812
819
  InsertDot,
813
820
  InsertBreak,
821
+ InsertVar,
814
822
  CoffeeBinaryExistentialEnabled,
815
823
  CoffeeBooleansEnabled,
816
824
  CoffeeClassesEnabled,
@@ -832,20 +840,20 @@ ${input.slice(result.pos)}
832
840
  PopIndent,
833
841
  Nested
834
842
  });
835
- var $L0 = $L("++");
836
- var $L1 = $L("--");
837
- var $L2 = $L("=>");
838
- var $L3 = $L(" ");
839
- var $L4 = $L("<");
840
- var $L5 = $L("extends");
841
- var $L6 = $L("#");
842
- var $L7 = $L(".");
843
- var $L8 = $L("super");
844
- var $L9 = $L("import");
845
- var $L10 = $L("!");
846
- var $L11 = $L("super[");
847
- var $L12 = $L("import.meta");
848
- var $L13 = $L("");
843
+ var $L0 = $L("");
844
+ var $L1 = $L("++");
845
+ var $L2 = $L("--");
846
+ var $L3 = $L("=>");
847
+ var $L4 = $L(" ");
848
+ var $L5 = $L("<");
849
+ var $L6 = $L("extends");
850
+ var $L7 = $L("#");
851
+ var $L8 = $L(".");
852
+ var $L9 = $L("super");
853
+ var $L10 = $L("import");
854
+ var $L11 = $L("!");
855
+ var $L12 = $L("super[");
856
+ var $L13 = $L("import.meta");
849
857
  var $L14 = $L(")");
850
858
  var $L15 = $L("->");
851
859
  var $L16 = $L("null");
@@ -1023,26 +1031,27 @@ ${input.slice(result.pos)}
1023
1031
  var $R30 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
1024
1032
  var $R31 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1025
1033
  var $R32 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1026
- var $R33 = $R(new RegExp("(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1027
- var $R34 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1028
- var $R35 = $R(new RegExp(".", "suy"));
1029
- var $R36 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1030
- var $R37 = $R(new RegExp("###(?!#)", "suy"));
1031
- var $R38 = $R(new RegExp("[^\\r\\n]", "suy"));
1032
- var $R39 = $R(new RegExp("[ \\t]+", "suy"));
1033
- var $R40 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1034
- var $R41 = $R(new RegExp("\\s", "suy"));
1035
- var $R42 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1036
- var $R43 = $R(new RegExp('"[^"]*"', "suy"));
1037
- var $R44 = $R(new RegExp("'[^']*'", "suy"));
1038
- var $R45 = $R(new RegExp("[^{}<>]+", "suy"));
1039
- var $R46 = $R(new RegExp("[+-]?", "suy"));
1040
- var $R47 = $R(new RegExp("[+-]", "suy"));
1041
- var $R48 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1042
- var $R49 = $R(new RegExp("[\\t ]*", "suy"));
1043
- var $R50 = $R(new RegExp("[\\s]*", "suy"));
1044
- var $R51 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1045
- var $R52 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1034
+ var $R33 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
1035
+ var $R34 = $R(new RegExp("(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1036
+ var $R35 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1037
+ var $R36 = $R(new RegExp(".", "suy"));
1038
+ var $R37 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1039
+ var $R38 = $R(new RegExp("###(?!#)", "suy"));
1040
+ var $R39 = $R(new RegExp("[^\\r\\n]", "suy"));
1041
+ var $R40 = $R(new RegExp("[ \\t]+", "suy"));
1042
+ var $R41 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1043
+ var $R42 = $R(new RegExp("\\s", "suy"));
1044
+ var $R43 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1045
+ var $R44 = $R(new RegExp('"[^"]*"', "suy"));
1046
+ var $R45 = $R(new RegExp("'[^']*'", "suy"));
1047
+ var $R46 = $R(new RegExp("[^{}<>]+", "suy"));
1048
+ var $R47 = $R(new RegExp("[+-]?", "suy"));
1049
+ var $R48 = $R(new RegExp("[+-]", "suy"));
1050
+ var $R49 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1051
+ var $R50 = $R(new RegExp("[\\t ]*", "suy"));
1052
+ var $R51 = $R(new RegExp("[\\s]*", "suy"));
1053
+ var $R52 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1054
+ var $R53 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1046
1055
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1047
1056
  var statements = $4;
1048
1057
  module.processProgram(statements);
@@ -1189,7 +1198,7 @@ ${input.slice(result.pos)}
1189
1198
  return result;
1190
1199
  }
1191
1200
  }
1192
- var ApplicationStart$0 = $Y(NestedImplicitObjectLiteral);
1201
+ var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
1193
1202
  var ApplicationStart$1 = $S($N(EOS), $Y($S($P(_), $N(AdditionalReservedWords))));
1194
1203
  function ApplicationStart(state) {
1195
1204
  if (state.events) {
@@ -1209,6 +1218,29 @@ ${input.slice(result.pos)}
1209
1218
  return result;
1210
1219
  }
1211
1220
  }
1221
+ var IndentedApplicationAllowed$0 = $TV($EXPECT($L0, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
1222
+ if (module.suppressIndentedApplication)
1223
+ return $skip;
1224
+ return;
1225
+ });
1226
+ function IndentedApplicationAllowed(state) {
1227
+ if (state.events) {
1228
+ const result = state.events.enter?.("IndentedApplicationAllowed", state);
1229
+ if (result)
1230
+ return result.cache;
1231
+ }
1232
+ if (state.tokenize) {
1233
+ const result = $TOKEN("IndentedApplicationAllowed", state, IndentedApplicationAllowed$0(state));
1234
+ if (state.events)
1235
+ state.events.exit?.("IndentedApplicationAllowed", state, result);
1236
+ return result;
1237
+ } else {
1238
+ const result = IndentedApplicationAllowed$0(state);
1239
+ if (state.events)
1240
+ state.events.exit?.("IndentedApplicationAllowed", state, result);
1241
+ return result;
1242
+ }
1243
+ }
1212
1244
  var ArgumentsWithTrailingCallExpressions$0 = $S(Arguments, $Q($S(Samedent, $N(Backtick), CallExpressionRest)));
1213
1245
  function ArgumentsWithTrailingCallExpressions(state) {
1214
1246
  if (state.events) {
@@ -1541,7 +1573,7 @@ ${input.slice(result.pos)}
1541
1573
  return result;
1542
1574
  }
1543
1575
  }
1544
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L0, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L1, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1576
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L1, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L2, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1545
1577
  return { $loc, token: $1 };
1546
1578
  });
1547
1579
  function UpdateExpressionSymbol(state) {
@@ -1740,7 +1772,7 @@ ${input.slice(result.pos)}
1740
1772
  return result;
1741
1773
  }
1742
1774
  }
1743
- var FatArrow$0 = $TS($S(__, $EXPECT($L2, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1775
+ var FatArrow$0 = $TS($S(__, $EXPECT($L3, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1744
1776
  var ws = $1;
1745
1777
  if (!ws.length)
1746
1778
  return " =>";
@@ -1811,7 +1843,7 @@ ${input.slice(result.pos)}
1811
1843
  }
1812
1844
  }
1813
1845
  var TernaryRest$0 = NestedTernaryRest;
1814
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L3, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
1846
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L4, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
1815
1847
  return $0.slice(2);
1816
1848
  });
1817
1849
  function TernaryRest(state) {
@@ -1991,10 +2023,10 @@ ${input.slice(result.pos)}
1991
2023
  return result;
1992
2024
  }
1993
2025
  }
1994
- var ExtendsToken$0 = $TV($EXPECT($L4, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
2026
+ var ExtendsToken$0 = $TV($EXPECT($L5, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1995
2027
  return { $loc, token: "extends" };
1996
2028
  });
1997
- var ExtendsToken$1 = $TV($EXPECT($L5, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
2029
+ var ExtendsToken$1 = $TV($EXPECT($L6, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1998
2030
  return { $loc, token: $1 };
1999
2031
  });
2000
2032
  function ExtendsToken(state) {
@@ -2016,7 +2048,7 @@ ${input.slice(result.pos)}
2016
2048
  }
2017
2049
  }
2018
2050
  var ClassBody$0 = $S(__, OpenBrace, $E(NestedClassElements), __, CloseBrace);
2019
- var ClassBody$1 = $S(InsertOpenBrace, NestedClassElements, InsertNewline, InsertIndent, InsertCloseBrace);
2051
+ var ClassBody$1 = $S(InsertOpenBrace, $E(NestedClassElements), InsertNewline, InsertIndent, InsertCloseBrace);
2020
2052
  function ClassBody(state) {
2021
2053
  if (state.events) {
2022
2054
  const result = state.events.enter?.("ClassBody", state);
@@ -2140,7 +2172,7 @@ ${input.slice(result.pos)}
2140
2172
  }
2141
2173
  }
2142
2174
  var ThisLiteral$0 = This;
2143
- var ThisLiteral$1 = $TS($S(At, $TEXT($S($E($EXPECT($L6, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
2175
+ var ThisLiteral$1 = $TS($S(At, $TEXT($S($E($EXPECT($L7, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
2144
2176
  var t = $1;
2145
2177
  var id = $2;
2146
2178
  return [{ ...t, token: "this." }, id];
@@ -2167,7 +2199,7 @@ ${input.slice(result.pos)}
2167
2199
  return result;
2168
2200
  }
2169
2201
  }
2170
- var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L7, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2202
+ var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L8, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2171
2203
  if ($1.length)
2172
2204
  return $0;
2173
2205
  return $2;
@@ -2190,8 +2222,8 @@ ${input.slice(result.pos)}
2190
2222
  return result;
2191
2223
  }
2192
2224
  }
2193
- var CallExpression$0 = $S($EXPECT($L8, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2194
- var CallExpression$1 = $S($EXPECT($L9, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2225
+ var CallExpression$0 = $S($EXPECT($L9, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2226
+ var CallExpression$1 = $S($EXPECT($L10, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2195
2227
  var CallExpression$2 = $TS($S(MemberExpression, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2) {
2196
2228
  if ($2.length)
2197
2229
  return $0;
@@ -2255,7 +2287,7 @@ ${input.slice(result.pos)}
2255
2287
  return result;
2256
2288
  }
2257
2289
  }
2258
- var NonNullAssertion$0 = $T($EXPECT($L10, fail, 'NonNullAssertion "!"'), function(value) {
2290
+ var NonNullAssertion$0 = $T($EXPECT($L11, fail, 'NonNullAssertion "!"'), function(value) {
2259
2291
  return { "ts": true, "children": value };
2260
2292
  });
2261
2293
  function NonNullAssertion(state) {
@@ -2495,7 +2527,7 @@ ${input.slice(result.pos)}
2495
2527
  return result;
2496
2528
  }
2497
2529
  }
2498
- var SuperProperty$0 = $S($EXPECT($L11, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2530
+ var SuperProperty$0 = $S($EXPECT($L12, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2499
2531
  function SuperProperty(state) {
2500
2532
  if (state.events) {
2501
2533
  const result = state.events.enter?.("SuperProperty", state);
@@ -2515,7 +2547,7 @@ ${input.slice(result.pos)}
2515
2547
  }
2516
2548
  }
2517
2549
  var MetaProperty$0 = $S(New, Dot, Target);
2518
- var MetaProperty$1 = $TV($EXPECT($L12, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2550
+ var MetaProperty$1 = $TV($EXPECT($L13, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2519
2551
  return { $loc, token: $1 };
2520
2552
  });
2521
2553
  function MetaProperty(state) {
@@ -2537,7 +2569,7 @@ ${input.slice(result.pos)}
2537
2569
  }
2538
2570
  }
2539
2571
  var Parameters$0 = NonEmptyParameters;
2540
- var Parameters$1 = $TV($EXPECT($L13, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2572
+ var Parameters$1 = $TV($EXPECT($L0, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2541
2573
  return {
2542
2574
  type: "Parameters",
2543
2575
  children: [{ $loc, token: "()" }],
@@ -2698,21 +2730,18 @@ ${input.slice(result.pos)}
2698
2730
  return result;
2699
2731
  }
2700
2732
  }
2701
- var BindingIdentifier$0 = $TS($S(__, $E(At), Identifier), function($skip, $loc, $0, $1, $2, $3) {
2733
+ var BindingIdentifier$0 = $TS($S(__, At, AtIdentifierRef), function($skip, $loc, $0, $1, $2, $3) {
2702
2734
  var ws = $1;
2703
- var at = $2;
2704
- var id = $3;
2705
- if (at) {
2706
- const ref = {
2707
- type: "Ref",
2708
- base: id.name
2709
- };
2710
- return {
2711
- type: "AtBinding",
2712
- children: [...ws, ref],
2713
- ref
2714
- };
2715
- }
2735
+ var ref = $3;
2736
+ return {
2737
+ type: "AtBinding",
2738
+ children: [...ws, ref],
2739
+ ref
2740
+ };
2741
+ });
2742
+ var BindingIdentifier$1 = $TS($S(__, Identifier), function($skip, $loc, $0, $1, $2) {
2743
+ var ws = $1;
2744
+ var id = $2;
2716
2745
  return {
2717
2746
  ...id,
2718
2747
  children: [...ws, ...id.children]
@@ -2725,17 +2754,51 @@ ${input.slice(result.pos)}
2725
2754
  return result.cache;
2726
2755
  }
2727
2756
  if (state.tokenize) {
2728
- const result = $TOKEN("BindingIdentifier", state, BindingIdentifier$0(state));
2757
+ const result = $TOKEN("BindingIdentifier", state, BindingIdentifier$0(state) || BindingIdentifier$1(state));
2729
2758
  if (state.events)
2730
2759
  state.events.exit?.("BindingIdentifier", state, result);
2731
2760
  return result;
2732
2761
  } else {
2733
- const result = BindingIdentifier$0(state);
2762
+ const result = BindingIdentifier$0(state) || BindingIdentifier$1(state);
2734
2763
  if (state.events)
2735
2764
  state.events.exit?.("BindingIdentifier", state, result);
2736
2765
  return result;
2737
2766
  }
2738
2767
  }
2768
+ var AtIdentifierRef$0 = $TV(ReservedWord, function($skip, $loc, $0, $1) {
2769
+ var r = $0;
2770
+ return {
2771
+ type: "Ref",
2772
+ base: `_${r}`,
2773
+ id: r
2774
+ };
2775
+ });
2776
+ var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
2777
+ var id = $0;
2778
+ return {
2779
+ type: "Ref",
2780
+ base: id.name,
2781
+ id: id.name
2782
+ };
2783
+ });
2784
+ function AtIdentifierRef(state) {
2785
+ if (state.events) {
2786
+ const result = state.events.enter?.("AtIdentifierRef", state);
2787
+ if (result)
2788
+ return result.cache;
2789
+ }
2790
+ if (state.tokenize) {
2791
+ const result = $TOKEN("AtIdentifierRef", state, AtIdentifierRef$0(state) || AtIdentifierRef$1(state));
2792
+ if (state.events)
2793
+ state.events.exit?.("AtIdentifierRef", state, result);
2794
+ return result;
2795
+ } else {
2796
+ const result = AtIdentifierRef$0(state) || AtIdentifierRef$1(state);
2797
+ if (state.events)
2798
+ state.events.exit?.("AtIdentifierRef", state, result);
2799
+ return result;
2800
+ }
2801
+ }
2739
2802
  var BindingPattern$0 = $TS($S(__, ObjectBindingPattern), function($skip, $loc, $0, $1, $2) {
2740
2803
  var p = $2;
2741
2804
  return {
@@ -3227,8 +3290,12 @@ ${input.slice(result.pos)}
3227
3290
  return result;
3228
3291
  }
3229
3292
  }
3230
- var EmptyBindingPattern$0 = $TV($EXPECT($L13, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
3231
- const ref = { type: "Ref", base: "ref" };
3293
+ var EmptyBindingPattern$0 = $TV($EXPECT($L0, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
3294
+ const ref = {
3295
+ type: "Ref",
3296
+ base: "ref",
3297
+ id: "ref"
3298
+ };
3232
3299
  return {
3233
3300
  type: "EmptyBinding",
3234
3301
  children: [ref],
@@ -4173,7 +4240,7 @@ ${input.slice(result.pos)}
4173
4240
  return result;
4174
4241
  }
4175
4242
  }
4176
- var ArrayElementDelimiter$0 = $S($Q(_), Comma);
4243
+ var ArrayElementDelimiter$0 = $S(__, Comma);
4177
4244
  var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ArrayElementDelimiter "]"')));
4178
4245
  var ArrayElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
4179
4246
  return { $loc, token: "," };
@@ -4231,7 +4298,7 @@ ${input.slice(result.pos)}
4231
4298
  return result;
4232
4299
  }
4233
4300
  }
4234
- var ElementListRest$0 = $S($S(__, Comma, __), ArrayElementExpression);
4301
+ var ElementListRest$0 = $S($S(__, Comma), ArrayElementExpression);
4235
4302
  function ElementListRest(state) {
4236
4303
  if (state.events) {
4237
4304
  const result = state.events.enter?.("ElementListRest", state);
@@ -4258,6 +4325,7 @@ ${input.slice(result.pos)}
4258
4325
  exp = {
4259
4326
  type: "Ref",
4260
4327
  base: "ref",
4328
+ id: "ref",
4261
4329
  names: []
4262
4330
  };
4263
4331
  }
@@ -4515,10 +4583,10 @@ ${input.slice(result.pos)}
4515
4583
  return result;
4516
4584
  }
4517
4585
  }
4518
- var InlineObjectLiteral$0 = $TS($S(InsertOpenBrace, SnugNamedProperty, ImplicitInlineObjectPropertyDelimiter, $Q($S(NamedProperty, ImplicitInlineObjectPropertyDelimiter)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4586
+ var InlineObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, ImplicitInlineObjectPropertyDelimiter, $Q($S(NamedProperty, ImplicitInlineObjectPropertyDelimiter)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4519
4587
  var open = $1;
4520
4588
  var close = $5;
4521
- return [open[1], $2, $3, ...$4, close];
4589
+ return [open, $2, $3, ...$4, close];
4522
4590
  });
4523
4591
  function InlineObjectLiteral(state) {
4524
4592
  if (state.events) {
@@ -4844,7 +4912,7 @@ ${input.slice(result.pos)}
4844
4912
  return result;
4845
4913
  }
4846
4914
  }
4847
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L6, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4915
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L7, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4848
4916
  return {
4849
4917
  type: "Identifier",
4850
4918
  name: $0,
@@ -4996,7 +5064,7 @@ ${input.slice(result.pos)}
4996
5064
  var BinaryOpSymbol$6 = $EXPECT($L53, fail, 'BinaryOpSymbol "<="');
4997
5065
  var BinaryOpSymbol$7 = $EXPECT($L54, fail, 'BinaryOpSymbol ">="');
4998
5066
  var BinaryOpSymbol$8 = $EXPECT($L55, fail, 'BinaryOpSymbol "<<"');
4999
- var BinaryOpSymbol$9 = $EXPECT($L4, fail, 'BinaryOpSymbol "<"');
5067
+ var BinaryOpSymbol$9 = $EXPECT($L5, fail, 'BinaryOpSymbol "<"');
5000
5068
  var BinaryOpSymbol$10 = $EXPECT($L56, fail, 'BinaryOpSymbol ">>>"');
5001
5069
  var BinaryOpSymbol$11 = $EXPECT($L57, fail, 'BinaryOpSymbol ">>"');
5002
5070
  var BinaryOpSymbol$12 = $EXPECT($L25, fail, 'BinaryOpSymbol ">"');
@@ -5045,26 +5113,33 @@ ${input.slice(result.pos)}
5045
5113
  special: true
5046
5114
  };
5047
5115
  });
5048
- var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5116
+ var BinaryOpSymbol$28 = $TS($S(CoffeeNotEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L66, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5117
+ return {
5118
+ $loc,
5119
+ token: "in",
5120
+ special: true
5121
+ };
5122
+ });
5123
+ var BinaryOpSymbol$29 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5049
5124
  return {
5050
5125
  ref: module.getIndexOfRef(),
5051
5126
  suffix: " >= 0",
5052
5127
  special: true
5053
5128
  };
5054
5129
  });
5055
- var BinaryOpSymbol$29 = $TS($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5130
+ var BinaryOpSymbol$30 = $TS($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5056
5131
  return {
5057
5132
  ref: module.getIndexOfRef(),
5058
5133
  suffix: " < 0",
5059
5134
  special: true
5060
5135
  };
5061
5136
  });
5062
- var BinaryOpSymbol$30 = $TS($S($EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5137
+ var BinaryOpSymbol$31 = $TS($S($EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5063
5138
  return $1;
5064
5139
  });
5065
- var BinaryOpSymbol$31 = $EXPECT($L74, fail, 'BinaryOpSymbol "&"');
5066
- var BinaryOpSymbol$32 = $EXPECT($L75, fail, 'BinaryOpSymbol "^"');
5067
- var BinaryOpSymbol$33 = $EXPECT($L76, fail, 'BinaryOpSymbol "|"');
5140
+ var BinaryOpSymbol$32 = $EXPECT($L74, fail, 'BinaryOpSymbol "&"');
5141
+ var BinaryOpSymbol$33 = $EXPECT($L75, fail, 'BinaryOpSymbol "^"');
5142
+ var BinaryOpSymbol$34 = $EXPECT($L76, fail, 'BinaryOpSymbol "|"');
5068
5143
  function BinaryOpSymbol(state) {
5069
5144
  if (state.events) {
5070
5145
  const result = state.events.enter?.("BinaryOpSymbol", state);
@@ -5072,12 +5147,12 @@ ${input.slice(result.pos)}
5072
5147
  return result.cache;
5073
5148
  }
5074
5149
  if (state.tokenize) {
5075
- const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state));
5150
+ const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state));
5076
5151
  if (state.events)
5077
5152
  state.events.exit?.("BinaryOpSymbol", state, result);
5078
5153
  return result;
5079
5154
  } else {
5080
- const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state);
5155
+ const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state) || BinaryOpSymbol$34(state);
5081
5156
  if (state.events)
5082
5157
  state.events.exit?.("BinaryOpSymbol", state, result);
5083
5158
  return result;
@@ -5872,11 +5947,13 @@ ${input.slice(result.pos)}
5872
5947
  } else if (kind.token === "in") {
5873
5948
  const counterRef = {
5874
5949
  type: "Ref",
5875
- base: "i"
5950
+ base: "i",
5951
+ id: "i"
5876
5952
  };
5877
5953
  const lenRef = {
5878
5954
  type: "Ref",
5879
- base: "len"
5955
+ base: "len",
5956
+ id: "len"
5880
5957
  };
5881
5958
  let expRef;
5882
5959
  switch (exp.type) {
@@ -5894,7 +5971,8 @@ ${input.slice(result.pos)}
5894
5971
  } else {
5895
5972
  stepRef = {
5896
5973
  type: "Ref",
5897
- base: "step"
5974
+ base: "step",
5975
+ id: "step"
5898
5976
  };
5899
5977
  }
5900
5978
  }
@@ -5906,7 +5984,8 @@ ${input.slice(result.pos)}
5906
5984
  } else {
5907
5985
  startRef = {
5908
5986
  type: "Ref",
5909
- base: "ref"
5987
+ base: "ref",
5988
+ id: "ref"
5910
5989
  };
5911
5990
  }
5912
5991
  if (end.type === "Literal") {
@@ -5916,7 +5995,8 @@ ${input.slice(result.pos)}
5916
5995
  } else {
5917
5996
  endRef = {
5918
5997
  type: "Ref",
5919
- base: "ref"
5998
+ base: "ref",
5999
+ id: "ref"
5920
6000
  };
5921
6001
  }
5922
6002
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
@@ -5934,45 +6014,65 @@ ${input.slice(result.pos)}
5934
6014
  names: varRef2.names
5935
6015
  }]);
5936
6016
  const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
5937
- const condition = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ["asc ? ", ...counterPart];
5938
- const increment = stepRef ? [varRef2, " = ", counterRef, " += ", stepRef] : [varRef2, " = asc ? ++", counterRef, " : --", counterRef];
6017
+ const condition2 = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ["asc ? ", ...counterPart];
6018
+ const increment2 = stepRef ? [varRef2, " = ", counterRef, " += ", stepRef] : [varRef2, " = asc ? ++", counterRef, " : --", counterRef];
5939
6019
  return {
5940
6020
  declaration,
5941
- children: [$1, open, declaration, "; ", ...condition, "; ", ...increment, close],
6021
+ children: [$1, open, declaration, "; ", ...condition2, "; ", ...increment2, close],
5942
6022
  blockPrefix
5943
6023
  };
5944
6024
  }
5945
6025
  default:
5946
6026
  expRef = {
5947
6027
  type: "Ref",
5948
- base: "ref"
6028
+ base: "ref",
6029
+ id: "ref"
5949
6030
  };
5950
6031
  }
5951
- if (step) {
5952
- throw new Error("by clause not yet implement in non-range for in loops");
5953
- }
5954
6032
  const varRef = declaration;
5955
- const expRefDec = expRef !== exp ? [expRef, " = ", module.insertTrimmingSpace(exp, ""), ", "] : [];
5956
- declaration = {
5957
- type: "Declaration",
5958
- children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", expRef, ".length"],
5959
- names: []
5960
- };
5961
- let indexAssignment;
5962
- let assignmentNames = [...varRef.names];
6033
+ let increment = "++", indexAssignment, assignmentNames = [...varRef.names];
5963
6034
  if (index) {
5964
6035
  index = module.insertTrimmingSpace(index, "");
5965
6036
  indexAssignment = [index, "="];
5966
6037
  assignmentNames.push(...index.names);
5967
6038
  }
6039
+ const expRefDec = expRef !== exp ? [expRef, " = ", module.insertTrimmingSpace(exp, ""), ", "] : [];
5968
6040
  blockPrefix.push([indent, {
5969
6041
  type: "AssignmentExpression",
5970
6042
  children: [varRef, " = ", expRef, "[", indexAssignment, counterRef, "]\n"],
5971
6043
  names: assignmentNames
5972
6044
  }]);
6045
+ declaration = {
6046
+ type: "Declaration",
6047
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", expRef, ".length"],
6048
+ names: []
6049
+ };
6050
+ let condition = [counterRef, " < ", lenRef, "; "];
6051
+ if (step) {
6052
+ let [stepWs, , stepExp] = step;
6053
+ stepWs = module.insertTrimmingSpace(stepWs, "");
6054
+ if (stepExp.type === "Literal") {
6055
+ increment = [" +=", ...stepWs, stepExp];
6056
+ if (stepExp.raw[0] === "-") {
6057
+ declaration = {
6058
+ type: "Declaration",
6059
+ children: ["let ", ...expRefDec, counterRef, " = ", expRef, ".length - 1"],
6060
+ names: []
6061
+ };
6062
+ condition = [counterRef, " >= 0; "];
6063
+ }
6064
+ } else {
6065
+ throw new Error("TODO: Support non-literal step in CoffeeScript for loops");
6066
+ }
6067
+ return {
6068
+ declaration,
6069
+ children: [$1, open, declaration, "; ", ...condition, counterRef, increment, close],
6070
+ blockPrefix
6071
+ };
6072
+ }
5973
6073
  return {
5974
6074
  declaration,
5975
- children: [$1, open, declaration, "; ", counterRef, " < ", lenRef, "; ", counterRef, "++", close],
6075
+ children: [$1, open, declaration, "; ", ...condition, counterRef, increment, close],
5976
6076
  blockPrefix
5977
6077
  };
5978
6078
  }
@@ -6067,14 +6167,14 @@ ${input.slice(result.pos)}
6067
6167
  children: $0
6068
6168
  };
6069
6169
  });
6070
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExtendedExpression, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6170
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationSuppressed, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6071
6171
  var declaration = $4;
6072
6172
  return {
6073
6173
  declaration,
6074
6174
  children: $0
6075
6175
  };
6076
6176
  });
6077
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
6177
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
6078
6178
  var declaration = $3;
6079
6179
  return {
6080
6180
  declaration,
@@ -6419,7 +6519,7 @@ ${input.slice(result.pos)}
6419
6519
  return result;
6420
6520
  }
6421
6521
  }
6422
- var CaseExpressionList$0 = $TS($S($S($Q(_), ExtendedExpression, ImpliedColon), $Q($S(__, Comma, ExtendedExpression, ImpliedColon))), function($skip, $loc, $0, $1, $2) {
6522
+ var CaseExpressionList$0 = $TS($S($S($Q(_), ExpressionWithIndentedApplicationSuppressed, ImpliedColon), $Q($S(__, Comma, ExpressionWithIndentedApplicationSuppressed, ImpliedColon))), function($skip, $loc, $0, $1, $2) {
6423
6523
  const result = $2.map(([ws, _comma, exp, col]) => {
6424
6524
  exp = module.insertTrimmingSpace(exp, "");
6425
6525
  if (ws.length)
@@ -6447,7 +6547,7 @@ ${input.slice(result.pos)}
6447
6547
  return result;
6448
6548
  }
6449
6549
  }
6450
- var NoExpressions$0 = $T($EXPECT($L13, fail, 'NoExpressions ""'), function(value) {
6550
+ var NoExpressions$0 = $T($EXPECT($L0, fail, 'NoExpressions ""'), function(value) {
6451
6551
  return [];
6452
6552
  });
6453
6553
  function NoExpressions(state) {
@@ -6469,7 +6569,7 @@ ${input.slice(result.pos)}
6469
6569
  }
6470
6570
  }
6471
6571
  var ImpliedColon$0 = $S(__, Colon);
6472
- var ImpliedColon$1 = $TV($EXPECT($L13, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6572
+ var ImpliedColon$1 = $TV($EXPECT($L0, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6473
6573
  return { $loc, token: ":" };
6474
6574
  });
6475
6575
  function ImpliedColon(state) {
@@ -6605,7 +6705,7 @@ ${input.slice(result.pos)}
6605
6705
  var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp, Dot, QuestionMark)))), function(value) {
6606
6706
  return value[0];
6607
6707
  });
6608
- var Condition$1 = $TS($S(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
6708
+ var Condition$1 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
6609
6709
  var open = $1;
6610
6710
  var exp = $2;
6611
6711
  var close = $3;
@@ -6634,6 +6734,52 @@ ${input.slice(result.pos)}
6634
6734
  return result;
6635
6735
  }
6636
6736
  }
6737
+ var ExpressionWithIndentedApplicationSuppressed$0 = $TS($S(SuppressIndentedApplication, $E(ExtendedExpression)), function($skip, $loc, $0, $1, $2) {
6738
+ var exp = $2;
6739
+ module.suppressIndentedApplication = false;
6740
+ if (exp)
6741
+ return exp;
6742
+ return $skip;
6743
+ });
6744
+ function ExpressionWithIndentedApplicationSuppressed(state) {
6745
+ if (state.events) {
6746
+ const result = state.events.enter?.("ExpressionWithIndentedApplicationSuppressed", state);
6747
+ if (result)
6748
+ return result.cache;
6749
+ }
6750
+ if (state.tokenize) {
6751
+ const result = $TOKEN("ExpressionWithIndentedApplicationSuppressed", state, ExpressionWithIndentedApplicationSuppressed$0(state));
6752
+ if (state.events)
6753
+ state.events.exit?.("ExpressionWithIndentedApplicationSuppressed", state, result);
6754
+ return result;
6755
+ } else {
6756
+ const result = ExpressionWithIndentedApplicationSuppressed$0(state);
6757
+ if (state.events)
6758
+ state.events.exit?.("ExpressionWithIndentedApplicationSuppressed", state, result);
6759
+ return result;
6760
+ }
6761
+ }
6762
+ var SuppressIndentedApplication$0 = $TV($EXPECT($L0, fail, 'SuppressIndentedApplication ""'), function($skip, $loc, $0, $1) {
6763
+ module.suppressIndentedApplication = true;
6764
+ });
6765
+ function SuppressIndentedApplication(state) {
6766
+ if (state.events) {
6767
+ const result = state.events.enter?.("SuppressIndentedApplication", state);
6768
+ if (result)
6769
+ return result.cache;
6770
+ }
6771
+ if (state.tokenize) {
6772
+ const result = $TOKEN("SuppressIndentedApplication", state, SuppressIndentedApplication$0(state));
6773
+ if (state.events)
6774
+ state.events.exit?.("SuppressIndentedApplication", state, result);
6775
+ return result;
6776
+ } else {
6777
+ const result = SuppressIndentedApplication$0(state);
6778
+ if (state.events)
6779
+ state.events.exit?.("SuppressIndentedApplication", state, result);
6780
+ return result;
6781
+ }
6782
+ }
6637
6783
  var ExpressionStatement$0 = Expression;
6638
6784
  function ExpressionStatement(state) {
6639
6785
  if (state.events) {
@@ -6734,7 +6880,7 @@ ${input.slice(result.pos)}
6734
6880
  return result;
6735
6881
  }
6736
6882
  }
6737
- var MaybeNestedExpression$0 = $TS($S($N(EOS), AssignmentExpression), function($skip, $loc, $0, $1, $2) {
6883
+ var MaybeNestedExpression$0 = $TS($S($N(EOS), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
6738
6884
  return $2;
6739
6885
  });
6740
6886
  var MaybeNestedExpression$1 = $T($S($Y(EOS), ObjectLiteral), function(value) {
@@ -6792,7 +6938,7 @@ ${input.slice(result.pos)}
6792
6938
  return result;
6793
6939
  }
6794
6940
  }
6795
- var ImpliedImport$0 = $TV($EXPECT($L13, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6941
+ var ImpliedImport$0 = $TV($EXPECT($L0, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6796
6942
  return { $loc, token: "import " };
6797
6943
  });
6798
6944
  function ImpliedImport(state) {
@@ -7060,7 +7206,7 @@ ${input.slice(result.pos)}
7060
7206
  }
7061
7207
  var ExportDeclaration$0 = $S(Export, __, $EXPECT($L84, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
7062
7208
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
7063
- var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
7209
+ var ExportDeclaration$2 = $S(Export, __, $C(Declaration, NamedExports, VariableStatement, ExportVarDec));
7064
7210
  function ExportDeclaration(state) {
7065
7211
  if (state.events) {
7066
7212
  const result = state.events.enter?.("ExportDeclaration", state);
@@ -7079,6 +7225,25 @@ ${input.slice(result.pos)}
7079
7225
  return result;
7080
7226
  }
7081
7227
  }
7228
+ var ExportVarDec$0 = $S(InsertVar, VariableDeclarationList);
7229
+ function ExportVarDec(state) {
7230
+ if (state.events) {
7231
+ const result = state.events.enter?.("ExportVarDec", state);
7232
+ if (result)
7233
+ return result.cache;
7234
+ }
7235
+ if (state.tokenize) {
7236
+ const result = $TOKEN("ExportVarDec", state, ExportVarDec$0(state));
7237
+ if (state.events)
7238
+ state.events.exit?.("ExportVarDec", state, result);
7239
+ return result;
7240
+ } else {
7241
+ const result = ExportVarDec$0(state);
7242
+ if (state.events)
7243
+ state.events.exit?.("ExportVarDec", state, result);
7244
+ return result;
7245
+ }
7246
+ }
7082
7247
  var ExportFromClause$0 = $S(Star, $E($S(__, As, __, ModuleExportName)));
7083
7248
  var ExportFromClause$1 = NamedExports;
7084
7249
  function ExportFromClause(state) {
@@ -7100,6 +7265,11 @@ ${input.slice(result.pos)}
7100
7265
  }
7101
7266
  }
7102
7267
  var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
7268
+ var NamedExports$1 = $TS($S(InsertInlineOpenBrace, ImplicitExportSpecifier, $Q($S(_, ImplicitExportSpecifier)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
7269
+ var open = $1;
7270
+ var close = $4;
7271
+ return [open, $2, ...$3, close];
7272
+ });
7103
7273
  function NamedExports(state) {
7104
7274
  if (state.events) {
7105
7275
  const result = state.events.enter?.("NamedExports", state);
@@ -7107,12 +7277,12 @@ ${input.slice(result.pos)}
7107
7277
  return result.cache;
7108
7278
  }
7109
7279
  if (state.tokenize) {
7110
- const result = $TOKEN("NamedExports", state, NamedExports$0(state));
7280
+ const result = $TOKEN("NamedExports", state, NamedExports$0(state) || NamedExports$1(state));
7111
7281
  if (state.events)
7112
7282
  state.events.exit?.("NamedExports", state, result);
7113
7283
  return result;
7114
7284
  } else {
7115
- const result = NamedExports$0(state);
7285
+ const result = NamedExports$0(state) || NamedExports$1(state);
7116
7286
  if (state.events)
7117
7287
  state.events.exit?.("NamedExports", state, result);
7118
7288
  return result;
@@ -7137,6 +7307,25 @@ ${input.slice(result.pos)}
7137
7307
  return result;
7138
7308
  }
7139
7309
  }
7310
+ var ImplicitExportSpecifier$0 = $S($N($EXPECT($L84, fail, 'ImplicitExportSpecifier "default"')), ModuleExportName, $E($S(__, As, __, ModuleExportName)), $C($Y($S(__, From)), ImplicitInlineObjectPropertyDelimiter));
7311
+ function ImplicitExportSpecifier(state) {
7312
+ if (state.events) {
7313
+ const result = state.events.enter?.("ImplicitExportSpecifier", state);
7314
+ if (result)
7315
+ return result.cache;
7316
+ }
7317
+ if (state.tokenize) {
7318
+ const result = $TOKEN("ImplicitExportSpecifier", state, ImplicitExportSpecifier$0(state));
7319
+ if (state.events)
7320
+ state.events.exit?.("ImplicitExportSpecifier", state, result);
7321
+ return result;
7322
+ } else {
7323
+ const result = ImplicitExportSpecifier$0(state);
7324
+ if (state.events)
7325
+ state.events.exit?.("ImplicitExportSpecifier", state, result);
7326
+ return result;
7327
+ }
7328
+ }
7140
7329
  var Declaration$0 = HoistableDeclaration;
7141
7330
  var Declaration$1 = ClassDeclaration;
7142
7331
  var Declaration$2 = LexicalDeclaration;
@@ -8153,7 +8342,8 @@ ${input.slice(result.pos)}
8153
8342
  var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R30, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
8154
8343
  var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R31, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
8155
8344
  var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R32, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
8156
- var ReservedWord$3 = $R$0($EXPECT($R33, fail, "ReservedWord /(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
8345
+ var ReservedWord$3 = $S(CoffeeOfEnabled, $R$0($EXPECT($R33, fail, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")));
8346
+ var ReservedWord$4 = $R$0($EXPECT($R34, fail, "ReservedWord /(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
8157
8347
  function ReservedWord(state) {
8158
8348
  if (state.events) {
8159
8349
  const result = state.events.enter?.("ReservedWord", state);
@@ -8161,12 +8351,12 @@ ${input.slice(result.pos)}
8161
8351
  return result.cache;
8162
8352
  }
8163
8353
  if (state.tokenize) {
8164
- const result = $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state));
8354
+ const result = $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state));
8165
8355
  if (state.events)
8166
8356
  state.events.exit?.("ReservedWord", state, result);
8167
8357
  return result;
8168
8358
  } else {
8169
- const result = ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state);
8359
+ const result = ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state) || ReservedWord$4(state);
8170
8360
  if (state.events)
8171
8361
  state.events.exit?.("ReservedWord", state, result);
8172
8362
  return result;
@@ -8212,7 +8402,7 @@ ${input.slice(result.pos)}
8212
8402
  return result;
8213
8403
  }
8214
8404
  }
8215
- var JSSingleLineComment$0 = $TR($EXPECT($R34, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8405
+ var JSSingleLineComment$0 = $TR($EXPECT($R35, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8216
8406
  return { $loc, token: $0 };
8217
8407
  });
8218
8408
  function JSSingleLineComment(state) {
@@ -8253,7 +8443,7 @@ ${input.slice(result.pos)}
8253
8443
  return result;
8254
8444
  }
8255
8445
  }
8256
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R35, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8446
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R36, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8257
8447
  return { $loc, token: $1 };
8258
8448
  });
8259
8449
  function JSMultiLineComment(state) {
@@ -8274,7 +8464,7 @@ ${input.slice(result.pos)}
8274
8464
  return result;
8275
8465
  }
8276
8466
  }
8277
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R36, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8467
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R37, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8278
8468
  return { $loc, token: `//${$1}` };
8279
8469
  });
8280
8470
  function CoffeeSingleLineComment(state) {
@@ -8295,7 +8485,7 @@ ${input.slice(result.pos)}
8295
8485
  return result;
8296
8486
  }
8297
8487
  }
8298
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8488
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R36, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8299
8489
  return { $loc, token: `/*${$2}*/` };
8300
8490
  });
8301
8491
  function CoffeeMultiLineComment(state) {
@@ -8316,7 +8506,7 @@ ${input.slice(result.pos)}
8316
8506
  return result;
8317
8507
  }
8318
8508
  }
8319
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R37, fail, "CoffeeHereCommentStart /###(?!#)/"));
8509
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R38, fail, "CoffeeHereCommentStart /###(?!#)/"));
8320
8510
  function CoffeeHereCommentStart(state) {
8321
8511
  if (state.events) {
8322
8512
  const result = state.events.enter?.("CoffeeHereCommentStart", state);
@@ -8335,7 +8525,7 @@ ${input.slice(result.pos)}
8335
8525
  return result;
8336
8526
  }
8337
8527
  }
8338
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R38, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8528
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R39, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8339
8529
  return { $loc, token: $1 };
8340
8530
  });
8341
8531
  function InlineComment(state) {
@@ -8415,7 +8605,7 @@ ${input.slice(result.pos)}
8415
8605
  return result;
8416
8606
  }
8417
8607
  }
8418
- var NonNewlineWhitespace$0 = $TR($EXPECT($R39, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8608
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R40, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8419
8609
  return { $loc, token: $0 };
8420
8610
  });
8421
8611
  var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L88, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
@@ -8524,7 +8714,7 @@ ${input.slice(result.pos)}
8524
8714
  return result;
8525
8715
  }
8526
8716
  }
8527
- var NonIdContinue$0 = $R$0($EXPECT($R40, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8717
+ var NonIdContinue$0 = $R$0($EXPECT($R41, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8528
8718
  function NonIdContinue(state) {
8529
8719
  if (state.events) {
8530
8720
  const result = state.events.enter?.("NonIdContinue", state);
@@ -8543,7 +8733,7 @@ ${input.slice(result.pos)}
8543
8733
  return result;
8544
8734
  }
8545
8735
  }
8546
- var Loc$0 = $TV($EXPECT($L13, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
8736
+ var Loc$0 = $TV($EXPECT($L0, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
8547
8737
  return { $loc, token: "" };
8548
8738
  });
8549
8739
  function Loc(state) {
@@ -8963,7 +9153,7 @@ ${input.slice(result.pos)}
8963
9153
  return result;
8964
9154
  }
8965
9155
  }
8966
- var Dot$0 = $TV($EXPECT($L7, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
9156
+ var Dot$0 = $TV($EXPECT($L8, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
8967
9157
  return { $loc, token: $1 };
8968
9158
  });
8969
9159
  function Dot(state) {
@@ -9215,7 +9405,7 @@ ${input.slice(result.pos)}
9215
9405
  return result;
9216
9406
  }
9217
9407
  }
9218
- var If$0 = $TV($TEXT($S($EXPECT($L112, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9408
+ var If$0 = $TV($TEXT($S($EXPECT($L112, fail, 'If "if"'), $E($EXPECT($L4, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9219
9409
  return { $loc, token: $1 };
9220
9410
  });
9221
9411
  function If(state) {
@@ -9236,7 +9426,7 @@ ${input.slice(result.pos)}
9236
9426
  return result;
9237
9427
  }
9238
9428
  }
9239
- var Import$0 = $TS($S($EXPECT($L9, fail, 'Import "import"'), $Y($EXPECT($R41, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9429
+ var Import$0 = $TS($S($EXPECT($L10, fail, 'Import "import"'), $Y($EXPECT($R42, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9240
9430
  return { $loc, token: $1 };
9241
9431
  });
9242
9432
  function Import(state) {
@@ -9278,7 +9468,7 @@ ${input.slice(result.pos)}
9278
9468
  return result;
9279
9469
  }
9280
9470
  }
9281
- var LetOrConst$0 = $TV($C($EXPECT($L113, fail, 'LetOrConst "let"'), $EXPECT($L114, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
9471
+ var LetOrConst$0 = $TS($S($C($EXPECT($L113, fail, 'LetOrConst "let"'), $EXPECT($L114, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9282
9472
  return { $loc, token: $1 };
9283
9473
  });
9284
9474
  function LetOrConst(state) {
@@ -9320,7 +9510,7 @@ ${input.slice(result.pos)}
9320
9510
  return result;
9321
9511
  }
9322
9512
  }
9323
- var New$0 = $TV($EXPECT($L116, fail, 'New "new"'), function($skip, $loc, $0, $1) {
9513
+ var New$0 = $TS($S($EXPECT($L116, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9324
9514
  return { $loc, token: $1 };
9325
9515
  });
9326
9516
  function New(state) {
@@ -9341,7 +9531,7 @@ ${input.slice(result.pos)}
9341
9531
  return result;
9342
9532
  }
9343
9533
  }
9344
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L72, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9534
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L72, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L4, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9345
9535
  return { $loc, token: "!" };
9346
9536
  });
9347
9537
  function Not(state) {
@@ -9617,7 +9807,7 @@ ${input.slice(result.pos)}
9617
9807
  return result;
9618
9808
  }
9619
9809
  }
9620
- var Target$0 = $TV($EXPECT($L125, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9810
+ var Target$0 = $TS($S($EXPECT($L125, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9621
9811
  return { $loc, token: $1 };
9622
9812
  });
9623
9813
  function Target(state) {
@@ -9785,7 +9975,7 @@ ${input.slice(result.pos)}
9785
9975
  return result;
9786
9976
  }
9787
9977
  }
9788
- var Try$0 = $TV($EXPECT($L133, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9978
+ var Try$0 = $TS($S($EXPECT($L133, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9789
9979
  return { $loc, token: $1 };
9790
9980
  });
9791
9981
  function Try(state) {
@@ -9827,7 +10017,7 @@ ${input.slice(result.pos)}
9827
10017
  return result;
9828
10018
  }
9829
10019
  }
9830
- var Unless$0 = $TV($EXPECT($L135, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
10020
+ var Unless$0 = $TS($S($EXPECT($L135, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9831
10021
  return { $loc, token: $1 };
9832
10022
  });
9833
10023
  function Unless(state) {
@@ -9869,7 +10059,7 @@ ${input.slice(result.pos)}
9869
10059
  return result;
9870
10060
  }
9871
10061
  }
9872
- var Var$0 = $TV($EXPECT($L137, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
10062
+ var Var$0 = $TS($S($EXPECT($L137, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9873
10063
  return { $loc, token: $1 };
9874
10064
  });
9875
10065
  function Var(state) {
@@ -9999,7 +10189,7 @@ ${input.slice(result.pos)}
9999
10189
  return result;
10000
10190
  }
10001
10191
  }
10002
- var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L142, fail, 'JSXSelfClosingElement "/>"'));
10192
+ var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L142, fail, 'JSXSelfClosingElement "/>"'));
10003
10193
  function JSXSelfClosingElement(state) {
10004
10194
  if (state.events) {
10005
10195
  const result = state.events.enter?.("JSXSelfClosingElement", state);
@@ -10018,7 +10208,7 @@ ${input.slice(result.pos)}
10018
10208
  return result;
10019
10209
  }
10020
10210
  }
10021
- var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L25, fail, 'JSXOpeningElement ">"'));
10211
+ var JSXOpeningElement$0 = $S($EXPECT($L5, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L25, fail, 'JSXOpeningElement ">"'));
10022
10212
  function JSXOpeningElement(state) {
10023
10213
  if (state.events) {
10024
10214
  const result = state.events.enter?.("JSXOpeningElement", state);
@@ -10094,7 +10284,7 @@ ${input.slice(result.pos)}
10094
10284
  return result;
10095
10285
  }
10096
10286
  }
10097
- var JSXIdentifierName$0 = $R$0($EXPECT($R42, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10287
+ var JSXIdentifierName$0 = $R$0($EXPECT($R43, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10098
10288
  function JSXIdentifierName(state) {
10099
10289
  if (state.events) {
10100
10290
  const result = state.events.enter?.("JSXIdentifierName", state);
@@ -10190,8 +10380,8 @@ ${input.slice(result.pos)}
10190
10380
  return result;
10191
10381
  }
10192
10382
  }
10193
- var JSXAttributeValue$0 = $R$0($EXPECT($R43, fail, 'JSXAttributeValue /"[^"]*"/'));
10194
- var JSXAttributeValue$1 = $R$0($EXPECT($R44, fail, "JSXAttributeValue /'[^']*'/"));
10383
+ var JSXAttributeValue$0 = $R$0($EXPECT($R44, fail, 'JSXAttributeValue /"[^"]*"/'));
10384
+ var JSXAttributeValue$1 = $R$0($EXPECT($R45, fail, "JSXAttributeValue /'[^']*'/"));
10195
10385
  var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
10196
10386
  var JSXAttributeValue$3 = JSXElement;
10197
10387
  var JSXAttributeValue$4 = JSXFragment;
@@ -10254,7 +10444,7 @@ ${input.slice(result.pos)}
10254
10444
  return result;
10255
10445
  }
10256
10446
  }
10257
- var JSXText$0 = $R$0($EXPECT($R45, fail, "JSXText /[^{}<>]+/"));
10447
+ var JSXText$0 = $R$0($EXPECT($R46, fail, "JSXText /[^{}<>]+/"));
10258
10448
  function JSXText(state) {
10259
10449
  if (state.events) {
10260
10450
  const result = state.events.enter?.("JSXText", state);
@@ -10582,7 +10772,7 @@ ${input.slice(result.pos)}
10582
10772
  return result;
10583
10773
  }
10584
10774
  }
10585
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R46, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L150, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10775
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L150, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R48, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10586
10776
  function TypeIndexSignature(state) {
10587
10777
  if (state.events) {
10588
10778
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -10923,7 +11113,7 @@ ${input.slice(result.pos)}
10923
11113
  return result;
10924
11114
  }
10925
11115
  }
10926
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L5, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
11116
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L6, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
10927
11117
  if ($2)
10928
11118
  return $0;
10929
11119
  return $1;
@@ -10995,7 +11185,7 @@ ${input.slice(result.pos)}
10995
11185
  return result;
10996
11186
  }
10997
11187
  }
10998
- var FunctionType$0 = $S(Parameters, __, $EXPECT($L2, fail, 'FunctionType "=>"'), Type);
11188
+ var FunctionType$0 = $S(Parameters, __, $EXPECT($L3, fail, 'FunctionType "=>"'), Type);
10999
11189
  function FunctionType(state) {
11000
11190
  if (state.events) {
11001
11191
  const result = state.events.enter?.("FunctionType", state);
@@ -11014,7 +11204,7 @@ ${input.slice(result.pos)}
11014
11204
  return result;
11015
11205
  }
11016
11206
  }
11017
- var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeArguments ">"'));
11207
+ var TypeArguments$0 = $S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeArguments ">"'));
11018
11208
  function TypeArguments(state) {
11019
11209
  if (state.events) {
11020
11210
  const result = state.events.enter?.("TypeArguments", state);
@@ -11033,7 +11223,7 @@ ${input.slice(result.pos)}
11033
11223
  return result;
11034
11224
  }
11035
11225
  }
11036
- var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
11226
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
11037
11227
  return { ts: true, children: $0 };
11038
11228
  });
11039
11229
  function TypeParameters(state) {
@@ -11073,7 +11263,7 @@ ${input.slice(result.pos)}
11073
11263
  return result;
11074
11264
  }
11075
11265
  }
11076
- var TypeConstraint$0 = $S(__, $EXPECT($L5, fail, 'TypeConstraint "extends"'), Type);
11266
+ var TypeConstraint$0 = $S(__, $EXPECT($L6, fail, 'TypeConstraint "extends"'), Type);
11077
11267
  function TypeConstraint(state) {
11078
11268
  if (state.events) {
11079
11269
  const result = state.events.enter?.("TypeConstraint", state);
@@ -11118,7 +11308,7 @@ ${input.slice(result.pos)}
11118
11308
  return result;
11119
11309
  }
11120
11310
  }
11121
- var Shebang$0 = $S($R$0($EXPECT($R48, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11311
+ var Shebang$0 = $S($R$0($EXPECT($R49, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11122
11312
  function Shebang(state) {
11123
11313
  if (state.events) {
11124
11314
  const result = state.events.enter?.("Shebang", state);
@@ -11137,11 +11327,11 @@ ${input.slice(result.pos)}
11137
11327
  return result;
11138
11328
  }
11139
11329
  }
11140
- var CivetPrologue$0 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11330
+ var CivetPrologue$0 = $T($S($EXPECT($R50, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11141
11331
  var content = value[2];
11142
11332
  return content;
11143
11333
  });
11144
- var CivetPrologue$1 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11334
+ var CivetPrologue$1 = $T($S($EXPECT($R50, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11145
11335
  var content = value[2];
11146
11336
  return content;
11147
11337
  });
@@ -11163,7 +11353,7 @@ ${input.slice(result.pos)}
11163
11353
  return result;
11164
11354
  }
11165
11355
  }
11166
- var CivetPrologueContent$0 = $TS($S($EXPECT($L155, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R50, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11356
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L155, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R51, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11167
11357
  var options = $2;
11168
11358
  return {
11169
11359
  type: "CivetPrologue",
@@ -11189,7 +11379,7 @@ ${input.slice(result.pos)}
11189
11379
  return result;
11190
11380
  }
11191
11381
  }
11192
- var CivetOption$0 = $TR($EXPECT($R51, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11382
+ var CivetOption$0 = $TR($EXPECT($R52, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11193
11383
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
11194
11384
  if (l)
11195
11385
  return l.toUpperCase();
@@ -11216,7 +11406,7 @@ ${input.slice(result.pos)}
11216
11406
  return result;
11217
11407
  }
11218
11408
  }
11219
- var UnknownPrologue$0 = $S($R$0($EXPECT($R49, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11409
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R50, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11220
11410
  function UnknownPrologue(state) {
11221
11411
  if (state.events) {
11222
11412
  const result = state.events.enter?.("UnknownPrologue", state);
@@ -11274,7 +11464,7 @@ ${input.slice(result.pos)}
11274
11464
  return result;
11275
11465
  }
11276
11466
  }
11277
- var EOL$0 = $TR($EXPECT($R52, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11467
+ var EOL$0 = $TR($EXPECT($R53, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11278
11468
  return { $loc, token: $0 };
11279
11469
  });
11280
11470
  function EOL(state) {
@@ -11295,7 +11485,7 @@ ${input.slice(result.pos)}
11295
11485
  return result;
11296
11486
  }
11297
11487
  }
11298
- var Debugger$0 = $TV($EXPECT($L13, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
11488
+ var Debugger$0 = $TV($EXPECT($L0, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
11299
11489
  debugger;
11300
11490
  });
11301
11491
  function Debugger(state) {
@@ -11316,7 +11506,7 @@ ${input.slice(result.pos)}
11316
11506
  return result;
11317
11507
  }
11318
11508
  }
11319
- var InsertOpenParen$0 = $TV($EXPECT($L13, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
11509
+ var InsertOpenParen$0 = $TV($EXPECT($L0, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
11320
11510
  return { $loc, token: "(" };
11321
11511
  });
11322
11512
  function InsertOpenParen(state) {
@@ -11337,7 +11527,7 @@ ${input.slice(result.pos)}
11337
11527
  return result;
11338
11528
  }
11339
11529
  }
11340
- var InsertCloseParen$0 = $TV($EXPECT($L13, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
11530
+ var InsertCloseParen$0 = $TV($EXPECT($L0, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
11341
11531
  return { $loc, token: ")" };
11342
11532
  });
11343
11533
  function InsertCloseParen(state) {
@@ -11358,7 +11548,7 @@ ${input.slice(result.pos)}
11358
11548
  return result;
11359
11549
  }
11360
11550
  }
11361
- var InsertOpenBrace$0 = $TV($EXPECT($L13, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
11551
+ var InsertOpenBrace$0 = $TV($EXPECT($L0, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
11362
11552
  return [{ $loc, token: " " }, { $loc, token: "{" }];
11363
11553
  });
11364
11554
  function InsertOpenBrace(state) {
@@ -11379,7 +11569,28 @@ ${input.slice(result.pos)}
11379
11569
  return result;
11380
11570
  }
11381
11571
  }
11382
- var InsertCloseBrace$0 = $TV($EXPECT($L13, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
11572
+ var InsertInlineOpenBrace$0 = $TV($EXPECT($L0, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
11573
+ return [{ $loc, token: "{" }];
11574
+ });
11575
+ function InsertInlineOpenBrace(state) {
11576
+ if (state.events) {
11577
+ const result = state.events.enter?.("InsertInlineOpenBrace", state);
11578
+ if (result)
11579
+ return result.cache;
11580
+ }
11581
+ if (state.tokenize) {
11582
+ const result = $TOKEN("InsertInlineOpenBrace", state, InsertInlineOpenBrace$0(state));
11583
+ if (state.events)
11584
+ state.events.exit?.("InsertInlineOpenBrace", state, result);
11585
+ return result;
11586
+ } else {
11587
+ const result = InsertInlineOpenBrace$0(state);
11588
+ if (state.events)
11589
+ state.events.exit?.("InsertInlineOpenBrace", state, result);
11590
+ return result;
11591
+ }
11592
+ }
11593
+ var InsertCloseBrace$0 = $TV($EXPECT($L0, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
11383
11594
  return { $loc, token: "}" };
11384
11595
  });
11385
11596
  function InsertCloseBrace(state) {
@@ -11400,7 +11611,7 @@ ${input.slice(result.pos)}
11400
11611
  return result;
11401
11612
  }
11402
11613
  }
11403
- var InsertConst$0 = $TV($EXPECT($L13, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
11614
+ var InsertConst$0 = $TV($EXPECT($L0, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
11404
11615
  return { $loc, token: "const " };
11405
11616
  });
11406
11617
  function InsertConst(state) {
@@ -11421,7 +11632,7 @@ ${input.slice(result.pos)}
11421
11632
  return result;
11422
11633
  }
11423
11634
  }
11424
- var InsertReadonly$0 = $TV($EXPECT($L13, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
11635
+ var InsertReadonly$0 = $TV($EXPECT($L0, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
11425
11636
  return { ts: true, children: [{ $loc, token: "readonly " }] };
11426
11637
  });
11427
11638
  function InsertReadonly(state) {
@@ -11442,7 +11653,7 @@ ${input.slice(result.pos)}
11442
11653
  return result;
11443
11654
  }
11444
11655
  }
11445
- var InsertNewline$0 = $TV($EXPECT($L13, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
11656
+ var InsertNewline$0 = $TV($EXPECT($L0, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
11446
11657
  return "\n";
11447
11658
  });
11448
11659
  function InsertNewline(state) {
@@ -11463,7 +11674,7 @@ ${input.slice(result.pos)}
11463
11674
  return result;
11464
11675
  }
11465
11676
  }
11466
- var InsertIndent$0 = $TV($EXPECT($L13, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
11677
+ var InsertIndent$0 = $TV($EXPECT($L0, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
11467
11678
  return module.currentIndent.token;
11468
11679
  });
11469
11680
  function InsertIndent(state) {
@@ -11484,7 +11695,7 @@ ${input.slice(result.pos)}
11484
11695
  return result;
11485
11696
  }
11486
11697
  }
11487
- var InsertSpace$0 = $TV($EXPECT($L13, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
11698
+ var InsertSpace$0 = $TV($EXPECT($L0, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
11488
11699
  return { $loc, token: " " };
11489
11700
  });
11490
11701
  function InsertSpace(state) {
@@ -11505,7 +11716,7 @@ ${input.slice(result.pos)}
11505
11716
  return result;
11506
11717
  }
11507
11718
  }
11508
- var InsertDot$0 = $TV($EXPECT($L13, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
11719
+ var InsertDot$0 = $TV($EXPECT($L0, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
11509
11720
  return { $loc, token: "." };
11510
11721
  });
11511
11722
  function InsertDot(state) {
@@ -11526,7 +11737,7 @@ ${input.slice(result.pos)}
11526
11737
  return result;
11527
11738
  }
11528
11739
  }
11529
- var InsertBreak$0 = $TV($EXPECT($L13, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
11740
+ var InsertBreak$0 = $TV($EXPECT($L0, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
11530
11741
  return { $loc, token: ";break;" };
11531
11742
  });
11532
11743
  function InsertBreak(state) {
@@ -11547,7 +11758,28 @@ ${input.slice(result.pos)}
11547
11758
  return result;
11548
11759
  }
11549
11760
  }
11550
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
11761
+ var InsertVar$0 = $TV($EXPECT($L0, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
11762
+ return { $loc, token: "var " };
11763
+ });
11764
+ function InsertVar(state) {
11765
+ if (state.events) {
11766
+ const result = state.events.enter?.("InsertVar", state);
11767
+ if (result)
11768
+ return result.cache;
11769
+ }
11770
+ if (state.tokenize) {
11771
+ const result = $TOKEN("InsertVar", state, InsertVar$0(state));
11772
+ if (state.events)
11773
+ state.events.exit?.("InsertVar", state, result);
11774
+ return result;
11775
+ } else {
11776
+ const result = InsertVar$0(state);
11777
+ if (state.events)
11778
+ state.events.exit?.("InsertVar", state, result);
11779
+ return result;
11780
+ }
11781
+ }
11782
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
11551
11783
  if (module.config.coffeeBinaryExistential)
11552
11784
  return;
11553
11785
  return $skip;
@@ -11570,7 +11802,7 @@ ${input.slice(result.pos)}
11570
11802
  return result;
11571
11803
  }
11572
11804
  }
11573
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
11805
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
11574
11806
  if (module.config.coffeeBooleans)
11575
11807
  return;
11576
11808
  return $skip;
@@ -11593,7 +11825,7 @@ ${input.slice(result.pos)}
11593
11825
  return result;
11594
11826
  }
11595
11827
  }
11596
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
11828
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
11597
11829
  if (module.config.coffeeClasses)
11598
11830
  return;
11599
11831
  return $skip;
@@ -11616,7 +11848,7 @@ ${input.slice(result.pos)}
11616
11848
  return result;
11617
11849
  }
11618
11850
  }
11619
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
11851
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
11620
11852
  if (module.config.coffeeComment)
11621
11853
  return;
11622
11854
  return $skip;
@@ -11639,7 +11871,7 @@ ${input.slice(result.pos)}
11639
11871
  return result;
11640
11872
  }
11641
11873
  }
11642
- var CoffeeDoEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11874
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11643
11875
  if (module.config.coffeeDo)
11644
11876
  return;
11645
11877
  return $skip;
@@ -11662,7 +11894,7 @@ ${input.slice(result.pos)}
11662
11894
  return result;
11663
11895
  }
11664
11896
  }
11665
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11897
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11666
11898
  if (module.config.coffeeForLoops)
11667
11899
  return;
11668
11900
  return $skip;
@@ -11685,7 +11917,7 @@ ${input.slice(result.pos)}
11685
11917
  return result;
11686
11918
  }
11687
11919
  }
11688
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11920
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11689
11921
  if (module.config.coffeeInterpolation)
11690
11922
  return;
11691
11923
  return $skip;
@@ -11708,7 +11940,7 @@ ${input.slice(result.pos)}
11708
11940
  return result;
11709
11941
  }
11710
11942
  }
11711
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11943
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11712
11944
  if (module.config.coffeeIsnt)
11713
11945
  return;
11714
11946
  return $skip;
@@ -11731,7 +11963,7 @@ ${input.slice(result.pos)}
11731
11963
  return result;
11732
11964
  }
11733
11965
  }
11734
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11966
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11735
11967
  if (module.config.coffeeLineContinuation)
11736
11968
  return;
11737
11969
  return $skip;
@@ -11754,7 +11986,7 @@ ${input.slice(result.pos)}
11754
11986
  return result;
11755
11987
  }
11756
11988
  }
11757
- var CoffeeNotEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11989
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11758
11990
  if (module.config.coffeeNot)
11759
11991
  return;
11760
11992
  return $skip;
@@ -11777,7 +12009,7 @@ ${input.slice(result.pos)}
11777
12009
  return result;
11778
12010
  }
11779
12011
  }
11780
- var CoffeeOfEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
12012
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
11781
12013
  if (module.config.coffeeOf)
11782
12014
  return;
11783
12015
  return $skip;
@@ -11800,7 +12032,7 @@ ${input.slice(result.pos)}
11800
12032
  return result;
11801
12033
  }
11802
12034
  }
11803
- var Reset$0 = $TV($EXPECT($L13, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
12035
+ var Reset$0 = $TV($EXPECT($L0, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11804
12036
  module.indentLevels = [{
11805
12037
  level: 0,
11806
12038
  token: ""
@@ -11843,7 +12075,8 @@ ${input.slice(result.pos)}
11843
12075
  return spliceRef;
11844
12076
  spliceRef = {
11845
12077
  type: "Ref",
11846
- base: "splice"
12078
+ base: "splice",
12079
+ id: "splice"
11847
12080
  };
11848
12081
  return spliceRef;
11849
12082
  };
@@ -11852,7 +12085,8 @@ ${input.slice(result.pos)}
11852
12085
  return indexOfRef;
11853
12086
  indexOfRef = {
11854
12087
  type: "Ref",
11855
- base: "indexOf"
12088
+ base: "indexOf",
12089
+ id: "indexOf"
11856
12090
  };
11857
12091
  const typeSuffix = {
11858
12092
  ts: true,
@@ -11866,7 +12100,8 @@ ${input.slice(result.pos)}
11866
12100
  return hasPropRef;
11867
12101
  hasPropRef = {
11868
12102
  type: "Ref",
11869
- base: "hasProp"
12103
+ base: "hasProp",
12104
+ id: "hasProp"
11870
12105
  };
11871
12106
  const typeSuffix = {
11872
12107
  ts: true,
@@ -11930,7 +12165,7 @@ ${input.slice(result.pos)}
11930
12165
  return result;
11931
12166
  }
11932
12167
  }
11933
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L13, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
12168
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L0, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
11934
12169
  var directives = $2;
11935
12170
  directives.forEach((directive) => {
11936
12171
  if (directive.type === "CivetPrologue") {
@@ -11977,7 +12212,8 @@ ${input.slice(result.pos)}
11977
12212
  function expressionizeIteration(exp) {
11978
12213
  const resultsRef = {
11979
12214
  type: "Ref",
11980
- base: "results"
12215
+ base: "results",
12216
+ id: "results"
11981
12217
  };
11982
12218
  insertPush(exp.block, resultsRef);
11983
12219
  exp.children = ["(", resultsRef, "=>{", ...exp.children, "; return ", resultsRef, "})([])"];
@@ -11985,7 +12221,8 @@ ${input.slice(result.pos)}
11985
12221
  function wrapIterationReturningResults(statement, outerRef) {
11986
12222
  const resultsRef = {
11987
12223
  type: "Ref",
11988
- base: "results"
12224
+ base: "results",
12225
+ id: "results"
11989
12226
  };
11990
12227
  const declaration = {
11991
12228
  type: "Declaration",
@@ -12070,7 +12307,8 @@ ${input.slice(result.pos)}
12070
12307
  return;
12071
12308
  case "TryStatement":
12072
12309
  insertPush(exp.children[1], ref);
12073
- insertPush(exp.children[2][3], ref);
12310
+ if (exp.children[2])
12311
+ insertPush(exp.children[2][2], ref);
12074
12312
  return;
12075
12313
  }
12076
12314
  node.splice(1, 0, ref, ".push(");
@@ -12145,7 +12383,8 @@ ${input.slice(result.pos)}
12145
12383
  return;
12146
12384
  case "TryStatement":
12147
12385
  insertReturn(exp.children[1]);
12148
- insertReturn(exp.children[2][3]);
12386
+ if (exp.children[2])
12387
+ insertReturn(exp.children[2][3]);
12149
12388
  return;
12150
12389
  }
12151
12390
  node.splice(1, 0, "return ");
@@ -12172,7 +12411,7 @@ ${input.slice(result.pos)}
12172
12411
  wsOp = module.insertTrimmingSpace(wsOp, "");
12173
12412
  wsB = module.insertTrimmingSpace(wsB, "");
12174
12413
  children = [wsOp, op2.ref, ".call(", wsB, b, ", ", a, ")", op2.suffix];
12175
- } else if (op2.token === "instanceof") {
12414
+ } else if (op2.token === "instanceof" || op2.token === "in") {
12176
12415
  children = ["!(", a, wsOp, op2, wsB, b, ")"];
12177
12416
  } else {
12178
12417
  throw new Error("Unknown operator: " + JSON.stringify(op2));
@@ -12409,7 +12648,7 @@ ${input.slice(result.pos)}
12409
12648
  const atBinding = binding.children[0];
12410
12649
  atBinding.children.pop();
12411
12650
  atBinding.type = void 0;
12412
- binding.children.unshift(ref.base, ": this.", ref.base);
12651
+ binding.children.unshift(ref.id, ": this.", ref.base);
12413
12652
  binding.type = "Property";
12414
12653
  binding.ref = void 0;
12415
12654
  return;
@@ -12663,8 +12902,8 @@ ${input.slice(result.pos)}
12663
12902
  function insertRestSplices(s, p, thisAssignments2) {
12664
12903
  gatherRecursiveAll(s, (n) => n.blockPrefix || n.type === "AtBinding").forEach((n) => {
12665
12904
  if (n.type === "AtBinding") {
12666
- const { ref } = n, { base: name } = ref;
12667
- thisAssignments2.push([`this.${name} = `, ref]);
12905
+ const { ref } = n, { id } = ref;
12906
+ thisAssignments2.push([`this.${id} = `, ref]);
12668
12907
  return;
12669
12908
  }
12670
12909
  const { blockPrefix } = n;
@@ -12821,7 +13060,7 @@ ${input.slice(result.pos)}
12821
13060
  return result;
12822
13061
  }
12823
13062
  }
12824
- var PopIndent$0 = $TV($EXPECT($L13, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
13063
+ var PopIndent$0 = $TV($EXPECT($L0, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
12825
13064
  if (module.verbose) {
12826
13065
  console.log("popping indent", module.indentLevels[module.indentLevels.length - 1], "->", module.indentLevels[module.indentLevels.length - 2]);
12827
13066
  }
@@ -13385,6 +13624,9 @@ ${"//#"} sourceMappingURL=data:application/json;base64,${base64Encode(JSON.strin
13385
13624
  case "NestedImplicitPropertyDefinitions":
13386
13625
  case "NestedBlockStatement":
13387
13626
  case "NestedInterfaceProperty":
13627
+ case "IndentedApplicationAllowed":
13628
+ case "ExpressionWithIndentedApplicationSuppressed":
13629
+ case "SuppressIndentedApplication":
13388
13630
  case "AssignmentExpressionTail":
13389
13631
  case "AssignmentExpression":
13390
13632
  case "ExtendedExpression":