@danielx/civet 0.3.2 → 0.3.5

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
@@ -423,7 +423,7 @@ var require_parser = __commonJS({
423
423
  YieldExpression,
424
424
  ArrowFunction,
425
425
  FatArrow,
426
- ConciseBody,
426
+ FatArrowBody,
427
427
  ConditionalExpression,
428
428
  ShortCircuitExpression,
429
429
  PrimaryExpression,
@@ -472,7 +472,6 @@ var require_parser = __commonJS({
472
472
  BracedOrEmptyBlock,
473
473
  BracedBlock,
474
474
  SingleNestedExpression,
475
- SingleNestedBlockStatement,
476
475
  NestedBlockExpressions,
477
476
  BlockExpression,
478
477
  Literal,
@@ -498,6 +497,8 @@ var require_parser = __commonJS({
498
497
  PropertyDefinition,
499
498
  PropertyName,
500
499
  MethodDefinition,
500
+ MethodModifier,
501
+ MethodSignature,
501
502
  ClassElementName,
502
503
  PrivateIdentifier,
503
504
  GeneratorMethod,
@@ -557,6 +558,7 @@ var require_parser = __commonJS({
557
558
  ImportSpecifier,
558
559
  ModuleExportName,
559
560
  ModuleSpecifier,
561
+ UnquotedSpecifier,
560
562
  ImportedBinding,
561
563
  ExportDeclaration,
562
564
  As,
@@ -623,11 +625,19 @@ var require_parser = __commonJS({
623
625
  JSXText,
624
626
  JSXChildExpression,
625
627
  TypeDeclaration,
628
+ TypeDeclarationModifier,
629
+ TypeDeclarationRest,
630
+ TypeKeyword,
631
+ Interface,
632
+ Namespace,
626
633
  InterfaceBlock,
627
634
  NestedInterfaceProperties,
628
635
  NestedInterfaceProperty,
629
636
  InterfaceProperty,
630
637
  InterfacePropertyDelimiter,
638
+ NamespaceBlock,
639
+ NestedTypeDeclarations,
640
+ NestedTypeDeclaration,
631
641
  TypeIndexSignature,
632
642
  TypeIndex,
633
643
  TypeSuffix,
@@ -684,11 +694,11 @@ var require_parser = __commonJS({
684
694
  var $L10 = $L("*");
685
695
  var $L11 = $L("=>");
686
696
  var $L12 = $L("{");
687
- var $L13 = $L(":");
688
- var $L14 = $L("class");
689
- var $L15 = $L("<");
690
- var $L16 = $L("extends");
691
- var $L17 = $L("}");
697
+ var $L13 = $L("}");
698
+ var $L14 = $L(":");
699
+ var $L15 = $L("class");
700
+ var $L16 = $L("<");
701
+ var $L17 = $L("extends");
692
702
  var $L18 = $L("static");
693
703
  var $L19 = $L("this");
694
704
  var $L20 = $L("#");
@@ -799,43 +809,47 @@ var require_parser = __commonJS({
799
809
  var $L125 = $L("</");
800
810
  var $L126 = $L("<>");
801
811
  var $L127 = $L("</>");
802
- var $L128 = $L("readonly");
803
- var $L129 = $L("asserts");
804
- var $L130 = $L("keyof");
805
- var $L131 = $L("infer");
806
- var $L132 = $L("[]");
807
- var $L133 = $L(" ");
808
- var $L134 = $L(" ");
812
+ var $L128 = $L("declare");
813
+ var $L129 = $L("type");
814
+ var $L130 = $L("interface");
815
+ var $L131 = $L("namespace");
816
+ var $L132 = $L("readonly");
817
+ var $L133 = $L("asserts");
818
+ var $L134 = $L("keyof");
819
+ var $L135 = $L("infer");
820
+ var $L136 = $L("[]");
821
+ var $L137 = $L(" ");
822
+ var $L138 = $L(" ");
809
823
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
810
824
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
811
825
  var $R2 = $R(new RegExp("[!~+-]", "suy"));
812
- var $R3 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
813
- var $R4 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
814
- var $R5 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
815
- var $R6 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
816
- var $R7 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
817
- var $R8 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
818
- var $R9 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
819
- var $R10 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
820
- var $R11 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
821
- var $R12 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
822
- var $R13 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
823
- var $R14 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
824
- var $R15 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
825
- var $R16 = $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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
826
- var $R17 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
827
- var $R18 = $R(new RegExp(".", "suy"));
828
- var $R19 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
829
- var $R20 = $R(new RegExp("[^\\r\\n]", "suy"));
830
- var $R21 = $R(new RegExp("[\\t ]+", "suy"));
831
- var $R22 = $R(new RegExp("[\\s]+", "suy"));
832
- var $R23 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
833
- var $R24 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
834
- var $R25 = $R(new RegExp('"[^"]*"', "suy"));
835
- var $R26 = $R(new RegExp("'[^']*'", "suy"));
836
- var $R27 = $R(new RegExp("[^{}<>]+", "suy"));
837
- var $R28 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
838
- var $R29 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
826
+ var $R3 = $R(new RegExp("\\s", "suy"));
827
+ var $R4 = $R(new RegExp('[^"\\s]+', "suy"));
828
+ var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
829
+ var $R6 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
830
+ var $R7 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
831
+ var $R8 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
832
+ var $R9 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
833
+ var $R10 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
834
+ var $R11 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
835
+ var $R12 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
836
+ var $R13 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
837
+ var $R14 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
838
+ var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
839
+ var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
840
+ var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
841
+ var $R18 = $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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
842
+ var $R19 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
843
+ var $R20 = $R(new RegExp(".", "suy"));
844
+ var $R21 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
845
+ var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
846
+ var $R23 = $R(new RegExp("[\\t ]+", "suy"));
847
+ var $R24 = $R(new RegExp("[\\s]+", "suy"));
848
+ var $R25 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
849
+ var $R26 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
850
+ var $R27 = $R(new RegExp('"[^"]*"', "suy"));
851
+ var $R28 = $R(new RegExp("'[^']*'", "suy"));
852
+ var $R29 = $R(new RegExp("[^{}<>]+", "suy"));
839
853
  var $R30 = $R(new RegExp("[+-]?", "suy"));
840
854
  var $R31 = $R(new RegExp("[+-]", "suy"));
841
855
  var $R32 = $R(new RegExp("#![^\\r\\n]*", "suy"));
@@ -1028,7 +1042,7 @@ var require_parser = __commonJS({
1028
1042
  }
1029
1043
  }
1030
1044
  var ArrowFunction$0 = ThinArrowFunction;
1031
- var ArrowFunction$1 = $S(Parameters, $E(ReturnTypeSuffix), FatArrow, ConciseBody);
1045
+ var ArrowFunction$1 = $S(Parameters, $E(ReturnTypeSuffix), FatArrow, FatArrowBody);
1032
1046
  function ArrowFunction(state) {
1033
1047
  if (state.tokenize) {
1034
1048
  return $TOKEN("ArrowFunction", state, ArrowFunction$0(state) || ArrowFunction$1(state));
@@ -1051,17 +1065,27 @@ var require_parser = __commonJS({
1051
1065
  return FatArrow$0(state);
1052
1066
  }
1053
1067
  }
1054
- var ConciseBody$0 = $S(EOS, SingleNestedBlockStatement);
1055
- var ConciseBody$1 = $S($N($S($Q(_), $EXPECT($L12, fail, 'ConciseBody "{"'))), AssignmentExpression);
1056
- var ConciseBody$2 = BracedBlock;
1057
- function ConciseBody(state) {
1068
+ var FatArrowBody$0 = $S(__, $EXPECT($L12, fail, 'FatArrowBody "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'FatArrowBody "}"'));
1069
+ var FatArrowBody$1 = $TS($S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1070
+ var eos = $2;
1071
+ var exps = $3;
1072
+ if (exps.length == 1) {
1073
+ exps[0].pop();
1074
+ return [eos, exps];
1075
+ }
1076
+ return $0;
1077
+ });
1078
+ var FatArrowBody$2 = AssignmentExpression;
1079
+ var FatArrowBody$3 = $S(__, AssignmentExpression);
1080
+ var FatArrowBody$4 = $S(InsertOpenBrace, InsertCloseBrace);
1081
+ function FatArrowBody(state) {
1058
1082
  if (state.tokenize) {
1059
- return $TOKEN("ConciseBody", state, ConciseBody$0(state) || ConciseBody$1(state) || ConciseBody$2(state));
1083
+ return $TOKEN("FatArrowBody", state, FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state));
1060
1084
  } else {
1061
- return ConciseBody$0(state) || ConciseBody$1(state) || ConciseBody$2(state);
1085
+ return FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state);
1062
1086
  }
1063
1087
  }
1064
- var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, $EXPECT($L3, fail, 'ConditionalExpression "?"'), AssignmentExpression, __, $EXPECT($L13, fail, 'ConditionalExpression ":"'), AssignmentExpression)));
1088
+ var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, $EXPECT($L3, fail, 'ConditionalExpression "?"'), AssignmentExpression, __, $EXPECT($L14, fail, 'ConditionalExpression ":"'), AssignmentExpression)));
1065
1089
  function ConditionalExpression(state) {
1066
1090
  if (state.verbose)
1067
1091
  console.log("ENTER:", "ConditionalExpression");
@@ -1120,7 +1144,7 @@ var require_parser = __commonJS({
1120
1144
  return ClassExpression$0(state);
1121
1145
  }
1122
1146
  }
1123
- var Class$0 = $TV($EXPECT($L14, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1147
+ var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1124
1148
  return { $loc, token: $0 };
1125
1149
  });
1126
1150
  function Class(state) {
@@ -1142,10 +1166,10 @@ var require_parser = __commonJS({
1142
1166
  return ClassHeritage$0(state);
1143
1167
  }
1144
1168
  }
1145
- var ExtendsToken$0 = $TV($EXPECT($L15, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1169
+ var ExtendsToken$0 = $TV($EXPECT($L16, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1146
1170
  return { $loc, token: "extends" };
1147
1171
  });
1148
- var ExtendsToken$1 = $TV($EXPECT($L16, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1172
+ var ExtendsToken$1 = $TV($EXPECT($L17, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1149
1173
  return { $loc, token: $1 };
1150
1174
  });
1151
1175
  function ExtendsToken(state) {
@@ -1155,7 +1179,7 @@ var require_parser = __commonJS({
1155
1179
  return ExtendsToken$0(state) || ExtendsToken$1(state);
1156
1180
  }
1157
1181
  }
1158
- var ClassBody$0 = $S(__, $EXPECT($L12, fail, 'ClassBody "{"'), $E($S(EOS, NestedClassElements)), __, $EXPECT($L17, fail, 'ClassBody "}"'));
1182
+ var ClassBody$0 = $S(__, $EXPECT($L12, fail, 'ClassBody "{"'), $E($S(EOS, NestedClassElements)), __, $EXPECT($L13, fail, 'ClassBody "}"'));
1159
1183
  var ClassBody$1 = $S(InsertOpenBrace, EOS, NestedClassElements, InsertNewline, InsertIndent, InsertCloseBrace);
1160
1184
  function ClassBody(state) {
1161
1185
  if (state.tokenize) {
@@ -1439,7 +1463,7 @@ var require_parser = __commonJS({
1439
1463
  return BindingPattern$0(state) || BindingPattern$1(state);
1440
1464
  }
1441
1465
  }
1442
- var ObjectBindingPattern$0 = $S($EXPECT($L12, fail, 'ObjectBindingPattern "{"'), $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, $EXPECT($L17, fail, 'ObjectBindingPattern "}"'));
1466
+ var ObjectBindingPattern$0 = $S($EXPECT($L12, fail, 'ObjectBindingPattern "{"'), $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, $EXPECT($L13, fail, 'ObjectBindingPattern "}"'));
1443
1467
  function ObjectBindingPattern(state) {
1444
1468
  if (state.verbose)
1445
1469
  console.log("ENTER:", "ObjectBindingPattern");
@@ -1459,7 +1483,7 @@ var require_parser = __commonJS({
1459
1483
  return ArrayBindingPattern$0(state);
1460
1484
  }
1461
1485
  }
1462
- var BindingProperty$0 = $S(__, PropertyName, __, $EXPECT($L13, fail, 'BindingProperty ":"'), __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1486
+ var BindingProperty$0 = $S(__, PropertyName, __, $EXPECT($L14, fail, 'BindingProperty ":"'), __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1463
1487
  var BindingProperty$1 = $S(__, BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1464
1488
  function BindingProperty(state) {
1465
1489
  if (state.tokenize) {
@@ -1550,7 +1574,7 @@ var require_parser = __commonJS({
1550
1574
  return Arrow$0(state);
1551
1575
  }
1552
1576
  }
1553
- var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'Block "}"'));
1577
+ var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'Block "}"'));
1554
1578
  var Block$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1555
1579
  var Block$2 = Statement;
1556
1580
  var Block$3 = $S(__, Statement);
@@ -1570,7 +1594,7 @@ var require_parser = __commonJS({
1570
1594
  return BracedOrEmptyBlock$0(state) || BracedOrEmptyBlock$1(state);
1571
1595
  }
1572
1596
  }
1573
- var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'BracedBlock "}"'));
1597
+ var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BracedBlock "}"'));
1574
1598
  var BracedBlock$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1575
1599
  var BracedBlock$2 = $S(InsertOpenBrace, $N(EOS), __, Statement, InsertSpace, InsertCloseBrace);
1576
1600
  function BracedBlock(state) {
@@ -1595,21 +1619,6 @@ var require_parser = __commonJS({
1595
1619
  return SingleNestedExpression$0(state);
1596
1620
  }
1597
1621
  }
1598
- var SingleNestedBlockStatement$0 = $TS($S(PushIndent, $E($S(Nested, StatementListItem)), $C($C($N($S(Nested, StatementListItem)), PopIndent), PopIndent)), function($skip, $loc, $0, $1, $2, $3) {
1599
- var exp = $2;
1600
- if (exp)
1601
- return exp;
1602
- return $skip;
1603
- });
1604
- function SingleNestedBlockStatement(state) {
1605
- if (state.verbose)
1606
- console.log("ENTER:", "SingleNestedBlockStatement");
1607
- if (state.tokenize) {
1608
- return $TOKEN("SingleNestedBlockStatement", state, SingleNestedBlockStatement$0(state));
1609
- } else {
1610
- return SingleNestedBlockStatement$0(state);
1611
- }
1612
- }
1613
1622
  var NestedBlockExpressions$0 = $TS($S(PushIndent, $Q(BlockExpression), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
1614
1623
  var exps = $2;
1615
1624
  if (!exps.length)
@@ -1804,9 +1813,9 @@ var require_parser = __commonJS({
1804
1813
  return Elision$0(state);
1805
1814
  }
1806
1815
  }
1807
- var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1808
- var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1809
- var ObjectLiteral$2 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, $EXPECT($L17, fail, 'ObjectLiteral "}"'));
1816
+ var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1817
+ var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1818
+ var ObjectLiteral$2 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1810
1819
  var ObjectLiteral$3 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1811
1820
  function ObjectLiteral(state) {
1812
1821
  if (state.tokenize) {
@@ -1841,8 +1850,8 @@ var require_parser = __commonJS({
1841
1850
  }
1842
1851
  }
1843
1852
  var ObjectPropertyDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ObjectPropertyDelimiter ","'));
1844
- var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'ObjectPropertyDelimiter "}"')));
1845
- var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L17, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1853
+ var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"')));
1854
+ var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1846
1855
  return ",";
1847
1856
  });
1848
1857
  var ObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -1865,7 +1874,7 @@ var require_parser = __commonJS({
1865
1874
  return PropertyDefinitionList$0(state);
1866
1875
  }
1867
1876
  }
1868
- var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L13, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1877
+ var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L14, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1869
1878
  var PropertyDefinition$1 = MethodDefinition;
1870
1879
  var PropertyDefinition$2 = $S($EXPECT($L33, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1871
1880
  var PropertyDefinition$3 = IdentifierReference;
@@ -1900,6 +1909,26 @@ var require_parser = __commonJS({
1900
1909
  return MethodDefinition$0(state) || MethodDefinition$1(state) || MethodDefinition$2(state) || MethodDefinition$3(state) || MethodDefinition$4(state) || MethodDefinition$5(state);
1901
1910
  }
1902
1911
  }
1912
+ var MethodModifier$0 = $S($C($EXPECT($L39, fail, 'MethodModifier "get"'), $EXPECT($L40, fail, 'MethodModifier "set"')), NonIdContinue, $Q(TrailingComment));
1913
+ function MethodModifier(state) {
1914
+ if (state.verbose)
1915
+ console.log("ENTER:", "MethodModifier");
1916
+ if (state.tokenize) {
1917
+ return $TOKEN("MethodModifier", state, MethodModifier$0(state));
1918
+ } else {
1919
+ return MethodModifier$0(state);
1920
+ }
1921
+ }
1922
+ var MethodSignature$0 = $S($E(MethodModifier), ClassElementName, $Q(_), Parameters);
1923
+ function MethodSignature(state) {
1924
+ if (state.verbose)
1925
+ console.log("ENTER:", "MethodSignature");
1926
+ if (state.tokenize) {
1927
+ return $TOKEN("MethodSignature", state, MethodSignature$0(state));
1928
+ } else {
1929
+ return MethodSignature$0(state);
1930
+ }
1931
+ }
1903
1932
  var ClassElementName$0 = PropertyName;
1904
1933
  var ClassElementName$1 = PrivateIdentifier;
1905
1934
  function ClassElementName(state) {
@@ -2035,7 +2064,7 @@ var require_parser = __commonJS({
2035
2064
  var BinaryOpSymbol$6 = $EXPECT($L62, fail, 'BinaryOpSymbol "<="');
2036
2065
  var BinaryOpSymbol$7 = $EXPECT($L63, fail, 'BinaryOpSymbol ">="');
2037
2066
  var BinaryOpSymbol$8 = $EXPECT($L64, fail, 'BinaryOpSymbol "<<"');
2038
- var BinaryOpSymbol$9 = $EXPECT($L15, fail, 'BinaryOpSymbol "<"');
2067
+ var BinaryOpSymbol$9 = $EXPECT($L16, fail, 'BinaryOpSymbol "<"');
2039
2068
  var BinaryOpSymbol$10 = $EXPECT($L65, fail, 'BinaryOpSymbol ">>>"');
2040
2069
  var BinaryOpSymbol$11 = $EXPECT($L66, fail, 'BinaryOpSymbol ">>"');
2041
2070
  var BinaryOpSymbol$12 = $EXPECT($L67, fail, 'BinaryOpSymbol ">"');
@@ -2153,7 +2182,7 @@ var require_parser = __commonJS({
2153
2182
  return EmptyStatement$0(state);
2154
2183
  }
2155
2184
  }
2156
- var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L17, fail, 'BlockStatement "}"'));
2185
+ var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BlockStatement "}"'));
2157
2186
  function BlockStatement(state) {
2158
2187
  if (state.verbose)
2159
2188
  console.log("ENTER:", "BlockStatement");
@@ -2320,7 +2349,7 @@ var require_parser = __commonJS({
2320
2349
  return SwitchStatement$0(state);
2321
2350
  }
2322
2351
  }
2323
- var CaseBlock$0 = $S(__, $EXPECT($L12, fail, 'CaseBlock "{"'), $Y(EOS), NestedCaseClauses, __, $EXPECT($L17, fail, 'CaseBlock "}"'));
2352
+ var CaseBlock$0 = $S(__, $EXPECT($L12, fail, 'CaseBlock "{"'), $Y(EOS), NestedCaseClauses, __, $EXPECT($L13, fail, 'CaseBlock "}"'));
2324
2353
  var CaseBlock$1 = $S($Y(EOS), InsertOpenBrace, NestedCaseClauses, InsertNewline, InsertCloseBrace);
2325
2354
  function CaseBlock(state) {
2326
2355
  if (state.tokenize) {
@@ -2376,7 +2405,7 @@ var require_parser = __commonJS({
2376
2405
  return When$0(state);
2377
2406
  }
2378
2407
  }
2379
- var ImpliedColon$0 = $S(__, $EXPECT($L13, fail, 'ImpliedColon ":"'));
2408
+ var ImpliedColon$0 = $S(__, $EXPECT($L14, fail, 'ImpliedColon ":"'));
2380
2409
  var ImpliedColon$1 = $T($EXPECT($L32, fail, 'ImpliedColon ""'), function(value) {
2381
2410
  return ":";
2382
2411
  });
@@ -2519,7 +2548,7 @@ var require_parser = __commonJS({
2519
2548
  return ImpliedImport$0(state);
2520
2549
  }
2521
2550
  }
2522
- var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2551
+ var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), $Y($EXPECT($R3, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
2523
2552
  return { $loc, token: $1 };
2524
2553
  });
2525
2554
  function Import(state) {
@@ -2551,7 +2580,7 @@ var require_parser = __commonJS({
2551
2580
  return NameSpaceImport$0(state);
2552
2581
  }
2553
2582
  }
2554
- var NamedImports$0 = $S($EXPECT($L12, fail, 'NamedImports "{"'), $Q(ImportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedImports ","'))), __, $EXPECT($L17, fail, 'NamedImports "}"'));
2583
+ var NamedImports$0 = $S($EXPECT($L12, fail, 'NamedImports "{"'), $Q(ImportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedImports ","'))), __, $EXPECT($L13, fail, 'NamedImports "}"'));
2555
2584
  function NamedImports(state) {
2556
2585
  if (state.verbose)
2557
2586
  console.log("ENTER:", "NamedImports");
@@ -2602,13 +2631,25 @@ var require_parser = __commonJS({
2602
2631
  }
2603
2632
  }
2604
2633
  var ModuleSpecifier$0 = StringLiteral;
2634
+ var ModuleSpecifier$1 = UnquotedSpecifier;
2605
2635
  function ModuleSpecifier(state) {
2636
+ if (state.tokenize) {
2637
+ return $TOKEN("ModuleSpecifier", state, ModuleSpecifier$0(state) || ModuleSpecifier$1(state));
2638
+ } else {
2639
+ return ModuleSpecifier$0(state) || ModuleSpecifier$1(state);
2640
+ }
2641
+ }
2642
+ var UnquotedSpecifier$0 = $TV($EXPECT($R4, fail, 'UnquotedSpecifier /[^"\\s]+/'), function($skip, $loc, $0, $1) {
2643
+ var spec = $0;
2644
+ return { $loc, token: `"${spec}"` };
2645
+ });
2646
+ function UnquotedSpecifier(state) {
2606
2647
  if (state.verbose)
2607
- console.log("ENTER:", "ModuleSpecifier");
2648
+ console.log("ENTER:", "UnquotedSpecifier");
2608
2649
  if (state.tokenize) {
2609
- return $TOKEN("ModuleSpecifier", state, ModuleSpecifier$0(state));
2650
+ return $TOKEN("UnquotedSpecifier", state, UnquotedSpecifier$0(state));
2610
2651
  } else {
2611
- return ModuleSpecifier$0(state);
2652
+ return UnquotedSpecifier$0(state);
2612
2653
  }
2613
2654
  }
2614
2655
  var ImportedBinding$0 = BindingIdentifier;
@@ -2660,7 +2701,7 @@ var require_parser = __commonJS({
2660
2701
  return ExportFromClause$0(state) || ExportFromClause$1(state);
2661
2702
  }
2662
2703
  }
2663
- var NamedExports$0 = $S($EXPECT($L12, fail, 'NamedExports "{"'), $Q(ExportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedExports ","'))), __, $EXPECT($L17, fail, 'NamedExports "}"'));
2704
+ var NamedExports$0 = $S($EXPECT($L12, fail, 'NamedExports "{"'), $Q(ExportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedExports ","'))), __, $EXPECT($L13, fail, 'NamedExports "}"'));
2664
2705
  function NamedExports(state) {
2665
2706
  if (state.verbose)
2666
2707
  console.log("ENTER:", "NamedExports");
@@ -2809,7 +2850,7 @@ var require_parser = __commonJS({
2809
2850
  return NumericLiteralKind$0(state) || NumericLiteralKind$1(state) || NumericLiteralKind$2(state) || NumericLiteralKind$3(state) || NumericLiteralKind$4(state);
2810
2851
  }
2811
2852
  }
2812
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R3, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2853
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2813
2854
  function DecimalBigIntegerLiteral(state) {
2814
2855
  if (state.verbose)
2815
2856
  console.log("ENTER:", "DecimalBigIntegerLiteral");
@@ -2819,7 +2860,7 @@ var require_parser = __commonJS({
2819
2860
  return DecimalBigIntegerLiteral$0(state);
2820
2861
  }
2821
2862
  }
2822
- var DecimalLiteral$0 = $R$0($EXPECT($R4, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2863
+ var DecimalLiteral$0 = $R$0($EXPECT($R6, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2823
2864
  function DecimalLiteral(state) {
2824
2865
  if (state.verbose)
2825
2866
  console.log("ENTER:", "DecimalLiteral");
@@ -2829,7 +2870,7 @@ var require_parser = __commonJS({
2829
2870
  return DecimalLiteral$0(state);
2830
2871
  }
2831
2872
  }
2832
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2873
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2833
2874
  function BinaryIntegerLiteral(state) {
2834
2875
  if (state.verbose)
2835
2876
  console.log("ENTER:", "BinaryIntegerLiteral");
@@ -2839,7 +2880,7 @@ var require_parser = __commonJS({
2839
2880
  return BinaryIntegerLiteral$0(state);
2840
2881
  }
2841
2882
  }
2842
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R6, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2883
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R8, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2843
2884
  function OctalIntegerLiteral(state) {
2844
2885
  if (state.verbose)
2845
2886
  console.log("ENTER:", "OctalIntegerLiteral");
@@ -2849,7 +2890,7 @@ var require_parser = __commonJS({
2849
2890
  return OctalIntegerLiteral$0(state);
2850
2891
  }
2851
2892
  }
2852
- var HexLiteral$0 = $R$0($EXPECT($R7, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2893
+ var HexLiteral$0 = $R$0($EXPECT($R9, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2853
2894
  function HexLiteral(state) {
2854
2895
  if (state.verbose)
2855
2896
  console.log("ENTER:", "HexLiteral");
@@ -2880,7 +2921,7 @@ var require_parser = __commonJS({
2880
2921
  return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
2881
2922
  }
2882
2923
  }
2883
- var DoubleStringCharacter$0 = $R$0($EXPECT($R8, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2924
+ var DoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2884
2925
  function DoubleStringCharacter(state) {
2885
2926
  if (state.verbose)
2886
2927
  console.log("ENTER:", "DoubleStringCharacter");
@@ -2890,7 +2931,7 @@ var require_parser = __commonJS({
2890
2931
  return DoubleStringCharacter$0(state);
2891
2932
  }
2892
2933
  }
2893
- var SingleStringCharacter$0 = $R$0($EXPECT($R9, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2934
+ var SingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2894
2935
  function SingleStringCharacter(state) {
2895
2936
  if (state.verbose)
2896
2937
  console.log("ENTER:", "SingleStringCharacter");
@@ -2900,7 +2941,7 @@ var require_parser = __commonJS({
2900
2941
  return SingleStringCharacter$0(state);
2901
2942
  }
2902
2943
  }
2903
- var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2944
+ var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R12, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2904
2945
  function TripleDoubleStringCharacter(state) {
2905
2946
  if (state.verbose)
2906
2947
  console.log("ENTER:", "TripleDoubleStringCharacter");
@@ -2910,7 +2951,7 @@ var require_parser = __commonJS({
2910
2951
  return TripleDoubleStringCharacter$0(state);
2911
2952
  }
2912
2953
  }
2913
- var TripleSingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
2954
+ var TripleSingleStringCharacter$0 = $R$0($EXPECT($R13, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
2914
2955
  function TripleSingleStringCharacter(state) {
2915
2956
  if (state.verbose)
2916
2957
  console.log("ENTER:", "TripleSingleStringCharacter");
@@ -2932,7 +2973,7 @@ var require_parser = __commonJS({
2932
2973
  return RegularExpressionLiteral$0(state);
2933
2974
  }
2934
2975
  }
2935
- var RegularExpressionBody$0 = $S($R$0($EXPECT($R12, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2976
+ var RegularExpressionBody$0 = $S($R$0($EXPECT($R14, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2936
2977
  function RegularExpressionBody(state) {
2937
2978
  if (state.verbose)
2938
2979
  console.log("ENTER:", "RegularExpressionBody");
@@ -2942,7 +2983,7 @@ var require_parser = __commonJS({
2942
2983
  return RegularExpressionBody$0(state);
2943
2984
  }
2944
2985
  }
2945
- var RegExpCharacter$0 = $R$0($EXPECT($R13, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2986
+ var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2946
2987
  function RegExpCharacter(state) {
2947
2988
  if (state.verbose)
2948
2989
  console.log("ENTER:", "RegExpCharacter");
@@ -2952,7 +2993,7 @@ var require_parser = __commonJS({
2952
2993
  return RegExpCharacter$0(state);
2953
2994
  }
2954
2995
  }
2955
- var RegularExpressionFlags$0 = $R$0($EXPECT($R14, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2996
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2956
2997
  function RegularExpressionFlags(state) {
2957
2998
  if (state.verbose)
2958
2999
  console.log("ENTER:", "RegularExpressionFlags");
@@ -2972,7 +3013,7 @@ var require_parser = __commonJS({
2972
3013
  return TemplateLiteral$0(state);
2973
3014
  }
2974
3015
  }
2975
- var TemplateSubstitution$0 = $S($EXPECT($L120, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L17, fail, 'TemplateSubstitution "}"'));
3016
+ var TemplateSubstitution$0 = $S($EXPECT($L120, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L13, fail, 'TemplateSubstitution "}"'));
2976
3017
  function TemplateSubstitution(state) {
2977
3018
  if (state.verbose)
2978
3019
  console.log("ENTER:", "TemplateSubstitution");
@@ -2982,7 +3023,7 @@ var require_parser = __commonJS({
2982
3023
  return TemplateSubstitution$0(state);
2983
3024
  }
2984
3025
  }
2985
- var TemplateCharacters$0 = $R$0($EXPECT($R15, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
3026
+ var TemplateCharacters$0 = $R$0($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
2986
3027
  function TemplateCharacters(state) {
2987
3028
  if (state.verbose)
2988
3029
  console.log("ENTER:", "TemplateCharacters");
@@ -2992,7 +3033,7 @@ var require_parser = __commonJS({
2992
3033
  return TemplateCharacters$0(state);
2993
3034
  }
2994
3035
  }
2995
- var ReservedWord$0 = $R$0($EXPECT($R16, 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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
3036
+ var ReservedWord$0 = $R$0($EXPECT($R18, 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|new|null|or|return|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
2996
3037
  function ReservedWord(state) {
2997
3038
  if (state.verbose)
2998
3039
  console.log("ENTER:", "ReservedWord");
@@ -3011,7 +3052,7 @@ var require_parser = __commonJS({
3011
3052
  return Comment$0(state) || Comment$1(state);
3012
3053
  }
3013
3054
  }
3014
- var SingleLineComment$0 = $R$0($EXPECT($R17, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
3055
+ var SingleLineComment$0 = $R$0($EXPECT($R19, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
3015
3056
  var SingleLineComment$1 = CoffeeSingleLineComment;
3016
3057
  function SingleLineComment(state) {
3017
3058
  if (state.tokenize) {
@@ -3029,7 +3070,7 @@ var require_parser = __commonJS({
3029
3070
  return MultiLineComment$0(state) || MultiLineComment$1(state);
3030
3071
  }
3031
3072
  }
3032
- var JSMultiLineComment$0 = $S($EXPECT($L121, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'JSMultiLineComment "*/"')), $EXPECT($R18, fail, "JSMultiLineComment /./")))), $EXPECT($L122, fail, 'JSMultiLineComment "*/"'));
3073
+ var JSMultiLineComment$0 = $S($EXPECT($L121, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'JSMultiLineComment "*/"')), $EXPECT($R20, fail, "JSMultiLineComment /./")))), $EXPECT($L122, fail, 'JSMultiLineComment "*/"'));
3033
3074
  function JSMultiLineComment(state) {
3034
3075
  if (state.verbose)
3035
3076
  console.log("ENTER:", "JSMultiLineComment");
@@ -3039,7 +3080,7 @@ var require_parser = __commonJS({
3039
3080
  return JSMultiLineComment$0(state);
3040
3081
  }
3041
3082
  }
3042
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R19, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3083
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R21, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3043
3084
  if (!global.coffeeCompat)
3044
3085
  return $skip;
3045
3086
  return ["//", $1];
@@ -3053,7 +3094,7 @@ var require_parser = __commonJS({
3053
3094
  return CoffeeSingleLineComment$0(state);
3054
3095
  }
3055
3096
  }
3056
- var CoffeeMultiLineComment$0 = $T($S($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R18, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), function(value) {
3097
+ var CoffeeMultiLineComment$0 = $T($S($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R20, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L123, fail, 'CoffeeMultiLineComment "###"')), function(value) {
3057
3098
  return ["/*", value[1], "*/"];
3058
3099
  });
3059
3100
  function CoffeeMultiLineComment(state) {
@@ -3065,7 +3106,7 @@ var require_parser = __commonJS({
3065
3106
  return CoffeeMultiLineComment$0(state);
3066
3107
  }
3067
3108
  }
3068
- var InlineComment$0 = $S($EXPECT($L121, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'InlineComment "*/"')), $EXPECT($R20, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L122, fail, 'InlineComment "*/"'));
3109
+ var InlineComment$0 = $S($EXPECT($L121, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'InlineComment "*/"')), $EXPECT($R22, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L122, fail, 'InlineComment "*/"'));
3069
3110
  function InlineComment(state) {
3070
3111
  if (state.verbose)
3071
3112
  console.log("ENTER:", "InlineComment");
@@ -3085,7 +3126,7 @@ var require_parser = __commonJS({
3085
3126
  return RestOfLine$0(state);
3086
3127
  }
3087
3128
  }
3088
- var TrailingComment$0 = $R$0($EXPECT($R21, fail, "TrailingComment /[\\t ]+/"));
3129
+ var TrailingComment$0 = $R$0($EXPECT($R23, fail, "TrailingComment /[\\t ]+/"));
3089
3130
  var TrailingComment$1 = InlineComment;
3090
3131
  var TrailingComment$2 = SingleLineComment;
3091
3132
  function TrailingComment(state) {
@@ -3095,7 +3136,7 @@ var require_parser = __commonJS({
3095
3136
  return TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
3096
3137
  }
3097
3138
  }
3098
- var _$0 = $P($C($R$0($EXPECT($R21, fail, "_ /[\\t ]+/")), Comment));
3139
+ var _$0 = $P($C($R$0($EXPECT($R23, fail, "_ /[\\t ]+/")), Comment));
3099
3140
  function _(state) {
3100
3141
  if (state.verbose)
3101
3142
  console.log("ENTER:", "_");
@@ -3105,7 +3146,7 @@ var require_parser = __commonJS({
3105
3146
  return _$0(state);
3106
3147
  }
3107
3148
  }
3108
- var __$0 = $Q($C($R$0($EXPECT($R22, fail, "__ /[\\s]+/")), Comment));
3149
+ var __$0 = $Q($C($R$0($EXPECT($R24, fail, "__ /[\\s]+/")), Comment));
3109
3150
  function __(state) {
3110
3151
  if (state.verbose)
3111
3152
  console.log("ENTER:", "__");
@@ -3126,7 +3167,7 @@ var require_parser = __commonJS({
3126
3167
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
3127
3168
  }
3128
3169
  }
3129
- var NonIdContinue$0 = $R$0($EXPECT($R23, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3170
+ var NonIdContinue$0 = $R$0($EXPECT($R25, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3130
3171
  function NonIdContinue(state) {
3131
3172
  if (state.verbose)
3132
3173
  console.log("ENTER:", "NonIdContinue");
@@ -3150,7 +3191,7 @@ var require_parser = __commonJS({
3150
3191
  return JSXElement$0(state) || JSXElement$1(state);
3151
3192
  }
3152
3193
  }
3153
- var JSXSelfClosingElement$0 = $S($EXPECT($L15, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L124, fail, 'JSXSelfClosingElement "/>"'));
3194
+ var JSXSelfClosingElement$0 = $S($EXPECT($L16, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L124, fail, 'JSXSelfClosingElement "/>"'));
3154
3195
  function JSXSelfClosingElement(state) {
3155
3196
  if (state.verbose)
3156
3197
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -3160,7 +3201,7 @@ var require_parser = __commonJS({
3160
3201
  return JSXSelfClosingElement$0(state);
3161
3202
  }
3162
3203
  }
3163
- var JSXOpeningElement$0 = $S($EXPECT($L15, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L67, fail, 'JSXOpeningElement ">"'));
3204
+ var JSXOpeningElement$0 = $S($EXPECT($L16, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L67, fail, 'JSXOpeningElement ">"'));
3164
3205
  function JSXOpeningElement(state) {
3165
3206
  if (state.verbose)
3166
3207
  console.log("ENTER:", "JSXOpeningElement");
@@ -3190,7 +3231,7 @@ var require_parser = __commonJS({
3190
3231
  return JSXFragment$0(state);
3191
3232
  }
3192
3233
  }
3193
- var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L13, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3234
+ var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L14, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3194
3235
  function JSXElementName(state) {
3195
3236
  if (state.verbose)
3196
3237
  console.log("ENTER:", "JSXElementName");
@@ -3200,7 +3241,7 @@ var require_parser = __commonJS({
3200
3241
  return JSXElementName$0(state);
3201
3242
  }
3202
3243
  }
3203
- var JSXIdentifierName$0 = $R$0($EXPECT($R24, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3244
+ var JSXIdentifierName$0 = $R$0($EXPECT($R26, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3204
3245
  function JSXIdentifierName(state) {
3205
3246
  if (state.verbose)
3206
3247
  console.log("ENTER:", "JSXIdentifierName");
@@ -3220,7 +3261,7 @@ var require_parser = __commonJS({
3220
3261
  return JSXAttributes$0(state);
3221
3262
  }
3222
3263
  }
3223
- var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L33, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L17, fail, 'JSXAttribute "}"'));
3264
+ var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L33, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttribute "}"'));
3224
3265
  var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3225
3266
  function JSXAttribute(state) {
3226
3267
  if (state.tokenize) {
@@ -3229,7 +3270,7 @@ var require_parser = __commonJS({
3229
3270
  return JSXAttribute$0(state) || JSXAttribute$1(state);
3230
3271
  }
3231
3272
  }
3232
- var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L13, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3273
+ var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L14, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3233
3274
  function JSXAttributeName(state) {
3234
3275
  if (state.verbose)
3235
3276
  console.log("ENTER:", "JSXAttributeName");
@@ -3249,9 +3290,9 @@ var require_parser = __commonJS({
3249
3290
  return JSXAttributeInitializer$0(state);
3250
3291
  }
3251
3292
  }
3252
- var JSXAttributeValue$0 = $R$0($EXPECT($R25, fail, 'JSXAttributeValue /"[^"]*"/'));
3253
- var JSXAttributeValue$1 = $R$0($EXPECT($R26, fail, "JSXAttributeValue /'[^']*'/"));
3254
- var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L17, fail, 'JSXAttributeValue "}"'));
3293
+ var JSXAttributeValue$0 = $R$0($EXPECT($R27, fail, 'JSXAttributeValue /"[^"]*"/'));
3294
+ var JSXAttributeValue$1 = $R$0($EXPECT($R28, fail, "JSXAttributeValue /'[^']*'/"));
3295
+ var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttributeValue "}"'));
3255
3296
  var JSXAttributeValue$3 = JSXElement;
3256
3297
  var JSXAttributeValue$4 = JSXFragment;
3257
3298
  function JSXAttributeValue(state) {
@@ -3274,7 +3315,7 @@ var require_parser = __commonJS({
3274
3315
  var JSXChild$0 = JSXText;
3275
3316
  var JSXChild$1 = JSXElement;
3276
3317
  var JSXChild$2 = JSXFragment;
3277
- var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L17, fail, 'JSXChild "}"'));
3318
+ var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L13, fail, 'JSXChild "}"'));
3278
3319
  function JSXChild(state) {
3279
3320
  if (state.tokenize) {
3280
3321
  return $TOKEN("JSXChild", state, JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state));
@@ -3282,7 +3323,7 @@ var require_parser = __commonJS({
3282
3323
  return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
3283
3324
  }
3284
3325
  }
3285
- var JSXText$0 = $R$0($EXPECT($R27, fail, "JSXText /[^{}<>]+/"));
3326
+ var JSXText$0 = $R$0($EXPECT($R29, fail, "JSXText /[^{}<>]+/"));
3286
3327
  function JSXText(state) {
3287
3328
  if (state.verbose)
3288
3329
  console.log("ENTER:", "JSXText");
@@ -3302,21 +3343,69 @@ var require_parser = __commonJS({
3302
3343
  return JSXChildExpression$0(state);
3303
3344
  }
3304
3345
  }
3305
- var TypeDeclaration$0 = $T($S($EXPECT($R28, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L56, fail, 'TypeDeclaration "="'), __, Type), function(value) {
3306
- return { "ts": true, "children": value };
3307
- });
3308
- var TypeDeclaration$1 = $T($S($EXPECT($R29, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
3346
+ var TypeDeclaration$0 = $T($S($Q($S(TypeDeclarationModifier, $Q(TrailingComment))), TypeDeclarationRest), function(value) {
3309
3347
  return { "ts": true, "children": value };
3310
3348
  });
3311
3349
  function TypeDeclaration(state) {
3350
+ if (state.verbose)
3351
+ console.log("ENTER:", "TypeDeclaration");
3312
3352
  if (state.tokenize) {
3313
- return $TOKEN("TypeDeclaration", state, TypeDeclaration$0(state) || TypeDeclaration$1(state));
3353
+ return $TOKEN("TypeDeclaration", state, TypeDeclaration$0(state));
3314
3354
  } else {
3315
- return TypeDeclaration$0(state) || TypeDeclaration$1(state);
3355
+ return TypeDeclaration$0(state);
3316
3356
  }
3317
3357
  }
3318
- var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L17, fail, 'InterfaceBlock "}"'));
3319
- var InterfaceBlock$1 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), $Q($S(__, InterfaceProperty)), __, $EXPECT($L17, fail, 'InterfaceBlock "}"'));
3358
+ var TypeDeclarationModifier$0 = $S($EXPECT($L128, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
3359
+ var TypeDeclarationModifier$1 = $S($EXPECT($L113, fail, 'TypeDeclarationModifier "export"'), NonIdContinue);
3360
+ function TypeDeclarationModifier(state) {
3361
+ if (state.tokenize) {
3362
+ return $TOKEN("TypeDeclarationModifier", state, TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state));
3363
+ } else {
3364
+ return TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state);
3365
+ }
3366
+ }
3367
+ var TypeDeclarationRest$0 = $S(TypeKeyword, $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L56, fail, 'TypeDeclarationRest "="'), __, Type);
3368
+ var TypeDeclarationRest$1 = $S(Interface, $Q(TrailingComment), IdentifierName, InterfaceBlock);
3369
+ var TypeDeclarationRest$2 = $S(Namespace, $Q(TrailingComment), IdentifierName, NamespaceBlock);
3370
+ function TypeDeclarationRest(state) {
3371
+ if (state.tokenize) {
3372
+ return $TOKEN("TypeDeclarationRest", state, TypeDeclarationRest$0(state) || TypeDeclarationRest$1(state) || TypeDeclarationRest$2(state));
3373
+ } else {
3374
+ return TypeDeclarationRest$0(state) || TypeDeclarationRest$1(state) || TypeDeclarationRest$2(state);
3375
+ }
3376
+ }
3377
+ var TypeKeyword$0 = $S($EXPECT($L129, fail, 'TypeKeyword "type"'), NonIdContinue);
3378
+ function TypeKeyword(state) {
3379
+ if (state.verbose)
3380
+ console.log("ENTER:", "TypeKeyword");
3381
+ if (state.tokenize) {
3382
+ return $TOKEN("TypeKeyword", state, TypeKeyword$0(state));
3383
+ } else {
3384
+ return TypeKeyword$0(state);
3385
+ }
3386
+ }
3387
+ var Interface$0 = $S($EXPECT($L130, fail, 'Interface "interface"'), NonIdContinue);
3388
+ function Interface(state) {
3389
+ if (state.verbose)
3390
+ console.log("ENTER:", "Interface");
3391
+ if (state.tokenize) {
3392
+ return $TOKEN("Interface", state, Interface$0(state));
3393
+ } else {
3394
+ return Interface$0(state);
3395
+ }
3396
+ }
3397
+ var Namespace$0 = $S($EXPECT($L131, fail, 'Namespace "namespace"'), NonIdContinue);
3398
+ function Namespace(state) {
3399
+ if (state.verbose)
3400
+ console.log("ENTER:", "Namespace");
3401
+ if (state.tokenize) {
3402
+ return $TOKEN("Namespace", state, Namespace$0(state));
3403
+ } else {
3404
+ return Namespace$0(state);
3405
+ }
3406
+ }
3407
+ var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3408
+ var InterfaceBlock$1 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), $Q($S(__, InterfaceProperty)), __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3320
3409
  var InterfaceBlock$2 = $S(InsertOpenBrace, EOS, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
3321
3410
  function InterfaceBlock(state) {
3322
3411
  if (state.tokenize) {
@@ -3351,18 +3440,17 @@ var require_parser = __commonJS({
3351
3440
  }
3352
3441
  }
3353
3442
  var InterfaceProperty$0 = $S($C(TypeIndexSignature, PropertyName), TypeSuffix, InterfacePropertyDelimiter);
3443
+ var InterfaceProperty$1 = $S(MethodSignature, $E(TypeSuffix));
3354
3444
  function InterfaceProperty(state) {
3355
- if (state.verbose)
3356
- console.log("ENTER:", "InterfaceProperty");
3357
3445
  if (state.tokenize) {
3358
- return $TOKEN("InterfaceProperty", state, InterfaceProperty$0(state));
3446
+ return $TOKEN("InterfaceProperty", state, InterfaceProperty$0(state) || InterfaceProperty$1(state));
3359
3447
  } else {
3360
- return InterfaceProperty$0(state);
3448
+ return InterfaceProperty$0(state) || InterfaceProperty$1(state);
3361
3449
  }
3362
3450
  }
3363
3451
  var InterfacePropertyDelimiter$0 = $S($Q(_), $EXPECT($L88, fail, 'InterfacePropertyDelimiter ";"'));
3364
- var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'InterfacePropertyDelimiter "}"')));
3365
- var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L17, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3452
+ var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"')));
3453
+ var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3366
3454
  return ";";
3367
3455
  });
3368
3456
  var InterfacePropertyDelimiter$3 = $T($Y(EOS), function(value) {
@@ -3375,7 +3463,42 @@ var require_parser = __commonJS({
3375
3463
  return InterfacePropertyDelimiter$0(state) || InterfacePropertyDelimiter$1(state) || InterfacePropertyDelimiter$2(state) || InterfacePropertyDelimiter$3(state);
3376
3464
  }
3377
3465
  }
3378
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R30, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L128, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L26, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L27, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R31, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
3466
+ var NamespaceBlock$0 = $S(__, $EXPECT($L12, fail, 'NamespaceBlock "{"'), EOS, NestedTypeDeclarations, __, $EXPECT($L13, fail, 'NamespaceBlock "}"'));
3467
+ var NamespaceBlock$1 = $S(__, $EXPECT($L12, fail, 'NamespaceBlock "{"'), $Q($S(__, TypeDeclaration, InterfacePropertyDelimiter)), __, $EXPECT($L13, fail, 'NamespaceBlock "}"'));
3468
+ var NamespaceBlock$2 = $S(InsertOpenBrace, EOS, NestedTypeDeclarations, InsertNewline, InsertIndent, InsertCloseBrace);
3469
+ function NamespaceBlock(state) {
3470
+ if (state.tokenize) {
3471
+ return $TOKEN("NamespaceBlock", state, NamespaceBlock$0(state) || NamespaceBlock$1(state) || NamespaceBlock$2(state));
3472
+ } else {
3473
+ return NamespaceBlock$0(state) || NamespaceBlock$1(state) || NamespaceBlock$2(state);
3474
+ }
3475
+ }
3476
+ var NestedTypeDeclarations$0 = $TS($S(PushIndent, $Q(NestedTypeDeclaration), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
3477
+ var decs = $2;
3478
+ if (decs.length)
3479
+ return decs;
3480
+ return $skip;
3481
+ });
3482
+ function NestedTypeDeclarations(state) {
3483
+ if (state.verbose)
3484
+ console.log("ENTER:", "NestedTypeDeclarations");
3485
+ if (state.tokenize) {
3486
+ return $TOKEN("NestedTypeDeclarations", state, NestedTypeDeclarations$0(state));
3487
+ } else {
3488
+ return NestedTypeDeclarations$0(state);
3489
+ }
3490
+ }
3491
+ var NestedTypeDeclaration$0 = $S(Nested, TypeDeclaration, InterfacePropertyDelimiter);
3492
+ function NestedTypeDeclaration(state) {
3493
+ if (state.verbose)
3494
+ console.log("ENTER:", "NestedTypeDeclaration");
3495
+ if (state.tokenize) {
3496
+ return $TOKEN("NestedTypeDeclaration", state, NestedTypeDeclaration$0(state));
3497
+ } else {
3498
+ return NestedTypeDeclaration$0(state);
3499
+ }
3500
+ }
3501
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R30, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L132, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L26, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L27, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R31, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
3379
3502
  function TypeIndexSignature(state) {
3380
3503
  if (state.verbose)
3381
3504
  console.log("ENTER:", "TypeIndexSignature");
@@ -3394,7 +3517,7 @@ var require_parser = __commonJS({
3394
3517
  return TypeIndex$0(state) || TypeIndex$1(state);
3395
3518
  }
3396
3519
  }
3397
- var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L13, fail, 'TypeSuffix ":"'), Type), function(value) {
3520
+ var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L14, fail, 'TypeSuffix ":"'), Type), function(value) {
3398
3521
  return { "ts": true, "children": value };
3399
3522
  });
3400
3523
  function TypeSuffix(state) {
@@ -3406,7 +3529,7 @@ var require_parser = __commonJS({
3406
3529
  return TypeSuffix$0(state);
3407
3530
  }
3408
3531
  }
3409
- var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L13, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L129, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
3532
+ var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L14, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L133, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
3410
3533
  return { "ts": true, "children": value };
3411
3534
  });
3412
3535
  function ReturnTypeSuffix(state) {
@@ -3468,9 +3591,9 @@ var require_parser = __commonJS({
3468
3591
  return TypeUnarySuffix$0(state);
3469
3592
  }
3470
3593
  }
3471
- var TypeUnaryOp$0 = $EXPECT($L130, fail, 'TypeUnaryOp "keyof"');
3594
+ var TypeUnaryOp$0 = $EXPECT($L134, fail, 'TypeUnaryOp "keyof"');
3472
3595
  var TypeUnaryOp$1 = $EXPECT($L85, fail, 'TypeUnaryOp "typeof"');
3473
- var TypeUnaryOp$2 = $EXPECT($L131, fail, 'TypeUnaryOp "infer"');
3596
+ var TypeUnaryOp$2 = $EXPECT($L135, fail, 'TypeUnaryOp "infer"');
3474
3597
  function TypeUnaryOp(state) {
3475
3598
  if (state.tokenize) {
3476
3599
  return $TOKEN("TypeUnaryOp", state, TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state));
@@ -3500,7 +3623,7 @@ var require_parser = __commonJS({
3500
3623
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3501
3624
  }
3502
3625
  }
3503
- var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L16, fail, 'TypeConditional "extends"'), Type, $E($S(__, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L13, fail, 'TypeConditional ":"'), Type)))));
3626
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L17, fail, 'TypeConditional "extends"'), Type, $E($S(__, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L14, fail, 'TypeConditional ":"'), Type)))));
3504
3627
  function TypeConditional(state) {
3505
3628
  if (state.verbose)
3506
3629
  console.log("ENTER:", "TypeConditional");
@@ -3512,7 +3635,7 @@ var require_parser = __commonJS({
3512
3635
  }
3513
3636
  var TypeLiteral$0 = Literal;
3514
3637
  var TypeLiteral$1 = $EXPECT($L84, fail, 'TypeLiteral "void"');
3515
- var TypeLiteral$2 = $EXPECT($L132, fail, 'TypeLiteral "[]"');
3638
+ var TypeLiteral$2 = $EXPECT($L136, fail, 'TypeLiteral "[]"');
3516
3639
  function TypeLiteral(state) {
3517
3640
  if (state.tokenize) {
3518
3641
  return $TOKEN("TypeLiteral", state, TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state));
@@ -3539,7 +3662,7 @@ var require_parser = __commonJS({
3539
3662
  return FunctionType$0(state);
3540
3663
  }
3541
3664
  }
3542
- var TypeArguments$0 = $S(__, $EXPECT($L15, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeArguments ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeArguments ","'))), __, $EXPECT($L67, fail, 'TypeArguments ">"'));
3665
+ var TypeArguments$0 = $S(__, $EXPECT($L16, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeArguments ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeArguments ","'))), __, $EXPECT($L67, fail, 'TypeArguments ">"'));
3543
3666
  function TypeArguments(state) {
3544
3667
  if (state.verbose)
3545
3668
  console.log("ENTER:", "TypeArguments");
@@ -3549,7 +3672,7 @@ var require_parser = __commonJS({
3549
3672
  return TypeArguments$0(state);
3550
3673
  }
3551
3674
  }
3552
- var TypeParameters$0 = $S(__, $EXPECT($L15, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L67, fail, 'TypeParameters ">"'));
3675
+ var TypeParameters$0 = $S(__, $EXPECT($L16, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L67, fail, 'TypeParameters ">"'));
3553
3676
  function TypeParameters(state) {
3554
3677
  if (state.verbose)
3555
3678
  console.log("ENTER:", "TypeParameters");
@@ -3569,7 +3692,7 @@ var require_parser = __commonJS({
3569
3692
  return TypeParameter$0(state);
3570
3693
  }
3571
3694
  }
3572
- var TypeConstraint$0 = $S(__, $EXPECT($L16, fail, 'TypeConstraint "extends"'), Type);
3695
+ var TypeConstraint$0 = $S(__, $EXPECT($L17, fail, 'TypeConstraint "extends"'), Type);
3573
3696
  function TypeConstraint(state) {
3574
3697
  if (state.verbose)
3575
3698
  console.log("ENTER:", "TypeConstraint");
@@ -3794,7 +3917,7 @@ var require_parser = __commonJS({
3794
3917
  return Init$0(state);
3795
3918
  }
3796
3919
  }
3797
- var Indent$0 = $TV($Q($C($EXPECT($L133, fail, 'Indent " "'), $EXPECT($L134, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
3920
+ var Indent$0 = $TV($Q($C($EXPECT($L137, fail, 'Indent " "'), $EXPECT($L138, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
3798
3921
  return $1.length;
3799
3922
  });
3800
3923
  function Indent(state) {