@danielx/civet 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -408,9 +408,13 @@ var require_parser = __commonJS({
408
408
  TopLevelStatement,
409
409
  Expression,
410
410
  Arguments,
411
+ ArgumentsWithTrailingCallExpressions,
411
412
  ArgumentList,
412
413
  NestedArgumentList,
413
414
  NestedArgument,
415
+ ImplicitApplication,
416
+ ApplicationStart,
417
+ IndentedApplicationAllowed,
414
418
  CommaExpression,
415
419
  BinaryOpExpression,
416
420
  UnaryExpression,
@@ -444,8 +448,6 @@ var require_parser = __commonJS({
444
448
  CallExpressionRest,
445
449
  OptionalShorthand,
446
450
  NonNullAssertion,
447
- SpacedApplication,
448
- ApplicationStart,
449
451
  AdditionalReservedWords,
450
452
  MemberExpression,
451
453
  MemberExpressionRest,
@@ -459,8 +461,12 @@ var require_parser = __commonJS({
459
461
  BindingPattern,
460
462
  ObjectBindingPattern,
461
463
  ArrayBindingPattern,
464
+ NestedBindingProperties,
465
+ NestedBindingProperty,
462
466
  BindingProperty,
463
467
  BindingRestProperty,
468
+ NestedBindingElements,
469
+ NestedBindingElement,
464
470
  BindingElement,
465
471
  BindingRestElement,
466
472
  FunctionDeclaration,
@@ -489,6 +495,7 @@ var require_parser = __commonJS({
489
495
  ArrayElementExpression,
490
496
  Elision,
491
497
  ObjectLiteral,
498
+ NestedObjectLiteral,
492
499
  NestedPropertyDefinitions,
493
500
  NestedPropertyDefinition,
494
501
  ObjectPropertyDelimiter,
@@ -500,12 +507,6 @@ var require_parser = __commonJS({
500
507
  MethodSignature,
501
508
  ClassElementName,
502
509
  PrivateIdentifier,
503
- GeneratorMethod,
504
- GeneratorBody,
505
- AsyncMethod,
506
- AsyncFunctionBody,
507
- AsyncGeneratorMethod,
508
- AsyncGeneratorBody,
509
510
  AssignmentOp,
510
511
  AssignmentOpSymbol,
511
512
  BinaryOp,
@@ -526,7 +527,6 @@ var require_parser = __commonJS({
526
527
  ForStatement,
527
528
  ForInOfStatement,
528
529
  ForDeclaration,
529
- LetOrConst,
530
530
  ForBinding,
531
531
  SwitchStatement,
532
532
  CaseBlock,
@@ -540,6 +540,8 @@ var require_parser = __commonJS({
540
540
  Finally,
541
541
  CatchParameter,
542
542
  Condition,
543
+ ExpressionWithIndentedApplicationSuppressed,
544
+ SuppressIndentedApplication,
543
545
  ExpressionStatement,
544
546
  KeywordStatement,
545
547
  MaybeNestedExpression,
@@ -620,9 +622,11 @@ var require_parser = __commonJS({
620
622
  For,
621
623
  From,
622
624
  Function,
625
+ GetOrSet,
623
626
  If,
624
627
  Import,
625
628
  In,
629
+ LetOrConst,
626
630
  Loop,
627
631
  New,
628
632
  Of,
@@ -711,38 +715,41 @@ var require_parser = __commonJS({
711
715
  InsertBreak,
712
716
  Init,
713
717
  Indent,
718
+ TrackIndent,
719
+ RestoreIndent,
720
+ Samedent,
721
+ IndentedFurther,
714
722
  PushIndent,
715
723
  PopIndent,
716
- Nested,
717
- NestedFurther
718
- });
719
- var $L0 = $L("++");
720
- var $L1 = $L("--");
721
- var $L2 = $L("yield");
722
- var $L3 = $L("*");
723
- var $L4 = $L("=>");
724
- var $L5 = $L("<");
725
- var $L6 = $L("extends");
726
- var $L7 = $L("this");
727
- var $L8 = $L("#");
728
- var $L9 = $L("@");
729
- var $L10 = $L("super");
730
- var $L11 = $L("import");
731
- var $L12 = $L("!");
732
- var $L13 = $L("::");
733
- var $L14 = $L("super[");
734
- var $L15 = $L("import.meta");
735
- var $L16 = $L("");
736
- var $L17 = $L(")");
737
- var $L18 = $L("...");
738
- var $L19 = $L("->");
739
- var $L20 = $L("null");
740
- var $L21 = $L("true");
741
- var $L22 = $L("false");
742
- var $L23 = $L(",");
743
- var $L24 = $L("]");
744
- var $L25 = $L("get");
745
- var $L26 = $L("set");
724
+ Nested
725
+ });
726
+ var $L0 = $L("`");
727
+ var $L1 = $L("");
728
+ var $L2 = $L("++");
729
+ var $L3 = $L("--");
730
+ var $L4 = $L("yield");
731
+ var $L5 = $L("*");
732
+ var $L6 = $L("=>");
733
+ var $L7 = $L("<");
734
+ var $L8 = $L("extends");
735
+ var $L9 = $L("this");
736
+ var $L10 = $L("#");
737
+ var $L11 = $L("@");
738
+ var $L12 = $L("super");
739
+ var $L13 = $L("import");
740
+ var $L14 = $L("!");
741
+ var $L15 = $L("::");
742
+ var $L16 = $L("super[");
743
+ var $L17 = $L("import.meta");
744
+ var $L18 = $L(")");
745
+ var $L19 = $L("...");
746
+ var $L20 = $L("->");
747
+ var $L21 = $L("null");
748
+ var $L22 = $L("true");
749
+ var $L23 = $L("false");
750
+ var $L24 = $L(",");
751
+ var $L25 = $L("]");
752
+ var $L26 = $L("}");
746
753
  var $L27 = $L("**=");
747
754
  var $L28 = $L("*=");
748
755
  var $L29 = $L("/=");
@@ -793,38 +800,38 @@ var require_parser = __commonJS({
793
800
  var $L74 = $L("do");
794
801
  var $L75 = $L("while");
795
802
  var $L76 = $L("until");
796
- var $L77 = $L("let");
797
- var $L78 = $L("const");
798
- var $L79 = $L("case");
799
- var $L80 = $L("default");
800
- var $L81 = $L("finally");
801
- var $L82 = $L("break");
802
- var $L83 = $L("continue");
803
- var $L84 = $L("debugger");
804
- var $L85 = $L("throw");
805
- var $L86 = $L("import type");
806
- var $L87 = $L(":=");
807
- var $L88 = $L('"');
808
- var $L89 = $L("'");
809
- var $L90 = $L("`");
810
- var $L91 = $L("${");
811
- var $L92 = $L("/*");
812
- var $L93 = $L("*/");
813
- var $L94 = $L("###");
814
- var $L95 = $L("as");
815
- var $L96 = $L("async");
816
- var $L97 = $L("await");
817
- var $L98 = $L("catch");
818
- var $L99 = $L("class");
819
- var $L100 = $L("}");
820
- var $L101 = $L(":");
821
- var $L102 = $L(".");
822
- var $L103 = $L("else");
823
- var $L104 = $L("export");
824
- var $L105 = $L("for");
825
- var $L106 = $L("from");
826
- var $L107 = $L("function");
827
- var $L108 = $L("if");
803
+ var $L77 = $L("case");
804
+ var $L78 = $L("default");
805
+ var $L79 = $L("finally");
806
+ var $L80 = $L("break");
807
+ var $L81 = $L("continue");
808
+ var $L82 = $L("debugger");
809
+ var $L83 = $L("throw");
810
+ var $L84 = $L("import type");
811
+ var $L85 = $L(":=");
812
+ var $L86 = $L('"');
813
+ var $L87 = $L("'");
814
+ var $L88 = $L("${");
815
+ var $L89 = $L("/*");
816
+ var $L90 = $L("*/");
817
+ var $L91 = $L("###");
818
+ var $L92 = $L("as");
819
+ var $L93 = $L("async");
820
+ var $L94 = $L("await");
821
+ var $L95 = $L("catch");
822
+ var $L96 = $L("class");
823
+ var $L97 = $L(":");
824
+ var $L98 = $L(".");
825
+ var $L99 = $L("else");
826
+ var $L100 = $L("export");
827
+ var $L101 = $L("for");
828
+ var $L102 = $L("from");
829
+ var $L103 = $L("function");
830
+ var $L104 = $L("get");
831
+ var $L105 = $L("set");
832
+ var $L106 = $L("if");
833
+ var $L107 = $L("let");
834
+ var $L108 = $L("const");
828
835
  var $L109 = $L("loop");
829
836
  var $L110 = $L("new");
830
837
  var $L111 = $L("of");
@@ -925,17 +932,30 @@ var require_parser = __commonJS({
925
932
  }
926
933
  }
927
934
  var Arguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
935
+ var Arguments$1 = ImplicitApplication;
928
936
  function Arguments(state) {
937
+ if (state.tokenize) {
938
+ return $TOKEN("Arguments", state, Arguments$0(state) || Arguments$1(state));
939
+ } else {
940
+ return Arguments$0(state) || Arguments$1(state);
941
+ }
942
+ }
943
+ var ArgumentsWithTrailingCallExpressions$0 = $TS($S(TrackIndent, $C($S(Arguments, $Q($S($Y(EOS), Samedent, $N($EXPECT($L0, fail, 'ArgumentsWithTrailingCallExpressions "`"')), CallExpressionRest)), RestoreIndent), RestoreIndent)), function($skip, $loc, $0, $1, $2) {
944
+ if (!$2)
945
+ return $skip;
946
+ return $2;
947
+ });
948
+ function ArgumentsWithTrailingCallExpressions(state) {
929
949
  if (state.verbose)
930
- console.log("ENTER:", "Arguments");
950
+ console.log("ENTER:", "ArgumentsWithTrailingCallExpressions");
931
951
  if (state.tokenize) {
932
- return $TOKEN("Arguments", state, Arguments$0(state));
952
+ return $TOKEN("ArgumentsWithTrailingCallExpressions", state, ArgumentsWithTrailingCallExpressions$0(state));
933
953
  } else {
934
- return Arguments$0(state);
954
+ return ArgumentsWithTrailingCallExpressions$0(state);
935
955
  }
936
956
  }
937
957
  var ArgumentList$0 = $S($Y(EOS), NestedArgumentList);
938
- var ArgumentList$1 = $S(__, Expression, $Q(CommaExpression));
958
+ var ArgumentList$1 = $S(Expression, $Q(CommaExpression));
939
959
  function ArgumentList(state) {
940
960
  if (state.tokenize) {
941
961
  return $TOKEN("ArgumentList", state, ArgumentList$0(state) || ArgumentList$1(state));
@@ -968,7 +988,44 @@ var require_parser = __commonJS({
968
988
  return NestedArgument$0(state);
969
989
  }
970
990
  }
971
- var CommaExpression$0 = $S(__, Comma, __, Expression);
991
+ var ImplicitApplication$0 = $S(ApplicationStart, ArgumentList, InsertCloseParen);
992
+ function ImplicitApplication(state) {
993
+ if (state.verbose)
994
+ console.log("ENTER:", "ImplicitApplication");
995
+ if (state.tokenize) {
996
+ return $TOKEN("ImplicitApplication", state, ImplicitApplication$0(state));
997
+ } else {
998
+ return ImplicitApplication$0(state);
999
+ }
1000
+ }
1001
+ var ApplicationStart$0 = $TS($S($N(EOS), _, $N(AdditionalReservedWords)), function($skip, $loc, $0, $1, $2, $3) {
1002
+ var spacing = $2;
1003
+ spacing[0].token = spacing[0].token.replace(/^ ?/, "(");
1004
+ return spacing;
1005
+ });
1006
+ var ApplicationStart$1 = $S(IndentedApplicationAllowed, $Y(NestedObjectLiteral), InsertOpenParen);
1007
+ function ApplicationStart(state) {
1008
+ if (state.tokenize) {
1009
+ return $TOKEN("ApplicationStart", state, ApplicationStart$0(state) || ApplicationStart$1(state));
1010
+ } else {
1011
+ return ApplicationStart$0(state) || ApplicationStart$1(state);
1012
+ }
1013
+ }
1014
+ var IndentedApplicationAllowed$0 = $TV($EXPECT($L1, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
1015
+ if (module2.suppressIndentedApplication)
1016
+ return $skip;
1017
+ return;
1018
+ });
1019
+ function IndentedApplicationAllowed(state) {
1020
+ if (state.verbose)
1021
+ console.log("ENTER:", "IndentedApplicationAllowed");
1022
+ if (state.tokenize) {
1023
+ return $TOKEN("IndentedApplicationAllowed", state, IndentedApplicationAllowed$0(state));
1024
+ } else {
1025
+ return IndentedApplicationAllowed$0(state);
1026
+ }
1027
+ }
1028
+ var CommaExpression$0 = $S(__, Comma, Expression);
972
1029
  function CommaExpression(state) {
973
1030
  if (state.verbose)
974
1031
  console.log("ENTER:", "CommaExpression");
@@ -1026,7 +1083,7 @@ var require_parser = __commonJS({
1026
1083
  return UpdateExpression$0(state) || UpdateExpression$1(state);
1027
1084
  }
1028
1085
  }
1029
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L0, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L1, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1086
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L2, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L3, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1030
1087
  return { $loc, token: $1 };
1031
1088
  });
1032
1089
  function UpdateExpressionSymbol(state) {
@@ -1069,7 +1126,7 @@ var require_parser = __commonJS({
1069
1126
  return AwaitExpression$0(state);
1070
1127
  }
1071
1128
  }
1072
- var YieldExpression$0 = $S($EXPECT($L2, fail, 'YieldExpression "yield"'), NonIdContinue, $E($S($Q(TrailingComment), $EXPECT($L3, fail, 'YieldExpression "*"'))), AssignmentExpression);
1129
+ var YieldExpression$0 = $S($EXPECT($L4, fail, 'YieldExpression "yield"'), NonIdContinue, $E($S($Q(TrailingComment), $EXPECT($L5, fail, 'YieldExpression "*"'))), AssignmentExpression);
1073
1130
  function YieldExpression(state) {
1074
1131
  if (state.verbose)
1075
1132
  console.log("ENTER:", "YieldExpression");
@@ -1088,7 +1145,7 @@ var require_parser = __commonJS({
1088
1145
  return ArrowFunction$0(state) || ArrowFunction$1(state);
1089
1146
  }
1090
1147
  }
1091
- var FatArrow$0 = $TS($S(__, $EXPECT($L4, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1148
+ var FatArrow$0 = $TS($S(__, $EXPECT($L6, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1092
1149
  var ws = $1;
1093
1150
  if (!ws.length)
1094
1151
  return " =>";
@@ -1104,15 +1161,7 @@ var require_parser = __commonJS({
1104
1161
  }
1105
1162
  }
1106
1163
  var FatArrowBody$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1107
- var FatArrowBody$1 = $TS($S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1108
- var eos = $2;
1109
- var exps = $3;
1110
- if (exps.length == 1) {
1111
- exps[0].pop();
1112
- return [eos, exps];
1113
- }
1114
- return $0;
1115
- });
1164
+ var FatArrowBody$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1116
1165
  var FatArrowBody$2 = AssignmentExpression;
1117
1166
  var FatArrowBody$3 = $S(__, AssignmentExpression);
1118
1167
  var FatArrowBody$4 = $S(InsertOpenBrace, InsertCloseBrace);
@@ -1152,7 +1201,7 @@ var require_parser = __commonJS({
1152
1201
  var PrimaryExpression$6 = ClassExpression;
1153
1202
  var PrimaryExpression$7 = RegularExpressionLiteral;
1154
1203
  var PrimaryExpression$8 = TemplateLiteral;
1155
- var PrimaryExpression$9 = $S(OpenParen, __, Expression, __, CloseParen);
1204
+ var PrimaryExpression$9 = $S(OpenParen, Expression, __, CloseParen);
1156
1205
  var PrimaryExpression$10 = JSXElement;
1157
1206
  var PrimaryExpression$11 = JSXFragment;
1158
1207
  function PrimaryExpression(state) {
@@ -1172,7 +1221,7 @@ var require_parser = __commonJS({
1172
1221
  return ClassDeclaration$0(state);
1173
1222
  }
1174
1223
  }
1175
- var ClassExpression$0 = $S(Class, $E($S(__, BindingIdentifier)), $E($S(__, ClassHeritage)), ClassBody);
1224
+ var ClassExpression$0 = $S(Class, $E(BindingIdentifier), $E($S(__, ClassHeritage)), ClassBody);
1176
1225
  function ClassExpression(state) {
1177
1226
  if (state.verbose)
1178
1227
  console.log("ENTER:", "ClassExpression");
@@ -1192,10 +1241,10 @@ var require_parser = __commonJS({
1192
1241
  return ClassHeritage$0(state);
1193
1242
  }
1194
1243
  }
1195
- var ExtendsToken$0 = $TV($EXPECT($L5, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1244
+ var ExtendsToken$0 = $TV($EXPECT($L7, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1196
1245
  return { $loc, token: "extends" };
1197
1246
  });
1198
- var ExtendsToken$1 = $TV($EXPECT($L6, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1247
+ var ExtendsToken$1 = $TV($EXPECT($L8, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1199
1248
  return { $loc, token: $1 };
1200
1249
  });
1201
1250
  function ExtendsToken(state) {
@@ -1265,11 +1314,11 @@ var require_parser = __commonJS({
1265
1314
  return FieldDefinition$0(state) || FieldDefinition$1(state);
1266
1315
  }
1267
1316
  }
1268
- var This$0 = $TV($EXPECT($L7, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1317
+ var This$0 = $TV($EXPECT($L9, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1269
1318
  return { $loc, token: $1 };
1270
1319
  });
1271
- var This$1 = $S(AtAccessor, $S($E($EXPECT($L8, fail, 'This "#"')), IdentifierName));
1272
- var This$2 = $TV($EXPECT($L9, fail, 'This "@"'), function($skip, $loc, $0, $1) {
1320
+ var This$1 = $S(AtAccessor, $S($E($EXPECT($L10, fail, 'This "#"')), IdentifierName));
1321
+ var This$2 = $TV($EXPECT($L11, fail, 'This "@"'), function($skip, $loc, $0, $1) {
1273
1322
  return { $loc, token: "this" };
1274
1323
  });
1275
1324
  function This(state) {
@@ -1279,7 +1328,7 @@ var require_parser = __commonJS({
1279
1328
  return This$0(state) || This$1(state) || This$2(state);
1280
1329
  }
1281
1330
  }
1282
- var AtAccessor$0 = $TV($EXPECT($L9, fail, 'AtAccessor "@"'), function($skip, $loc, $0, $1) {
1331
+ var AtAccessor$0 = $TV($EXPECT($L11, fail, 'AtAccessor "@"'), function($skip, $loc, $0, $1) {
1283
1332
  return { $loc, token: "this." };
1284
1333
  });
1285
1334
  function AtAccessor(state) {
@@ -1310,8 +1359,8 @@ var require_parser = __commonJS({
1310
1359
  return NewExpression$0(state);
1311
1360
  }
1312
1361
  }
1313
- var CallExpression$0 = $S($EXPECT($L10, fail, 'CallExpression "super"'), __, Arguments);
1314
- var CallExpression$1 = $S($EXPECT($L11, fail, 'CallExpression "import"'), __, OpenParen, AssignmentExpression, __, CloseParen);
1362
+ var CallExpression$0 = $S($EXPECT($L12, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
1363
+ var CallExpression$1 = $S($EXPECT($L13, fail, 'CallExpression "import"'), __, OpenParen, AssignmentExpression, __, CloseParen);
1315
1364
  var CallExpression$2 = $S(MemberExpression, $Q(CallExpressionRest));
1316
1365
  function CallExpression(state) {
1317
1366
  if (state.tokenize) {
@@ -1320,15 +1369,14 @@ var require_parser = __commonJS({
1320
1369
  return CallExpression$0(state) || CallExpression$1(state) || CallExpression$2(state);
1321
1370
  }
1322
1371
  }
1323
- var CallExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), Arguments);
1324
- var CallExpressionRest$1 = MemberExpressionRest;
1325
- var CallExpressionRest$2 = SpacedApplication;
1326
- var CallExpressionRest$3 = TemplateLiteral;
1372
+ var CallExpressionRest$0 = MemberExpressionRest;
1373
+ var CallExpressionRest$1 = TemplateLiteral;
1374
+ var CallExpressionRest$2 = $S($E($C(OptionalShorthand, NonNullAssertion)), ArgumentsWithTrailingCallExpressions);
1327
1375
  function CallExpressionRest(state) {
1328
1376
  if (state.tokenize) {
1329
- return $TOKEN("CallExpressionRest", state, CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state) || CallExpressionRest$3(state));
1377
+ return $TOKEN("CallExpressionRest", state, CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state));
1330
1378
  } else {
1331
- return CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state) || CallExpressionRest$3(state);
1379
+ return CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state);
1332
1380
  }
1333
1381
  }
1334
1382
  var OptionalShorthand$0 = $S(QuestionMark, $C(Dot, InsertDot));
@@ -1341,7 +1389,7 @@ var require_parser = __commonJS({
1341
1389
  return OptionalShorthand$0(state);
1342
1390
  }
1343
1391
  }
1344
- var NonNullAssertion$0 = $T($EXPECT($L12, fail, 'NonNullAssertion "!"'), function(value) {
1392
+ var NonNullAssertion$0 = $T($EXPECT($L14, fail, 'NonNullAssertion "!"'), function(value) {
1345
1393
  return { "ts": true, "children": value };
1346
1394
  });
1347
1395
  function NonNullAssertion(state) {
@@ -1353,31 +1401,6 @@ var require_parser = __commonJS({
1353
1401
  return NonNullAssertion$0(state);
1354
1402
  }
1355
1403
  }
1356
- var SpacedApplication$0 = $S(ApplicationStart, ArgumentList, InsertCloseParen, $Q($S($Y(EOS), Nested, CallExpressionRest)));
1357
- function SpacedApplication(state) {
1358
- if (state.verbose)
1359
- console.log("ENTER:", "SpacedApplication");
1360
- if (state.tokenize) {
1361
- return $TOKEN("SpacedApplication", state, SpacedApplication$0(state));
1362
- } else {
1363
- return SpacedApplication$0(state);
1364
- }
1365
- }
1366
- var ApplicationStart$0 = $TS($S($E(OptionalShorthand), $N(EOS), _, $N(AdditionalReservedWords)), function($skip, $loc, $0, $1, $2, $3, $4) {
1367
- var opt = $1;
1368
- var spacing = $3;
1369
- spacing[0].token = spacing[0].token.replace(/^ ?/, "(");
1370
- return [opt, spacing];
1371
- });
1372
- function ApplicationStart(state) {
1373
- if (state.verbose)
1374
- console.log("ENTER:", "ApplicationStart");
1375
- if (state.tokenize) {
1376
- return $TOKEN("ApplicationStart", state, ApplicationStart$0(state));
1377
- } else {
1378
- return ApplicationStart$0(state);
1379
- }
1380
- }
1381
1404
  var AdditionalReservedWords$0 = $R$0($EXPECT($R0, fail, "AdditionalReservedWords /(of)(?!\\p{ID_Continue})/"));
1382
1405
  function AdditionalReservedWords(state) {
1383
1406
  if (state.verbose)
@@ -1398,10 +1421,10 @@ var require_parser = __commonJS({
1398
1421
  return MemberExpression$0(state) || MemberExpression$1(state) || MemberExpression$2(state);
1399
1422
  }
1400
1423
  }
1401
- var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), OpenBracket, __, Expression, __, CloseBracket);
1402
- var MemberExpressionRest$1 = $S($E($S(EOS, NestedFurther)), PropertyAccess);
1403
- var MemberExpressionRest$2 = $TS($S($EXPECT($L13, fail, 'MemberExpressionRest "::"'), $E(IdentifierName)), function($skip, $loc, $0, $1, $2) {
1404
- var id = $2;
1424
+ var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), OpenBracket, Expression, __, CloseBracket);
1425
+ var MemberExpressionRest$1 = $S($E($S($Y(EOS), IndentedFurther)), PropertyAccess);
1426
+ var MemberExpressionRest$2 = $TS($S($E($S($Y(EOS), IndentedFurther)), $EXPECT($L15, fail, 'MemberExpressionRest "::"'), $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
1427
+ var id = $3;
1405
1428
  if (id)
1406
1429
  return [".prototype.", id];
1407
1430
  return ".prototype";
@@ -1424,7 +1447,7 @@ var require_parser = __commonJS({
1424
1447
  return PropertyAccess$0(state);
1425
1448
  }
1426
1449
  }
1427
- var SuperProperty$0 = $S($EXPECT($L14, fail, 'SuperProperty "super["'), __, Expression, __, CloseBracket);
1450
+ var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super["'), Expression, __, CloseBracket);
1428
1451
  function SuperProperty(state) {
1429
1452
  if (state.verbose)
1430
1453
  console.log("ENTER:", "SuperProperty");
@@ -1435,7 +1458,7 @@ var require_parser = __commonJS({
1435
1458
  }
1436
1459
  }
1437
1460
  var MetaProperty$0 = $S(New, Dot, Target);
1438
- var MetaProperty$1 = $TV($EXPECT($L15, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
1461
+ var MetaProperty$1 = $TV($EXPECT($L17, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
1439
1462
  return { $loc, token: $1 };
1440
1463
  });
1441
1464
  function MetaProperty(state) {
@@ -1446,7 +1469,7 @@ var require_parser = __commonJS({
1446
1469
  }
1447
1470
  }
1448
1471
  var Parameters$0 = $S($E(TypeParameters), OpenParen, $Q(ParameterElement), __, CloseParen);
1449
- var Parameters$1 = $TV($EXPECT($L16, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
1472
+ var Parameters$1 = $TV($EXPECT($L1, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
1450
1473
  return { $loc, token: "()" };
1451
1474
  });
1452
1475
  function Parameters(state) {
@@ -1467,8 +1490,8 @@ var require_parser = __commonJS({
1467
1490
  }
1468
1491
  }
1469
1492
  var ParameterElementDelimiter$0 = $S($Q(_), Comma);
1470
- var ParameterElementDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'ParameterElementDelimiter ")"')));
1471
- var ParameterElementDelimiter$2 = $TV($Y($S(__, $EXPECT($L17, fail, 'ParameterElementDelimiter ")"'))), function($skip, $loc, $0, $1) {
1493
+ var ParameterElementDelimiter$1 = $Y($S($Q(_), $EXPECT($L18, fail, 'ParameterElementDelimiter ")"')));
1494
+ var ParameterElementDelimiter$2 = $TV($Y($S(__, $EXPECT($L18, fail, 'ParameterElementDelimiter ")"'))), function($skip, $loc, $0, $1) {
1472
1495
  return { $loc, token: "," };
1473
1496
  });
1474
1497
  var ParameterElementDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
@@ -1481,7 +1504,7 @@ var require_parser = __commonJS({
1481
1504
  return ParameterElementDelimiter$0(state) || ParameterElementDelimiter$1(state) || ParameterElementDelimiter$2(state) || ParameterElementDelimiter$3(state);
1482
1505
  }
1483
1506
  }
1484
- var BindingIdentifier$0 = Identifier;
1507
+ var BindingIdentifier$0 = $S(__, Identifier);
1485
1508
  function BindingIdentifier(state) {
1486
1509
  if (state.verbose)
1487
1510
  console.log("ENTER:", "BindingIdentifier");
@@ -1491,8 +1514,8 @@ var require_parser = __commonJS({
1491
1514
  return BindingIdentifier$0(state);
1492
1515
  }
1493
1516
  }
1494
- var BindingPattern$0 = ObjectBindingPattern;
1495
- var BindingPattern$1 = ArrayBindingPattern;
1517
+ var BindingPattern$0 = $S(__, ObjectBindingPattern);
1518
+ var BindingPattern$1 = $S(__, ArrayBindingPattern);
1496
1519
  function BindingPattern(state) {
1497
1520
  if (state.tokenize) {
1498
1521
  return $TOKEN("BindingPattern", state, BindingPattern$0(state) || BindingPattern$1(state));
@@ -1500,28 +1523,54 @@ var require_parser = __commonJS({
1500
1523
  return BindingPattern$0(state) || BindingPattern$1(state);
1501
1524
  }
1502
1525
  }
1503
- var ObjectBindingPattern$0 = $S(OpenBrace, $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, CloseBrace);
1526
+ var ObjectBindingPattern$0 = $S(OpenBrace, $Y(EOS), NestedBindingProperties, __, CloseBrace);
1527
+ var ObjectBindingPattern$1 = $S(OpenBrace, $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, CloseBrace);
1504
1528
  function ObjectBindingPattern(state) {
1505
- if (state.verbose)
1506
- console.log("ENTER:", "ObjectBindingPattern");
1507
1529
  if (state.tokenize) {
1508
- return $TOKEN("ObjectBindingPattern", state, ObjectBindingPattern$0(state));
1530
+ return $TOKEN("ObjectBindingPattern", state, ObjectBindingPattern$0(state) || ObjectBindingPattern$1(state));
1509
1531
  } else {
1510
- return ObjectBindingPattern$0(state);
1532
+ return ObjectBindingPattern$0(state) || ObjectBindingPattern$1(state);
1511
1533
  }
1512
1534
  }
1513
- var ArrayBindingPattern$0 = $S(OpenBracket, $Q($C(BindingElement, Elision)), $E($S(__, BindingRestElement)), __, CloseBracket);
1535
+ var ArrayBindingPattern$0 = $S(OpenBracket, $Y(EOS), NestedBindingElements, __, CloseBracket);
1536
+ var ArrayBindingPattern$1 = $S(OpenBracket, $Q($C(BindingElement, Elision)), $E($S(__, BindingRestElement)), __, CloseBracket);
1514
1537
  function ArrayBindingPattern(state) {
1538
+ if (state.tokenize) {
1539
+ return $TOKEN("ArrayBindingPattern", state, ArrayBindingPattern$0(state) || ArrayBindingPattern$1(state));
1540
+ } else {
1541
+ return ArrayBindingPattern$0(state) || ArrayBindingPattern$1(state);
1542
+ }
1543
+ }
1544
+ var NestedBindingProperties$0 = $TS($S(PushIndent, $Q(NestedBindingProperty), $E($S(Nested, BindingRestProperty)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
1545
+ var props = $2;
1546
+ var rest = $3;
1547
+ if (!props.length)
1548
+ return $skip;
1549
+ if (rest)
1550
+ props.push(rest);
1551
+ return props;
1552
+ });
1553
+ function NestedBindingProperties(state) {
1554
+ if (state.verbose)
1555
+ console.log("ENTER:", "NestedBindingProperties");
1556
+ if (state.tokenize) {
1557
+ return $TOKEN("NestedBindingProperties", state, NestedBindingProperties$0(state));
1558
+ } else {
1559
+ return NestedBindingProperties$0(state);
1560
+ }
1561
+ }
1562
+ var NestedBindingProperty$0 = $S(Nested, BindingProperty);
1563
+ function NestedBindingProperty(state) {
1515
1564
  if (state.verbose)
1516
- console.log("ENTER:", "ArrayBindingPattern");
1565
+ console.log("ENTER:", "NestedBindingProperty");
1517
1566
  if (state.tokenize) {
1518
- return $TOKEN("ArrayBindingPattern", state, ArrayBindingPattern$0(state));
1567
+ return $TOKEN("NestedBindingProperty", state, NestedBindingProperty$0(state));
1519
1568
  } else {
1520
- return ArrayBindingPattern$0(state);
1569
+ return NestedBindingProperty$0(state);
1521
1570
  }
1522
1571
  }
1523
- var BindingProperty$0 = $S(__, PropertyName, __, Colon, __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1524
- var BindingProperty$1 = $S(__, BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1572
+ var BindingProperty$0 = $S(__, PropertyName, __, Colon, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1573
+ var BindingProperty$1 = $S(BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1525
1574
  function BindingProperty(state) {
1526
1575
  if (state.tokenize) {
1527
1576
  return $TOKEN("BindingProperty", state, BindingProperty$0(state) || BindingProperty$1(state));
@@ -1529,7 +1578,7 @@ var require_parser = __commonJS({
1529
1578
  return BindingProperty$0(state) || BindingProperty$1(state);
1530
1579
  }
1531
1580
  }
1532
- var BindingRestProperty$0 = $S($EXPECT($L18, fail, 'BindingRestProperty "..."'), __, BindingIdentifier);
1581
+ var BindingRestProperty$0 = $S($EXPECT($L19, fail, 'BindingRestProperty "..."'), BindingIdentifier);
1533
1582
  function BindingRestProperty(state) {
1534
1583
  if (state.verbose)
1535
1584
  console.log("ENTER:", "BindingRestProperty");
@@ -1539,6 +1588,34 @@ var require_parser = __commonJS({
1539
1588
  return BindingRestProperty$0(state);
1540
1589
  }
1541
1590
  }
1591
+ var NestedBindingElements$0 = $TS($S(PushIndent, $Q(NestedBindingElement), $E($S(Nested, BindingRestElement)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
1592
+ var props = $2;
1593
+ var rest = $3;
1594
+ if (!props.length)
1595
+ return $skip;
1596
+ if (rest)
1597
+ props.push(rest);
1598
+ return props;
1599
+ });
1600
+ function NestedBindingElements(state) {
1601
+ if (state.verbose)
1602
+ console.log("ENTER:", "NestedBindingElements");
1603
+ if (state.tokenize) {
1604
+ return $TOKEN("NestedBindingElements", state, NestedBindingElements$0(state));
1605
+ } else {
1606
+ return NestedBindingElements$0(state);
1607
+ }
1608
+ }
1609
+ var NestedBindingElement$0 = $S(Nested, BindingElement);
1610
+ function NestedBindingElement(state) {
1611
+ if (state.verbose)
1612
+ console.log("ENTER:", "NestedBindingElement");
1613
+ if (state.tokenize) {
1614
+ return $TOKEN("NestedBindingElement", state, NestedBindingElement$0(state));
1615
+ } else {
1616
+ return NestedBindingElement$0(state);
1617
+ }
1618
+ }
1542
1619
  var BindingElement$0 = $S(__, $C(BindingIdentifier, BindingPattern), $E(Initializer), ArrayElementDelimiter);
1543
1620
  function BindingElement(state) {
1544
1621
  if (state.verbose)
@@ -1549,7 +1626,7 @@ var require_parser = __commonJS({
1549
1626
  return BindingElement$0(state);
1550
1627
  }
1551
1628
  }
1552
- var BindingRestElement$0 = $S($EXPECT($L18, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1629
+ var BindingRestElement$0 = $S($EXPECT($L19, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1553
1630
  function BindingRestElement(state) {
1554
1631
  if (state.verbose)
1555
1632
  console.log("ENTER:", "BindingRestElement");
@@ -1570,7 +1647,7 @@ var require_parser = __commonJS({
1570
1647
  }
1571
1648
  }
1572
1649
  var FunctionExpression$0 = ThinArrowFunction;
1573
- var FunctionExpression$1 = $S($E($S(Async, __)), Function, $E($S($EXPECT($L3, fail, 'FunctionExpression "*"'), __)), $E($S(__, BindingIdentifier)), __, Parameters, $E(ReturnTypeSuffix), BracedBlock);
1650
+ var FunctionExpression$1 = $S($E($S(Async, __)), Function, $E($S($EXPECT($L5, fail, 'FunctionExpression "*"'), __)), $E(BindingIdentifier), __, Parameters, $E(ReturnTypeSuffix), BracedBlock);
1574
1651
  function FunctionExpression(state) {
1575
1652
  if (state.tokenize) {
1576
1653
  return $TOKEN("FunctionExpression", state, FunctionExpression$0(state) || FunctionExpression$1(state));
@@ -1599,7 +1676,7 @@ var require_parser = __commonJS({
1599
1676
  return ThinArrowFunction$0(state);
1600
1677
  }
1601
1678
  }
1602
- var Arrow$0 = $TV($EXPECT($L19, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
1679
+ var Arrow$0 = $TV($EXPECT($L20, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
1603
1680
  return { $loc, token: $1 };
1604
1681
  });
1605
1682
  function Arrow(state) {
@@ -1692,7 +1769,7 @@ var require_parser = __commonJS({
1692
1769
  return Literal$0(state) || Literal$1(state) || Literal$2(state) || Literal$3(state);
1693
1770
  }
1694
1771
  }
1695
- var NullLiteral$0 = $TV($EXPECT($L20, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
1772
+ var NullLiteral$0 = $TV($EXPECT($L21, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
1696
1773
  return { $loc, token: $1 };
1697
1774
  });
1698
1775
  function NullLiteral(state) {
@@ -1704,7 +1781,7 @@ var require_parser = __commonJS({
1704
1781
  return NullLiteral$0(state);
1705
1782
  }
1706
1783
  }
1707
- var BooleanLiteral$0 = $TV($C($EXPECT($L21, fail, 'BooleanLiteral "true"'), $EXPECT($L22, fail, 'BooleanLiteral "false"')), function($skip, $loc, $0, $1) {
1784
+ var BooleanLiteral$0 = $TV($C($EXPECT($L22, fail, 'BooleanLiteral "true"'), $EXPECT($L23, fail, 'BooleanLiteral "false"')), function($skip, $loc, $0, $1) {
1708
1785
  return { $loc, token: $1 };
1709
1786
  });
1710
1787
  function BooleanLiteral(state) {
@@ -1716,7 +1793,7 @@ var require_parser = __commonJS({
1716
1793
  return BooleanLiteral$0(state);
1717
1794
  }
1718
1795
  }
1719
- var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
1796
+ var Comma$0 = $TV($EXPECT($L24, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
1720
1797
  return { $loc, token: $1 };
1721
1798
  });
1722
1799
  function Comma(state) {
@@ -1798,7 +1875,7 @@ var require_parser = __commonJS({
1798
1875
  }
1799
1876
  }
1800
1877
  var ArrayElementDelimiter$0 = $S($Q(_), Comma);
1801
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L24, fail, 'ArrayElementDelimiter "]"')));
1878
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L25, fail, 'ArrayElementDelimiter "]"')));
1802
1879
  var ArrayElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1803
1880
  return { $loc, token: "," };
1804
1881
  });
@@ -1829,7 +1906,7 @@ var require_parser = __commonJS({
1829
1906
  return InlineElementList$0(state);
1830
1907
  }
1831
1908
  }
1832
- var ArrayElementExpression$0 = $E($S($E($S($EXPECT($L18, fail, 'ArrayElementExpression "..."'), __)), AssignmentExpression));
1909
+ var ArrayElementExpression$0 = $E($S($E($S($EXPECT($L19, fail, 'ArrayElementExpression "..."'), __)), AssignmentExpression));
1833
1910
  function ArrayElementExpression(state) {
1834
1911
  if (state.verbose)
1835
1912
  console.log("ENTER:", "ArrayElementExpression");
@@ -1852,7 +1929,7 @@ var require_parser = __commonJS({
1852
1929
  var ObjectLiteral$0 = $S(OpenBrace, $Y(EOS), NestedPropertyDefinitions, __, CloseBrace);
1853
1930
  var ObjectLiteral$1 = $S(OpenBrace, __, PropertyDefinitionList, __, $E($S(Comma, __)), CloseBrace);
1854
1931
  var ObjectLiteral$2 = $S(OpenBrace, __, CloseBrace);
1855
- var ObjectLiteral$3 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1932
+ var ObjectLiteral$3 = NestedObjectLiteral;
1856
1933
  function ObjectLiteral(state) {
1857
1934
  if (state.tokenize) {
1858
1935
  return $TOKEN("ObjectLiteral", state, ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state) || ObjectLiteral$3(state));
@@ -1860,6 +1937,16 @@ var require_parser = __commonJS({
1860
1937
  return ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state) || ObjectLiteral$3(state);
1861
1938
  }
1862
1939
  }
1940
+ var NestedObjectLiteral$0 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1941
+ function NestedObjectLiteral(state) {
1942
+ if (state.verbose)
1943
+ console.log("ENTER:", "NestedObjectLiteral");
1944
+ if (state.tokenize) {
1945
+ return $TOKEN("NestedObjectLiteral", state, NestedObjectLiteral$0(state));
1946
+ } else {
1947
+ return NestedObjectLiteral$0(state);
1948
+ }
1949
+ }
1863
1950
  var NestedPropertyDefinitions$0 = $TS($S(PushIndent, $Q(NestedPropertyDefinition), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
1864
1951
  var defs = $2;
1865
1952
  if (!defs.length)
@@ -1886,18 +1973,15 @@ var require_parser = __commonJS({
1886
1973
  }
1887
1974
  }
1888
1975
  var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
1889
- var ObjectPropertyDelimiter$1 = $Y($S($Q(_), CloseBrace));
1890
- var ObjectPropertyDelimiter$2 = $TV($Y($S(__, CloseBrace)), function($skip, $loc, $0, $1) {
1891
- return { $loc, token: "," };
1892
- });
1893
- var ObjectPropertyDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1976
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
1977
+ var ObjectPropertyDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1894
1978
  return { $loc, token: "," };
1895
1979
  });
1896
1980
  function ObjectPropertyDelimiter(state) {
1897
1981
  if (state.tokenize) {
1898
- return $TOKEN("ObjectPropertyDelimiter", state, ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state) || ObjectPropertyDelimiter$3(state));
1982
+ return $TOKEN("ObjectPropertyDelimiter", state, ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state));
1899
1983
  } else {
1900
- return ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state) || ObjectPropertyDelimiter$3(state);
1984
+ return ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state);
1901
1985
  }
1902
1986
  }
1903
1987
  var PropertyDefinitionList$0 = $S(PropertyDefinition, $Q($S(__, Comma, __, PropertyDefinition)));
@@ -1912,7 +1996,7 @@ var require_parser = __commonJS({
1912
1996
  }
1913
1997
  var PropertyDefinition$0 = $S(PropertyName, __, Colon, AssignmentExpression);
1914
1998
  var PropertyDefinition$1 = MethodDefinition;
1915
- var PropertyDefinition$2 = $S($EXPECT($L18, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1999
+ var PropertyDefinition$2 = $S($EXPECT($L19, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1916
2000
  var PropertyDefinition$3 = IdentifierReference;
1917
2001
  function PropertyDefinition(state) {
1918
2002
  if (state.tokenize) {
@@ -1924,7 +2008,7 @@ var require_parser = __commonJS({
1924
2008
  var PropertyName$0 = NumericLiteral;
1925
2009
  var PropertyName$1 = StringLiteral;
1926
2010
  var PropertyName$2 = IdentifierName;
1927
- var PropertyName$3 = $S(OpenBracket, AssignmentExpression, __, $EXPECT($L24, fail, 'PropertyName "]"'));
2011
+ var PropertyName$3 = $S(OpenBracket, AssignmentExpression, __, $EXPECT($L25, fail, 'PropertyName "]"'));
1928
2012
  function PropertyName(state) {
1929
2013
  if (state.tokenize) {
1930
2014
  return $TOKEN("PropertyName", state, PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state));
@@ -1932,27 +2016,25 @@ var require_parser = __commonJS({
1932
2016
  return PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state);
1933
2017
  }
1934
2018
  }
1935
- var MethodDefinition$0 = $S($EXPECT($L25, fail, 'MethodDefinition "get"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1936
- var MethodDefinition$1 = $S($EXPECT($L26, fail, 'MethodDefinition "set"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1937
- var MethodDefinition$2 = AsyncGeneratorMethod;
1938
- var MethodDefinition$3 = AsyncMethod;
1939
- var MethodDefinition$4 = GeneratorMethod;
1940
- var MethodDefinition$5 = $S(ClassElementName, $Q(_), Parameters, BracedBlock);
2019
+ var MethodDefinition$0 = $S(MethodSignature, BracedBlock);
1941
2020
  function MethodDefinition(state) {
2021
+ if (state.verbose)
2022
+ console.log("ENTER:", "MethodDefinition");
1942
2023
  if (state.tokenize) {
1943
- return $TOKEN("MethodDefinition", state, MethodDefinition$0(state) || MethodDefinition$1(state) || MethodDefinition$2(state) || MethodDefinition$3(state) || MethodDefinition$4(state) || MethodDefinition$5(state));
2024
+ return $TOKEN("MethodDefinition", state, MethodDefinition$0(state));
1944
2025
  } else {
1945
- return MethodDefinition$0(state) || MethodDefinition$1(state) || MethodDefinition$2(state) || MethodDefinition$3(state) || MethodDefinition$4(state) || MethodDefinition$5(state);
2026
+ return MethodDefinition$0(state);
1946
2027
  }
1947
2028
  }
1948
- var MethodModifier$0 = $S($C($EXPECT($L25, fail, 'MethodModifier "get"'), $EXPECT($L26, fail, 'MethodModifier "set"')), NonIdContinue, $Q(TrailingComment));
2029
+ var MethodModifier$0 = $S(GetOrSet, $Q(TrailingComment));
2030
+ var MethodModifier$1 = $S($S(Async, __), $E($S($EXPECT($L5, fail, 'MethodModifier "*"'), __)));
2031
+ var MethodModifier$2 = $S($EXPECT($L5, fail, 'MethodModifier "*"'), __);
2032
+ var MethodModifier$3 = $S(Async, __);
1949
2033
  function MethodModifier(state) {
1950
- if (state.verbose)
1951
- console.log("ENTER:", "MethodModifier");
1952
2034
  if (state.tokenize) {
1953
- return $TOKEN("MethodModifier", state, MethodModifier$0(state));
2035
+ return $TOKEN("MethodModifier", state, MethodModifier$0(state) || MethodModifier$1(state) || MethodModifier$2(state) || MethodModifier$3(state));
1954
2036
  } else {
1955
- return MethodModifier$0(state);
2037
+ return MethodModifier$0(state) || MethodModifier$1(state) || MethodModifier$2(state) || MethodModifier$3(state);
1956
2038
  }
1957
2039
  }
1958
2040
  var MethodSignature$0 = $S($E(MethodModifier), ClassElementName, $Q(_), Parameters);
@@ -1974,7 +2056,7 @@ var require_parser = __commonJS({
1974
2056
  return ClassElementName$0(state) || ClassElementName$1(state);
1975
2057
  }
1976
2058
  }
1977
- var PrivateIdentifier$0 = $S($EXPECT($L8, fail, 'PrivateIdentifier "#"'), IdentifierName);
2059
+ var PrivateIdentifier$0 = $S($EXPECT($L10, fail, 'PrivateIdentifier "#"'), IdentifierName);
1978
2060
  function PrivateIdentifier(state) {
1979
2061
  if (state.verbose)
1980
2062
  console.log("ENTER:", "PrivateIdentifier");
@@ -1984,66 +2066,6 @@ var require_parser = __commonJS({
1984
2066
  return PrivateIdentifier$0(state);
1985
2067
  }
1986
2068
  }
1987
- var GeneratorMethod$0 = $S($EXPECT($L3, fail, 'GeneratorMethod "*"'), __, ClassElementName, __, Parameters, GeneratorBody);
1988
- function GeneratorMethod(state) {
1989
- if (state.verbose)
1990
- console.log("ENTER:", "GeneratorMethod");
1991
- if (state.tokenize) {
1992
- return $TOKEN("GeneratorMethod", state, GeneratorMethod$0(state));
1993
- } else {
1994
- return GeneratorMethod$0(state);
1995
- }
1996
- }
1997
- var GeneratorBody$0 = BracedBlock;
1998
- function GeneratorBody(state) {
1999
- if (state.verbose)
2000
- console.log("ENTER:", "GeneratorBody");
2001
- if (state.tokenize) {
2002
- return $TOKEN("GeneratorBody", state, GeneratorBody$0(state));
2003
- } else {
2004
- return GeneratorBody$0(state);
2005
- }
2006
- }
2007
- var AsyncMethod$0 = $S(Async, $N(EOS), __, ClassElementName, __, Parameters, AsyncFunctionBody);
2008
- function AsyncMethod(state) {
2009
- if (state.verbose)
2010
- console.log("ENTER:", "AsyncMethod");
2011
- if (state.tokenize) {
2012
- return $TOKEN("AsyncMethod", state, AsyncMethod$0(state));
2013
- } else {
2014
- return AsyncMethod$0(state);
2015
- }
2016
- }
2017
- var AsyncFunctionBody$0 = BracedBlock;
2018
- function AsyncFunctionBody(state) {
2019
- if (state.verbose)
2020
- console.log("ENTER:", "AsyncFunctionBody");
2021
- if (state.tokenize) {
2022
- return $TOKEN("AsyncFunctionBody", state, AsyncFunctionBody$0(state));
2023
- } else {
2024
- return AsyncFunctionBody$0(state);
2025
- }
2026
- }
2027
- var AsyncGeneratorMethod$0 = $S(Async, $N(EOS), __, $EXPECT($L3, fail, 'AsyncGeneratorMethod "*"'), __, ClassElementName, __, Parameters, AsyncGeneratorBody);
2028
- function AsyncGeneratorMethod(state) {
2029
- if (state.verbose)
2030
- console.log("ENTER:", "AsyncGeneratorMethod");
2031
- if (state.tokenize) {
2032
- return $TOKEN("AsyncGeneratorMethod", state, AsyncGeneratorMethod$0(state));
2033
- } else {
2034
- return AsyncGeneratorMethod$0(state);
2035
- }
2036
- }
2037
- var AsyncGeneratorBody$0 = BracedBlock;
2038
- function AsyncGeneratorBody(state) {
2039
- if (state.verbose)
2040
- console.log("ENTER:", "AsyncGeneratorBody");
2041
- if (state.tokenize) {
2042
- return $TOKEN("AsyncGeneratorBody", state, AsyncGeneratorBody$0(state));
2043
- } else {
2044
- return AsyncGeneratorBody$0(state);
2045
- }
2046
- }
2047
2069
  var AssignmentOp$0 = $TS($S(AssignmentOpSymbol), function($skip, $loc, $0, $1) {
2048
2070
  return { $loc, token: $1 };
2049
2071
  });
@@ -2095,7 +2117,7 @@ var require_parser = __commonJS({
2095
2117
  }
2096
2118
  }
2097
2119
  var BinaryOpSymbol$0 = $EXPECT($L44, fail, 'BinaryOpSymbol "**"');
2098
- var BinaryOpSymbol$1 = $EXPECT($L3, fail, 'BinaryOpSymbol "*"');
2120
+ var BinaryOpSymbol$1 = $EXPECT($L5, fail, 'BinaryOpSymbol "*"');
2099
2121
  var BinaryOpSymbol$2 = $EXPECT($L45, fail, 'BinaryOpSymbol "/"');
2100
2122
  var BinaryOpSymbol$3 = $EXPECT($L46, fail, 'BinaryOpSymbol "%"');
2101
2123
  var BinaryOpSymbol$4 = $EXPECT($L47, fail, 'BinaryOpSymbol "+"');
@@ -2103,7 +2125,7 @@ var require_parser = __commonJS({
2103
2125
  var BinaryOpSymbol$6 = $EXPECT($L49, fail, 'BinaryOpSymbol "<="');
2104
2126
  var BinaryOpSymbol$7 = $EXPECT($L50, fail, 'BinaryOpSymbol ">="');
2105
2127
  var BinaryOpSymbol$8 = $EXPECT($L51, fail, 'BinaryOpSymbol "<<"');
2106
- var BinaryOpSymbol$9 = $EXPECT($L5, fail, 'BinaryOpSymbol "<"');
2128
+ var BinaryOpSymbol$9 = $EXPECT($L7, fail, 'BinaryOpSymbol "<"');
2107
2129
  var BinaryOpSymbol$10 = $EXPECT($L52, fail, 'BinaryOpSymbol ">>>"');
2108
2130
  var BinaryOpSymbol$11 = $EXPECT($L53, fail, 'BinaryOpSymbol ">>"');
2109
2131
  var BinaryOpSymbol$12 = $EXPECT($L54, fail, 'BinaryOpSymbol ">"');
@@ -2184,7 +2206,7 @@ var require_parser = __commonJS({
2184
2206
  return StatementListItem$0(state);
2185
2207
  }
2186
2208
  }
2187
- var PostfixConditional$0 = $TS($S($Q(TrailingComment), $C(If, Unless), NonIdContinue, Loc, Expression, Loc), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
2209
+ var PostfixConditional$0 = $TS($S($Q(TrailingComment), $C(If, Unless), NonIdContinue, Loc, ExpressionWithIndentedApplicationSuppressed, Loc), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
2188
2210
  var ws = $1;
2189
2211
  var cond = $2;
2190
2212
  var l1 = $4;
@@ -2318,7 +2340,7 @@ var require_parser = __commonJS({
2318
2340
  var cond = $3;
2319
2341
  if (kind === "until") {
2320
2342
  cond[1] = "(!(";
2321
- cond[5] = "))";
2343
+ cond[4] = "))";
2322
2344
  return ["while", cond];
2323
2345
  }
2324
2346
  return $0;
@@ -2332,7 +2354,7 @@ var require_parser = __commonJS({
2332
2354
  return WhileClause$0(state);
2333
2355
  }
2334
2356
  }
2335
- var ForStatement$0 = $S(For, __, OpenParen, __, $C(LexicalDeclaration, VariableStatement, $E(Expression)), __, Semicolon, __, $E(Expression), Semicolon, __, $E(Expression), CloseParen, Block);
2357
+ var ForStatement$0 = $S(For, __, OpenParen, __, $C(LexicalDeclaration, VariableStatement, $E(Expression)), __, Semicolon, $E(Expression), Semicolon, $E(Expression), CloseParen, Block);
2336
2358
  function ForStatement(state) {
2337
2359
  if (state.verbose)
2338
2360
  console.log("ENTER:", "ForStatement");
@@ -2342,8 +2364,8 @@ var require_parser = __commonJS({
2342
2364
  return ForStatement$0(state);
2343
2365
  }
2344
2366
  }
2345
- var ForInOfStatement$0 = $S(For, __, OpenParen, __, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, __, Expression, __, CloseParen, Block);
2346
- var ForInOfStatement$1 = $S(For, __, InsertOpenParen, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, __, Expression, InsertCloseParen, Block);
2367
+ var ForInOfStatement$0 = $S(For, __, OpenParen, __, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, Expression, __, CloseParen, Block);
2368
+ var ForInOfStatement$1 = $S(For, __, InsertOpenParen, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, Expression, InsertCloseParen, Block);
2347
2369
  var ForInOfStatement$2 = $S(For, $E($S(__, Await)), __, OpenParen, __, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, Of, AssignmentExpression, __, CloseParen, Block);
2348
2370
  var ForInOfStatement$3 = $S(For, $E($S(__, Await)), __, InsertOpenParen, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, Of, AssignmentExpression, InsertCloseParen, Block);
2349
2371
  function ForInOfStatement(state) {
@@ -2363,18 +2385,6 @@ var require_parser = __commonJS({
2363
2385
  return ForDeclaration$0(state);
2364
2386
  }
2365
2387
  }
2366
- var LetOrConst$0 = $TV($C($EXPECT($L77, fail, 'LetOrConst "let"'), $EXPECT($L78, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
2367
- return { $loc, token: $1 };
2368
- });
2369
- function LetOrConst(state) {
2370
- if (state.verbose)
2371
- console.log("ENTER:", "LetOrConst");
2372
- if (state.tokenize) {
2373
- return $TOKEN("LetOrConst", state, LetOrConst$0(state));
2374
- } else {
2375
- return LetOrConst$0(state);
2376
- }
2377
- }
2378
2388
  var ForBinding$0 = BindingIdentifier;
2379
2389
  var ForBinding$1 = BindingPattern;
2380
2390
  function ForBinding(state) {
@@ -2428,9 +2438,9 @@ var require_parser = __commonJS({
2428
2438
  return NestedCaseClause$0(state);
2429
2439
  }
2430
2440
  }
2431
- var CaseClause$0 = $S($EXPECT($L79, fail, 'CaseClause "case"'), NonIdContinue, $Q(_), Expression, ImpliedColon, NestedBlockExpressions);
2432
- var CaseClause$1 = $S(When, $Q(_), Expression, ImpliedColon, NestedBlockExpressions, InsertBreak);
2433
- var CaseClause$2 = $S($EXPECT($L80, fail, 'CaseClause "default"'), NonIdContinue, ImpliedColon, NestedBlockExpressions);
2441
+ var CaseClause$0 = $S($EXPECT($L77, fail, 'CaseClause "case"'), NonIdContinue, $Q(_), ExpressionWithIndentedApplicationSuppressed, ImpliedColon, NestedBlockExpressions);
2442
+ var CaseClause$1 = $S(When, $Q(_), ExpressionWithIndentedApplicationSuppressed, ImpliedColon, NestedBlockExpressions, InsertBreak);
2443
+ var CaseClause$2 = $S($EXPECT($L78, fail, 'CaseClause "default"'), NonIdContinue, ImpliedColon, NestedBlockExpressions);
2434
2444
  function CaseClause(state) {
2435
2445
  if (state.tokenize) {
2436
2446
  return $TOKEN("CaseClause", state, CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state));
@@ -2439,7 +2449,7 @@ var require_parser = __commonJS({
2439
2449
  }
2440
2450
  }
2441
2451
  var ImpliedColon$0 = $S(__, Colon);
2442
- var ImpliedColon$1 = $TV($EXPECT($L16, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
2452
+ var ImpliedColon$1 = $TV($EXPECT($L1, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
2443
2453
  return { $loc, token: ":" };
2444
2454
  });
2445
2455
  function ImpliedColon(state) {
@@ -2485,7 +2495,7 @@ var require_parser = __commonJS({
2485
2495
  return CatchBind$0(state) || CatchBind$1(state);
2486
2496
  }
2487
2497
  }
2488
- var Finally$0 = $S(__, $EXPECT($L81, fail, 'Finally "finally"'), BracedBlock);
2498
+ var Finally$0 = $S(__, $EXPECT($L79, fail, 'Finally "finally"'), BracedBlock);
2489
2499
  function Finally(state) {
2490
2500
  if (state.verbose)
2491
2501
  console.log("ENTER:", "Finally");
@@ -2504,8 +2514,8 @@ var require_parser = __commonJS({
2504
2514
  return CatchParameter$0(state) || CatchParameter$1(state);
2505
2515
  }
2506
2516
  }
2507
- var Condition$0 = $S(__, OpenParen, __, Expression, __, CloseParen);
2508
- var Condition$1 = $S($N(EOS), __, InsertOpenParen, Expression, InsertCloseParen);
2517
+ var Condition$0 = $S(__, OpenParen, Expression, __, CloseParen);
2518
+ var Condition$1 = $S($N(EOS), __, InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen);
2509
2519
  function Condition(state) {
2510
2520
  if (state.tokenize) {
2511
2521
  return $TOKEN("Condition", state, Condition$0(state) || Condition$1(state));
@@ -2513,6 +2523,34 @@ var require_parser = __commonJS({
2513
2523
  return Condition$0(state) || Condition$1(state);
2514
2524
  }
2515
2525
  }
2526
+ var ExpressionWithIndentedApplicationSuppressed$0 = $TS($S(SuppressIndentedApplication, $E(Expression)), function($skip, $loc, $0, $1, $2) {
2527
+ var exp = $2;
2528
+ module2.suppressIndentedApplication = false;
2529
+ if (exp)
2530
+ return exp;
2531
+ return $skip;
2532
+ });
2533
+ function ExpressionWithIndentedApplicationSuppressed(state) {
2534
+ if (state.verbose)
2535
+ console.log("ENTER:", "ExpressionWithIndentedApplicationSuppressed");
2536
+ if (state.tokenize) {
2537
+ return $TOKEN("ExpressionWithIndentedApplicationSuppressed", state, ExpressionWithIndentedApplicationSuppressed$0(state));
2538
+ } else {
2539
+ return ExpressionWithIndentedApplicationSuppressed$0(state);
2540
+ }
2541
+ }
2542
+ var SuppressIndentedApplication$0 = $TV($EXPECT($L1, fail, 'SuppressIndentedApplication ""'), function($skip, $loc, $0, $1) {
2543
+ module2.suppressIndentedApplication = true;
2544
+ });
2545
+ function SuppressIndentedApplication(state) {
2546
+ if (state.verbose)
2547
+ console.log("ENTER:", "SuppressIndentedApplication");
2548
+ if (state.tokenize) {
2549
+ return $TOKEN("SuppressIndentedApplication", state, SuppressIndentedApplication$0(state));
2550
+ } else {
2551
+ return SuppressIndentedApplication$0(state);
2552
+ }
2553
+ }
2516
2554
  var ExpressionStatement$0 = Expression;
2517
2555
  function ExpressionStatement(state) {
2518
2556
  if (state.verbose)
@@ -2523,11 +2561,11 @@ var require_parser = __commonJS({
2523
2561
  return ExpressionStatement$0(state);
2524
2562
  }
2525
2563
  }
2526
- var KeywordStatement$0 = $S($EXPECT($L82, fail, 'KeywordStatement "break"'), NonIdContinue);
2527
- var KeywordStatement$1 = $S($EXPECT($L83, fail, 'KeywordStatement "continue"'), NonIdContinue);
2528
- var KeywordStatement$2 = $S($EXPECT($L84, fail, 'KeywordStatement "debugger"'), NonIdContinue);
2564
+ var KeywordStatement$0 = $S($EXPECT($L80, fail, 'KeywordStatement "break"'), NonIdContinue);
2565
+ var KeywordStatement$1 = $S($EXPECT($L81, fail, 'KeywordStatement "continue"'), NonIdContinue);
2566
+ var KeywordStatement$2 = $S($EXPECT($L82, fail, 'KeywordStatement "debugger"'), NonIdContinue);
2529
2567
  var KeywordStatement$3 = $S(Return, $E(MaybeNestedExpression));
2530
- var KeywordStatement$4 = $S($EXPECT($L85, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2568
+ var KeywordStatement$4 = $S($EXPECT($L83, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2531
2569
  function KeywordStatement(state) {
2532
2570
  if (state.tokenize) {
2533
2571
  return $TOKEN("KeywordStatement", state, KeywordStatement$0(state) || KeywordStatement$1(state) || KeywordStatement$2(state) || KeywordStatement$3(state) || KeywordStatement$4(state));
@@ -2544,7 +2582,7 @@ var require_parser = __commonJS({
2544
2582
  return MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state);
2545
2583
  }
2546
2584
  }
2547
- var ImportDeclaration$0 = $T($S($EXPECT($L86, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
2585
+ var ImportDeclaration$0 = $T($S($EXPECT($L84, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
2548
2586
  return { "ts": true, "children": value };
2549
2587
  });
2550
2588
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
@@ -2567,7 +2605,7 @@ var require_parser = __commonJS({
2567
2605
  return ImportDeclaration$0(state) || ImportDeclaration$1(state) || ImportDeclaration$2(state) || ImportDeclaration$3(state);
2568
2606
  }
2569
2607
  }
2570
- var ImpliedImport$0 = $TV($EXPECT($L16, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
2608
+ var ImpliedImport$0 = $TV($EXPECT($L1, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
2571
2609
  return { $loc, token: "import " };
2572
2610
  });
2573
2611
  function ImpliedImport(state) {
@@ -2589,7 +2627,7 @@ var require_parser = __commonJS({
2589
2627
  return ImportClause$0(state) || ImportClause$1(state) || ImportClause$2(state);
2590
2628
  }
2591
2629
  }
2592
- var NameSpaceImport$0 = $S($EXPECT($L3, fail, 'NameSpaceImport "*"'), __, As, NonIdContinue, __, ImportedBinding);
2630
+ var NameSpaceImport$0 = $S($EXPECT($L5, fail, 'NameSpaceImport "*"'), __, As, NonIdContinue, __, ImportedBinding);
2593
2631
  function NameSpaceImport(state) {
2594
2632
  if (state.verbose)
2595
2633
  console.log("ENTER:", "NameSpaceImport");
@@ -2682,7 +2720,7 @@ var require_parser = __commonJS({
2682
2720
  return ImportedBinding$0(state);
2683
2721
  }
2684
2722
  }
2685
- var ExportDeclaration$0 = $S(Export, __, $EXPECT($L80, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, AssignmentExpression));
2723
+ var ExportDeclaration$0 = $S(Export, __, $EXPECT($L78, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, AssignmentExpression));
2686
2724
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
2687
2725
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
2688
2726
  function ExportDeclaration(state) {
@@ -2692,7 +2730,7 @@ var require_parser = __commonJS({
2692
2730
  return ExportDeclaration$0(state) || ExportDeclaration$1(state) || ExportDeclaration$2(state);
2693
2731
  }
2694
2732
  }
2695
- var ExportFromClause$0 = $S($EXPECT($L3, fail, 'ExportFromClause "*"'), $E($S(__, As, NonIdContinue, __, ModuleExportName)));
2733
+ var ExportFromClause$0 = $S($EXPECT($L5, fail, 'ExportFromClause "*"'), $E($S(__, As, NonIdContinue, __, ModuleExportName)));
2696
2734
  var ExportFromClause$1 = NamedExports;
2697
2735
  function ExportFromClause(state) {
2698
2736
  if (state.tokenize) {
@@ -2759,7 +2797,7 @@ var require_parser = __commonJS({
2759
2797
  return LexicalDeclaration$0(state) || LexicalDeclaration$1(state);
2760
2798
  }
2761
2799
  }
2762
- var ConstAssignment$0 = $TV($EXPECT($L87, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2800
+ var ConstAssignment$0 = $TV($EXPECT($L85, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2763
2801
  return { $loc, token: "=" };
2764
2802
  });
2765
2803
  function ConstAssignment(state) {
@@ -2905,10 +2943,10 @@ var require_parser = __commonJS({
2905
2943
  var e = $3;
2906
2944
  return [s, module2.dedentBlockString(str), e];
2907
2945
  });
2908
- var StringLiteral$2 = $TV($TEXT($S($EXPECT($L88, fail, 'StringLiteral "\\\\\\""'), $Q(DoubleStringCharacter), $EXPECT($L88, fail, 'StringLiteral "\\\\\\""'))), function($skip, $loc, $0, $1) {
2946
+ var StringLiteral$2 = $TV($TEXT($S($EXPECT($L86, fail, 'StringLiteral "\\\\\\""'), $Q(DoubleStringCharacter), $EXPECT($L86, fail, 'StringLiteral "\\\\\\""'))), function($skip, $loc, $0, $1) {
2909
2947
  return { $loc, token: $1 };
2910
2948
  });
2911
- var StringLiteral$3 = $TV($TEXT($S($EXPECT($L89, fail, `StringLiteral "'"`), $Q(SingleStringCharacter), $EXPECT($L89, fail, `StringLiteral "'"`))), function($skip, $loc, $0, $1) {
2949
+ var StringLiteral$3 = $TV($TEXT($S($EXPECT($L87, fail, `StringLiteral "'"`), $Q(SingleStringCharacter), $EXPECT($L87, fail, `StringLiteral "'"`))), function($skip, $loc, $0, $1) {
2912
2950
  return { $loc, token: $1 };
2913
2951
  });
2914
2952
  function StringLiteral(state) {
@@ -3004,7 +3042,7 @@ var require_parser = __commonJS({
3004
3042
  return RegularExpressionFlags$0(state);
3005
3043
  }
3006
3044
  }
3007
- var TemplateLiteral$0 = $S($EXPECT($L90, fail, 'TemplateLiteral "`"'), $Q($C(TemplateCharacters, TemplateSubstitution)), $EXPECT($L90, fail, 'TemplateLiteral "`"'));
3045
+ var TemplateLiteral$0 = $S($EXPECT($L0, fail, 'TemplateLiteral "`"'), $Q($C(TemplateCharacters, TemplateSubstitution)), $EXPECT($L0, fail, 'TemplateLiteral "`"'));
3008
3046
  function TemplateLiteral(state) {
3009
3047
  if (state.verbose)
3010
3048
  console.log("ENTER:", "TemplateLiteral");
@@ -3014,7 +3052,7 @@ var require_parser = __commonJS({
3014
3052
  return TemplateLiteral$0(state);
3015
3053
  }
3016
3054
  }
3017
- var TemplateSubstitution$0 = $S($EXPECT($L91, fail, 'TemplateSubstitution "${"'), __, Expression, __, CloseBrace);
3055
+ var TemplateSubstitution$0 = $S($EXPECT($L88, fail, 'TemplateSubstitution "${"'), Expression, __, CloseBrace);
3018
3056
  function TemplateSubstitution(state) {
3019
3057
  if (state.verbose)
3020
3058
  console.log("ENTER:", "TemplateSubstitution");
@@ -3073,7 +3111,7 @@ var require_parser = __commonJS({
3073
3111
  return MultiLineComment$0(state) || MultiLineComment$1(state);
3074
3112
  }
3075
3113
  }
3076
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L93, fail, 'JSMultiLineComment "*/"')), $EXPECT($R19, fail, "JSMultiLineComment /./"))), $EXPECT($L93, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
3114
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L90, fail, 'JSMultiLineComment "*/"')), $EXPECT($R19, fail, "JSMultiLineComment /./"))), $EXPECT($L90, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
3077
3115
  return { $loc, token: $1 };
3078
3116
  });
3079
3117
  function JSMultiLineComment(state) {
@@ -3099,7 +3137,7 @@ var require_parser = __commonJS({
3099
3137
  return CoffeeSingleLineComment$0(state);
3100
3138
  }
3101
3139
  }
3102
- var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L94, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L94, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L93, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R19, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L94, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
3140
+ var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L91, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L91, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L90, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R19, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L91, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
3103
3141
  return { $loc, token: `/*${$2}*/` };
3104
3142
  });
3105
3143
  function CoffeeMultiLineComment(state) {
@@ -3111,7 +3149,7 @@ var require_parser = __commonJS({
3111
3149
  return CoffeeMultiLineComment$0(state);
3112
3150
  }
3113
3151
  }
3114
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L93, fail, 'InlineComment "*/"')), $EXPECT($R21, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L93, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
3152
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L89, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L90, fail, 'InlineComment "*/"')), $EXPECT($R21, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L90, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
3115
3153
  return { $loc, token: $1 };
3116
3154
  });
3117
3155
  function InlineComment(state) {
@@ -3188,7 +3226,7 @@ var require_parser = __commonJS({
3188
3226
  }
3189
3227
  }
3190
3228
  var StatementDelimiter$0 = $S($Q(TrailingComment), Semicolon, $Q(TrailingComment));
3191
- var StatementDelimiter$1 = $TS($S($EXPECT($L16, fail, 'StatementDelimiter ""'), $Y(EOS)), function($skip, $loc, $0, $1, $2) {
3229
+ var StatementDelimiter$1 = $TS($S($EXPECT($L1, fail, 'StatementDelimiter ""'), $Y(EOS)), function($skip, $loc, $0, $1, $2) {
3192
3230
  return { $loc, token: ";" };
3193
3231
  });
3194
3232
  function StatementDelimiter(state) {
@@ -3208,7 +3246,7 @@ var require_parser = __commonJS({
3208
3246
  return NonIdContinue$0(state);
3209
3247
  }
3210
3248
  }
3211
- var Loc$0 = $TV($EXPECT($L16, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
3249
+ var Loc$0 = $TV($EXPECT($L1, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
3212
3250
  return { $loc, token: "" };
3213
3251
  });
3214
3252
  function Loc(state) {
@@ -3220,7 +3258,7 @@ var require_parser = __commonJS({
3220
3258
  return Loc$0(state);
3221
3259
  }
3222
3260
  }
3223
- var As$0 = $TS($S($EXPECT($L95, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3261
+ var As$0 = $TS($S($EXPECT($L92, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3224
3262
  return { $loc, token: $1 };
3225
3263
  });
3226
3264
  function As(state) {
@@ -3232,7 +3270,7 @@ var require_parser = __commonJS({
3232
3270
  return As$0(state);
3233
3271
  }
3234
3272
  }
3235
- var Async$0 = $TV($EXPECT($L96, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
3273
+ var Async$0 = $TV($EXPECT($L93, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
3236
3274
  return { $loc, token: $1 };
3237
3275
  });
3238
3276
  function Async(state) {
@@ -3244,7 +3282,7 @@ var require_parser = __commonJS({
3244
3282
  return Async$0(state);
3245
3283
  }
3246
3284
  }
3247
- var Await$0 = $TS($S($EXPECT($L97, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3285
+ var Await$0 = $TS($S($EXPECT($L94, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3248
3286
  return { $loc, token: $1 };
3249
3287
  });
3250
3288
  function Await(state) {
@@ -3256,7 +3294,7 @@ var require_parser = __commonJS({
3256
3294
  return Await$0(state);
3257
3295
  }
3258
3296
  }
3259
- var Catch$0 = $TV($EXPECT($L98, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
3297
+ var Catch$0 = $TV($EXPECT($L95, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
3260
3298
  return { $loc, token: $1 };
3261
3299
  });
3262
3300
  function Catch(state) {
@@ -3268,7 +3306,7 @@ var require_parser = __commonJS({
3268
3306
  return Catch$0(state);
3269
3307
  }
3270
3308
  }
3271
- var Class$0 = $TV($EXPECT($L99, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
3309
+ var Class$0 = $TV($EXPECT($L96, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
3272
3310
  return { $loc, token: $1 };
3273
3311
  });
3274
3312
  function Class(state) {
@@ -3280,7 +3318,7 @@ var require_parser = __commonJS({
3280
3318
  return Class$0(state);
3281
3319
  }
3282
3320
  }
3283
- var CloseBrace$0 = $TV($EXPECT($L100, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
3321
+ var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
3284
3322
  return { $loc, token: $1 };
3285
3323
  });
3286
3324
  function CloseBrace(state) {
@@ -3292,7 +3330,7 @@ var require_parser = __commonJS({
3292
3330
  return CloseBrace$0(state);
3293
3331
  }
3294
3332
  }
3295
- var CloseBracket$0 = $TV($EXPECT($L24, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
3333
+ var CloseBracket$0 = $TV($EXPECT($L25, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
3296
3334
  return { $loc, token: $1 };
3297
3335
  });
3298
3336
  function CloseBracket(state) {
@@ -3304,7 +3342,7 @@ var require_parser = __commonJS({
3304
3342
  return CloseBracket$0(state);
3305
3343
  }
3306
3344
  }
3307
- var CloseParen$0 = $TV($EXPECT($L17, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
3345
+ var CloseParen$0 = $TV($EXPECT($L18, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
3308
3346
  return { $loc, token: $1 };
3309
3347
  });
3310
3348
  function CloseParen(state) {
@@ -3316,7 +3354,7 @@ var require_parser = __commonJS({
3316
3354
  return CloseParen$0(state);
3317
3355
  }
3318
3356
  }
3319
- var Colon$0 = $TV($EXPECT($L101, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
3357
+ var Colon$0 = $TV($EXPECT($L97, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
3320
3358
  return { $loc, token: $1 };
3321
3359
  });
3322
3360
  function Colon(state) {
@@ -3328,7 +3366,7 @@ var require_parser = __commonJS({
3328
3366
  return Colon$0(state);
3329
3367
  }
3330
3368
  }
3331
- var Dot$0 = $TV($EXPECT($L102, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
3369
+ var Dot$0 = $TV($EXPECT($L98, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
3332
3370
  return { $loc, token: $1 };
3333
3371
  });
3334
3372
  function Dot(state) {
@@ -3340,7 +3378,7 @@ var require_parser = __commonJS({
3340
3378
  return Dot$0(state);
3341
3379
  }
3342
3380
  }
3343
- var Else$0 = $TV($EXPECT($L103, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
3381
+ var Else$0 = $TV($EXPECT($L99, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
3344
3382
  return { $loc, token: $1 };
3345
3383
  });
3346
3384
  function Else(state) {
@@ -3364,7 +3402,7 @@ var require_parser = __commonJS({
3364
3402
  return Equals$0(state);
3365
3403
  }
3366
3404
  }
3367
- var Export$0 = $TS($S($EXPECT($L104, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3405
+ var Export$0 = $TS($S($EXPECT($L100, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3368
3406
  return { $loc, token: $1 };
3369
3407
  });
3370
3408
  function Export(state) {
@@ -3376,7 +3414,7 @@ var require_parser = __commonJS({
3376
3414
  return Export$0(state);
3377
3415
  }
3378
3416
  }
3379
- var For$0 = $TS($S($EXPECT($L105, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3417
+ var For$0 = $TS($S($EXPECT($L101, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3380
3418
  return { $loc, token: $1 };
3381
3419
  });
3382
3420
  function For(state) {
@@ -3388,7 +3426,7 @@ var require_parser = __commonJS({
3388
3426
  return For$0(state);
3389
3427
  }
3390
3428
  }
3391
- var From$0 = $TS($S($EXPECT($L106, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3429
+ var From$0 = $TS($S($EXPECT($L102, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3392
3430
  return { $loc, token: $1 };
3393
3431
  });
3394
3432
  function From(state) {
@@ -3400,7 +3438,7 @@ var require_parser = __commonJS({
3400
3438
  return From$0(state);
3401
3439
  }
3402
3440
  }
3403
- var Function$0 = $TV($EXPECT($L107, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
3441
+ var Function$0 = $TV($EXPECT($L103, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
3404
3442
  return { $loc, token: $1 };
3405
3443
  });
3406
3444
  function Function(state) {
@@ -3412,7 +3450,19 @@ var require_parser = __commonJS({
3412
3450
  return Function$0(state);
3413
3451
  }
3414
3452
  }
3415
- var If$0 = $TV($EXPECT($L108, fail, 'If "if"'), function($skip, $loc, $0, $1) {
3453
+ var GetOrSet$0 = $TS($S($C($EXPECT($L104, fail, 'GetOrSet "get"'), $EXPECT($L105, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3454
+ return { $loc, token: $1 };
3455
+ });
3456
+ function GetOrSet(state) {
3457
+ if (state.verbose)
3458
+ console.log("ENTER:", "GetOrSet");
3459
+ if (state.tokenize) {
3460
+ return $TOKEN("GetOrSet", state, GetOrSet$0(state));
3461
+ } else {
3462
+ return GetOrSet$0(state);
3463
+ }
3464
+ }
3465
+ var If$0 = $TV($EXPECT($L106, fail, 'If "if"'), function($skip, $loc, $0, $1) {
3416
3466
  return { $loc, token: $1 };
3417
3467
  });
3418
3468
  function If(state) {
@@ -3424,7 +3474,7 @@ var require_parser = __commonJS({
3424
3474
  return If$0(state);
3425
3475
  }
3426
3476
  }
3427
- var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R26, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
3477
+ var Import$0 = $TS($S($EXPECT($L13, fail, 'Import "import"'), $Y($EXPECT($R26, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
3428
3478
  return { $loc, token: $1 };
3429
3479
  });
3430
3480
  function Import(state) {
@@ -3448,6 +3498,18 @@ var require_parser = __commonJS({
3448
3498
  return In$0(state);
3449
3499
  }
3450
3500
  }
3501
+ var LetOrConst$0 = $TV($C($EXPECT($L107, fail, 'LetOrConst "let"'), $EXPECT($L108, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
3502
+ return { $loc, token: $1 };
3503
+ });
3504
+ function LetOrConst(state) {
3505
+ if (state.verbose)
3506
+ console.log("ENTER:", "LetOrConst");
3507
+ if (state.tokenize) {
3508
+ return $TOKEN("LetOrConst", state, LetOrConst$0(state));
3509
+ } else {
3510
+ return LetOrConst$0(state);
3511
+ }
3512
+ }
3451
3513
  var Loop$0 = $TS($S($EXPECT($L109, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3452
3514
  return { $loc, token: "while(true)" };
3453
3515
  });
@@ -3559,13 +3621,14 @@ var require_parser = __commonJS({
3559
3621
  var Static$0 = $TV($EXPECT($L117, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
3560
3622
  return { $loc, token: $1 };
3561
3623
  });
3624
+ var Static$1 = $TV($EXPECT($L11, fail, 'Static "@"'), function($skip, $loc, $0, $1) {
3625
+ return { $loc, token: "static " };
3626
+ });
3562
3627
  function Static(state) {
3563
- if (state.verbose)
3564
- console.log("ENTER:", "Static");
3565
3628
  if (state.tokenize) {
3566
- return $TOKEN("Static", state, Static$0(state));
3629
+ return $TOKEN("Static", state, Static$0(state) || Static$1(state));
3567
3630
  } else {
3568
- return Static$0(state);
3631
+ return Static$0(state) || Static$1(state);
3569
3632
  }
3570
3633
  }
3571
3634
  var Switch$0 = $TV($EXPECT($L118, fail, 'Switch "switch"'), function($skip, $loc, $0, $1) {
@@ -3678,7 +3741,7 @@ var require_parser = __commonJS({
3678
3741
  return JSXElement$0(state) || JSXElement$1(state);
3679
3742
  }
3680
3743
  }
3681
- var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3744
+ var JSXSelfClosingElement$0 = $S($EXPECT($L7, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3682
3745
  function JSXSelfClosingElement(state) {
3683
3746
  if (state.verbose)
3684
3747
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -3688,7 +3751,7 @@ var require_parser = __commonJS({
3688
3751
  return JSXSelfClosingElement$0(state);
3689
3752
  }
3690
3753
  }
3691
- var JSXOpeningElement$0 = $S($EXPECT($L5, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L54, fail, 'JSXOpeningElement ">"'));
3754
+ var JSXOpeningElement$0 = $S($EXPECT($L7, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L54, fail, 'JSXOpeningElement ">"'));
3692
3755
  function JSXOpeningElement(state) {
3693
3756
  if (state.verbose)
3694
3757
  console.log("ENTER:", "JSXOpeningElement");
@@ -3748,7 +3811,7 @@ var require_parser = __commonJS({
3748
3811
  return JSXAttributes$0(state);
3749
3812
  }
3750
3813
  }
3751
- var JSXAttribute$0 = $S(OpenBrace, __, $EXPECT($L18, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, CloseBrace);
3814
+ var JSXAttribute$0 = $S(OpenBrace, __, $EXPECT($L19, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, CloseBrace);
3752
3815
  var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3753
3816
  function JSXAttribute(state) {
3754
3817
  if (state.tokenize) {
@@ -3820,7 +3883,7 @@ var require_parser = __commonJS({
3820
3883
  return JSXText$0(state);
3821
3884
  }
3822
3885
  }
3823
- var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L18, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3886
+ var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L19, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3824
3887
  function JSXChildExpression(state) {
3825
3888
  if (state.verbose)
3826
3889
  console.log("ENTER:", "JSXChildExpression");
@@ -4110,7 +4173,7 @@ var require_parser = __commonJS({
4110
4173
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
4111
4174
  }
4112
4175
  }
4113
- var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L6, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type)))));
4176
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L8, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type)))));
4114
4177
  function TypeConditional(state) {
4115
4178
  if (state.verbose)
4116
4179
  console.log("ENTER:", "TypeConditional");
@@ -4139,7 +4202,7 @@ var require_parser = __commonJS({
4139
4202
  return TypeBinaryOp$0(state) || TypeBinaryOp$1(state);
4140
4203
  }
4141
4204
  }
4142
- var FunctionType$0 = $S(Parameters, __, $EXPECT($L4, fail, 'FunctionType "=>"'), Type);
4205
+ var FunctionType$0 = $S(Parameters, __, $EXPECT($L6, fail, 'FunctionType "=>"'), Type);
4143
4206
  function FunctionType(state) {
4144
4207
  if (state.verbose)
4145
4208
  console.log("ENTER:", "FunctionType");
@@ -4149,7 +4212,7 @@ var require_parser = __commonJS({
4149
4212
  return FunctionType$0(state);
4150
4213
  }
4151
4214
  }
4152
- var TypeArguments$0 = $S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeArguments ">"'));
4215
+ var TypeArguments$0 = $S(__, $EXPECT($L7, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeArguments ">"'));
4153
4216
  function TypeArguments(state) {
4154
4217
  if (state.verbose)
4155
4218
  console.log("ENTER:", "TypeArguments");
@@ -4159,7 +4222,7 @@ var require_parser = __commonJS({
4159
4222
  return TypeArguments$0(state);
4160
4223
  }
4161
4224
  }
4162
- var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
4225
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L7, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
4163
4226
  return { ts: true, children: $0 };
4164
4227
  });
4165
4228
  function TypeParameters(state) {
@@ -4181,7 +4244,7 @@ var require_parser = __commonJS({
4181
4244
  return TypeParameter$0(state);
4182
4245
  }
4183
4246
  }
4184
- var TypeConstraint$0 = $S(__, $EXPECT($L6, fail, 'TypeConstraint "extends"'), Type);
4247
+ var TypeConstraint$0 = $S(__, $EXPECT($L8, fail, 'TypeConstraint "extends"'), Type);
4185
4248
  function TypeConstraint(state) {
4186
4249
  if (state.verbose)
4187
4250
  console.log("ENTER:", "TypeConstraint");
@@ -4256,7 +4319,7 @@ var require_parser = __commonJS({
4256
4319
  return EOF$0(state);
4257
4320
  }
4258
4321
  }
4259
- var Debugger$0 = $TV($EXPECT($L16, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
4322
+ var Debugger$0 = $TV($EXPECT($L1, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
4260
4323
  debugger;
4261
4324
  });
4262
4325
  function Debugger(state) {
@@ -4268,7 +4331,7 @@ var require_parser = __commonJS({
4268
4331
  return Debugger$0(state);
4269
4332
  }
4270
4333
  }
4271
- var InsertOpenParen$0 = $TV($EXPECT($L16, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
4334
+ var InsertOpenParen$0 = $TV($EXPECT($L1, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
4272
4335
  return { $loc, token: "(" };
4273
4336
  });
4274
4337
  function InsertOpenParen(state) {
@@ -4280,7 +4343,7 @@ var require_parser = __commonJS({
4280
4343
  return InsertOpenParen$0(state);
4281
4344
  }
4282
4345
  }
4283
- var InsertCloseParen$0 = $TV($EXPECT($L16, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
4346
+ var InsertCloseParen$0 = $TV($EXPECT($L1, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
4284
4347
  return { $loc, token: ")" };
4285
4348
  });
4286
4349
  function InsertCloseParen(state) {
@@ -4292,7 +4355,7 @@ var require_parser = __commonJS({
4292
4355
  return InsertCloseParen$0(state);
4293
4356
  }
4294
4357
  }
4295
- var InsertOpenBrace$0 = $TV($EXPECT($L16, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
4358
+ var InsertOpenBrace$0 = $TV($EXPECT($L1, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
4296
4359
  return [{ $loc, token: " " }, { $loc, token: "{" }];
4297
4360
  });
4298
4361
  function InsertOpenBrace(state) {
@@ -4304,7 +4367,7 @@ var require_parser = __commonJS({
4304
4367
  return InsertOpenBrace$0(state);
4305
4368
  }
4306
4369
  }
4307
- var InsertCloseBrace$0 = $TV($EXPECT($L16, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
4370
+ var InsertCloseBrace$0 = $TV($EXPECT($L1, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
4308
4371
  return { $loc, token: "}" };
4309
4372
  });
4310
4373
  function InsertCloseBrace(state) {
@@ -4316,7 +4379,7 @@ var require_parser = __commonJS({
4316
4379
  return InsertCloseBrace$0(state);
4317
4380
  }
4318
4381
  }
4319
- var InsertConst$0 = $TV($EXPECT($L16, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
4382
+ var InsertConst$0 = $TV($EXPECT($L1, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
4320
4383
  return { $loc, token: "const " };
4321
4384
  });
4322
4385
  function InsertConst(state) {
@@ -4328,7 +4391,7 @@ var require_parser = __commonJS({
4328
4391
  return InsertConst$0(state);
4329
4392
  }
4330
4393
  }
4331
- var InsertReadonly$0 = $TV($EXPECT($L16, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
4394
+ var InsertReadonly$0 = $TV($EXPECT($L1, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
4332
4395
  return { ts: true, children: [{ $loc, token: "readonly " }] };
4333
4396
  });
4334
4397
  function InsertReadonly(state) {
@@ -4340,7 +4403,7 @@ var require_parser = __commonJS({
4340
4403
  return InsertReadonly$0(state);
4341
4404
  }
4342
4405
  }
4343
- var InsertNewline$0 = $TV($EXPECT($L16, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
4406
+ var InsertNewline$0 = $TV($EXPECT($L1, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
4344
4407
  return "\n";
4345
4408
  });
4346
4409
  function InsertNewline(state) {
@@ -4352,8 +4415,8 @@ var require_parser = __commonJS({
4352
4415
  return InsertNewline$0(state);
4353
4416
  }
4354
4417
  }
4355
- var InsertIndent$0 = $TV($EXPECT($L16, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
4356
- return "".padStart(global.currentIndent * 2);
4418
+ var InsertIndent$0 = $TV($EXPECT($L1, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
4419
+ return "".padStart(module2.currentIndent * 2);
4357
4420
  });
4358
4421
  function InsertIndent(state) {
4359
4422
  if (state.verbose)
@@ -4364,7 +4427,7 @@ var require_parser = __commonJS({
4364
4427
  return InsertIndent$0(state);
4365
4428
  }
4366
4429
  }
4367
- var InsertSpace$0 = $TV($EXPECT($L16, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
4430
+ var InsertSpace$0 = $TV($EXPECT($L1, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
4368
4431
  return { $loc, token: " " };
4369
4432
  });
4370
4433
  function InsertSpace(state) {
@@ -4376,7 +4439,7 @@ var require_parser = __commonJS({
4376
4439
  return InsertSpace$0(state);
4377
4440
  }
4378
4441
  }
4379
- var InsertDot$0 = $TV($EXPECT($L16, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
4442
+ var InsertDot$0 = $TV($EXPECT($L1, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
4380
4443
  return { $loc, token: "." };
4381
4444
  });
4382
4445
  function InsertDot(state) {
@@ -4388,7 +4451,7 @@ var require_parser = __commonJS({
4388
4451
  return InsertDot$0(state);
4389
4452
  }
4390
4453
  }
4391
- var InsertBreak$0 = $TV($EXPECT($L16, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
4454
+ var InsertBreak$0 = $TV($EXPECT($L1, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
4392
4455
  return { $loc, token: "break;" };
4393
4456
  });
4394
4457
  function InsertBreak(state) {
@@ -4400,11 +4463,13 @@ var require_parser = __commonJS({
4400
4463
  return InsertBreak$0(state);
4401
4464
  }
4402
4465
  }
4403
- var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L16, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
4466
+ var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L1, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
4404
4467
  var directives = $2;
4405
- global.currentIndent = 0;
4406
- global.indentLevels = [0];
4407
- global.verbose = false;
4468
+ module2.lastIndent = 0;
4469
+ module2.trackedIndents = [0];
4470
+ module2.currentIndent = 0;
4471
+ module2.indentLevels = [0];
4472
+ module2.verbose = false;
4408
4473
  if (directives) {
4409
4474
  const compatRe = /use coffee-compat/;
4410
4475
  module2.coffeeCompat = directives.some((d) => d[1].token?.match(compatRe));
@@ -4435,7 +4500,13 @@ var require_parser = __commonJS({
4435
4500
  }
4436
4501
  }
4437
4502
  var Indent$0 = $TV($Q($C($EXPECT($L139, fail, 'Indent " "'), $EXPECT($L140, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
4438
- return $1.length;
4503
+ const level = $1.length;
4504
+ module2.lastIndent = level;
4505
+ return {
4506
+ $loc,
4507
+ token: "".padStart(level * 2),
4508
+ level
4509
+ };
4439
4510
  });
4440
4511
  function Indent(state) {
4441
4512
  if (state.verbose)
@@ -4446,13 +4517,70 @@ var require_parser = __commonJS({
4446
4517
  return Indent$0(state);
4447
4518
  }
4448
4519
  }
4449
- var PushIndent$0 = $TV($EXPECT($L16, fail, 'PushIndent ""'), function($skip, $loc, $0, $1) {
4450
- global.currentIndent++;
4451
- if (global.verbose) {
4452
- console.log("pushing indent", global.currentIndent);
4520
+ var TrackIndent$0 = $TV($EXPECT($L1, fail, 'TrackIndent ""'), function($skip, $loc, $0, $1) {
4521
+ module2.trackedIndents.push(module2.lastIndent);
4522
+ });
4523
+ function TrackIndent(state) {
4524
+ if (state.verbose)
4525
+ console.log("ENTER:", "TrackIndent");
4526
+ if (state.tokenize) {
4527
+ return $TOKEN("TrackIndent", state, TrackIndent$0(state));
4528
+ } else {
4529
+ return TrackIndent$0(state);
4530
+ }
4531
+ }
4532
+ var RestoreIndent$0 = $TV($EXPECT($L1, fail, 'RestoreIndent ""'), function($skip, $loc, $0, $1) {
4533
+ const topLevel = module2.trackedIndents.pop();
4534
+ module2.lastIndent = topLevel;
4535
+ });
4536
+ function RestoreIndent(state) {
4537
+ if (state.verbose)
4538
+ console.log("ENTER:", "RestoreIndent");
4539
+ if (state.tokenize) {
4540
+ return $TOKEN("RestoreIndent", state, RestoreIndent$0(state));
4541
+ } else {
4542
+ return RestoreIndent$0(state);
4543
+ }
4544
+ }
4545
+ var Samedent$0 = $TS($S($E(EOS), Indent), function($skip, $loc, $0, $1, $2) {
4546
+ var indent = $2;
4547
+ if (indent.level === module2.trackedIndents[module2.trackedIndents.length - 1]) {
4548
+ return $0;
4453
4549
  }
4454
- global.indentLevels.push(global.currentIndent);
4455
- return global.currentIndent;
4550
+ return $skip;
4551
+ });
4552
+ function Samedent(state) {
4553
+ if (state.verbose)
4554
+ console.log("ENTER:", "Samedent");
4555
+ if (state.tokenize) {
4556
+ return $TOKEN("Samedent", state, Samedent$0(state));
4557
+ } else {
4558
+ return Samedent$0(state);
4559
+ }
4560
+ }
4561
+ var IndentedFurther$0 = $TS($S($E(EOS), Indent), function($skip, $loc, $0, $1, $2) {
4562
+ var indent = $2;
4563
+ if (indent.level > module2.trackedIndents[module2.trackedIndents.length - 1]) {
4564
+ return $0;
4565
+ }
4566
+ return $skip;
4567
+ });
4568
+ function IndentedFurther(state) {
4569
+ if (state.verbose)
4570
+ console.log("ENTER:", "IndentedFurther");
4571
+ if (state.tokenize) {
4572
+ return $TOKEN("IndentedFurther", state, IndentedFurther$0(state));
4573
+ } else {
4574
+ return IndentedFurther$0(state);
4575
+ }
4576
+ }
4577
+ var PushIndent$0 = $TV($EXPECT($L1, fail, 'PushIndent ""'), function($skip, $loc, $0, $1) {
4578
+ module2.currentIndent++;
4579
+ if (module2.verbose) {
4580
+ console.log("pushing indent", module2.currentIndent);
4581
+ }
4582
+ module2.indentLevels.push(module2.currentIndent);
4583
+ return module2.currentIndent;
4456
4584
  });
4457
4585
  function PushIndent(state) {
4458
4586
  if (state.verbose)
@@ -4463,13 +4591,13 @@ var require_parser = __commonJS({
4463
4591
  return PushIndent$0(state);
4464
4592
  }
4465
4593
  }
4466
- var PopIndent$0 = $TV($EXPECT($L16, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
4467
- if (global.verbose) {
4468
- console.log("popping indent", global.indentLevels[global.indentLevels.length - 1], "->", global.indentLevels[global.indentLevels.length - 2]);
4594
+ var PopIndent$0 = $TV($EXPECT($L1, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
4595
+ if (module2.verbose) {
4596
+ console.log("popping indent", module2.indentLevels[module2.indentLevels.length - 1], "->", module2.indentLevels[module2.indentLevels.length - 2]);
4469
4597
  }
4470
- global.indentLevels.pop();
4471
- global.currentIndent = global.indentLevels[global.indentLevels.length - 1];
4472
- return global.currentIndent;
4598
+ module2.indentLevels.pop();
4599
+ module2.currentIndent = module2.indentLevels[module2.indentLevels.length - 1];
4600
+ return module2.currentIndent;
4473
4601
  });
4474
4602
  function PopIndent(state) {
4475
4603
  if (state.verbose)
@@ -4483,18 +4611,19 @@ var require_parser = __commonJS({
4483
4611
  var Nested$0 = $TS($S($E(EOS), Indent), function($skip, $loc, $0, $1, $2) {
4484
4612
  var eos = $1;
4485
4613
  var indent = $2;
4486
- const currentIndent = global.indentLevels[global.indentLevels.length - 1];
4487
- if (global.verbose) {
4488
- console.log("global indent", global.currentIndent);
4489
- console.log("Indented", indent, currentIndent);
4490
- }
4491
- if (indent !== currentIndent) {
4492
- if (global.verbose) {
4614
+ const { level } = indent;
4615
+ const currentIndent = module2.indentLevels[module2.indentLevels.length - 1];
4616
+ if (module2.verbose) {
4617
+ console.log("global indent", module2.currentIndent);
4618
+ console.log("Indented", level, currentIndent);
4619
+ }
4620
+ if (level !== currentIndent) {
4621
+ if (module2.verbose) {
4493
4622
  console.log("skipped nested");
4494
4623
  }
4495
4624
  return $skip;
4496
4625
  }
4497
- return [eos, "".padStart(indent * 2)];
4626
+ return $0;
4498
4627
  });
4499
4628
  function Nested(state) {
4500
4629
  if (state.verbose)
@@ -4505,31 +4634,6 @@ var require_parser = __commonJS({
4505
4634
  return Nested$0(state);
4506
4635
  }
4507
4636
  }
4508
- var NestedFurther$0 = $TS($S($E(EOS), Indent), function($skip, $loc, $0, $1, $2) {
4509
- var eos = $1;
4510
- var indent = $2;
4511
- const currentIndent = global.indentLevels[global.indentLevels.length - 1];
4512
- if (global.verbose) {
4513
- console.log("global indent", global.currentIndent);
4514
- console.log("Indented", indent, currentIndent);
4515
- }
4516
- if (indent !== currentIndent + 1) {
4517
- if (global.verbose) {
4518
- console.log("skipped nested");
4519
- }
4520
- return $skip;
4521
- }
4522
- return [eos, "".padStart(indent * 2)];
4523
- });
4524
- function NestedFurther(state) {
4525
- if (state.verbose)
4526
- console.log("ENTER:", "NestedFurther");
4527
- if (state.tokenize) {
4528
- return $TOKEN("NestedFurther", state, NestedFurther$0(state));
4529
- } else {
4530
- return NestedFurther$0(state);
4531
- }
4532
- }
4533
4637
  module2.exports = {
4534
4638
  parse: parse2
4535
4639
  };