@danielx/civet 0.2.3 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -475,6 +475,7 @@ var Civet = (() => {
475
475
  NestedElement,
476
476
  ArrayElementDelimiter,
477
477
  ElementList,
478
+ InlineElementList,
478
479
  ArrayElementExpression,
479
480
  Elision,
480
481
  ObjectLiteral,
@@ -576,6 +577,7 @@ var Civet = (() => {
576
577
  _,
577
578
  __,
578
579
  StatementDelimiter,
580
+ NonIdContinue,
579
581
  JSXElement,
580
582
  JSXSelfClosingElement,
581
583
  JSXOpeningElement,
@@ -599,6 +601,7 @@ var Civet = (() => {
599
601
  InterfaceProperty,
600
602
  InterfacePropertyDelimiter,
601
603
  TypeIndexSignature,
604
+ TypeIndex,
602
605
  TypeSuffix,
603
606
  ReturnTypeSuffix,
604
607
  TypePredicate,
@@ -765,46 +768,48 @@ var Civet = (() => {
765
768
  var $L124 = $L("</");
766
769
  var $L125 = $L("<>");
767
770
  var $L126 = $L("</>");
768
- var $L127 = $L("asserts");
769
- var $L128 = $L("keyof");
770
- var $L129 = $L("infer");
771
- var $L130 = $L("[]");
772
- var $L131 = $L(" ");
773
- var $L132 = $L(" ");
774
- var $R0 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
775
- var $R1 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
776
- var $R2 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
777
- var $R3 = $R(new RegExp("\\p{ID_Continue}", "suy"));
778
- var $R4 = $R(new RegExp("[!~+-]", "suy"));
779
- var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
780
- var $R6 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
781
- var $R7 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
782
- var $R8 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
783
- var $R9 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
784
- var $R10 = $R(new RegExp('[^"\\\\]+', "suy"));
785
- var $R11 = $R(new RegExp("[^'\\\\]+", "suy"));
786
- var $R12 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
787
- var $R13 = $R(new RegExp(".", "suy"));
788
- var $R14 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
789
- var $R15 = $R(new RegExp("[^\\/\\r\\n]+", "suy"));
790
- var $R16 = $R(new RegExp("(:?\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
791
- var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
792
- 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"));
793
- var $R19 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
794
- var $R20 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
795
- var $R21 = $R(new RegExp("[^\\r\\n]", "suy"));
796
- var $R22 = $R(new RegExp("[\\t ]+", "suy"));
797
- var $R23 = $R(new RegExp("[\\s]+", "suy"));
798
- var $R24 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
799
- var $R25 = $R(new RegExp('"[^"]*"', "suy"));
800
- var $R26 = $R(new RegExp("'[^']*'", "suy"));
801
- var $R27 = $R(new RegExp("[^{}<>]+", "suy"));
802
- var $R28 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
803
- var $R29 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
804
- var $R30 = $R(new RegExp("#![^\\r\\n]*", "suy"));
805
- var $R31 = $R(new RegExp("[\\t ]*", "suy"));
806
- var $R32 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
807
- var $R33 = $R(new RegExp("$", "suy"));
771
+ var $L127 = $L("readonly");
772
+ var $L128 = $L("asserts");
773
+ var $L129 = $L("keyof");
774
+ var $L130 = $L("infer");
775
+ var $L131 = $L("[]");
776
+ var $L132 = $L(" ");
777
+ var $L133 = $L(" ");
778
+ var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
779
+ var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
780
+ var $R2 = $R(new RegExp("[!~+-]", "suy"));
781
+ var $R3 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
782
+ var $R4 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
783
+ var $R5 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
784
+ var $R6 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
785
+ var $R7 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
786
+ var $R8 = $R(new RegExp('[^"\\\\]+', "suy"));
787
+ var $R9 = $R(new RegExp("[^'\\\\]+", "suy"));
788
+ var $R10 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
789
+ var $R11 = $R(new RegExp(".", "suy"));
790
+ var $R12 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
791
+ var $R13 = $R(new RegExp("[^\\/\\r\\n]+", "suy"));
792
+ var $R14 = $R(new RegExp("(:?\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
793
+ var $R15 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
794
+ 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"));
795
+ var $R17 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
796
+ var $R18 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
797
+ var $R19 = $R(new RegExp("[^\\r\\n]", "suy"));
798
+ var $R20 = $R(new RegExp("[\\t ]+", "suy"));
799
+ var $R21 = $R(new RegExp("[\\s]+", "suy"));
800
+ var $R22 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
801
+ var $R23 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
802
+ var $R24 = $R(new RegExp('"[^"]*"', "suy"));
803
+ var $R25 = $R(new RegExp("'[^']*'", "suy"));
804
+ var $R26 = $R(new RegExp("[^{}<>]+", "suy"));
805
+ var $R27 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
806
+ var $R28 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
807
+ var $R29 = $R(new RegExp("[+-]?", "suy"));
808
+ var $R30 = $R(new RegExp("[+-]", "suy"));
809
+ var $R31 = $R(new RegExp("#![^\\r\\n]*", "suy"));
810
+ var $R32 = $R(new RegExp("[\\t ]*", "suy"));
811
+ var $R33 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
812
+ var $R34 = $R(new RegExp("$", "suy"));
808
813
  var Program$0 = $S(Init, __, $Q(TopLevelStatement), __);
809
814
  function Program(state) {
810
815
  if (state.verbose)
@@ -918,7 +923,7 @@ var Civet = (() => {
918
923
  }
919
924
  }
920
925
  var UnaryPostfix$0 = $EXPECT($L3, fail, 'UnaryPostfix "?"');
921
- var UnaryPostfix$1 = $S(__, $EXPECT($L4, fail, 'UnaryPostfix "as"'), $R$0($EXPECT($R0, fail, "UnaryPostfix /(?!\\p{ID_Continue})/")), Type);
926
+ var UnaryPostfix$1 = $S(__, $EXPECT($L4, fail, 'UnaryPostfix "as"'), NonIdContinue, Type);
922
927
  function UnaryPostfix(state) {
923
928
  if (state.tokenize) {
924
929
  return $TOKEN("UnaryPostfix", state, UnaryPostfix$0(state) || UnaryPostfix$1(state));
@@ -966,7 +971,7 @@ var Civet = (() => {
966
971
  }
967
972
  }
968
973
  var ArrowFunction$0 = ThinArrowFunction;
969
- var ArrowFunction$1 = $S($C(BindingIdentifier, Parameters), __, $EXPECT($L10, fail, 'ArrowFunction "=>"'), ConciseBody);
974
+ var ArrowFunction$1 = $S($C(BindingIdentifier, Parameters), $E(ReturnTypeSuffix), __, $EXPECT($L10, fail, 'ArrowFunction "=>"'), ConciseBody);
970
975
  function ArrowFunction(state) {
971
976
  if (state.tokenize) {
972
977
  return $TOKEN("ArrowFunction", state, ArrowFunction$0(state) || ArrowFunction$1(state));
@@ -1206,7 +1211,7 @@ var Civet = (() => {
1206
1211
  return ApplicationStart$0(state);
1207
1212
  }
1208
1213
  }
1209
- var AdditionalReservedWords$0 = $R$0($EXPECT($R1, fail, "AdditionalReservedWords /(of)(?!\\p{ID_Continue})/"));
1214
+ var AdditionalReservedWords$0 = $R$0($EXPECT($R0, fail, "AdditionalReservedWords /(of)(?!\\p{ID_Continue})/"));
1210
1215
  function AdditionalReservedWords(state) {
1211
1216
  if (state.verbose)
1212
1217
  console.log("ENTER:", "AdditionalReservedWords");
@@ -1487,7 +1492,7 @@ var Civet = (() => {
1487
1492
  return Identifier$0(state);
1488
1493
  }
1489
1494
  }
1490
- var IdentifierName$0 = $R$0($EXPECT($R2, fail, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
1495
+ var IdentifierName$0 = $R$0($EXPECT($R1, fail, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
1491
1496
  function IdentifierName(state) {
1492
1497
  if (state.verbose)
1493
1498
  console.log("ENTER:", "IdentifierName");
@@ -1531,7 +1536,7 @@ var Civet = (() => {
1531
1536
  return NestedElementList$0(state);
1532
1537
  }
1533
1538
  }
1534
- var NestedElement$0 = $S(Nested, ArrayElementExpression, ArrayElementDelimiter);
1539
+ var NestedElement$0 = $S(Nested, InlineElementList, ArrayElementDelimiter);
1535
1540
  function NestedElement(state) {
1536
1541
  if (state.verbose)
1537
1542
  console.log("ENTER:", "NestedElement");
@@ -1566,6 +1571,16 @@ var Civet = (() => {
1566
1571
  return ElementList$0(state);
1567
1572
  }
1568
1573
  }
1574
+ var InlineElementList$0 = $S(ArrayElementExpression, $Q($S($Q(_), $EXPECT($L0, fail, 'InlineElementList ","'), $Q(_), ArrayElementExpression)));
1575
+ function InlineElementList(state) {
1576
+ if (state.verbose)
1577
+ console.log("ENTER:", "InlineElementList");
1578
+ if (state.tokenize) {
1579
+ return $TOKEN("InlineElementList", state, InlineElementList$0(state));
1580
+ } else {
1581
+ return InlineElementList$0(state);
1582
+ }
1583
+ }
1569
1584
  var ArrayElementExpression$0 = $E($S($E($S($EXPECT($L31, fail, 'ArrayElementExpression "..."'), __)), AssignmentExpression));
1570
1585
  function ArrayElementExpression(state) {
1571
1586
  if (state.verbose)
@@ -1669,8 +1684,8 @@ var Civet = (() => {
1669
1684
  return PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state);
1670
1685
  }
1671
1686
  }
1672
- var MethodDefinition$0 = $S($EXPECT($L38, fail, 'MethodDefinition "get"'), $N($R$0($EXPECT($R3, fail, "MethodDefinition /\\p{ID_Continue}/"))), $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1673
- var MethodDefinition$1 = $S($EXPECT($L39, fail, 'MethodDefinition "set"'), $N($R$0($EXPECT($R3, fail, "MethodDefinition /\\p{ID_Continue}/"))), $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1687
+ var MethodDefinition$0 = $S($EXPECT($L38, fail, 'MethodDefinition "get"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1688
+ var MethodDefinition$1 = $S($EXPECT($L39, fail, 'MethodDefinition "set"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1674
1689
  var MethodDefinition$2 = AsyncGeneratorMethod;
1675
1690
  var MethodDefinition$3 = AsyncMethod;
1676
1691
  var MethodDefinition$4 = GeneratorMethod;
@@ -1803,7 +1818,7 @@ var Civet = (() => {
1803
1818
  return "!==";
1804
1819
  return $1;
1805
1820
  });
1806
- var BinaryOp$15 = $T($EXPECT($L69, fail, 'BinaryOp "is"'), function(value) {
1821
+ var BinaryOp$15 = $T($S($EXPECT($L69, fail, 'BinaryOp "is"'), NonIdContinue), function(value) {
1807
1822
  return "===";
1808
1823
  });
1809
1824
  var BinaryOp$16 = $EXPECT($L70, fail, 'BinaryOp "==="');
@@ -1812,17 +1827,17 @@ var Civet = (() => {
1812
1827
  return "===";
1813
1828
  return $1;
1814
1829
  });
1815
- var BinaryOp$18 = $T($EXPECT($L72, fail, 'BinaryOp "and"'), function(value) {
1830
+ var BinaryOp$18 = $T($S($EXPECT($L72, fail, 'BinaryOp "and"'), NonIdContinue), function(value) {
1816
1831
  return "&&";
1817
1832
  });
1818
1833
  var BinaryOp$19 = $EXPECT($L73, fail, 'BinaryOp "&&"');
1819
- var BinaryOp$20 = $T($EXPECT($L74, fail, 'BinaryOp "or"'), function(value) {
1834
+ var BinaryOp$20 = $T($S($EXPECT($L74, fail, 'BinaryOp "or"'), NonIdContinue), function(value) {
1820
1835
  return "||";
1821
1836
  });
1822
1837
  var BinaryOp$21 = $EXPECT($L75, fail, 'BinaryOp "||"');
1823
1838
  var BinaryOp$22 = $EXPECT($L76, fail, 'BinaryOp "??"');
1824
- var BinaryOp$23 = $EXPECT($L77, fail, 'BinaryOp "instanceof"');
1825
- var BinaryOp$24 = $EXPECT($L78, fail, 'BinaryOp "in"');
1839
+ var BinaryOp$23 = $S($EXPECT($L77, fail, 'BinaryOp "instanceof"'), NonIdContinue);
1840
+ var BinaryOp$24 = $S($EXPECT($L78, fail, 'BinaryOp "in"'), NonIdContinue);
1826
1841
  var BinaryOp$25 = $EXPECT($L79, fail, 'BinaryOp "&"');
1827
1842
  var BinaryOp$26 = $EXPECT($L80, fail, 'BinaryOp "^"');
1828
1843
  var BinaryOp$27 = $EXPECT($L81, fail, 'BinaryOp "|"');
@@ -1833,8 +1848,8 @@ var Civet = (() => {
1833
1848
  return BinaryOp$0(state) || BinaryOp$1(state) || BinaryOp$2(state) || BinaryOp$3(state) || BinaryOp$4(state) || BinaryOp$5(state) || BinaryOp$6(state) || BinaryOp$7(state) || BinaryOp$8(state) || BinaryOp$9(state) || BinaryOp$10(state) || BinaryOp$11(state) || BinaryOp$12(state) || BinaryOp$13(state) || BinaryOp$14(state) || BinaryOp$15(state) || BinaryOp$16(state) || BinaryOp$17(state) || BinaryOp$18(state) || BinaryOp$19(state) || BinaryOp$20(state) || BinaryOp$21(state) || BinaryOp$22(state) || BinaryOp$23(state) || BinaryOp$24(state) || BinaryOp$25(state) || BinaryOp$26(state) || BinaryOp$27(state);
1834
1849
  }
1835
1850
  }
1836
- var UnaryOp$0 = $R$0($EXPECT($R4, fail, "UnaryOp /[!~+-]/"));
1837
- var UnaryOp$1 = $S($C($EXPECT($L82, fail, 'UnaryOp "delete"'), $EXPECT($L83, fail, 'UnaryOp "void"'), $EXPECT($L84, fail, 'UnaryOp "typeof"')), $P(_));
1851
+ var UnaryOp$0 = $R$0($EXPECT($R2, fail, "UnaryOp /[!~+-]/"));
1852
+ var UnaryOp$1 = $S($C($EXPECT($L82, fail, 'UnaryOp "delete"'), $EXPECT($L83, fail, 'UnaryOp "void"'), $EXPECT($L84, fail, 'UnaryOp "typeof"')), NonIdContinue, __);
1838
1853
  function UnaryOp(state) {
1839
1854
  if (state.tokenize) {
1840
1855
  return $TOKEN("UnaryOp", state, UnaryOp$0(state) || UnaryOp$1(state));
@@ -2382,7 +2397,7 @@ var Civet = (() => {
2382
2397
  return NumericLiteral$0(state) || NumericLiteral$1(state) || NumericLiteral$2(state) || NumericLiteral$3(state) || NumericLiteral$4(state);
2383
2398
  }
2384
2399
  }
2385
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2400
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R3, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2386
2401
  function DecimalBigIntegerLiteral(state) {
2387
2402
  if (state.verbose)
2388
2403
  console.log("ENTER:", "DecimalBigIntegerLiteral");
@@ -2392,7 +2407,7 @@ var Civet = (() => {
2392
2407
  return DecimalBigIntegerLiteral$0(state);
2393
2408
  }
2394
2409
  }
2395
- var DecimalLiteral$0 = $R$0($EXPECT($R6, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2410
+ var DecimalLiteral$0 = $R$0($EXPECT($R4, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2396
2411
  function DecimalLiteral(state) {
2397
2412
  if (state.verbose)
2398
2413
  console.log("ENTER:", "DecimalLiteral");
@@ -2402,7 +2417,7 @@ var Civet = (() => {
2402
2417
  return DecimalLiteral$0(state);
2403
2418
  }
2404
2419
  }
2405
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2420
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2406
2421
  function BinaryIntegerLiteral(state) {
2407
2422
  if (state.verbose)
2408
2423
  console.log("ENTER:", "BinaryIntegerLiteral");
@@ -2412,7 +2427,7 @@ var Civet = (() => {
2412
2427
  return BinaryIntegerLiteral$0(state);
2413
2428
  }
2414
2429
  }
2415
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R8, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2430
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R6, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2416
2431
  function OctalIntegerLiteral(state) {
2417
2432
  if (state.verbose)
2418
2433
  console.log("ENTER:", "OctalIntegerLiteral");
@@ -2422,7 +2437,7 @@ var Civet = (() => {
2422
2437
  return OctalIntegerLiteral$0(state);
2423
2438
  }
2424
2439
  }
2425
- var HexLiteral$0 = $R$0($EXPECT($R9, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2440
+ var HexLiteral$0 = $R$0($EXPECT($R7, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2426
2441
  function HexLiteral(state) {
2427
2442
  if (state.verbose)
2428
2443
  console.log("ENTER:", "HexLiteral");
@@ -2444,7 +2459,7 @@ var Civet = (() => {
2444
2459
  return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state);
2445
2460
  }
2446
2461
  }
2447
- var DoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'DoubleStringCharacter /[^"\\\\]+/'));
2462
+ var DoubleStringCharacter$0 = $R$0($EXPECT($R8, fail, 'DoubleStringCharacter /[^"\\\\]+/'));
2448
2463
  var DoubleStringCharacter$1 = EscapeSequence;
2449
2464
  function DoubleStringCharacter(state) {
2450
2465
  if (state.tokenize) {
@@ -2453,7 +2468,7 @@ var Civet = (() => {
2453
2468
  return DoubleStringCharacter$0(state) || DoubleStringCharacter$1(state);
2454
2469
  }
2455
2470
  }
2456
- var SingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "SingleStringCharacter /[^'\\\\]+/"));
2471
+ var SingleStringCharacter$0 = $R$0($EXPECT($R9, fail, "SingleStringCharacter /[^'\\\\]+/"));
2457
2472
  var SingleStringCharacter$1 = EscapeSequence;
2458
2473
  function SingleStringCharacter(state) {
2459
2474
  if (state.tokenize) {
@@ -2462,7 +2477,7 @@ var Civet = (() => {
2462
2477
  return SingleStringCharacter$0(state) || SingleStringCharacter$1(state);
2463
2478
  }
2464
2479
  }
2465
- var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R12, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2480
+ var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2466
2481
  function TripleDoubleStringCharacter(state) {
2467
2482
  if (state.verbose)
2468
2483
  console.log("ENTER:", "TripleDoubleStringCharacter");
@@ -2472,7 +2487,7 @@ var Civet = (() => {
2472
2487
  return TripleDoubleStringCharacter$0(state);
2473
2488
  }
2474
2489
  }
2475
- var EscapeSequence$0 = $TEXT($S($EXPECT($L117, fail, 'EscapeSequence "\\\\\\\\"'), $EXPECT($R13, fail, "EscapeSequence /./")));
2490
+ var EscapeSequence$0 = $TEXT($S($EXPECT($L117, fail, 'EscapeSequence "\\\\\\\\"'), $EXPECT($R11, fail, "EscapeSequence /./")));
2476
2491
  function EscapeSequence(state) {
2477
2492
  if (state.verbose)
2478
2493
  console.log("ENTER:", "EscapeSequence");
@@ -2492,7 +2507,7 @@ var Civet = (() => {
2492
2507
  return RegularExpressionLiteral$0(state);
2493
2508
  }
2494
2509
  }
2495
- var RegularExpressionBody$0 = $S($R$0($EXPECT($R14, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2510
+ var RegularExpressionBody$0 = $S($R$0($EXPECT($R12, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2496
2511
  function RegularExpressionBody(state) {
2497
2512
  if (state.verbose)
2498
2513
  console.log("ENTER:", "RegularExpressionBody");
@@ -2502,7 +2517,7 @@ var Civet = (() => {
2502
2517
  return RegularExpressionBody$0(state);
2503
2518
  }
2504
2519
  }
2505
- var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /[^\\/\\r\\n]+/"));
2520
+ var RegExpCharacter$0 = $R$0($EXPECT($R13, fail, "RegExpCharacter /[^\\/\\r\\n]+/"));
2506
2521
  var RegExpCharacter$1 = EscapeSequence;
2507
2522
  function RegExpCharacter(state) {
2508
2523
  if (state.tokenize) {
@@ -2511,7 +2526,7 @@ var Civet = (() => {
2511
2526
  return RegExpCharacter$0(state) || RegExpCharacter$1(state);
2512
2527
  }
2513
2528
  }
2514
- var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(:?\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2529
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R14, fail, "RegularExpressionFlags /(:?\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2515
2530
  function RegularExpressionFlags(state) {
2516
2531
  if (state.verbose)
2517
2532
  console.log("ENTER:", "RegularExpressionFlags");
@@ -2541,7 +2556,7 @@ var Civet = (() => {
2541
2556
  return TemplateSubstitution$0(state);
2542
2557
  }
2543
2558
  }
2544
- var TemplateCharacters$0 = $R$0($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
2559
+ var TemplateCharacters$0 = $R$0($EXPECT($R15, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
2545
2560
  function TemplateCharacters(state) {
2546
2561
  if (state.verbose)
2547
2562
  console.log("ENTER:", "TemplateCharacters");
@@ -2551,7 +2566,7 @@ var Civet = (() => {
2551
2566
  return TemplateCharacters$0(state);
2552
2567
  }
2553
2568
  }
2554
- 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})/"));
2569
+ 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})/"));
2555
2570
  function ReservedWord(state) {
2556
2571
  if (state.verbose)
2557
2572
  console.log("ENTER:", "ReservedWord");
@@ -2570,7 +2585,7 @@ var Civet = (() => {
2570
2585
  return Comment$0(state) || Comment$1(state);
2571
2586
  }
2572
2587
  }
2573
- var SingleLineComment$0 = $R$0($EXPECT($R19, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
2588
+ var SingleLineComment$0 = $R$0($EXPECT($R17, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
2574
2589
  var SingleLineComment$1 = CoffeeSingleLineComment;
2575
2590
  function SingleLineComment(state) {
2576
2591
  if (state.tokenize) {
@@ -2588,7 +2603,7 @@ var Civet = (() => {
2588
2603
  return MultiLineComment$0(state) || MultiLineComment$1(state);
2589
2604
  }
2590
2605
  }
2591
- var JSMultiLineComment$0 = $S($EXPECT($L120, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'JSMultiLineComment "*/"')), $EXPECT($R13, fail, "JSMultiLineComment /./")))), $EXPECT($L121, fail, 'JSMultiLineComment "*/"'));
2606
+ var JSMultiLineComment$0 = $S($EXPECT($L120, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'JSMultiLineComment "*/"')), $EXPECT($R11, fail, "JSMultiLineComment /./")))), $EXPECT($L121, fail, 'JSMultiLineComment "*/"'));
2592
2607
  function JSMultiLineComment(state) {
2593
2608
  if (state.verbose)
2594
2609
  console.log("ENTER:", "JSMultiLineComment");
@@ -2598,7 +2613,7 @@ var Civet = (() => {
2598
2613
  return JSMultiLineComment$0(state);
2599
2614
  }
2600
2615
  }
2601
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R20, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
2616
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R18, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
2602
2617
  if (!global.coffeeCompat)
2603
2618
  return $skip;
2604
2619
  return ["//", $1];
@@ -2612,7 +2627,7 @@ var Civet = (() => {
2612
2627
  return CoffeeSingleLineComment$0(state);
2613
2628
  }
2614
2629
  }
2615
- var CoffeeMultiLineComment$0 = $T($S($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R13, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), function(value) {
2630
+ var CoffeeMultiLineComment$0 = $T($S($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R11, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), function(value) {
2616
2631
  return ["/*", value[1], "*/"];
2617
2632
  });
2618
2633
  function CoffeeMultiLineComment(state) {
@@ -2624,7 +2639,7 @@ var Civet = (() => {
2624
2639
  return CoffeeMultiLineComment$0(state);
2625
2640
  }
2626
2641
  }
2627
- var InlineComment$0 = $S($EXPECT($L120, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'InlineComment "*/"')), $EXPECT($R21, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L121, fail, 'InlineComment "*/"'));
2642
+ var InlineComment$0 = $S($EXPECT($L120, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'InlineComment "*/"')), $EXPECT($R19, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L121, fail, 'InlineComment "*/"'));
2628
2643
  function InlineComment(state) {
2629
2644
  if (state.verbose)
2630
2645
  console.log("ENTER:", "InlineComment");
@@ -2644,7 +2659,7 @@ var Civet = (() => {
2644
2659
  return RestOfLine$0(state);
2645
2660
  }
2646
2661
  }
2647
- var TrailingComment$0 = $R$0($EXPECT($R22, fail, "TrailingComment /[\\t ]+/"));
2662
+ var TrailingComment$0 = $R$0($EXPECT($R20, fail, "TrailingComment /[\\t ]+/"));
2648
2663
  var TrailingComment$1 = InlineComment;
2649
2664
  var TrailingComment$2 = SingleLineComment;
2650
2665
  function TrailingComment(state) {
@@ -2654,7 +2669,7 @@ var Civet = (() => {
2654
2669
  return TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
2655
2670
  }
2656
2671
  }
2657
- var _$0 = $P($C($R$0($EXPECT($R22, fail, "_ /[\\t ]+/")), Comment));
2672
+ var _$0 = $P($C($R$0($EXPECT($R20, fail, "_ /[\\t ]+/")), Comment));
2658
2673
  function _(state) {
2659
2674
  if (state.verbose)
2660
2675
  console.log("ENTER:", "_");
@@ -2664,7 +2679,7 @@ var Civet = (() => {
2664
2679
  return _$0(state);
2665
2680
  }
2666
2681
  }
2667
- var __$0 = $Q($C($R$0($EXPECT($R23, fail, "__ /[\\s]+/")), Comment));
2682
+ var __$0 = $Q($C($R$0($EXPECT($R21, fail, "__ /[\\s]+/")), Comment));
2668
2683
  function __(state) {
2669
2684
  if (state.verbose)
2670
2685
  console.log("ENTER:", "__");
@@ -2685,6 +2700,16 @@ var Civet = (() => {
2685
2700
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
2686
2701
  }
2687
2702
  }
2703
+ var NonIdContinue$0 = $R$0($EXPECT($R22, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
2704
+ function NonIdContinue(state) {
2705
+ if (state.verbose)
2706
+ console.log("ENTER:", "NonIdContinue");
2707
+ if (state.tokenize) {
2708
+ return $TOKEN("NonIdContinue", state, NonIdContinue$0(state));
2709
+ } else {
2710
+ return NonIdContinue$0(state);
2711
+ }
2712
+ }
2688
2713
  var JSXElement$0 = JSXSelfClosingElement;
2689
2714
  var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
2690
2715
  if ($1[1] !== $4[2]) {
@@ -2749,7 +2774,7 @@ var Civet = (() => {
2749
2774
  return JSXElementName$0(state);
2750
2775
  }
2751
2776
  }
2752
- var JSXIdentifierName$0 = $R$0($EXPECT($R24, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
2777
+ var JSXIdentifierName$0 = $R$0($EXPECT($R23, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
2753
2778
  function JSXIdentifierName(state) {
2754
2779
  if (state.verbose)
2755
2780
  console.log("ENTER:", "JSXIdentifierName");
@@ -2798,8 +2823,8 @@ var Civet = (() => {
2798
2823
  return JSXAttributeInitializer$0(state);
2799
2824
  }
2800
2825
  }
2801
- var JSXAttributeValue$0 = $R$0($EXPECT($R25, fail, 'JSXAttributeValue /"[^"]*"/'));
2802
- var JSXAttributeValue$1 = $R$0($EXPECT($R26, fail, "JSXAttributeValue /'[^']*'/"));
2826
+ var JSXAttributeValue$0 = $R$0($EXPECT($R24, fail, 'JSXAttributeValue /"[^"]*"/'));
2827
+ var JSXAttributeValue$1 = $R$0($EXPECT($R25, fail, "JSXAttributeValue /'[^']*'/"));
2803
2828
  var JSXAttributeValue$2 = $S($EXPECT($L11, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L16, fail, 'JSXAttributeValue "}"'));
2804
2829
  var JSXAttributeValue$3 = JSXElement;
2805
2830
  var JSXAttributeValue$4 = JSXFragment;
@@ -2831,7 +2856,7 @@ var Civet = (() => {
2831
2856
  return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
2832
2857
  }
2833
2858
  }
2834
- var JSXText$0 = $R$0($EXPECT($R27, fail, "JSXText /[^{}<>]+/"));
2859
+ var JSXText$0 = $R$0($EXPECT($R26, fail, "JSXText /[^{}<>]+/"));
2835
2860
  function JSXText(state) {
2836
2861
  if (state.verbose)
2837
2862
  console.log("ENTER:", "JSXText");
@@ -2851,10 +2876,10 @@ var Civet = (() => {
2851
2876
  return JSXChildExpression$0(state);
2852
2877
  }
2853
2878
  }
2854
- var TypeDeclaration$0 = $T($S($EXPECT($R28, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L55, fail, 'TypeDeclaration "="'), __, Type), function(value) {
2879
+ var TypeDeclaration$0 = $T($S($EXPECT($R27, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L55, fail, 'TypeDeclaration "="'), __, Type), function(value) {
2855
2880
  return { "ts": true, "children": value };
2856
2881
  });
2857
- var TypeDeclaration$1 = $T($S($EXPECT($R29, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
2882
+ var TypeDeclaration$1 = $T($S($EXPECT($R28, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
2858
2883
  return { "ts": true, "children": value };
2859
2884
  });
2860
2885
  function TypeDeclaration(state) {
@@ -2924,13 +2949,23 @@ var Civet = (() => {
2924
2949
  return InterfacePropertyDelimiter$0(state) || InterfacePropertyDelimiter$1(state) || InterfacePropertyDelimiter$2(state) || InterfacePropertyDelimiter$3(state);
2925
2950
  }
2926
2951
  }
2927
- var TypeIndexSignature$0 = $S($EXPECT($L24, fail, 'TypeIndexSignature "["'), __, Identifier, TypeSuffix, $EXPECT($L25, fail, 'TypeIndexSignature "]"'));
2928
- var TypeIndexSignature$1 = $S($EXPECT($L24, fail, 'TypeIndexSignature "["'), __, PropertyName, __, $EXPECT($L78, fail, 'TypeIndexSignature "in"'), Type, $EXPECT($L25, fail, 'TypeIndexSignature "]"'));
2952
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R29, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L127, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L24, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L25, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R30, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
2929
2953
  function TypeIndexSignature(state) {
2954
+ if (state.verbose)
2955
+ console.log("ENTER:", "TypeIndexSignature");
2956
+ if (state.tokenize) {
2957
+ return $TOKEN("TypeIndexSignature", state, TypeIndexSignature$0(state));
2958
+ } else {
2959
+ return TypeIndexSignature$0(state);
2960
+ }
2961
+ }
2962
+ var TypeIndex$0 = $S(__, Identifier, TypeSuffix);
2963
+ var TypeIndex$1 = $S(__, PropertyName, __, $EXPECT($L78, fail, 'TypeIndex "in"'), Type, $E($S(__, $EXPECT($L4, fail, 'TypeIndex "as"'), Type)));
2964
+ function TypeIndex(state) {
2930
2965
  if (state.tokenize) {
2931
- return $TOKEN("TypeIndexSignature", state, TypeIndexSignature$0(state) || TypeIndexSignature$1(state));
2966
+ return $TOKEN("TypeIndex", state, TypeIndex$0(state) || TypeIndex$1(state));
2932
2967
  } else {
2933
- return TypeIndexSignature$0(state) || TypeIndexSignature$1(state);
2968
+ return TypeIndex$0(state) || TypeIndex$1(state);
2934
2969
  }
2935
2970
  }
2936
2971
  var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L12, fail, 'TypeSuffix ":"'), Type), function(value) {
@@ -2945,7 +2980,7 @@ var Civet = (() => {
2945
2980
  return TypeSuffix$0(state);
2946
2981
  }
2947
2982
  }
2948
- var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L12, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L127, fail, 'ReturnTypeSuffix "asserts"'), $EXPECT($R0, fail, "ReturnTypeSuffix /(?!\\p{ID_Continue})/"))), TypePredicate), function(value) {
2983
+ var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L12, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L128, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
2949
2984
  return { "ts": true, "children": value };
2950
2985
  });
2951
2986
  function ReturnTypeSuffix(state) {
@@ -2957,7 +2992,7 @@ var Civet = (() => {
2957
2992
  return ReturnTypeSuffix$0(state);
2958
2993
  }
2959
2994
  }
2960
- var TypePredicate$0 = $S(Type, $E($S(__, $EXPECT($L69, fail, 'TypePredicate "is"'), $R$0($EXPECT($R0, fail, "TypePredicate /(?!\\p{ID_Continue})/")), Type)));
2995
+ var TypePredicate$0 = $S(Type, $E($S(__, $EXPECT($L69, fail, 'TypePredicate "is"'), NonIdContinue, Type)));
2961
2996
  function TypePredicate(state) {
2962
2997
  if (state.verbose)
2963
2998
  console.log("ENTER:", "TypePredicate");
@@ -2987,7 +3022,7 @@ var Civet = (() => {
2987
3022
  return TypeBinary$0(state);
2988
3023
  }
2989
3024
  }
2990
- var TypeUnary$0 = $S($Q($S(__, TypeUnaryOp, $R$0($EXPECT($R0, fail, "TypeUnary /(?!\\p{ID_Continue})/")))), TypePrimary, $Q(TypeUnarySuffix));
3025
+ var TypeUnary$0 = $S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix));
2991
3026
  function TypeUnary(state) {
2992
3027
  if (state.verbose)
2993
3028
  console.log("ENTER:", "TypeUnary");
@@ -3007,9 +3042,9 @@ var Civet = (() => {
3007
3042
  return TypeUnarySuffix$0(state);
3008
3043
  }
3009
3044
  }
3010
- var TypeUnaryOp$0 = $EXPECT($L128, fail, 'TypeUnaryOp "keyof"');
3045
+ var TypeUnaryOp$0 = $EXPECT($L129, fail, 'TypeUnaryOp "keyof"');
3011
3046
  var TypeUnaryOp$1 = $EXPECT($L84, fail, 'TypeUnaryOp "typeof"');
3012
- var TypeUnaryOp$2 = $EXPECT($L129, fail, 'TypeUnaryOp "infer"');
3047
+ var TypeUnaryOp$2 = $EXPECT($L130, fail, 'TypeUnaryOp "infer"');
3013
3048
  function TypeUnaryOp(state) {
3014
3049
  if (state.tokenize) {
3015
3050
  return $TOKEN("TypeUnaryOp", state, TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state));
@@ -3039,7 +3074,7 @@ var Civet = (() => {
3039
3074
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3040
3075
  }
3041
3076
  }
3042
- var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L15, fail, 'TypeConditional "extends"'), Type, __, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L12, fail, 'TypeConditional ":"'), Type)));
3077
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L15, fail, 'TypeConditional "extends"'), Type, $E($S(__, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L12, fail, 'TypeConditional ":"'), Type)))));
3043
3078
  function TypeConditional(state) {
3044
3079
  if (state.verbose)
3045
3080
  console.log("ENTER:", "TypeConditional");
@@ -3051,7 +3086,7 @@ var Civet = (() => {
3051
3086
  }
3052
3087
  var TypeLiteral$0 = Literal;
3053
3088
  var TypeLiteral$1 = $EXPECT($L83, fail, 'TypeLiteral "void"');
3054
- var TypeLiteral$2 = $EXPECT($L130, fail, 'TypeLiteral "[]"');
3089
+ var TypeLiteral$2 = $EXPECT($L131, fail, 'TypeLiteral "[]"');
3055
3090
  function TypeLiteral(state) {
3056
3091
  if (state.tokenize) {
3057
3092
  return $TOKEN("TypeLiteral", state, TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state));
@@ -3133,7 +3168,7 @@ var Civet = (() => {
3133
3168
  return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
3134
3169
  }
3135
3170
  }
3136
- var Shebang$0 = $R$0($EXPECT($R30, fail, "Shebang /#![^\\r\\n]*/"));
3171
+ var Shebang$0 = $R$0($EXPECT($R31, fail, "Shebang /#![^\\r\\n]*/"));
3137
3172
  function Shebang(state) {
3138
3173
  if (state.verbose)
3139
3174
  console.log("ENTER:", "Shebang");
@@ -3143,7 +3178,7 @@ var Civet = (() => {
3143
3178
  return Shebang$0(state);
3144
3179
  }
3145
3180
  }
3146
- var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R31, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
3181
+ var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R32, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
3147
3182
  return $0.map((p) => p.join(""));
3148
3183
  });
3149
3184
  function DirectivePrologue(state) {
@@ -3165,7 +3200,7 @@ var Civet = (() => {
3165
3200
  return EOS$0(state);
3166
3201
  }
3167
3202
  }
3168
- var EOL$0 = $R$0($EXPECT($R32, fail, "EOL /\\r\\n|\\n|\\r|$/"));
3203
+ var EOL$0 = $R$0($EXPECT($R33, fail, "EOL /\\r\\n|\\n|\\r|$/"));
3169
3204
  function EOL(state) {
3170
3205
  if (state.verbose)
3171
3206
  console.log("ENTER:", "EOL");
@@ -3175,7 +3210,7 @@ var Civet = (() => {
3175
3210
  return EOL$0(state);
3176
3211
  }
3177
3212
  }
3178
- var EOF$0 = $R$0($EXPECT($R33, fail, "EOF /$/"));
3213
+ var EOF$0 = $R$0($EXPECT($R34, fail, "EOF /$/"));
3179
3214
  function EOF(state) {
3180
3215
  if (state.verbose)
3181
3216
  console.log("ENTER:", "EOF");
@@ -3313,7 +3348,7 @@ var Civet = (() => {
3313
3348
  return Init$0(state);
3314
3349
  }
3315
3350
  }
3316
- var Indent$0 = $TV($Q($C($EXPECT($L131, fail, 'Indent " "'), $EXPECT($L132, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
3351
+ var Indent$0 = $TV($Q($C($EXPECT($L132, fail, 'Indent " "'), $EXPECT($L133, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
3317
3352
  return $1.length;
3318
3353
  });
3319
3354
  function Indent(state) {