@danielx/civet 0.3.16 → 0.4.0

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
@@ -429,14 +429,12 @@ var require_parser = __commonJS({
429
429
  PrimaryExpression,
430
430
  ClassDeclaration,
431
431
  ClassExpression,
432
- Class,
433
432
  ClassHeritage,
434
433
  ExtendsToken,
435
434
  ClassBody,
436
435
  NestedClassElements,
437
436
  NestedClassElement,
438
437
  ClassElement,
439
- Static,
440
438
  FieldDefinition,
441
439
  This,
442
440
  AtAccessor,
@@ -527,7 +525,6 @@ var require_parser = __commonJS({
527
525
  WhileClause,
528
526
  ForStatement,
529
527
  ForInOfStatement,
530
- For,
531
528
  ForDeclaration,
532
529
  LetOrConst,
533
530
  ForBinding,
@@ -536,10 +533,9 @@ var require_parser = __commonJS({
536
533
  NestedCaseClauses,
537
534
  NestedCaseClause,
538
535
  CaseClause,
539
- When,
540
536
  ImpliedColon,
541
537
  TryStatement,
542
- Catch,
538
+ CatchClause,
543
539
  CatchBind,
544
540
  Finally,
545
541
  CatchParameter,
@@ -547,15 +543,12 @@ var require_parser = __commonJS({
547
543
  ExpressionStatement,
548
544
  KeywordStatement,
549
545
  MaybeNestedExpression,
550
- Return,
551
546
  ImportDeclaration,
552
547
  ImpliedImport,
553
- Import,
554
548
  ImportClause,
555
549
  NameSpaceImport,
556
550
  NamedImports,
557
551
  FromClause,
558
- From,
559
552
  ImportSpecifier,
560
553
  ModuleExportName,
561
554
  ModuleSpecifier,
@@ -563,8 +556,6 @@ var require_parser = __commonJS({
563
556
  UnquotedSpecifier,
564
557
  ImportedBinding,
565
558
  ExportDeclaration,
566
- As,
567
- Export,
568
559
  ExportFromClause,
569
560
  NamedExports,
570
561
  ExportSpecifier,
@@ -587,8 +578,8 @@ var require_parser = __commonJS({
587
578
  StringLiteral,
588
579
  DoubleStringCharacter,
589
580
  SingleStringCharacter,
590
- TripleDoubleStringCharacter,
591
- TripleSingleStringCharacter,
581
+ TripleDoubleStringCharacters,
582
+ TripleSingleStringCharacters,
592
583
  RegularExpressionLiteral,
593
584
  RegularExpressionBody,
594
585
  RegExpCharacter,
@@ -607,9 +598,49 @@ var require_parser = __commonJS({
607
598
  RestOfLine,
608
599
  TrailingComment,
609
600
  _,
601
+ NonNewlineWhitespace,
610
602
  __,
603
+ Whitespace,
611
604
  StatementDelimiter,
612
605
  NonIdContinue,
606
+ Loc,
607
+ As,
608
+ Async,
609
+ Await,
610
+ Catch,
611
+ Class,
612
+ CloseBrace,
613
+ CloseBracket,
614
+ CloseParen,
615
+ Colon,
616
+ Dot,
617
+ Else,
618
+ Equals,
619
+ Export,
620
+ For,
621
+ From,
622
+ Function,
623
+ If,
624
+ Import,
625
+ In,
626
+ Loop,
627
+ New,
628
+ Of,
629
+ OpenBrace,
630
+ OpenBracket,
631
+ OpenParen,
632
+ QuestionMark,
633
+ Return,
634
+ Semicolon,
635
+ Static,
636
+ Switch,
637
+ Target,
638
+ TripleDoubleQuote,
639
+ TripleSingleQuote,
640
+ Try,
641
+ Unless,
642
+ Var,
643
+ When,
613
644
  JSXElement,
614
645
  JSXSelfClosingElement,
615
646
  JSXOpeningElement,
@@ -685,132 +716,132 @@ var require_parser = __commonJS({
685
716
  Nested,
686
717
  NestedFurther
687
718
  });
688
- var $L0 = $L(",");
689
- var $L1 = $L("(");
690
- var $L2 = $L(")");
691
- var $L3 = $L("?");
692
- var $L4 = $L("as");
693
- var $L5 = $L("++");
694
- var $L6 = $L("--");
695
- var $L7 = $L("async");
696
- var $L8 = $L("await");
697
- var $L9 = $L("yield");
698
- var $L10 = $L("*");
699
- var $L11 = $L("=>");
700
- var $L12 = $L("{");
701
- var $L13 = $L("}");
702
- var $L14 = $L(":");
703
- var $L15 = $L("class");
704
- var $L16 = $L("<");
705
- var $L17 = $L("extends");
706
- var $L18 = $L("static");
707
- var $L19 = $L("this");
708
- var $L20 = $L("#");
709
- var $L21 = $L("@");
710
- var $L22 = $L("new");
711
- var $L23 = $L("super");
712
- var $L24 = $L("import");
713
- var $L25 = $L(".");
714
- var $L26 = $L("!");
715
- var $L27 = $L("[");
716
- var $L28 = $L("]");
717
- var $L29 = $L("::");
718
- var $L30 = $L("super[");
719
- var $L31 = $L("new.target");
720
- var $L32 = $L("import.meta");
721
- var $L33 = $L("");
722
- var $L34 = $L("...");
723
- var $L35 = $L("function");
724
- var $L36 = $L("->");
725
- var $L37 = $L("null");
726
- var $L38 = $L("true");
727
- var $L39 = $L("false");
728
- var $L40 = $L("get");
729
- var $L41 = $L("set");
730
- var $L42 = $L("**=");
731
- var $L43 = $L("*=");
732
- var $L44 = $L("/=");
733
- var $L45 = $L("%=");
734
- var $L46 = $L("+=");
735
- var $L47 = $L("-=");
736
- var $L48 = $L("<<=");
737
- var $L49 = $L(">>>=");
738
- var $L50 = $L(">>=");
739
- var $L51 = $L("&&=");
740
- var $L52 = $L("&=");
741
- var $L53 = $L("^=");
742
- var $L54 = $L("||=");
743
- var $L55 = $L("|=");
744
- var $L56 = $L("??=");
745
- var $L57 = $L("?=");
746
- var $L58 = $L("=");
747
- var $L59 = $L("**");
748
- var $L60 = $L("/");
749
- var $L61 = $L("%");
750
- var $L62 = $L("+");
751
- var $L63 = $L("-");
752
- var $L64 = $L("<=");
753
- var $L65 = $L(">=");
754
- var $L66 = $L("<<");
755
- var $L67 = $L(">>>");
756
- var $L68 = $L(">>");
757
- var $L69 = $L(">");
758
- var $L70 = $L("!==");
759
- var $L71 = $L("!=");
760
- var $L72 = $L("is");
761
- var $L73 = $L("===");
762
- var $L74 = $L("==");
763
- var $L75 = $L("and");
764
- var $L76 = $L("&&");
765
- var $L77 = $L("or");
766
- var $L78 = $L("||");
767
- var $L79 = $L("??");
768
- var $L80 = $L("instanceof");
769
- var $L81 = $L("in");
770
- var $L82 = $L("&");
771
- var $L83 = $L("^");
772
- var $L84 = $L("|");
773
- var $L85 = $L("delete");
774
- var $L86 = $L("void");
775
- var $L87 = $L("typeof");
776
- var $L88 = $L("if");
777
- var $L89 = $L("unless");
778
- var $L90 = $L(";");
779
- var $L91 = $L("else");
780
- var $L92 = $L("loop");
781
- var $L93 = $L("do");
782
- var $L94 = $L("while");
783
- var $L95 = $L("until");
784
- var $L96 = $L("var");
785
- var $L97 = $L("of");
786
- var $L98 = $L("for");
787
- var $L99 = $L("let");
788
- var $L100 = $L("const");
789
- var $L101 = $L("switch");
790
- var $L102 = $L("case");
791
- var $L103 = $L("default");
792
- var $L104 = $L("when");
793
- var $L105 = $L("try");
794
- var $L106 = $L("catch");
795
- var $L107 = $L("finally");
796
- var $L108 = $L("break");
797
- var $L109 = $L("continue");
798
- var $L110 = $L("debugger");
799
- var $L111 = $L("throw");
800
- var $L112 = $L("return");
801
- var $L113 = $L("import type");
802
- var $L114 = $L("from");
803
- var $L115 = $L("export");
804
- var $L116 = $L(":=");
805
- var $L117 = $L('"""');
806
- var $L118 = $L("'''");
807
- var $L119 = $L('"');
808
- var $L120 = $L("'");
809
- var $L121 = $L("`");
810
- var $L122 = $L("${");
811
- var $L123 = $L("/*");
812
- var $L124 = $L("*/");
813
- var $L125 = $L("###");
719
+ var $L0 = $L("++");
720
+ var $L1 = $L("--");
721
+ var $L2 = $L("yield");
722
+ var $L3 = $L("*");
723
+ var $L4 = $L("=>");
724
+ var $L5 = $L("<");
725
+ var $L6 = $L("extends");
726
+ var $L7 = $L("this");
727
+ var $L8 = $L("#");
728
+ var $L9 = $L("@");
729
+ var $L10 = $L("super");
730
+ var $L11 = $L("import");
731
+ var $L12 = $L("!");
732
+ var $L13 = $L("::");
733
+ var $L14 = $L("super[");
734
+ var $L15 = $L("import.meta");
735
+ var $L16 = $L("");
736
+ var $L17 = $L(")");
737
+ var $L18 = $L("...");
738
+ var $L19 = $L("->");
739
+ var $L20 = $L("null");
740
+ var $L21 = $L("true");
741
+ var $L22 = $L("false");
742
+ var $L23 = $L(",");
743
+ var $L24 = $L("]");
744
+ var $L25 = $L("get");
745
+ var $L26 = $L("set");
746
+ var $L27 = $L("**=");
747
+ var $L28 = $L("*=");
748
+ var $L29 = $L("/=");
749
+ var $L30 = $L("%=");
750
+ var $L31 = $L("+=");
751
+ var $L32 = $L("-=");
752
+ var $L33 = $L("<<=");
753
+ var $L34 = $L(">>>=");
754
+ var $L35 = $L(">>=");
755
+ var $L36 = $L("&&=");
756
+ var $L37 = $L("&=");
757
+ var $L38 = $L("^=");
758
+ var $L39 = $L("||=");
759
+ var $L40 = $L("|=");
760
+ var $L41 = $L("??=");
761
+ var $L42 = $L("?=");
762
+ var $L43 = $L("=");
763
+ var $L44 = $L("**");
764
+ var $L45 = $L("/");
765
+ var $L46 = $L("%");
766
+ var $L47 = $L("+");
767
+ var $L48 = $L("-");
768
+ var $L49 = $L("<=");
769
+ var $L50 = $L(">=");
770
+ var $L51 = $L("<<");
771
+ var $L52 = $L(">>>");
772
+ var $L53 = $L(">>");
773
+ var $L54 = $L(">");
774
+ var $L55 = $L("!==");
775
+ var $L56 = $L("!=");
776
+ var $L57 = $L("is");
777
+ var $L58 = $L("===");
778
+ var $L59 = $L("==");
779
+ var $L60 = $L("and");
780
+ var $L61 = $L("&&");
781
+ var $L62 = $L("or");
782
+ var $L63 = $L("||");
783
+ var $L64 = $L("??");
784
+ var $L65 = $L("instanceof");
785
+ var $L66 = $L("in");
786
+ var $L67 = $L("&");
787
+ var $L68 = $L("^");
788
+ var $L69 = $L("|");
789
+ var $L70 = $L("delete");
790
+ var $L71 = $L("void");
791
+ var $L72 = $L("typeof");
792
+ var $L73 = $L(";");
793
+ var $L74 = $L("do");
794
+ var $L75 = $L("while");
795
+ var $L76 = $L("until");
796
+ var $L77 = $L("let");
797
+ var $L78 = $L("const");
798
+ var $L79 = $L("case");
799
+ var $L80 = $L("default");
800
+ var $L81 = $L("finally");
801
+ var $L82 = $L("break");
802
+ var $L83 = $L("continue");
803
+ var $L84 = $L("debugger");
804
+ var $L85 = $L("throw");
805
+ var $L86 = $L("import type");
806
+ var $L87 = $L(":=");
807
+ var $L88 = $L('"');
808
+ var $L89 = $L("'");
809
+ var $L90 = $L("`");
810
+ var $L91 = $L("${");
811
+ var $L92 = $L("/*");
812
+ var $L93 = $L("*/");
813
+ var $L94 = $L("###");
814
+ var $L95 = $L("as");
815
+ var $L96 = $L("async");
816
+ var $L97 = $L("await");
817
+ var $L98 = $L("catch");
818
+ var $L99 = $L("class");
819
+ var $L100 = $L("}");
820
+ var $L101 = $L(":");
821
+ var $L102 = $L(".");
822
+ var $L103 = $L("else");
823
+ var $L104 = $L("export");
824
+ var $L105 = $L("for");
825
+ var $L106 = $L("from");
826
+ var $L107 = $L("function");
827
+ var $L108 = $L("if");
828
+ var $L109 = $L("loop");
829
+ var $L110 = $L("new");
830
+ var $L111 = $L("of");
831
+ var $L112 = $L("{");
832
+ var $L113 = $L("[");
833
+ var $L114 = $L("(");
834
+ var $L115 = $L("?");
835
+ var $L116 = $L("return");
836
+ var $L117 = $L("static");
837
+ var $L118 = $L("switch");
838
+ var $L119 = $L("target");
839
+ var $L120 = $L('"""');
840
+ var $L121 = $L("'''");
841
+ var $L122 = $L("try");
842
+ var $L123 = $L("unless");
843
+ var $L124 = $L("var");
844
+ var $L125 = $L("when");
814
845
  var $L126 = $L("/>");
815
846
  var $L127 = $L("</");
816
847
  var $L128 = $L("<>");
@@ -829,30 +860,30 @@ var require_parser = __commonJS({
829
860
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
830
861
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
831
862
  var $R2 = $R(new RegExp("[!~+-]", "suy"));
832
- var $R3 = $R(new RegExp("\\s", "suy"));
833
- var $R4 = $R(new RegExp('[^;"\\s]+', "suy"));
834
- var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
835
- var $R6 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
836
- var $R7 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
837
- var $R8 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
838
- var $R9 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
839
- var $R10 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
840
- var $R11 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
841
- var $R12 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
842
- var $R13 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
843
- var $R14 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
844
- var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
845
- var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
846
- var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
847
- 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|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
848
- var $R19 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
849
- var $R20 = $R(new RegExp(".", "suy"));
850
- var $R21 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
851
- var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
852
- var $R23 = $R(new RegExp("[ \\t]+", "suy"));
853
- var $R24 = $R(new RegExp("[\\t ]+", "suy"));
854
- var $R25 = $R(new RegExp("[\\s]+", "suy"));
855
- var $R26 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
863
+ var $R3 = $R(new RegExp('[^;"\\s]+', "suy"));
864
+ var $R4 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
865
+ var $R5 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
866
+ var $R6 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
867
+ var $R7 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
868
+ var $R8 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
869
+ var $R9 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
870
+ var $R10 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
871
+ var $R11 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])*', "suy"));
872
+ var $R12 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
873
+ var $R13 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
874
+ var $R14 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
875
+ var $R15 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
876
+ var $R16 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
877
+ var $R17 = $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|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
878
+ var $R18 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
879
+ var $R19 = $R(new RegExp(".", "suy"));
880
+ var $R20 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
881
+ var $R21 = $R(new RegExp("[^\\r\\n]", "suy"));
882
+ var $R22 = $R(new RegExp("[ \\t]+", "suy"));
883
+ var $R23 = $R(new RegExp("[\\t ]+", "suy"));
884
+ var $R24 = $R(new RegExp("[\\s]+", "suy"));
885
+ var $R25 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
886
+ var $R26 = $R(new RegExp("\\s", "suy"));
856
887
  var $R27 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
857
888
  var $R28 = $R(new RegExp('"[^"]*"', "suy"));
858
889
  var $R29 = $R(new RegExp("'[^']*'", "suy"));
@@ -883,7 +914,7 @@ var require_parser = __commonJS({
883
914
  return TopLevelStatement$0(state);
884
915
  }
885
916
  }
886
- var Expression$0 = $S(AssignmentExpression, $Q($S(__, $EXPECT($L0, fail, 'Expression ","'), AssignmentExpression)));
917
+ var Expression$0 = $S(AssignmentExpression, $Q($S(__, Comma, AssignmentExpression)));
887
918
  function Expression(state) {
888
919
  if (state.verbose)
889
920
  console.log("ENTER:", "Expression");
@@ -893,7 +924,7 @@ var require_parser = __commonJS({
893
924
  return Expression$0(state);
894
925
  }
895
926
  }
896
- var Arguments$0 = $S($EXPECT($L1, fail, 'Arguments "("'), $E(ArgumentList), $E($S(__, $EXPECT($L0, fail, 'Arguments ","'))), __, $EXPECT($L2, fail, 'Arguments ")"'));
927
+ var Arguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
897
928
  function Arguments(state) {
898
929
  if (state.verbose)
899
930
  console.log("ENTER:", "Arguments");
@@ -937,7 +968,7 @@ var require_parser = __commonJS({
937
968
  return NestedArgument$0(state);
938
969
  }
939
970
  }
940
- var CommaExpression$0 = $S(__, $EXPECT($L0, fail, 'CommaExpression ","'), __, Expression);
971
+ var CommaExpression$0 = $S(__, Comma, __, Expression);
941
972
  function CommaExpression(state) {
942
973
  if (state.verbose)
943
974
  console.log("ENTER:", "CommaExpression");
@@ -961,7 +992,7 @@ var require_parser = __commonJS({
961
992
  var pre = $1;
962
993
  var exp = $2;
963
994
  var post = $3;
964
- if (post === "?") {
995
+ if (post?.token === "?") {
965
996
  return ["(", pre, , "(", exp, ") != null)"];
966
997
  }
967
998
  return [pre, exp, post];
@@ -975,8 +1006,8 @@ var require_parser = __commonJS({
975
1006
  return UnaryExpression$0(state);
976
1007
  }
977
1008
  }
978
- var UnaryPostfix$0 = $EXPECT($L3, fail, 'UnaryPostfix "?"');
979
- var UnaryPostfix$1 = $T($S(__, $EXPECT($L4, fail, 'UnaryPostfix "as"'), NonIdContinue, Type), function(value) {
1009
+ var UnaryPostfix$0 = QuestionMark;
1010
+ var UnaryPostfix$1 = $T($S(__, As, NonIdContinue, Type), function(value) {
980
1011
  return { "ts": true, "children": value };
981
1012
  });
982
1013
  function UnaryPostfix(state) {
@@ -995,7 +1026,7 @@ var require_parser = __commonJS({
995
1026
  return UpdateExpression$0(state) || UpdateExpression$1(state);
996
1027
  }
997
1028
  }
998
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L5, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L6, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1029
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L0, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L1, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
999
1030
  return { $loc, token: $1 };
1000
1031
  });
1001
1032
  function UpdateExpressionSymbol(state) {
@@ -1018,7 +1049,7 @@ var require_parser = __commonJS({
1018
1049
  }
1019
1050
  var AssignmentExpressionRest$0 = AwaitExpression;
1020
1051
  var AssignmentExpressionRest$1 = YieldExpression;
1021
- var AssignmentExpressionRest$2 = $S($E($S($EXPECT($L7, fail, 'AssignmentExpressionRest "async"'), __)), ArrowFunction);
1052
+ var AssignmentExpressionRest$2 = $S($E($S(Async, __)), ArrowFunction);
1022
1053
  var AssignmentExpressionRest$3 = $S($P($S(__, LeftHandSideExpression, __, AssignmentOp)), Expression);
1023
1054
  var AssignmentExpressionRest$4 = ConditionalExpression;
1024
1055
  function AssignmentExpressionRest(state) {
@@ -1028,7 +1059,7 @@ var require_parser = __commonJS({
1028
1059
  return AssignmentExpressionRest$0(state) || AssignmentExpressionRest$1(state) || AssignmentExpressionRest$2(state) || AssignmentExpressionRest$3(state) || AssignmentExpressionRest$4(state);
1029
1060
  }
1030
1061
  }
1031
- var AwaitExpression$0 = $S($EXPECT($L8, fail, 'AwaitExpression "await"'), NonIdContinue, $Q(TrailingComment), AssignmentExpression);
1062
+ var AwaitExpression$0 = $S(Await, $Q(TrailingComment), AssignmentExpression);
1032
1063
  function AwaitExpression(state) {
1033
1064
  if (state.verbose)
1034
1065
  console.log("ENTER:", "AwaitExpression");
@@ -1038,7 +1069,7 @@ var require_parser = __commonJS({
1038
1069
  return AwaitExpression$0(state);
1039
1070
  }
1040
1071
  }
1041
- var YieldExpression$0 = $S($EXPECT($L9, fail, 'YieldExpression "yield"'), NonIdContinue, $E($S($Q(TrailingComment), $EXPECT($L10, fail, 'YieldExpression "*"'))), AssignmentExpression);
1072
+ var YieldExpression$0 = $S($EXPECT($L2, fail, 'YieldExpression "yield"'), NonIdContinue, $E($S($Q(TrailingComment), $EXPECT($L3, fail, 'YieldExpression "*"'))), AssignmentExpression);
1042
1073
  function YieldExpression(state) {
1043
1074
  if (state.verbose)
1044
1075
  console.log("ENTER:", "YieldExpression");
@@ -1057,7 +1088,7 @@ var require_parser = __commonJS({
1057
1088
  return ArrowFunction$0(state) || ArrowFunction$1(state);
1058
1089
  }
1059
1090
  }
1060
- var FatArrow$0 = $TS($S(__, $EXPECT($L11, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1091
+ var FatArrow$0 = $TS($S(__, $EXPECT($L4, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1061
1092
  var ws = $1;
1062
1093
  if (!ws.length)
1063
1094
  return " =>";
@@ -1072,7 +1103,7 @@ var require_parser = __commonJS({
1072
1103
  return FatArrow$0(state);
1073
1104
  }
1074
1105
  }
1075
- var FatArrowBody$0 = $S(__, $EXPECT($L12, fail, 'FatArrowBody "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'FatArrowBody "}"'));
1106
+ var FatArrowBody$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1076
1107
  var FatArrowBody$1 = $TS($S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1077
1108
  var eos = $2;
1078
1109
  var exps = $3;
@@ -1092,7 +1123,7 @@ var require_parser = __commonJS({
1092
1123
  return FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state);
1093
1124
  }
1094
1125
  }
1095
- var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, $EXPECT($L3, fail, 'ConditionalExpression "?"'), AssignmentExpression, __, $EXPECT($L14, fail, 'ConditionalExpression ":"'), AssignmentExpression)));
1126
+ var ConditionalExpression$0 = $S(ShortCircuitExpression, $E($S(__, QuestionMark, AssignmentExpression, __, Colon, AssignmentExpression)));
1096
1127
  function ConditionalExpression(state) {
1097
1128
  if (state.verbose)
1098
1129
  console.log("ENTER:", "ConditionalExpression");
@@ -1121,7 +1152,7 @@ var require_parser = __commonJS({
1121
1152
  var PrimaryExpression$6 = ClassExpression;
1122
1153
  var PrimaryExpression$7 = RegularExpressionLiteral;
1123
1154
  var PrimaryExpression$8 = TemplateLiteral;
1124
- var PrimaryExpression$9 = $S($EXPECT($L1, fail, 'PrimaryExpression "("'), __, Expression, __, $EXPECT($L2, fail, 'PrimaryExpression ")"'));
1155
+ var PrimaryExpression$9 = $S(OpenParen, __, Expression, __, CloseParen);
1125
1156
  var PrimaryExpression$10 = JSXElement;
1126
1157
  var PrimaryExpression$11 = JSXFragment;
1127
1158
  function PrimaryExpression(state) {
@@ -1151,18 +1182,6 @@ var require_parser = __commonJS({
1151
1182
  return ClassExpression$0(state);
1152
1183
  }
1153
1184
  }
1154
- var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1155
- return { $loc, token: $1 };
1156
- });
1157
- function Class(state) {
1158
- if (state.verbose)
1159
- console.log("ENTER:", "Class");
1160
- if (state.tokenize) {
1161
- return $TOKEN("Class", state, Class$0(state));
1162
- } else {
1163
- return Class$0(state);
1164
- }
1165
- }
1166
1185
  var ClassHeritage$0 = $S(ExtendsToken, __, MemberExpression);
1167
1186
  function ClassHeritage(state) {
1168
1187
  if (state.verbose)
@@ -1173,10 +1192,10 @@ var require_parser = __commonJS({
1173
1192
  return ClassHeritage$0(state);
1174
1193
  }
1175
1194
  }
1176
- var ExtendsToken$0 = $TV($EXPECT($L16, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1195
+ var ExtendsToken$0 = $TV($EXPECT($L5, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
1177
1196
  return { $loc, token: "extends" };
1178
1197
  });
1179
- var ExtendsToken$1 = $TV($EXPECT($L17, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1198
+ var ExtendsToken$1 = $TV($EXPECT($L6, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
1180
1199
  return { $loc, token: $1 };
1181
1200
  });
1182
1201
  function ExtendsToken(state) {
@@ -1186,7 +1205,7 @@ var require_parser = __commonJS({
1186
1205
  return ExtendsToken$0(state) || ExtendsToken$1(state);
1187
1206
  }
1188
1207
  }
1189
- var ClassBody$0 = $S(__, $EXPECT($L12, fail, 'ClassBody "{"'), $E($S(EOS, NestedClassElements)), __, $EXPECT($L13, fail, 'ClassBody "}"'));
1208
+ var ClassBody$0 = $S(__, OpenBrace, $E($S(EOS, NestedClassElements)), __, CloseBrace);
1190
1209
  var ClassBody$1 = $S(InsertOpenBrace, EOS, NestedClassElements, InsertNewline, InsertIndent, InsertCloseBrace);
1191
1210
  function ClassBody(state) {
1192
1211
  if (state.tokenize) {
@@ -1229,19 +1248,15 @@ var require_parser = __commonJS({
1229
1248
  return ClassElement$0(state) || ClassElement$1(state);
1230
1249
  }
1231
1250
  }
1232
- var Static$0 = $TV($EXPECT($L18, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
1233
- return { $loc, token: $1 };
1251
+ var FieldDefinition$0 = $TS($S(InsertReadonly, ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1252
+ var r = $1;
1253
+ var ca = $5;
1254
+ r.children[0].$loc = {
1255
+ pos: ca.$loc.pos - 1,
1256
+ length: ca.$loc.length + 1
1257
+ };
1258
+ return $0;
1234
1259
  });
1235
- function Static(state) {
1236
- if (state.verbose)
1237
- console.log("ENTER:", "Static");
1238
- if (state.tokenize) {
1239
- return $TOKEN("Static", state, Static$0(state));
1240
- } else {
1241
- return Static$0(state);
1242
- }
1243
- }
1244
- var FieldDefinition$0 = $S(InsertReadonly, ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
1245
1260
  var FieldDefinition$1 = $S(ClassElementName, $E(TypeSuffix), $E(Initializer));
1246
1261
  function FieldDefinition(state) {
1247
1262
  if (state.tokenize) {
@@ -1250,11 +1265,11 @@ var require_parser = __commonJS({
1250
1265
  return FieldDefinition$0(state) || FieldDefinition$1(state);
1251
1266
  }
1252
1267
  }
1253
- var This$0 = $TV($EXPECT($L19, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1268
+ var This$0 = $TV($EXPECT($L7, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1254
1269
  return { $loc, token: $1 };
1255
1270
  });
1256
- var This$1 = $S(AtAccessor, $S($E($EXPECT($L20, fail, 'This "#"')), IdentifierName));
1257
- var This$2 = $TV($EXPECT($L21, fail, 'This "@"'), function($skip, $loc, $0, $1) {
1271
+ var This$1 = $S(AtAccessor, $S($E($EXPECT($L8, fail, 'This "#"')), IdentifierName));
1272
+ var This$2 = $TV($EXPECT($L9, fail, 'This "@"'), function($skip, $loc, $0, $1) {
1258
1273
  return { $loc, token: "this" };
1259
1274
  });
1260
1275
  function This(state) {
@@ -1264,7 +1279,7 @@ var require_parser = __commonJS({
1264
1279
  return This$0(state) || This$1(state) || This$2(state);
1265
1280
  }
1266
1281
  }
1267
- var AtAccessor$0 = $TV($EXPECT($L21, fail, 'AtAccessor "@"'), function($skip, $loc, $0, $1) {
1282
+ var AtAccessor$0 = $TV($EXPECT($L9, fail, 'AtAccessor "@"'), function($skip, $loc, $0, $1) {
1268
1283
  return { $loc, token: "this." };
1269
1284
  });
1270
1285
  function AtAccessor(state) {
@@ -1285,7 +1300,7 @@ var require_parser = __commonJS({
1285
1300
  return LeftHandSideExpression$0(state) || LeftHandSideExpression$1(state);
1286
1301
  }
1287
1302
  }
1288
- var NewExpression$0 = $S($P($S($EXPECT($L22, fail, 'NewExpression "new"'), __)), CallExpression);
1303
+ var NewExpression$0 = $S($P($S(New, __)), CallExpression);
1289
1304
  function NewExpression(state) {
1290
1305
  if (state.verbose)
1291
1306
  console.log("ENTER:", "NewExpression");
@@ -1295,8 +1310,8 @@ var require_parser = __commonJS({
1295
1310
  return NewExpression$0(state);
1296
1311
  }
1297
1312
  }
1298
- var CallExpression$0 = $S($EXPECT($L23, fail, 'CallExpression "super"'), __, Arguments);
1299
- var CallExpression$1 = $S($EXPECT($L24, fail, 'CallExpression "import"'), __, $EXPECT($L1, fail, 'CallExpression "("'), AssignmentExpression, __, $EXPECT($L2, fail, 'CallExpression ")"'));
1313
+ var CallExpression$0 = $S($EXPECT($L10, fail, 'CallExpression "super"'), __, Arguments);
1314
+ var CallExpression$1 = $S($EXPECT($L11, fail, 'CallExpression "import"'), __, OpenParen, AssignmentExpression, __, CloseParen);
1300
1315
  var CallExpression$2 = $S(MemberExpression, $Q(CallExpressionRest));
1301
1316
  function CallExpression(state) {
1302
1317
  if (state.tokenize) {
@@ -1316,7 +1331,7 @@ var require_parser = __commonJS({
1316
1331
  return CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state) || CallExpressionRest$3(state);
1317
1332
  }
1318
1333
  }
1319
- var OptionalShorthand$0 = $S($EXPECT($L3, fail, 'OptionalShorthand "?"'), $C($EXPECT($L25, fail, 'OptionalShorthand "."'), InsertDot));
1334
+ var OptionalShorthand$0 = $S(QuestionMark, $C(Dot, InsertDot));
1320
1335
  function OptionalShorthand(state) {
1321
1336
  if (state.verbose)
1322
1337
  console.log("ENTER:", "OptionalShorthand");
@@ -1326,7 +1341,7 @@ var require_parser = __commonJS({
1326
1341
  return OptionalShorthand$0(state);
1327
1342
  }
1328
1343
  }
1329
- var NonNullAssertion$0 = $T($EXPECT($L26, fail, 'NonNullAssertion "!"'), function(value) {
1344
+ var NonNullAssertion$0 = $T($EXPECT($L12, fail, 'NonNullAssertion "!"'), function(value) {
1330
1345
  return { "ts": true, "children": value };
1331
1346
  });
1332
1347
  function NonNullAssertion(state) {
@@ -1348,10 +1363,11 @@ var require_parser = __commonJS({
1348
1363
  return SpacedApplication$0(state);
1349
1364
  }
1350
1365
  }
1351
- var ApplicationStart$0 = $TS($S($E(OptionalShorthand), $N(EOS), $TEXT($P(_)), $N(AdditionalReservedWords)), function($skip, $loc, $0, $1, $2, $3, $4) {
1366
+ var ApplicationStart$0 = $TS($S($E(OptionalShorthand), $N(EOS), _, $N(AdditionalReservedWords)), function($skip, $loc, $0, $1, $2, $3, $4) {
1352
1367
  var opt = $1;
1353
1368
  var spacing = $3;
1354
- return [opt, "(", spacing.replace(/^ /, "")];
1369
+ spacing[0].token = spacing[0].token.replace(/^ ?/, "(");
1370
+ return [opt, spacing];
1355
1371
  });
1356
1372
  function ApplicationStart(state) {
1357
1373
  if (state.verbose)
@@ -1382,9 +1398,9 @@ var require_parser = __commonJS({
1382
1398
  return MemberExpression$0(state) || MemberExpression$1(state) || MemberExpression$2(state);
1383
1399
  }
1384
1400
  }
1385
- var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), $EXPECT($L27, fail, 'MemberExpressionRest "["'), __, Expression, __, $EXPECT($L28, fail, 'MemberExpressionRest "]"'));
1401
+ var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), OpenBracket, __, Expression, __, CloseBracket);
1386
1402
  var MemberExpressionRest$1 = $S($E($S(EOS, NestedFurther)), PropertyAccess);
1387
- var MemberExpressionRest$2 = $TS($S($EXPECT($L29, fail, 'MemberExpressionRest "::"'), $E(IdentifierName)), function($skip, $loc, $0, $1, $2) {
1403
+ var MemberExpressionRest$2 = $TS($S($EXPECT($L13, fail, 'MemberExpressionRest "::"'), $E(IdentifierName)), function($skip, $loc, $0, $1, $2) {
1388
1404
  var id = $2;
1389
1405
  if (id)
1390
1406
  return [".prototype.", id];
@@ -1398,7 +1414,7 @@ var require_parser = __commonJS({
1398
1414
  return MemberExpressionRest$0(state) || MemberExpressionRest$1(state) || MemberExpressionRest$2(state) || MemberExpressionRest$3(state);
1399
1415
  }
1400
1416
  }
1401
- var PropertyAccess$0 = $S($E($C($EXPECT($L3, fail, 'PropertyAccess "?"'), NonNullAssertion)), $EXPECT($L25, fail, 'PropertyAccess "."'), $C(IdentifierName, PrivateIdentifier));
1417
+ var PropertyAccess$0 = $S($E($C(QuestionMark, NonNullAssertion)), Dot, $C(IdentifierName, PrivateIdentifier));
1402
1418
  function PropertyAccess(state) {
1403
1419
  if (state.verbose)
1404
1420
  console.log("ENTER:", "PropertyAccess");
@@ -1408,7 +1424,7 @@ var require_parser = __commonJS({
1408
1424
  return PropertyAccess$0(state);
1409
1425
  }
1410
1426
  }
1411
- var SuperProperty$0 = $S($EXPECT($L30, fail, 'SuperProperty "super["'), __, Expression, __, $EXPECT($L28, fail, 'SuperProperty "]"'));
1427
+ var SuperProperty$0 = $S($EXPECT($L14, fail, 'SuperProperty "super["'), __, Expression, __, CloseBracket);
1412
1428
  function SuperProperty(state) {
1413
1429
  if (state.verbose)
1414
1430
  console.log("ENTER:", "SuperProperty");
@@ -1418,8 +1434,10 @@ var require_parser = __commonJS({
1418
1434
  return SuperProperty$0(state);
1419
1435
  }
1420
1436
  }
1421
- var MetaProperty$0 = $EXPECT($L31, fail, 'MetaProperty "new.target"');
1422
- var MetaProperty$1 = $EXPECT($L32, fail, 'MetaProperty "import.meta"');
1437
+ var MetaProperty$0 = $S(New, Dot, Target);
1438
+ var MetaProperty$1 = $TV($EXPECT($L15, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
1439
+ return { $loc, token: $1 };
1440
+ });
1423
1441
  function MetaProperty(state) {
1424
1442
  if (state.tokenize) {
1425
1443
  return $TOKEN("MetaProperty", state, MetaProperty$0(state) || MetaProperty$1(state));
@@ -1427,9 +1445,9 @@ var require_parser = __commonJS({
1427
1445
  return MetaProperty$0(state) || MetaProperty$1(state);
1428
1446
  }
1429
1447
  }
1430
- var Parameters$0 = $S($E(TypeParameters), $EXPECT($L1, fail, 'Parameters "("'), $Q(ParameterElement), __, $EXPECT($L2, fail, 'Parameters ")"'));
1431
- var Parameters$1 = $T($EXPECT($L33, fail, 'Parameters ""'), function(value) {
1432
- return "()";
1448
+ var Parameters$0 = $S($E(TypeParameters), OpenParen, $Q(ParameterElement), __, CloseParen);
1449
+ var Parameters$1 = $TV($EXPECT($L16, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
1450
+ return { $loc, token: "()" };
1433
1451
  });
1434
1452
  function Parameters(state) {
1435
1453
  if (state.tokenize) {
@@ -1448,13 +1466,13 @@ var require_parser = __commonJS({
1448
1466
  return ParameterElement$0(state);
1449
1467
  }
1450
1468
  }
1451
- var ParameterElementDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ParameterElementDelimiter ","'));
1452
- var ParameterElementDelimiter$1 = $Y($S($Q(_), $EXPECT($L2, fail, 'ParameterElementDelimiter ")"')));
1453
- var ParameterElementDelimiter$2 = $T($Y($S(__, $EXPECT($L2, fail, 'ParameterElementDelimiter ")"'))), function(value) {
1454
- return ",";
1469
+ var ParameterElementDelimiter$0 = $S($Q(_), Comma);
1470
+ var ParameterElementDelimiter$1 = $Y($S($Q(_), $EXPECT($L17, fail, 'ParameterElementDelimiter ")"')));
1471
+ var ParameterElementDelimiter$2 = $TV($Y($S(__, $EXPECT($L17, fail, 'ParameterElementDelimiter ")"'))), function($skip, $loc, $0, $1) {
1472
+ return { $loc, token: "," };
1455
1473
  });
1456
- var ParameterElementDelimiter$3 = $T($Y(EOS), function(value) {
1457
- return ",";
1474
+ var ParameterElementDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1475
+ return { $loc, token: "," };
1458
1476
  });
1459
1477
  function ParameterElementDelimiter(state) {
1460
1478
  if (state.tokenize) {
@@ -1482,7 +1500,7 @@ var require_parser = __commonJS({
1482
1500
  return BindingPattern$0(state) || BindingPattern$1(state);
1483
1501
  }
1484
1502
  }
1485
- var ObjectBindingPattern$0 = $S($EXPECT($L12, fail, 'ObjectBindingPattern "{"'), $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, $EXPECT($L13, fail, 'ObjectBindingPattern "}"'));
1503
+ var ObjectBindingPattern$0 = $S(OpenBrace, $Q(BindingProperty), $E($S(__, BindingRestProperty)), __, CloseBrace);
1486
1504
  function ObjectBindingPattern(state) {
1487
1505
  if (state.verbose)
1488
1506
  console.log("ENTER:", "ObjectBindingPattern");
@@ -1492,7 +1510,7 @@ var require_parser = __commonJS({
1492
1510
  return ObjectBindingPattern$0(state);
1493
1511
  }
1494
1512
  }
1495
- var ArrayBindingPattern$0 = $S($EXPECT($L27, fail, 'ArrayBindingPattern "["'), $Q($C(BindingElement, Elision)), $E($S(__, BindingRestElement)), __, $EXPECT($L28, fail, 'ArrayBindingPattern "]"'));
1513
+ var ArrayBindingPattern$0 = $S(OpenBracket, $Q($C(BindingElement, Elision)), $E($S(__, BindingRestElement)), __, CloseBracket);
1496
1514
  function ArrayBindingPattern(state) {
1497
1515
  if (state.verbose)
1498
1516
  console.log("ENTER:", "ArrayBindingPattern");
@@ -1502,7 +1520,7 @@ var require_parser = __commonJS({
1502
1520
  return ArrayBindingPattern$0(state);
1503
1521
  }
1504
1522
  }
1505
- var BindingProperty$0 = $S(__, PropertyName, __, $EXPECT($L14, fail, 'BindingProperty ":"'), __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1523
+ var BindingProperty$0 = $S(__, PropertyName, __, Colon, __, $C(BindingIdentifier, BindingPattern), $E(Initializer), ObjectPropertyDelimiter);
1506
1524
  var BindingProperty$1 = $S(__, BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1507
1525
  function BindingProperty(state) {
1508
1526
  if (state.tokenize) {
@@ -1511,7 +1529,7 @@ var require_parser = __commonJS({
1511
1529
  return BindingProperty$0(state) || BindingProperty$1(state);
1512
1530
  }
1513
1531
  }
1514
- var BindingRestProperty$0 = $S($EXPECT($L34, fail, 'BindingRestProperty "..."'), __, BindingIdentifier);
1532
+ var BindingRestProperty$0 = $S($EXPECT($L18, fail, 'BindingRestProperty "..."'), __, BindingIdentifier);
1515
1533
  function BindingRestProperty(state) {
1516
1534
  if (state.verbose)
1517
1535
  console.log("ENTER:", "BindingRestProperty");
@@ -1531,7 +1549,7 @@ var require_parser = __commonJS({
1531
1549
  return BindingElement$0(state);
1532
1550
  }
1533
1551
  }
1534
- var BindingRestElement$0 = $S($EXPECT($L34, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1552
+ var BindingRestElement$0 = $S($EXPECT($L18, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1535
1553
  function BindingRestElement(state) {
1536
1554
  if (state.verbose)
1537
1555
  console.log("ENTER:", "BindingRestElement");
@@ -1552,7 +1570,7 @@ var require_parser = __commonJS({
1552
1570
  }
1553
1571
  }
1554
1572
  var FunctionExpression$0 = ThinArrowFunction;
1555
- var FunctionExpression$1 = $S($E($S($EXPECT($L7, fail, 'FunctionExpression "async"'), __)), $EXPECT($L35, fail, 'FunctionExpression "function"'), $E($S($EXPECT($L10, fail, 'FunctionExpression "*"'), __)), $E($S(__, BindingIdentifier)), __, Parameters, $E(ReturnTypeSuffix), BracedBlock);
1573
+ var FunctionExpression$1 = $S($E($S(Async, __)), Function, $E($S($EXPECT($L3, fail, 'FunctionExpression "*"'), __)), $E($S(__, BindingIdentifier)), __, Parameters, $E(ReturnTypeSuffix), BracedBlock);
1556
1574
  function FunctionExpression(state) {
1557
1575
  if (state.tokenize) {
1558
1576
  return $TOKEN("FunctionExpression", state, FunctionExpression$0(state) || FunctionExpression$1(state));
@@ -1581,7 +1599,7 @@ var require_parser = __commonJS({
1581
1599
  return ThinArrowFunction$0(state);
1582
1600
  }
1583
1601
  }
1584
- var Arrow$0 = $TV($EXPECT($L36, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
1602
+ var Arrow$0 = $TV($EXPECT($L19, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
1585
1603
  return { $loc, token: $1 };
1586
1604
  });
1587
1605
  function Arrow(state) {
@@ -1593,7 +1611,7 @@ var require_parser = __commonJS({
1593
1611
  return Arrow$0(state);
1594
1612
  }
1595
1613
  }
1596
- var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'Block "}"'));
1614
+ var Block$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1597
1615
  var Block$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1598
1616
  var Block$2 = Statement;
1599
1617
  var Block$3 = $S(__, Statement);
@@ -1613,7 +1631,7 @@ var require_parser = __commonJS({
1613
1631
  return BracedOrEmptyBlock$0(state) || BracedOrEmptyBlock$1(state);
1614
1632
  }
1615
1633
  }
1616
- var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BracedBlock "}"'));
1634
+ var BracedBlock$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1617
1635
  var BracedBlock$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1618
1636
  var BracedBlock$2 = $S(InsertOpenBrace, $N(EOS), __, Statement, InsertSpace, InsertCloseBrace);
1619
1637
  function BracedBlock(state) {
@@ -1674,7 +1692,7 @@ var require_parser = __commonJS({
1674
1692
  return Literal$0(state) || Literal$1(state) || Literal$2(state) || Literal$3(state);
1675
1693
  }
1676
1694
  }
1677
- var NullLiteral$0 = $TV($EXPECT($L37, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
1695
+ var NullLiteral$0 = $TV($EXPECT($L20, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
1678
1696
  return { $loc, token: $1 };
1679
1697
  });
1680
1698
  function NullLiteral(state) {
@@ -1686,7 +1704,7 @@ var require_parser = __commonJS({
1686
1704
  return NullLiteral$0(state);
1687
1705
  }
1688
1706
  }
1689
- var BooleanLiteral$0 = $TV($C($EXPECT($L38, fail, 'BooleanLiteral "true"'), $EXPECT($L39, fail, 'BooleanLiteral "false"')), function($skip, $loc, $0, $1) {
1707
+ var BooleanLiteral$0 = $TV($C($EXPECT($L21, fail, 'BooleanLiteral "true"'), $EXPECT($L22, fail, 'BooleanLiteral "false"')), function($skip, $loc, $0, $1) {
1690
1708
  return { $loc, token: $1 };
1691
1709
  });
1692
1710
  function BooleanLiteral(state) {
@@ -1698,7 +1716,9 @@ var require_parser = __commonJS({
1698
1716
  return BooleanLiteral$0(state);
1699
1717
  }
1700
1718
  }
1701
- var Comma$0 = $S($Q(_), $EXPECT($L0, fail, 'Comma ","'), $Q(_));
1719
+ var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
1720
+ return { $loc, token: $1 };
1721
+ });
1702
1722
  function Comma(state) {
1703
1723
  if (state.verbose)
1704
1724
  console.log("ENTER:", "Comma");
@@ -1743,8 +1763,8 @@ var require_parser = __commonJS({
1743
1763
  return IdentifierReference$0(state);
1744
1764
  }
1745
1765
  }
1746
- var ArrayLiteral$0 = $S($EXPECT($L27, fail, 'ArrayLiteral "["'), NestedElementList, __, $EXPECT($L28, fail, 'ArrayLiteral "]"'));
1747
- var ArrayLiteral$1 = $S($EXPECT($L27, fail, 'ArrayLiteral "["'), ElementList, __, $EXPECT($L28, fail, 'ArrayLiteral "]"'));
1766
+ var ArrayLiteral$0 = $S(OpenBracket, NestedElementList, __, CloseBracket);
1767
+ var ArrayLiteral$1 = $S(OpenBracket, ElementList, __, CloseBracket);
1748
1768
  function ArrayLiteral(state) {
1749
1769
  if (state.tokenize) {
1750
1770
  return $TOKEN("ArrayLiteral", state, ArrayLiteral$0(state) || ArrayLiteral$1(state));
@@ -1777,10 +1797,10 @@ var require_parser = __commonJS({
1777
1797
  return NestedElement$0(state);
1778
1798
  }
1779
1799
  }
1780
- var ArrayElementDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ArrayElementDelimiter ","'));
1781
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L28, fail, 'ArrayElementDelimiter "]"')));
1782
- var ArrayElementDelimiter$2 = $T($Y(EOS), function(value) {
1783
- return ",";
1800
+ var ArrayElementDelimiter$0 = $S($Q(_), Comma);
1801
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L24, fail, 'ArrayElementDelimiter "]"')));
1802
+ var ArrayElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1803
+ return { $loc, token: "," };
1784
1804
  });
1785
1805
  function ArrayElementDelimiter(state) {
1786
1806
  if (state.tokenize) {
@@ -1789,7 +1809,7 @@ var require_parser = __commonJS({
1789
1809
  return ArrayElementDelimiter$0(state) || ArrayElementDelimiter$1(state) || ArrayElementDelimiter$2(state);
1790
1810
  }
1791
1811
  }
1792
- var ElementList$0 = $S(ArrayElementExpression, $Q($S(__, $EXPECT($L0, fail, 'ElementList ","'), __, ArrayElementExpression)));
1812
+ var ElementList$0 = $S(ArrayElementExpression, $Q($S(__, Comma, __, ArrayElementExpression)));
1793
1813
  function ElementList(state) {
1794
1814
  if (state.verbose)
1795
1815
  console.log("ENTER:", "ElementList");
@@ -1799,7 +1819,7 @@ var require_parser = __commonJS({
1799
1819
  return ElementList$0(state);
1800
1820
  }
1801
1821
  }
1802
- var InlineElementList$0 = $S(ArrayElementExpression, $Q($S($Q(_), $EXPECT($L0, fail, 'InlineElementList ","'), $Q(_), ArrayElementExpression)));
1822
+ var InlineElementList$0 = $S(ArrayElementExpression, $Q($S($Q(_), Comma, $Q(_), ArrayElementExpression)));
1803
1823
  function InlineElementList(state) {
1804
1824
  if (state.verbose)
1805
1825
  console.log("ENTER:", "InlineElementList");
@@ -1809,7 +1829,7 @@ var require_parser = __commonJS({
1809
1829
  return InlineElementList$0(state);
1810
1830
  }
1811
1831
  }
1812
- var ArrayElementExpression$0 = $E($S($E($S($EXPECT($L34, fail, 'ArrayElementExpression "..."'), __)), AssignmentExpression));
1832
+ var ArrayElementExpression$0 = $E($S($E($S($EXPECT($L18, fail, 'ArrayElementExpression "..."'), __)), AssignmentExpression));
1813
1833
  function ArrayElementExpression(state) {
1814
1834
  if (state.verbose)
1815
1835
  console.log("ENTER:", "ArrayElementExpression");
@@ -1819,7 +1839,7 @@ var require_parser = __commonJS({
1819
1839
  return ArrayElementExpression$0(state);
1820
1840
  }
1821
1841
  }
1822
- var Elision$0 = $S(__, $EXPECT($L0, fail, 'Elision ","'));
1842
+ var Elision$0 = $S(__, Comma);
1823
1843
  function Elision(state) {
1824
1844
  if (state.verbose)
1825
1845
  console.log("ENTER:", "Elision");
@@ -1829,9 +1849,9 @@ var require_parser = __commonJS({
1829
1849
  return Elision$0(state);
1830
1850
  }
1831
1851
  }
1832
- var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1833
- var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1834
- var ObjectLiteral$2 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1852
+ var ObjectLiteral$0 = $S(OpenBrace, $Y(EOS), NestedPropertyDefinitions, __, CloseBrace);
1853
+ var ObjectLiteral$1 = $S(OpenBrace, __, PropertyDefinitionList, __, $E($S(Comma, __)), CloseBrace);
1854
+ var ObjectLiteral$2 = $S(OpenBrace, __, CloseBrace);
1835
1855
  var ObjectLiteral$3 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1836
1856
  function ObjectLiteral(state) {
1837
1857
  if (state.tokenize) {
@@ -1865,13 +1885,13 @@ var require_parser = __commonJS({
1865
1885
  return NestedPropertyDefinition$0(state);
1866
1886
  }
1867
1887
  }
1868
- var ObjectPropertyDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ObjectPropertyDelimiter ","'));
1869
- var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"')));
1870
- var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1871
- return ",";
1888
+ var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
1889
+ var ObjectPropertyDelimiter$1 = $Y($S($Q(_), CloseBrace));
1890
+ var ObjectPropertyDelimiter$2 = $TV($Y($S(__, CloseBrace)), function($skip, $loc, $0, $1) {
1891
+ return { $loc, token: "," };
1872
1892
  });
1873
- var ObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
1874
- return ",";
1893
+ var ObjectPropertyDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1894
+ return { $loc, token: "," };
1875
1895
  });
1876
1896
  function ObjectPropertyDelimiter(state) {
1877
1897
  if (state.tokenize) {
@@ -1880,7 +1900,7 @@ var require_parser = __commonJS({
1880
1900
  return ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state) || ObjectPropertyDelimiter$3(state);
1881
1901
  }
1882
1902
  }
1883
- var PropertyDefinitionList$0 = $S(PropertyDefinition, $Q($S(__, $EXPECT($L0, fail, 'PropertyDefinitionList ","'), __, PropertyDefinition)));
1903
+ var PropertyDefinitionList$0 = $S(PropertyDefinition, $Q($S(__, Comma, __, PropertyDefinition)));
1884
1904
  function PropertyDefinitionList(state) {
1885
1905
  if (state.verbose)
1886
1906
  console.log("ENTER:", "PropertyDefinitionList");
@@ -1890,9 +1910,9 @@ var require_parser = __commonJS({
1890
1910
  return PropertyDefinitionList$0(state);
1891
1911
  }
1892
1912
  }
1893
- var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L14, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1913
+ var PropertyDefinition$0 = $S(PropertyName, __, Colon, AssignmentExpression);
1894
1914
  var PropertyDefinition$1 = MethodDefinition;
1895
- var PropertyDefinition$2 = $S($EXPECT($L34, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1915
+ var PropertyDefinition$2 = $S($EXPECT($L18, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1896
1916
  var PropertyDefinition$3 = IdentifierReference;
1897
1917
  function PropertyDefinition(state) {
1898
1918
  if (state.tokenize) {
@@ -1904,7 +1924,7 @@ var require_parser = __commonJS({
1904
1924
  var PropertyName$0 = NumericLiteral;
1905
1925
  var PropertyName$1 = StringLiteral;
1906
1926
  var PropertyName$2 = IdentifierName;
1907
- var PropertyName$3 = $S($EXPECT($L27, fail, 'PropertyName "["'), AssignmentExpression, __, $EXPECT($L28, fail, 'PropertyName "]"'));
1927
+ var PropertyName$3 = $S(OpenBracket, AssignmentExpression, __, $EXPECT($L24, fail, 'PropertyName "]"'));
1908
1928
  function PropertyName(state) {
1909
1929
  if (state.tokenize) {
1910
1930
  return $TOKEN("PropertyName", state, PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state));
@@ -1912,8 +1932,8 @@ var require_parser = __commonJS({
1912
1932
  return PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state);
1913
1933
  }
1914
1934
  }
1915
- var MethodDefinition$0 = $S($EXPECT($L40, fail, 'MethodDefinition "get"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1916
- var MethodDefinition$1 = $S($EXPECT($L41, fail, 'MethodDefinition "set"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1935
+ var MethodDefinition$0 = $S($EXPECT($L25, fail, 'MethodDefinition "get"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1936
+ var MethodDefinition$1 = $S($EXPECT($L26, fail, 'MethodDefinition "set"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1917
1937
  var MethodDefinition$2 = AsyncGeneratorMethod;
1918
1938
  var MethodDefinition$3 = AsyncMethod;
1919
1939
  var MethodDefinition$4 = GeneratorMethod;
@@ -1925,7 +1945,7 @@ var require_parser = __commonJS({
1925
1945
  return MethodDefinition$0(state) || MethodDefinition$1(state) || MethodDefinition$2(state) || MethodDefinition$3(state) || MethodDefinition$4(state) || MethodDefinition$5(state);
1926
1946
  }
1927
1947
  }
1928
- var MethodModifier$0 = $S($C($EXPECT($L40, fail, 'MethodModifier "get"'), $EXPECT($L41, fail, 'MethodModifier "set"')), NonIdContinue, $Q(TrailingComment));
1948
+ var MethodModifier$0 = $S($C($EXPECT($L25, fail, 'MethodModifier "get"'), $EXPECT($L26, fail, 'MethodModifier "set"')), NonIdContinue, $Q(TrailingComment));
1929
1949
  function MethodModifier(state) {
1930
1950
  if (state.verbose)
1931
1951
  console.log("ENTER:", "MethodModifier");
@@ -1954,7 +1974,7 @@ var require_parser = __commonJS({
1954
1974
  return ClassElementName$0(state) || ClassElementName$1(state);
1955
1975
  }
1956
1976
  }
1957
- var PrivateIdentifier$0 = $S($EXPECT($L20, fail, 'PrivateIdentifier "#"'), IdentifierName);
1977
+ var PrivateIdentifier$0 = $S($EXPECT($L8, fail, 'PrivateIdentifier "#"'), IdentifierName);
1958
1978
  function PrivateIdentifier(state) {
1959
1979
  if (state.verbose)
1960
1980
  console.log("ENTER:", "PrivateIdentifier");
@@ -1964,7 +1984,7 @@ var require_parser = __commonJS({
1964
1984
  return PrivateIdentifier$0(state);
1965
1985
  }
1966
1986
  }
1967
- var GeneratorMethod$0 = $S($EXPECT($L10, fail, 'GeneratorMethod "*"'), __, ClassElementName, __, Parameters, GeneratorBody);
1987
+ var GeneratorMethod$0 = $S($EXPECT($L3, fail, 'GeneratorMethod "*"'), __, ClassElementName, __, Parameters, GeneratorBody);
1968
1988
  function GeneratorMethod(state) {
1969
1989
  if (state.verbose)
1970
1990
  console.log("ENTER:", "GeneratorMethod");
@@ -1984,7 +2004,7 @@ var require_parser = __commonJS({
1984
2004
  return GeneratorBody$0(state);
1985
2005
  }
1986
2006
  }
1987
- var AsyncMethod$0 = $S($EXPECT($L7, fail, 'AsyncMethod "async"'), $N(EOS), __, ClassElementName, __, Parameters, AsyncFunctionBody);
2007
+ var AsyncMethod$0 = $S(Async, $N(EOS), __, ClassElementName, __, Parameters, AsyncFunctionBody);
1988
2008
  function AsyncMethod(state) {
1989
2009
  if (state.verbose)
1990
2010
  console.log("ENTER:", "AsyncMethod");
@@ -2004,7 +2024,7 @@ var require_parser = __commonJS({
2004
2024
  return AsyncFunctionBody$0(state);
2005
2025
  }
2006
2026
  }
2007
- var AsyncGeneratorMethod$0 = $S($EXPECT($L7, fail, 'AsyncGeneratorMethod "async"'), $N(EOS), __, $EXPECT($L10, fail, 'AsyncGeneratorMethod "*"'), __, ClassElementName, __, Parameters, AsyncGeneratorBody);
2027
+ var AsyncGeneratorMethod$0 = $S(Async, $N(EOS), __, $EXPECT($L3, fail, 'AsyncGeneratorMethod "*"'), __, ClassElementName, __, Parameters, AsyncGeneratorBody);
2008
2028
  function AsyncGeneratorMethod(state) {
2009
2029
  if (state.verbose)
2010
2030
  console.log("ENTER:", "AsyncGeneratorMethod");
@@ -2036,25 +2056,25 @@ var require_parser = __commonJS({
2036
2056
  return AssignmentOp$0(state);
2037
2057
  }
2038
2058
  }
2039
- var AssignmentOpSymbol$0 = $EXPECT($L42, fail, 'AssignmentOpSymbol "**="');
2040
- var AssignmentOpSymbol$1 = $EXPECT($L43, fail, 'AssignmentOpSymbol "*="');
2041
- var AssignmentOpSymbol$2 = $EXPECT($L44, fail, 'AssignmentOpSymbol "/="');
2042
- var AssignmentOpSymbol$3 = $EXPECT($L45, fail, 'AssignmentOpSymbol "%="');
2043
- var AssignmentOpSymbol$4 = $EXPECT($L46, fail, 'AssignmentOpSymbol "+="');
2044
- var AssignmentOpSymbol$5 = $EXPECT($L47, fail, 'AssignmentOpSymbol "-="');
2045
- var AssignmentOpSymbol$6 = $EXPECT($L48, fail, 'AssignmentOpSymbol "<<="');
2046
- var AssignmentOpSymbol$7 = $EXPECT($L49, fail, 'AssignmentOpSymbol ">>>="');
2047
- var AssignmentOpSymbol$8 = $EXPECT($L50, fail, 'AssignmentOpSymbol ">>="');
2048
- var AssignmentOpSymbol$9 = $EXPECT($L51, fail, 'AssignmentOpSymbol "&&="');
2049
- var AssignmentOpSymbol$10 = $EXPECT($L52, fail, 'AssignmentOpSymbol "&="');
2050
- var AssignmentOpSymbol$11 = $EXPECT($L53, fail, 'AssignmentOpSymbol "^="');
2051
- var AssignmentOpSymbol$12 = $EXPECT($L54, fail, 'AssignmentOpSymbol "||="');
2052
- var AssignmentOpSymbol$13 = $EXPECT($L55, fail, 'AssignmentOpSymbol "|="');
2053
- var AssignmentOpSymbol$14 = $EXPECT($L56, fail, 'AssignmentOpSymbol "??="');
2054
- var AssignmentOpSymbol$15 = $T($EXPECT($L57, fail, 'AssignmentOpSymbol "?="'), function(value) {
2059
+ var AssignmentOpSymbol$0 = $EXPECT($L27, fail, 'AssignmentOpSymbol "**="');
2060
+ var AssignmentOpSymbol$1 = $EXPECT($L28, fail, 'AssignmentOpSymbol "*="');
2061
+ var AssignmentOpSymbol$2 = $EXPECT($L29, fail, 'AssignmentOpSymbol "/="');
2062
+ var AssignmentOpSymbol$3 = $EXPECT($L30, fail, 'AssignmentOpSymbol "%="');
2063
+ var AssignmentOpSymbol$4 = $EXPECT($L31, fail, 'AssignmentOpSymbol "+="');
2064
+ var AssignmentOpSymbol$5 = $EXPECT($L32, fail, 'AssignmentOpSymbol "-="');
2065
+ var AssignmentOpSymbol$6 = $EXPECT($L33, fail, 'AssignmentOpSymbol "<<="');
2066
+ var AssignmentOpSymbol$7 = $EXPECT($L34, fail, 'AssignmentOpSymbol ">>>="');
2067
+ var AssignmentOpSymbol$8 = $EXPECT($L35, fail, 'AssignmentOpSymbol ">>="');
2068
+ var AssignmentOpSymbol$9 = $EXPECT($L36, fail, 'AssignmentOpSymbol "&&="');
2069
+ var AssignmentOpSymbol$10 = $EXPECT($L37, fail, 'AssignmentOpSymbol "&="');
2070
+ var AssignmentOpSymbol$11 = $EXPECT($L38, fail, 'AssignmentOpSymbol "^="');
2071
+ var AssignmentOpSymbol$12 = $EXPECT($L39, fail, 'AssignmentOpSymbol "||="');
2072
+ var AssignmentOpSymbol$13 = $EXPECT($L40, fail, 'AssignmentOpSymbol "|="');
2073
+ var AssignmentOpSymbol$14 = $EXPECT($L41, fail, 'AssignmentOpSymbol "??="');
2074
+ var AssignmentOpSymbol$15 = $T($EXPECT($L42, fail, 'AssignmentOpSymbol "?="'), function(value) {
2055
2075
  return "??=";
2056
2076
  });
2057
- var AssignmentOpSymbol$16 = $EXPECT($L58, fail, 'AssignmentOpSymbol "="');
2077
+ var AssignmentOpSymbol$16 = $EXPECT($L43, fail, 'AssignmentOpSymbol "="');
2058
2078
  function AssignmentOpSymbol(state) {
2059
2079
  if (state.tokenize) {
2060
2080
  return $TOKEN("AssignmentOpSymbol", state, AssignmentOpSymbol$0(state) || AssignmentOpSymbol$1(state) || AssignmentOpSymbol$2(state) || AssignmentOpSymbol$3(state) || AssignmentOpSymbol$4(state) || AssignmentOpSymbol$5(state) || AssignmentOpSymbol$6(state) || AssignmentOpSymbol$7(state) || AssignmentOpSymbol$8(state) || AssignmentOpSymbol$9(state) || AssignmentOpSymbol$10(state) || AssignmentOpSymbol$11(state) || AssignmentOpSymbol$12(state) || AssignmentOpSymbol$13(state) || AssignmentOpSymbol$14(state) || AssignmentOpSymbol$15(state) || AssignmentOpSymbol$16(state));
@@ -2074,52 +2094,52 @@ var require_parser = __commonJS({
2074
2094
  return BinaryOp$0(state);
2075
2095
  }
2076
2096
  }
2077
- var BinaryOpSymbol$0 = $EXPECT($L59, fail, 'BinaryOpSymbol "**"');
2078
- var BinaryOpSymbol$1 = $EXPECT($L10, fail, 'BinaryOpSymbol "*"');
2079
- var BinaryOpSymbol$2 = $EXPECT($L60, fail, 'BinaryOpSymbol "/"');
2080
- var BinaryOpSymbol$3 = $EXPECT($L61, fail, 'BinaryOpSymbol "%"');
2081
- var BinaryOpSymbol$4 = $EXPECT($L62, fail, 'BinaryOpSymbol "+"');
2082
- var BinaryOpSymbol$5 = $EXPECT($L63, fail, 'BinaryOpSymbol "-"');
2083
- var BinaryOpSymbol$6 = $EXPECT($L64, fail, 'BinaryOpSymbol "<="');
2084
- var BinaryOpSymbol$7 = $EXPECT($L65, fail, 'BinaryOpSymbol ">="');
2085
- var BinaryOpSymbol$8 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
2086
- var BinaryOpSymbol$9 = $EXPECT($L16, fail, 'BinaryOpSymbol "<"');
2087
- var BinaryOpSymbol$10 = $EXPECT($L67, fail, 'BinaryOpSymbol ">>>"');
2088
- var BinaryOpSymbol$11 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>"');
2089
- var BinaryOpSymbol$12 = $EXPECT($L69, fail, 'BinaryOpSymbol ">"');
2090
- var BinaryOpSymbol$13 = $EXPECT($L70, fail, 'BinaryOpSymbol "!=="');
2091
- var BinaryOpSymbol$14 = $TV($EXPECT($L71, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
2097
+ var BinaryOpSymbol$0 = $EXPECT($L44, fail, 'BinaryOpSymbol "**"');
2098
+ var BinaryOpSymbol$1 = $EXPECT($L3, fail, 'BinaryOpSymbol "*"');
2099
+ var BinaryOpSymbol$2 = $EXPECT($L45, fail, 'BinaryOpSymbol "/"');
2100
+ var BinaryOpSymbol$3 = $EXPECT($L46, fail, 'BinaryOpSymbol "%"');
2101
+ var BinaryOpSymbol$4 = $EXPECT($L47, fail, 'BinaryOpSymbol "+"');
2102
+ var BinaryOpSymbol$5 = $EXPECT($L48, fail, 'BinaryOpSymbol "-"');
2103
+ var BinaryOpSymbol$6 = $EXPECT($L49, fail, 'BinaryOpSymbol "<="');
2104
+ var BinaryOpSymbol$7 = $EXPECT($L50, fail, 'BinaryOpSymbol ">="');
2105
+ var BinaryOpSymbol$8 = $EXPECT($L51, fail, 'BinaryOpSymbol "<<"');
2106
+ var BinaryOpSymbol$9 = $EXPECT($L5, fail, 'BinaryOpSymbol "<"');
2107
+ var BinaryOpSymbol$10 = $EXPECT($L52, fail, 'BinaryOpSymbol ">>>"');
2108
+ var BinaryOpSymbol$11 = $EXPECT($L53, fail, 'BinaryOpSymbol ">>"');
2109
+ var BinaryOpSymbol$12 = $EXPECT($L54, fail, 'BinaryOpSymbol ">"');
2110
+ var BinaryOpSymbol$13 = $EXPECT($L55, fail, 'BinaryOpSymbol "!=="');
2111
+ var BinaryOpSymbol$14 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
2092
2112
  if (module2.coffeeCompat)
2093
2113
  return "!==";
2094
2114
  return $1;
2095
2115
  });
2096
- var BinaryOpSymbol$15 = $T($S($EXPECT($L72, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
2116
+ var BinaryOpSymbol$15 = $T($S($EXPECT($L57, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
2097
2117
  return "===";
2098
2118
  });
2099
- var BinaryOpSymbol$16 = $EXPECT($L73, fail, 'BinaryOpSymbol "==="');
2100
- var BinaryOpSymbol$17 = $TV($EXPECT($L74, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
2119
+ var BinaryOpSymbol$16 = $EXPECT($L58, fail, 'BinaryOpSymbol "==="');
2120
+ var BinaryOpSymbol$17 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
2101
2121
  if (module2.coffeeCompat)
2102
2122
  return "===";
2103
2123
  return $1;
2104
2124
  });
2105
- var BinaryOpSymbol$18 = $T($S($EXPECT($L75, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
2125
+ var BinaryOpSymbol$18 = $T($S($EXPECT($L60, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
2106
2126
  return "&&";
2107
2127
  });
2108
- var BinaryOpSymbol$19 = $EXPECT($L76, fail, 'BinaryOpSymbol "&&"');
2109
- var BinaryOpSymbol$20 = $T($S($EXPECT($L77, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
2128
+ var BinaryOpSymbol$19 = $EXPECT($L61, fail, 'BinaryOpSymbol "&&"');
2129
+ var BinaryOpSymbol$20 = $T($S($EXPECT($L62, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
2110
2130
  return "||";
2111
2131
  });
2112
- var BinaryOpSymbol$21 = $EXPECT($L78, fail, 'BinaryOpSymbol "||"');
2113
- var BinaryOpSymbol$22 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
2114
- var BinaryOpSymbol$23 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2132
+ var BinaryOpSymbol$21 = $EXPECT($L63, fail, 'BinaryOpSymbol "||"');
2133
+ var BinaryOpSymbol$22 = $EXPECT($L64, fail, 'BinaryOpSymbol "??"');
2134
+ var BinaryOpSymbol$23 = $TS($S($EXPECT($L65, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2115
2135
  return $1;
2116
2136
  });
2117
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2137
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L66, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2118
2138
  return $1;
2119
2139
  });
2120
- var BinaryOpSymbol$25 = $EXPECT($L82, fail, 'BinaryOpSymbol "&"');
2121
- var BinaryOpSymbol$26 = $EXPECT($L83, fail, 'BinaryOpSymbol "^"');
2122
- var BinaryOpSymbol$27 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
2140
+ var BinaryOpSymbol$25 = $EXPECT($L67, fail, 'BinaryOpSymbol "&"');
2141
+ var BinaryOpSymbol$26 = $EXPECT($L68, fail, 'BinaryOpSymbol "^"');
2142
+ var BinaryOpSymbol$27 = $EXPECT($L69, fail, 'BinaryOpSymbol "|"');
2123
2143
  function BinaryOpSymbol(state) {
2124
2144
  if (state.tokenize) {
2125
2145
  return $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state));
@@ -2128,7 +2148,7 @@ var require_parser = __commonJS({
2128
2148
  }
2129
2149
  }
2130
2150
  var UnaryOp$0 = $R$0($EXPECT($R2, fail, "UnaryOp /[!~+-]/"));
2131
- var UnaryOp$1 = $S($C($EXPECT($L85, fail, 'UnaryOp "delete"'), $EXPECT($L86, fail, 'UnaryOp "void"'), $EXPECT($L87, fail, 'UnaryOp "typeof"')), NonIdContinue, __);
2151
+ var UnaryOp$1 = $S($C($EXPECT($L70, fail, 'UnaryOp "delete"'), $EXPECT($L71, fail, 'UnaryOp "void"'), $EXPECT($L72, fail, 'UnaryOp "typeof"')), NonIdContinue, __);
2132
2152
  function UnaryOp(state) {
2133
2153
  if (state.tokenize) {
2134
2154
  return $TOKEN("UnaryOp", state, UnaryOp$0(state) || UnaryOp$1(state));
@@ -2146,11 +2166,13 @@ var require_parser = __commonJS({
2146
2166
  return ModuleItem$0(state) || ModuleItem$1(state) || ModuleItem$2(state);
2147
2167
  }
2148
2168
  }
2149
- var StatementListItem$0 = $TS($S($C(Declaration, Statement), $E(PostfixConditional)), function($skip, $loc, $0, $1, $2) {
2169
+ var StatementListItem$0 = $TS($S($C(Declaration, Statement), $E(PostfixConditional), Loc), function($skip, $loc, $0, $1, $2, $3) {
2150
2170
  var statement = $1;
2151
2171
  var cond = $2;
2172
+ var l = $3;
2152
2173
  if (cond)
2153
- return [cond, statement, "}"];
2174
+ return [cond, statement, { $loc: l.$loc, token: "}" }];
2175
+ $0.pop();
2154
2176
  return $0;
2155
2177
  });
2156
2178
  function StatementListItem(state) {
@@ -2162,13 +2184,24 @@ var require_parser = __commonJS({
2162
2184
  return StatementListItem$0(state);
2163
2185
  }
2164
2186
  }
2165
- var PostfixConditional$0 = $TS($S($Q(TrailingComment), $C($EXPECT($L88, fail, 'PostfixConditional "if"'), $EXPECT($L89, fail, 'PostfixConditional "unless"')), NonIdContinue, Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
2187
+ var PostfixConditional$0 = $TS($S($Q(TrailingComment), $C(If, Unless), NonIdContinue, Loc, Expression, Loc), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
2166
2188
  var ws = $1;
2167
2189
  var cond = $2;
2168
- var exp = $4;
2169
- if (cond === "if")
2170
- return [ws, "if(", exp, ") {"];
2171
- return [ws, "if(!(", exp, ")) {"];
2190
+ var l1 = $4;
2191
+ var exp = $5;
2192
+ var l2 = $6;
2193
+ let openParens = { $loc: l1.$loc, token: "(!(" };
2194
+ let closingParens = { $loc: l2.$loc, token: "))" };
2195
+ let space = { $loc: l2.$loc, token: " " };
2196
+ let openingBrace = { $loc: l2.$loc, token: "{" };
2197
+ if (cond.token === "if") {
2198
+ cond.token = "if";
2199
+ closingParens.token = ")";
2200
+ openParens.token = "(";
2201
+ } else {
2202
+ cond.token = "if";
2203
+ }
2204
+ return [ws, cond, openParens, exp, closingParens, space, openingBrace];
2172
2205
  });
2173
2206
  function PostfixConditional(state) {
2174
2207
  if (state.verbose)
@@ -2195,7 +2228,7 @@ var require_parser = __commonJS({
2195
2228
  return Statement$0(state) || Statement$1(state) || Statement$2(state) || Statement$3(state) || Statement$4(state) || Statement$5(state) || Statement$6(state) || Statement$7(state) || Statement$8(state);
2196
2229
  }
2197
2230
  }
2198
- var EmptyStatement$0 = $S($Q(TrailingComment), $Y($EXPECT($L90, fail, 'EmptyStatement ";"')));
2231
+ var EmptyStatement$0 = $S($Q(TrailingComment), $Y($EXPECT($L73, fail, 'EmptyStatement ";"')));
2199
2232
  function EmptyStatement(state) {
2200
2233
  if (state.verbose)
2201
2234
  console.log("ENTER:", "EmptyStatement");
@@ -2205,7 +2238,7 @@ var require_parser = __commonJS({
2205
2238
  return EmptyStatement$0(state);
2206
2239
  }
2207
2240
  }
2208
- var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BlockStatement "}"'));
2241
+ var BlockStatement$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
2209
2242
  function BlockStatement(state) {
2210
2243
  if (state.verbose)
2211
2244
  console.log("ENTER:", "BlockStatement");
@@ -2215,17 +2248,21 @@ var require_parser = __commonJS({
2215
2248
  return BlockStatement$0(state);
2216
2249
  }
2217
2250
  }
2218
- var IfStatement$0 = $S($EXPECT($L88, fail, 'IfStatement "if"'), Condition, Block, $E($S(__, $EXPECT($L91, fail, 'IfStatement "else"'), Block)));
2219
- var IfStatement$1 = $TS($S($EXPECT($L89, fail, 'IfStatement "unless"'), Condition, Block), function($skip, $loc, $0, $1, $2, $3) {
2251
+ var IfStatement$0 = $S(If, Condition, Block, $E($S(__, Else, Block)));
2252
+ var IfStatement$1 = $TS($S(Unless, Condition, Block), function($skip, $loc, $0, $1, $2, $3) {
2253
+ var kind = $1;
2220
2254
  var condition = $2;
2221
2255
  var block = $3;
2222
- return ["if", condition.map((c) => {
2223
- if (c === "(")
2224
- return "(!(";
2225
- if (c === ")")
2226
- return "))";
2227
- return c;
2228
- }), block];
2256
+ condition.forEach((c) => {
2257
+ if (!c)
2258
+ return;
2259
+ if (c.token === "(")
2260
+ c.token = "(!(";
2261
+ if (c.token === ")")
2262
+ c.token = "))";
2263
+ });
2264
+ kind.token = "if";
2265
+ return [kind, condition, block];
2229
2266
  });
2230
2267
  function IfStatement(state) {
2231
2268
  if (state.tokenize) {
@@ -2246,10 +2283,7 @@ var require_parser = __commonJS({
2246
2283
  return IterationStatement$0(state) || IterationStatement$1(state) || IterationStatement$2(state) || IterationStatement$3(state) || IterationStatement$4(state);
2247
2284
  }
2248
2285
  }
2249
- var LoopStatement$0 = $TS($S($EXPECT($L92, fail, 'LoopStatement "loop"'), NonIdContinue, Block), function($skip, $loc, $0, $1, $2, $3) {
2250
- var b = $3;
2251
- return ["while(true)", b];
2252
- });
2286
+ var LoopStatement$0 = $S(Loop, Block);
2253
2287
  function LoopStatement(state) {
2254
2288
  if (state.verbose)
2255
2289
  console.log("ENTER:", "LoopStatement");
@@ -2259,7 +2293,7 @@ var require_parser = __commonJS({
2259
2293
  return LoopStatement$0(state);
2260
2294
  }
2261
2295
  }
2262
- var DoWhileStatement$0 = $S($EXPECT($L93, fail, 'DoWhileStatement "do"'), NonIdContinue, Block, __, WhileClause);
2296
+ var DoWhileStatement$0 = $S($EXPECT($L74, fail, 'DoWhileStatement "do"'), NonIdContinue, Block, __, WhileClause);
2263
2297
  function DoWhileStatement(state) {
2264
2298
  if (state.verbose)
2265
2299
  console.log("ENTER:", "DoWhileStatement");
@@ -2279,7 +2313,7 @@ var require_parser = __commonJS({
2279
2313
  return WhileStatement$0(state);
2280
2314
  }
2281
2315
  }
2282
- var WhileClause$0 = $TS($S($C($EXPECT($L94, fail, 'WhileClause "while"'), $EXPECT($L95, fail, 'WhileClause "until"')), NonIdContinue, Condition), function($skip, $loc, $0, $1, $2, $3) {
2316
+ var WhileClause$0 = $TS($S($C($EXPECT($L75, fail, 'WhileClause "while"'), $EXPECT($L76, fail, 'WhileClause "until"')), NonIdContinue, Condition), function($skip, $loc, $0, $1, $2, $3) {
2283
2317
  var kind = $1;
2284
2318
  var cond = $3;
2285
2319
  if (kind === "until") {
@@ -2298,7 +2332,7 @@ var require_parser = __commonJS({
2298
2332
  return WhileClause$0(state);
2299
2333
  }
2300
2334
  }
2301
- var ForStatement$0 = $S(For, __, $EXPECT($L1, fail, 'ForStatement "("'), __, $C(LexicalDeclaration, VariableStatement, $E(Expression)), __, $EXPECT($L90, fail, 'ForStatement ";"'), __, $E(Expression), $EXPECT($L90, fail, 'ForStatement ";"'), __, $E(Expression), $EXPECT($L2, fail, 'ForStatement ")"'), Block);
2335
+ var ForStatement$0 = $S(For, __, OpenParen, __, $C(LexicalDeclaration, VariableStatement, $E(Expression)), __, Semicolon, __, $E(Expression), Semicolon, __, $E(Expression), CloseParen, Block);
2302
2336
  function ForStatement(state) {
2303
2337
  if (state.verbose)
2304
2338
  console.log("ENTER:", "ForStatement");
@@ -2308,10 +2342,10 @@ var require_parser = __commonJS({
2308
2342
  return ForStatement$0(state);
2309
2343
  }
2310
2344
  }
2311
- var ForInOfStatement$0 = $S(For, __, $EXPECT($L1, fail, 'ForInOfStatement "("'), __, $C($S($EXPECT($L96, fail, 'ForInOfStatement "var"'), __, ForBinding), ForDeclaration, LeftHandSideExpression), __, $EXPECT($L81, fail, 'ForInOfStatement "in"'), __, Expression, __, $EXPECT($L2, fail, 'ForInOfStatement ")"'), Block);
2312
- var ForInOfStatement$1 = $S(For, __, InsertOpenParen, $C($S($EXPECT($L96, fail, 'ForInOfStatement "var"'), __, ForBinding), ForDeclaration, LeftHandSideExpression), __, $EXPECT($L81, fail, 'ForInOfStatement "in"'), __, Expression, InsertCloseParen, Block);
2313
- var ForInOfStatement$2 = $S(For, $E($S(__, $EXPECT($L8, fail, 'ForInOfStatement "await"'))), __, $EXPECT($L1, fail, 'ForInOfStatement "("'), __, $C($S($EXPECT($L96, fail, 'ForInOfStatement "var"'), __, ForBinding), ForDeclaration, LeftHandSideExpression), __, $EXPECT($L97, fail, 'ForInOfStatement "of"'), AssignmentExpression, __, $EXPECT($L2, fail, 'ForInOfStatement ")"'), Block);
2314
- var ForInOfStatement$3 = $S(For, $E($S(__, $EXPECT($L8, fail, 'ForInOfStatement "await"'))), __, InsertOpenParen, $C($S($EXPECT($L96, fail, 'ForInOfStatement "var"'), __, ForBinding), ForDeclaration, LeftHandSideExpression), __, $EXPECT($L97, fail, 'ForInOfStatement "of"'), AssignmentExpression, InsertCloseParen, Block);
2345
+ var ForInOfStatement$0 = $S(For, __, OpenParen, __, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, __, Expression, __, CloseParen, Block);
2346
+ var ForInOfStatement$1 = $S(For, __, InsertOpenParen, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, In, __, Expression, InsertCloseParen, Block);
2347
+ var ForInOfStatement$2 = $S(For, $E($S(__, Await)), __, OpenParen, __, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, Of, AssignmentExpression, __, CloseParen, Block);
2348
+ var ForInOfStatement$3 = $S(For, $E($S(__, Await)), __, InsertOpenParen, $C($S(Var, __, ForBinding), ForDeclaration, LeftHandSideExpression), __, Of, AssignmentExpression, InsertCloseParen, Block);
2315
2349
  function ForInOfStatement(state) {
2316
2350
  if (state.tokenize) {
2317
2351
  return $TOKEN("ForInOfStatement", state, ForInOfStatement$0(state) || ForInOfStatement$1(state) || ForInOfStatement$2(state) || ForInOfStatement$3(state));
@@ -2319,18 +2353,6 @@ var require_parser = __commonJS({
2319
2353
  return ForInOfStatement$0(state) || ForInOfStatement$1(state) || ForInOfStatement$2(state) || ForInOfStatement$3(state);
2320
2354
  }
2321
2355
  }
2322
- var For$0 = $TS($S($EXPECT($L98, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2323
- return { $loc, token: $1 };
2324
- });
2325
- function For(state) {
2326
- if (state.verbose)
2327
- console.log("ENTER:", "For");
2328
- if (state.tokenize) {
2329
- return $TOKEN("For", state, For$0(state));
2330
- } else {
2331
- return For$0(state);
2332
- }
2333
- }
2334
2356
  var ForDeclaration$0 = $S(LetOrConst, NonIdContinue, __, ForBinding);
2335
2357
  function ForDeclaration(state) {
2336
2358
  if (state.verbose)
@@ -2341,7 +2363,7 @@ var require_parser = __commonJS({
2341
2363
  return ForDeclaration$0(state);
2342
2364
  }
2343
2365
  }
2344
- var LetOrConst$0 = $TV($C($EXPECT($L99, fail, 'LetOrConst "let"'), $EXPECT($L100, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
2366
+ var LetOrConst$0 = $TV($C($EXPECT($L77, fail, 'LetOrConst "let"'), $EXPECT($L78, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
2345
2367
  return { $loc, token: $1 };
2346
2368
  });
2347
2369
  function LetOrConst(state) {
@@ -2362,7 +2384,7 @@ var require_parser = __commonJS({
2362
2384
  return ForBinding$0(state) || ForBinding$1(state);
2363
2385
  }
2364
2386
  }
2365
- var SwitchStatement$0 = $S($EXPECT($L101, fail, 'SwitchStatement "switch"'), NonIdContinue, Condition, CaseBlock);
2387
+ var SwitchStatement$0 = $S(Switch, NonIdContinue, Condition, CaseBlock);
2366
2388
  function SwitchStatement(state) {
2367
2389
  if (state.verbose)
2368
2390
  console.log("ENTER:", "SwitchStatement");
@@ -2372,7 +2394,7 @@ var require_parser = __commonJS({
2372
2394
  return SwitchStatement$0(state);
2373
2395
  }
2374
2396
  }
2375
- var CaseBlock$0 = $S(__, $EXPECT($L12, fail, 'CaseBlock "{"'), $Y(EOS), NestedCaseClauses, __, $EXPECT($L13, fail, 'CaseBlock "}"'));
2397
+ var CaseBlock$0 = $S(__, OpenBrace, $Y(EOS), NestedCaseClauses, __, CloseBrace);
2376
2398
  var CaseBlock$1 = $S($Y(EOS), InsertOpenBrace, NestedCaseClauses, InsertNewline, InsertCloseBrace);
2377
2399
  function CaseBlock(state) {
2378
2400
  if (state.tokenize) {
@@ -2406,9 +2428,9 @@ var require_parser = __commonJS({
2406
2428
  return NestedCaseClause$0(state);
2407
2429
  }
2408
2430
  }
2409
- var CaseClause$0 = $S($EXPECT($L102, fail, 'CaseClause "case"'), NonIdContinue, $Q(_), Expression, ImpliedColon, NestedBlockExpressions);
2431
+ var CaseClause$0 = $S($EXPECT($L79, fail, 'CaseClause "case"'), NonIdContinue, $Q(_), Expression, ImpliedColon, NestedBlockExpressions);
2410
2432
  var CaseClause$1 = $S(When, $Q(_), Expression, ImpliedColon, NestedBlockExpressions, InsertBreak);
2411
- var CaseClause$2 = $S($EXPECT($L103, fail, 'CaseClause "default"'), NonIdContinue, ImpliedColon, NestedBlockExpressions);
2433
+ var CaseClause$2 = $S($EXPECT($L80, fail, 'CaseClause "default"'), NonIdContinue, ImpliedColon, NestedBlockExpressions);
2412
2434
  function CaseClause(state) {
2413
2435
  if (state.tokenize) {
2414
2436
  return $TOKEN("CaseClause", state, CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state));
@@ -2416,21 +2438,9 @@ var require_parser = __commonJS({
2416
2438
  return CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state);
2417
2439
  }
2418
2440
  }
2419
- var When$0 = $T($S($EXPECT($L104, fail, 'When "when"'), NonIdContinue), function(value) {
2420
- return "case";
2421
- });
2422
- function When(state) {
2423
- if (state.verbose)
2424
- console.log("ENTER:", "When");
2425
- if (state.tokenize) {
2426
- return $TOKEN("When", state, When$0(state));
2427
- } else {
2428
- return When$0(state);
2429
- }
2430
- }
2431
- var ImpliedColon$0 = $S(__, $EXPECT($L14, fail, 'ImpliedColon ":"'));
2432
- var ImpliedColon$1 = $T($EXPECT($L33, fail, 'ImpliedColon ""'), function(value) {
2433
- return ":";
2441
+ var ImpliedColon$0 = $S(__, Colon);
2442
+ var ImpliedColon$1 = $TV($EXPECT($L16, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
2443
+ return { $loc, token: ":" };
2434
2444
  });
2435
2445
  function ImpliedColon(state) {
2436
2446
  if (state.tokenize) {
@@ -2439,7 +2449,7 @@ var require_parser = __commonJS({
2439
2449
  return ImpliedColon$0(state) || ImpliedColon$1(state);
2440
2450
  }
2441
2451
  }
2442
- var TryStatement$0 = $TS($S($EXPECT($L105, fail, 'TryStatement "try"'), BracedBlock, $E(Catch), $E(Finally)), function($skip, $loc, $0, $1, $2, $3, $4) {
2452
+ var TryStatement$0 = $TS($S(Try, BracedBlock, $E(CatchClause), $E(Finally)), function($skip, $loc, $0, $1, $2, $3, $4) {
2443
2453
  var c = $3;
2444
2454
  var f = $4;
2445
2455
  if (!c && !f) {
@@ -2456,17 +2466,17 @@ var require_parser = __commonJS({
2456
2466
  return TryStatement$0(state);
2457
2467
  }
2458
2468
  }
2459
- var Catch$0 = $S(__, $EXPECT($L106, fail, 'Catch "catch"'), $E(CatchBind), BracedBlock);
2460
- function Catch(state) {
2469
+ var CatchClause$0 = $S(__, Catch, $E(CatchBind), BracedBlock);
2470
+ function CatchClause(state) {
2461
2471
  if (state.verbose)
2462
- console.log("ENTER:", "Catch");
2472
+ console.log("ENTER:", "CatchClause");
2463
2473
  if (state.tokenize) {
2464
- return $TOKEN("Catch", state, Catch$0(state));
2474
+ return $TOKEN("CatchClause", state, CatchClause$0(state));
2465
2475
  } else {
2466
- return Catch$0(state);
2476
+ return CatchClause$0(state);
2467
2477
  }
2468
2478
  }
2469
- var CatchBind$0 = $S(__, $EXPECT($L1, fail, 'CatchBind "("'), __, CatchParameter, __, $EXPECT($L2, fail, 'CatchBind ")"'));
2479
+ var CatchBind$0 = $S(__, OpenParen, __, CatchParameter, __, CloseParen);
2470
2480
  var CatchBind$1 = $S(__, InsertOpenParen, CatchParameter, InsertCloseParen);
2471
2481
  function CatchBind(state) {
2472
2482
  if (state.tokenize) {
@@ -2475,7 +2485,7 @@ var require_parser = __commonJS({
2475
2485
  return CatchBind$0(state) || CatchBind$1(state);
2476
2486
  }
2477
2487
  }
2478
- var Finally$0 = $S(__, $EXPECT($L107, fail, 'Finally "finally"'), BracedBlock);
2488
+ var Finally$0 = $S(__, $EXPECT($L81, fail, 'Finally "finally"'), BracedBlock);
2479
2489
  function Finally(state) {
2480
2490
  if (state.verbose)
2481
2491
  console.log("ENTER:", "Finally");
@@ -2494,7 +2504,7 @@ var require_parser = __commonJS({
2494
2504
  return CatchParameter$0(state) || CatchParameter$1(state);
2495
2505
  }
2496
2506
  }
2497
- var Condition$0 = $S(__, $EXPECT($L1, fail, 'Condition "("'), __, Expression, __, $EXPECT($L2, fail, 'Condition ")"'));
2507
+ var Condition$0 = $S(__, OpenParen, __, Expression, __, CloseParen);
2498
2508
  var Condition$1 = $S($N(EOS), __, InsertOpenParen, Expression, InsertCloseParen);
2499
2509
  function Condition(state) {
2500
2510
  if (state.tokenize) {
@@ -2513,11 +2523,11 @@ var require_parser = __commonJS({
2513
2523
  return ExpressionStatement$0(state);
2514
2524
  }
2515
2525
  }
2516
- var KeywordStatement$0 = $S($EXPECT($L108, fail, 'KeywordStatement "break"'), NonIdContinue);
2517
- var KeywordStatement$1 = $S($EXPECT($L109, fail, 'KeywordStatement "continue"'), NonIdContinue);
2518
- var KeywordStatement$2 = $S($EXPECT($L110, fail, 'KeywordStatement "debugger"'), NonIdContinue);
2526
+ var KeywordStatement$0 = $S($EXPECT($L82, fail, 'KeywordStatement "break"'), NonIdContinue);
2527
+ var KeywordStatement$1 = $S($EXPECT($L83, fail, 'KeywordStatement "continue"'), NonIdContinue);
2528
+ var KeywordStatement$2 = $S($EXPECT($L84, fail, 'KeywordStatement "debugger"'), NonIdContinue);
2519
2529
  var KeywordStatement$3 = $S(Return, $E(MaybeNestedExpression));
2520
- var KeywordStatement$4 = $S($EXPECT($L111, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2530
+ var KeywordStatement$4 = $S($EXPECT($L85, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2521
2531
  function KeywordStatement(state) {
2522
2532
  if (state.tokenize) {
2523
2533
  return $TOKEN("KeywordStatement", state, KeywordStatement$0(state) || KeywordStatement$1(state) || KeywordStatement$2(state) || KeywordStatement$3(state) || KeywordStatement$4(state));
@@ -2534,24 +2544,22 @@ var require_parser = __commonJS({
2534
2544
  return MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state);
2535
2545
  }
2536
2546
  }
2537
- var Return$0 = $TS($S($EXPECT($L112, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2538
- return { $loc, token: $1 };
2539
- });
2540
- function Return(state) {
2541
- if (state.verbose)
2542
- console.log("ENTER:", "Return");
2543
- if (state.tokenize) {
2544
- return $TOKEN("Return", state, Return$0(state));
2545
- } else {
2546
- return Return$0(state);
2547
- }
2548
- }
2549
- var ImportDeclaration$0 = $T($S($EXPECT($L113, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
2547
+ var ImportDeclaration$0 = $T($S($EXPECT($L86, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
2550
2548
  return { "ts": true, "children": value };
2551
2549
  });
2552
2550
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
2553
2551
  var ImportDeclaration$2 = $S(Import, __, ModuleSpecifier);
2554
- var ImportDeclaration$3 = $S(ImpliedImport, ImportClause, __, FromClause);
2552
+ var ImportDeclaration$3 = $TS($S(ImpliedImport, ImportClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4) {
2553
+ var i = $1;
2554
+ var c = $2;
2555
+ var w = $3;
2556
+ var f = $4;
2557
+ i.$loc = {
2558
+ pos: f[0].$loc.pos - 1,
2559
+ length: f[0].$loc.length + 1
2560
+ };
2561
+ return [i, c, w, f];
2562
+ });
2555
2563
  function ImportDeclaration(state) {
2556
2564
  if (state.tokenize) {
2557
2565
  return $TOKEN("ImportDeclaration", state, ImportDeclaration$0(state) || ImportDeclaration$1(state) || ImportDeclaration$2(state) || ImportDeclaration$3(state));
@@ -2559,8 +2567,8 @@ var require_parser = __commonJS({
2559
2567
  return ImportDeclaration$0(state) || ImportDeclaration$1(state) || ImportDeclaration$2(state) || ImportDeclaration$3(state);
2560
2568
  }
2561
2569
  }
2562
- var ImpliedImport$0 = $T($EXPECT($L33, fail, 'ImpliedImport ""'), function(value) {
2563
- return "import ";
2570
+ var ImpliedImport$0 = $TV($EXPECT($L16, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
2571
+ return { $loc, token: "import " };
2564
2572
  });
2565
2573
  function ImpliedImport(state) {
2566
2574
  if (state.verbose)
@@ -2571,19 +2579,7 @@ var require_parser = __commonJS({
2571
2579
  return ImpliedImport$0(state);
2572
2580
  }
2573
2581
  }
2574
- var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), $Y($EXPECT($R3, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
2575
- return { $loc, token: $1 };
2576
- });
2577
- function Import(state) {
2578
- if (state.verbose)
2579
- console.log("ENTER:", "Import");
2580
- if (state.tokenize) {
2581
- return $TOKEN("Import", state, Import$0(state));
2582
- } else {
2583
- return Import$0(state);
2584
- }
2585
- }
2586
- var ImportClause$0 = $S(ImportedBinding, $E($S(__, $EXPECT($L0, fail, 'ImportClause ","'), __, $C(NameSpaceImport, NamedImports))));
2582
+ var ImportClause$0 = $S(ImportedBinding, $E($S(__, Comma, __, $C(NameSpaceImport, NamedImports))));
2587
2583
  var ImportClause$1 = NameSpaceImport;
2588
2584
  var ImportClause$2 = NamedImports;
2589
2585
  function ImportClause(state) {
@@ -2593,7 +2589,7 @@ var require_parser = __commonJS({
2593
2589
  return ImportClause$0(state) || ImportClause$1(state) || ImportClause$2(state);
2594
2590
  }
2595
2591
  }
2596
- var NameSpaceImport$0 = $S($EXPECT($L10, fail, 'NameSpaceImport "*"'), __, $EXPECT($L4, fail, 'NameSpaceImport "as"'), NonIdContinue, __, ImportedBinding);
2592
+ var NameSpaceImport$0 = $S($EXPECT($L3, fail, 'NameSpaceImport "*"'), __, As, NonIdContinue, __, ImportedBinding);
2597
2593
  function NameSpaceImport(state) {
2598
2594
  if (state.verbose)
2599
2595
  console.log("ENTER:", "NameSpaceImport");
@@ -2603,7 +2599,7 @@ var require_parser = __commonJS({
2603
2599
  return NameSpaceImport$0(state);
2604
2600
  }
2605
2601
  }
2606
- var NamedImports$0 = $S($EXPECT($L12, fail, 'NamedImports "{"'), $Q(ImportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedImports ","'))), __, $EXPECT($L13, fail, 'NamedImports "}"'));
2602
+ var NamedImports$0 = $S(OpenBrace, $Q(ImportSpecifier), $E($S(__, Comma)), __, CloseBrace);
2607
2603
  function NamedImports(state) {
2608
2604
  if (state.verbose)
2609
2605
  console.log("ENTER:", "NamedImports");
@@ -2623,19 +2619,7 @@ var require_parser = __commonJS({
2623
2619
  return FromClause$0(state);
2624
2620
  }
2625
2621
  }
2626
- var From$0 = $TS($S($EXPECT($L114, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2627
- return { $loc, token: $1 };
2628
- });
2629
- function From(state) {
2630
- if (state.verbose)
2631
- console.log("ENTER:", "From");
2632
- if (state.tokenize) {
2633
- return $TOKEN("From", state, From$0(state));
2634
- } else {
2635
- return From$0(state);
2636
- }
2637
- }
2638
- var ImportSpecifier$0 = $S(__, ModuleExportName, __, $EXPECT($L4, fail, 'ImportSpecifier "as"'), NonIdContinue, __, ImportedBinding, ObjectPropertyDelimiter);
2622
+ var ImportSpecifier$0 = $S(__, ModuleExportName, __, As, NonIdContinue, __, ImportedBinding, ObjectPropertyDelimiter);
2639
2623
  var ImportSpecifier$1 = $S(__, ImportedBinding, ObjectPropertyDelimiter);
2640
2624
  function ImportSpecifier(state) {
2641
2625
  if (state.tokenize) {
@@ -2675,7 +2659,7 @@ var require_parser = __commonJS({
2675
2659
  return UnprocessedModuleSpecifier$0(state) || UnprocessedModuleSpecifier$1(state);
2676
2660
  }
2677
2661
  }
2678
- var UnquotedSpecifier$0 = $TV($EXPECT($R4, fail, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
2662
+ var UnquotedSpecifier$0 = $TV($EXPECT($R3, fail, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
2679
2663
  var spec = $0;
2680
2664
  return { $loc, token: `"${spec}"` };
2681
2665
  });
@@ -2698,7 +2682,7 @@ var require_parser = __commonJS({
2698
2682
  return ImportedBinding$0(state);
2699
2683
  }
2700
2684
  }
2701
- var ExportDeclaration$0 = $S(Export, __, $EXPECT($L103, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, AssignmentExpression));
2685
+ var ExportDeclaration$0 = $S(Export, __, $EXPECT($L80, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, AssignmentExpression));
2702
2686
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
2703
2687
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
2704
2688
  function ExportDeclaration(state) {
@@ -2708,27 +2692,7 @@ var require_parser = __commonJS({
2708
2692
  return ExportDeclaration$0(state) || ExportDeclaration$1(state) || ExportDeclaration$2(state);
2709
2693
  }
2710
2694
  }
2711
- var As$0 = $S($EXPECT($L4, fail, 'As "as"'), NonIdContinue);
2712
- function As(state) {
2713
- if (state.verbose)
2714
- console.log("ENTER:", "As");
2715
- if (state.tokenize) {
2716
- return $TOKEN("As", state, As$0(state));
2717
- } else {
2718
- return As$0(state);
2719
- }
2720
- }
2721
- var Export$0 = $S($EXPECT($L115, fail, 'Export "export"'), NonIdContinue);
2722
- function Export(state) {
2723
- if (state.verbose)
2724
- console.log("ENTER:", "Export");
2725
- if (state.tokenize) {
2726
- return $TOKEN("Export", state, Export$0(state));
2727
- } else {
2728
- return Export$0(state);
2729
- }
2730
- }
2731
- var ExportFromClause$0 = $S($EXPECT($L10, fail, 'ExportFromClause "*"'), $E($S(__, $EXPECT($L4, fail, 'ExportFromClause "as"'), NonIdContinue, __, ModuleExportName)));
2695
+ var ExportFromClause$0 = $S($EXPECT($L3, fail, 'ExportFromClause "*"'), $E($S(__, As, NonIdContinue, __, ModuleExportName)));
2732
2696
  var ExportFromClause$1 = NamedExports;
2733
2697
  function ExportFromClause(state) {
2734
2698
  if (state.tokenize) {
@@ -2737,7 +2701,7 @@ var require_parser = __commonJS({
2737
2701
  return ExportFromClause$0(state) || ExportFromClause$1(state);
2738
2702
  }
2739
2703
  }
2740
- var NamedExports$0 = $S($EXPECT($L12, fail, 'NamedExports "{"'), $Q(ExportSpecifier), $E($S(__, $EXPECT($L0, fail, 'NamedExports ","'))), __, $EXPECT($L13, fail, 'NamedExports "}"'));
2704
+ var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
2741
2705
  function NamedExports(state) {
2742
2706
  if (state.verbose)
2743
2707
  console.log("ENTER:", "NamedExports");
@@ -2747,7 +2711,7 @@ var require_parser = __commonJS({
2747
2711
  return NamedExports$0(state);
2748
2712
  }
2749
2713
  }
2750
- var ExportSpecifier$0 = $S(__, ModuleExportName, $E($S(__, $EXPECT($L4, fail, 'ExportSpecifier "as"'), __, ModuleExportName)), ObjectPropertyDelimiter);
2714
+ var ExportSpecifier$0 = $S(__, ModuleExportName, $E($S(__, As, __, ModuleExportName)), ObjectPropertyDelimiter);
2751
2715
  function ExportSpecifier(state) {
2752
2716
  if (state.verbose)
2753
2717
  console.log("ENTER:", "ExportSpecifier");
@@ -2778,8 +2742,16 @@ var require_parser = __commonJS({
2778
2742
  return HoistableDeclaration$0(state);
2779
2743
  }
2780
2744
  }
2781
- var LexicalDeclaration$0 = $S(LetOrConst, __, LexicalBinding, $Q($S(__, $EXPECT($L0, fail, 'LexicalDeclaration ","'), __, LexicalBinding)));
2782
- var LexicalDeclaration$1 = $S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
2745
+ var LexicalDeclaration$0 = $S(LetOrConst, __, LexicalBinding, $Q($S(__, Comma, __, LexicalBinding)));
2746
+ var LexicalDeclaration$1 = $TS($S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
2747
+ var c = $1;
2748
+ var ca = $5;
2749
+ c.$loc = {
2750
+ pos: ca.$loc.pos - 1,
2751
+ length: ca.$loc.length + 1
2752
+ };
2753
+ return $0;
2754
+ });
2783
2755
  function LexicalDeclaration(state) {
2784
2756
  if (state.tokenize) {
2785
2757
  return $TOKEN("LexicalDeclaration", state, LexicalDeclaration$0(state) || LexicalDeclaration$1(state));
@@ -2787,7 +2759,7 @@ var require_parser = __commonJS({
2787
2759
  return LexicalDeclaration$0(state) || LexicalDeclaration$1(state);
2788
2760
  }
2789
2761
  }
2790
- var ConstAssignment$0 = $TV($EXPECT($L116, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2762
+ var ConstAssignment$0 = $TV($EXPECT($L87, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2791
2763
  return { $loc, token: "=" };
2792
2764
  });
2793
2765
  function ConstAssignment(state) {
@@ -2808,7 +2780,7 @@ var require_parser = __commonJS({
2808
2780
  return LexicalBinding$0(state) || LexicalBinding$1(state);
2809
2781
  }
2810
2782
  }
2811
- var Initializer$0 = $S(__, $EXPECT($L58, fail, 'Initializer "="'), AssignmentExpression);
2783
+ var Initializer$0 = $S(__, Equals, AssignmentExpression);
2812
2784
  function Initializer(state) {
2813
2785
  if (state.verbose)
2814
2786
  console.log("ENTER:", "Initializer");
@@ -2818,7 +2790,7 @@ var require_parser = __commonJS({
2818
2790
  return Initializer$0(state);
2819
2791
  }
2820
2792
  }
2821
- var VariableStatement$0 = $S($EXPECT($L96, fail, 'VariableStatement "var"'), __, VariableDeclarationList);
2793
+ var VariableStatement$0 = $S(Var, __, VariableDeclarationList);
2822
2794
  function VariableStatement(state) {
2823
2795
  if (state.verbose)
2824
2796
  console.log("ENTER:", "VariableStatement");
@@ -2828,7 +2800,7 @@ var require_parser = __commonJS({
2828
2800
  return VariableStatement$0(state);
2829
2801
  }
2830
2802
  }
2831
- var VariableDeclarationList$0 = $S(VariableDeclaration, $Q($S(__, $EXPECT($L0, fail, 'VariableDeclarationList ","'), __, VariableDeclaration)));
2803
+ var VariableDeclarationList$0 = $S(VariableDeclaration, $Q($S(__, Comma, __, VariableDeclaration)));
2832
2804
  function VariableDeclarationList(state) {
2833
2805
  if (state.verbose)
2834
2806
  console.log("ENTER:", "VariableDeclarationList");
@@ -2871,7 +2843,7 @@ var require_parser = __commonJS({
2871
2843
  return NumericLiteralKind$0(state) || NumericLiteralKind$1(state) || NumericLiteralKind$2(state) || NumericLiteralKind$3(state) || NumericLiteralKind$4(state);
2872
2844
  }
2873
2845
  }
2874
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2846
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R4, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
2875
2847
  function DecimalBigIntegerLiteral(state) {
2876
2848
  if (state.verbose)
2877
2849
  console.log("ENTER:", "DecimalBigIntegerLiteral");
@@ -2881,7 +2853,7 @@ var require_parser = __commonJS({
2881
2853
  return DecimalBigIntegerLiteral$0(state);
2882
2854
  }
2883
2855
  }
2884
- var DecimalLiteral$0 = $R$0($EXPECT($R6, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2856
+ var DecimalLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2885
2857
  function DecimalLiteral(state) {
2886
2858
  if (state.verbose)
2887
2859
  console.log("ENTER:", "DecimalLiteral");
@@ -2891,7 +2863,7 @@ var require_parser = __commonJS({
2891
2863
  return DecimalLiteral$0(state);
2892
2864
  }
2893
2865
  }
2894
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2866
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R6, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*/"));
2895
2867
  function BinaryIntegerLiteral(state) {
2896
2868
  if (state.verbose)
2897
2869
  console.log("ENTER:", "BinaryIntegerLiteral");
@@ -2901,7 +2873,7 @@ var require_parser = __commonJS({
2901
2873
  return BinaryIntegerLiteral$0(state);
2902
2874
  }
2903
2875
  }
2904
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R8, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2876
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*/"));
2905
2877
  function OctalIntegerLiteral(state) {
2906
2878
  if (state.verbose)
2907
2879
  console.log("ENTER:", "OctalIntegerLiteral");
@@ -2911,7 +2883,7 @@ var require_parser = __commonJS({
2911
2883
  return OctalIntegerLiteral$0(state);
2912
2884
  }
2913
2885
  }
2914
- var HexLiteral$0 = $R$0($EXPECT($R9, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2886
+ var HexLiteral$0 = $R$0($EXPECT($R8, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*/"));
2915
2887
  function HexLiteral(state) {
2916
2888
  if (state.verbose)
2917
2889
  console.log("ENTER:", "HexLiteral");
@@ -2921,18 +2893,22 @@ var require_parser = __commonJS({
2921
2893
  return HexLiteral$0(state);
2922
2894
  }
2923
2895
  }
2924
- var StringLiteral$0 = $TS($S($EXPECT($L117, fail, 'StringLiteral "\\\\\\"\\\\\\"\\\\\\""'), $TEXT($Q(TripleDoubleStringCharacter)), $EXPECT($L117, fail, 'StringLiteral "\\\\\\"\\\\\\"\\\\\\""')), function($skip, $loc, $0, $1, $2, $3) {
2896
+ var StringLiteral$0 = $TS($S(TripleDoubleQuote, TripleDoubleStringCharacters, TripleDoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
2897
+ var s = $1;
2925
2898
  var str = $2;
2926
- return { $loc, token: "`" + module2.dedentBlockString(str) + "`" };
2899
+ var e = $3;
2900
+ return [s, module2.dedentBlockString(str), e];
2927
2901
  });
2928
- var StringLiteral$1 = $TS($S($EXPECT($L118, fail, `StringLiteral "'''"`), $TEXT($Q(TripleSingleStringCharacter)), $EXPECT($L118, fail, `StringLiteral "'''"`)), function($skip, $loc, $0, $1, $2, $3) {
2902
+ var StringLiteral$1 = $TS($S(TripleSingleQuote, TripleSingleStringCharacters, TripleSingleQuote), function($skip, $loc, $0, $1, $2, $3) {
2903
+ var s = $1;
2929
2904
  var str = $2;
2930
- return { $loc, token: "`" + module2.dedentBlockString(str) + "`" };
2905
+ var e = $3;
2906
+ return [s, module2.dedentBlockString(str), e];
2931
2907
  });
2932
- var StringLiteral$2 = $TV($TEXT($S($EXPECT($L119, fail, 'StringLiteral "\\\\\\""'), $Q(DoubleStringCharacter), $EXPECT($L119, fail, 'StringLiteral "\\\\\\""'))), function($skip, $loc, $0, $1) {
2908
+ var StringLiteral$2 = $TV($TEXT($S($EXPECT($L88, fail, 'StringLiteral "\\\\\\""'), $Q(DoubleStringCharacter), $EXPECT($L88, fail, 'StringLiteral "\\\\\\""'))), function($skip, $loc, $0, $1) {
2933
2909
  return { $loc, token: $1 };
2934
2910
  });
2935
- var StringLiteral$3 = $TV($TEXT($S($EXPECT($L120, fail, `StringLiteral "'"`), $Q(SingleStringCharacter), $EXPECT($L120, fail, `StringLiteral "'"`))), function($skip, $loc, $0, $1) {
2911
+ var StringLiteral$3 = $TV($TEXT($S($EXPECT($L89, fail, `StringLiteral "'"`), $Q(SingleStringCharacter), $EXPECT($L89, fail, `StringLiteral "'"`))), function($skip, $loc, $0, $1) {
2936
2912
  return { $loc, token: $1 };
2937
2913
  });
2938
2914
  function StringLiteral(state) {
@@ -2942,7 +2918,7 @@ var require_parser = __commonJS({
2942
2918
  return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
2943
2919
  }
2944
2920
  }
2945
- var DoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2921
+ var DoubleStringCharacter$0 = $R$0($EXPECT($R9, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2946
2922
  function DoubleStringCharacter(state) {
2947
2923
  if (state.verbose)
2948
2924
  console.log("ENTER:", "DoubleStringCharacter");
@@ -2952,7 +2928,7 @@ var require_parser = __commonJS({
2952
2928
  return DoubleStringCharacter$0(state);
2953
2929
  }
2954
2930
  }
2955
- var SingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2931
+ var SingleStringCharacter$0 = $R$0($EXPECT($R10, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2956
2932
  function SingleStringCharacter(state) {
2957
2933
  if (state.verbose)
2958
2934
  console.log("ENTER:", "SingleStringCharacter");
@@ -2962,27 +2938,31 @@ var require_parser = __commonJS({
2962
2938
  return SingleStringCharacter$0(state);
2963
2939
  }
2964
2940
  }
2965
- var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R12, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2966
- function TripleDoubleStringCharacter(state) {
2941
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R11, fail, 'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
2942
+ return { $loc, token: $0 };
2943
+ });
2944
+ function TripleDoubleStringCharacters(state) {
2967
2945
  if (state.verbose)
2968
- console.log("ENTER:", "TripleDoubleStringCharacter");
2946
+ console.log("ENTER:", "TripleDoubleStringCharacters");
2969
2947
  if (state.tokenize) {
2970
- return $TOKEN("TripleDoubleStringCharacter", state, TripleDoubleStringCharacter$0(state));
2948
+ return $TOKEN("TripleDoubleStringCharacters", state, TripleDoubleStringCharacters$0(state));
2971
2949
  } else {
2972
- return TripleDoubleStringCharacter$0(state);
2950
+ return TripleDoubleStringCharacters$0(state);
2973
2951
  }
2974
2952
  }
2975
- var TripleSingleStringCharacter$0 = $R$0($EXPECT($R13, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
2976
- function TripleSingleStringCharacter(state) {
2953
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R12, fail, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
2954
+ return { $loc, token: $0 };
2955
+ });
2956
+ function TripleSingleStringCharacters(state) {
2977
2957
  if (state.verbose)
2978
- console.log("ENTER:", "TripleSingleStringCharacter");
2958
+ console.log("ENTER:", "TripleSingleStringCharacters");
2979
2959
  if (state.tokenize) {
2980
- return $TOKEN("TripleSingleStringCharacter", state, TripleSingleStringCharacter$0(state));
2960
+ return $TOKEN("TripleSingleStringCharacters", state, TripleSingleStringCharacters$0(state));
2981
2961
  } else {
2982
- return TripleSingleStringCharacter$0(state);
2962
+ return TripleSingleStringCharacters$0(state);
2983
2963
  }
2984
2964
  }
2985
- var RegularExpressionLiteral$0 = $TV($TEXT($S($EXPECT($L60, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L60, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
2965
+ var RegularExpressionLiteral$0 = $TV($TEXT($S($EXPECT($L45, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L45, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
2986
2966
  return { $loc, token: $1 };
2987
2967
  });
2988
2968
  function RegularExpressionLiteral(state) {
@@ -2994,7 +2974,7 @@ var require_parser = __commonJS({
2994
2974
  return RegularExpressionLiteral$0(state);
2995
2975
  }
2996
2976
  }
2997
- var RegularExpressionBody$0 = $S($R$0($EXPECT($R14, fail, "RegularExpressionBody /[^*\\/\\r\\n]/")), $Q(RegExpCharacter));
2977
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R13, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
2998
2978
  function RegularExpressionBody(state) {
2999
2979
  if (state.verbose)
3000
2980
  console.log("ENTER:", "RegularExpressionBody");
@@ -3004,7 +2984,7 @@ var require_parser = __commonJS({
3004
2984
  return RegularExpressionBody$0(state);
3005
2985
  }
3006
2986
  }
3007
- var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2987
+ var RegExpCharacter$0 = $R$0($EXPECT($R14, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
3008
2988
  function RegExpCharacter(state) {
3009
2989
  if (state.verbose)
3010
2990
  console.log("ENTER:", "RegExpCharacter");
@@ -3014,7 +2994,7 @@ var require_parser = __commonJS({
3014
2994
  return RegExpCharacter$0(state);
3015
2995
  }
3016
2996
  }
3017
- var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
2997
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R15, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
3018
2998
  function RegularExpressionFlags(state) {
3019
2999
  if (state.verbose)
3020
3000
  console.log("ENTER:", "RegularExpressionFlags");
@@ -3024,7 +3004,7 @@ var require_parser = __commonJS({
3024
3004
  return RegularExpressionFlags$0(state);
3025
3005
  }
3026
3006
  }
3027
- var TemplateLiteral$0 = $S($EXPECT($L121, fail, 'TemplateLiteral "`"'), $Q($C(TemplateCharacters, TemplateSubstitution)), $EXPECT($L121, fail, 'TemplateLiteral "`"'));
3007
+ var TemplateLiteral$0 = $S($EXPECT($L90, fail, 'TemplateLiteral "`"'), $Q($C(TemplateCharacters, TemplateSubstitution)), $EXPECT($L90, fail, 'TemplateLiteral "`"'));
3028
3008
  function TemplateLiteral(state) {
3029
3009
  if (state.verbose)
3030
3010
  console.log("ENTER:", "TemplateLiteral");
@@ -3034,7 +3014,7 @@ var require_parser = __commonJS({
3034
3014
  return TemplateLiteral$0(state);
3035
3015
  }
3036
3016
  }
3037
- var TemplateSubstitution$0 = $S($EXPECT($L122, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L13, fail, 'TemplateSubstitution "}"'));
3017
+ var TemplateSubstitution$0 = $S($EXPECT($L91, fail, 'TemplateSubstitution "${"'), __, Expression, __, CloseBrace);
3038
3018
  function TemplateSubstitution(state) {
3039
3019
  if (state.verbose)
3040
3020
  console.log("ENTER:", "TemplateSubstitution");
@@ -3044,7 +3024,7 @@ var require_parser = __commonJS({
3044
3024
  return TemplateSubstitution$0(state);
3045
3025
  }
3046
3026
  }
3047
- var TemplateCharacters$0 = $R$0($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
3027
+ var TemplateCharacters$0 = $R$0($EXPECT($R16, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
3048
3028
  function TemplateCharacters(state) {
3049
3029
  if (state.verbose)
3050
3030
  console.log("ENTER:", "TemplateCharacters");
@@ -3054,7 +3034,7 @@ var require_parser = __commonJS({
3054
3034
  return TemplateCharacters$0(state);
3055
3035
  }
3056
3036
  }
3057
- 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|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
3037
+ var ReservedWord$0 = $R$0($EXPECT($R17, 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|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
3058
3038
  function ReservedWord(state) {
3059
3039
  if (state.verbose)
3060
3040
  console.log("ENTER:", "ReservedWord");
@@ -3073,7 +3053,9 @@ var require_parser = __commonJS({
3073
3053
  return Comment$0(state) || Comment$1(state);
3074
3054
  }
3075
3055
  }
3076
- var SingleLineComment$0 = $R$0($EXPECT($R19, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"));
3056
+ var SingleLineComment$0 = $TR($EXPECT($R18, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3057
+ return { $loc, token: $0 };
3058
+ });
3077
3059
  var SingleLineComment$1 = CoffeeSingleLineComment;
3078
3060
  function SingleLineComment(state) {
3079
3061
  if (state.tokenize) {
@@ -3091,7 +3073,9 @@ var require_parser = __commonJS({
3091
3073
  return MultiLineComment$0(state) || MultiLineComment$1(state);
3092
3074
  }
3093
3075
  }
3094
- var JSMultiLineComment$0 = $S($EXPECT($L123, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L124, fail, 'JSMultiLineComment "*/"')), $EXPECT($R20, fail, "JSMultiLineComment /./")))), $EXPECT($L124, fail, 'JSMultiLineComment "*/"'));
3076
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L93, fail, 'JSMultiLineComment "*/"')), $EXPECT($R19, fail, "JSMultiLineComment /./"))), $EXPECT($L93, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
3077
+ return { $loc, token: $1 };
3078
+ });
3095
3079
  function JSMultiLineComment(state) {
3096
3080
  if (state.verbose)
3097
3081
  console.log("ENTER:", "JSMultiLineComment");
@@ -3101,10 +3085,10 @@ var require_parser = __commonJS({
3101
3085
  return JSMultiLineComment$0(state);
3102
3086
  }
3103
3087
  }
3104
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R21, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3088
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R20, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3105
3089
  if (!module2.coffeeCompat)
3106
3090
  return $skip;
3107
- return ["//", $1];
3091
+ return { $loc, token: `//${$1}` };
3108
3092
  });
3109
3093
  function CoffeeSingleLineComment(state) {
3110
3094
  if (state.verbose)
@@ -3115,8 +3099,8 @@ var require_parser = __commonJS({
3115
3099
  return CoffeeSingleLineComment$0(state);
3116
3100
  }
3117
3101
  }
3118
- var CoffeeMultiLineComment$0 = $T($S($EXPECT($L125, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L125, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R20, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L125, fail, 'CoffeeMultiLineComment "###"')), function(value) {
3119
- return ["/*", value[1], "*/"];
3102
+ var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L94, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L94, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L93, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R19, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L94, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
3103
+ return { $loc, token: `/*${$2}*/` };
3120
3104
  });
3121
3105
  function CoffeeMultiLineComment(state) {
3122
3106
  if (state.verbose)
@@ -3127,7 +3111,9 @@ var require_parser = __commonJS({
3127
3111
  return CoffeeMultiLineComment$0(state);
3128
3112
  }
3129
3113
  }
3130
- var InlineComment$0 = $S($EXPECT($L123, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L124, fail, 'InlineComment "*/"')), $EXPECT($R22, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L124, fail, 'InlineComment "*/"'));
3114
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L93, fail, 'InlineComment "*/"')), $EXPECT($R21, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L93, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
3115
+ return { $loc, token: $1 };
3116
+ });
3131
3117
  function InlineComment(state) {
3132
3118
  if (state.verbose)
3133
3119
  console.log("ENTER:", "InlineComment");
@@ -3137,7 +3123,7 @@ var require_parser = __commonJS({
3137
3123
  return InlineComment$0(state);
3138
3124
  }
3139
3125
  }
3140
- var RestOfLine$0 = $S($Q($C($R$0($EXPECT($R23, fail, "RestOfLine /[ \\t]+/")), SingleLineComment, MultiLineComment)), EOL);
3126
+ var RestOfLine$0 = $S($Q($C($R$0($EXPECT($R22, fail, "RestOfLine /[ \\t]+/")), SingleLineComment, MultiLineComment)), EOL);
3141
3127
  function RestOfLine(state) {
3142
3128
  if (state.verbose)
3143
3129
  console.log("ENTER:", "RestOfLine");
@@ -3147,7 +3133,7 @@ var require_parser = __commonJS({
3147
3133
  return RestOfLine$0(state);
3148
3134
  }
3149
3135
  }
3150
- var TrailingComment$0 = $R$0($EXPECT($R24, fail, "TrailingComment /[\\t ]+/"));
3136
+ var TrailingComment$0 = $R$0($EXPECT($R23, fail, "TrailingComment /[\\t ]+/"));
3151
3137
  var TrailingComment$1 = InlineComment;
3152
3138
  var TrailingComment$2 = SingleLineComment;
3153
3139
  function TrailingComment(state) {
@@ -3157,7 +3143,7 @@ var require_parser = __commonJS({
3157
3143
  return TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
3158
3144
  }
3159
3145
  }
3160
- var _$0 = $P($C($R$0($EXPECT($R24, fail, "_ /[\\t ]+/")), Comment));
3146
+ var _$0 = $P($C(NonNewlineWhitespace, Comment));
3161
3147
  function _(state) {
3162
3148
  if (state.verbose)
3163
3149
  console.log("ENTER:", "_");
@@ -3167,7 +3153,19 @@ var require_parser = __commonJS({
3167
3153
  return _$0(state);
3168
3154
  }
3169
3155
  }
3170
- var __$0 = $Q($C($R$0($EXPECT($R25, fail, "__ /[\\s]+/")), Comment));
3156
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R22, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3157
+ return { $loc, token: $0 };
3158
+ });
3159
+ function NonNewlineWhitespace(state) {
3160
+ if (state.verbose)
3161
+ console.log("ENTER:", "NonNewlineWhitespace");
3162
+ if (state.tokenize) {
3163
+ return $TOKEN("NonNewlineWhitespace", state, NonNewlineWhitespace$0(state));
3164
+ } else {
3165
+ return NonNewlineWhitespace$0(state);
3166
+ }
3167
+ }
3168
+ var __$0 = $Q($C(Whitespace, Comment));
3171
3169
  function __(state) {
3172
3170
  if (state.verbose)
3173
3171
  console.log("ENTER:", "__");
@@ -3177,9 +3175,21 @@ var require_parser = __commonJS({
3177
3175
  return __$0(state);
3178
3176
  }
3179
3177
  }
3180
- var StatementDelimiter$0 = $S($Q(TrailingComment), $EXPECT($L90, fail, 'StatementDelimiter ";"'), $Q(TrailingComment));
3181
- var StatementDelimiter$1 = $T($Y(EOS), function(value) {
3182
- return [";", value];
3178
+ var Whitespace$0 = $TR($EXPECT($R24, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
3179
+ return { $loc, token: $0 };
3180
+ });
3181
+ function Whitespace(state) {
3182
+ if (state.verbose)
3183
+ console.log("ENTER:", "Whitespace");
3184
+ if (state.tokenize) {
3185
+ return $TOKEN("Whitespace", state, Whitespace$0(state));
3186
+ } else {
3187
+ return Whitespace$0(state);
3188
+ }
3189
+ }
3190
+ var StatementDelimiter$0 = $S($Q(TrailingComment), Semicolon, $Q(TrailingComment));
3191
+ var StatementDelimiter$1 = $TS($S($EXPECT($L16, fail, 'StatementDelimiter ""'), $Y(EOS)), function($skip, $loc, $0, $1, $2) {
3192
+ return { $loc, token: ";" };
3183
3193
  });
3184
3194
  function StatementDelimiter(state) {
3185
3195
  if (state.tokenize) {
@@ -3188,7 +3198,7 @@ var require_parser = __commonJS({
3188
3198
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
3189
3199
  }
3190
3200
  }
3191
- var NonIdContinue$0 = $R$0($EXPECT($R26, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3201
+ var NonIdContinue$0 = $R$0($EXPECT($R25, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
3192
3202
  function NonIdContinue(state) {
3193
3203
  if (state.verbose)
3194
3204
  console.log("ENTER:", "NonIdContinue");
@@ -3198,6 +3208,462 @@ var require_parser = __commonJS({
3198
3208
  return NonIdContinue$0(state);
3199
3209
  }
3200
3210
  }
3211
+ var Loc$0 = $TV($EXPECT($L16, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
3212
+ return { $loc, token: "" };
3213
+ });
3214
+ function Loc(state) {
3215
+ if (state.verbose)
3216
+ console.log("ENTER:", "Loc");
3217
+ if (state.tokenize) {
3218
+ return $TOKEN("Loc", state, Loc$0(state));
3219
+ } else {
3220
+ return Loc$0(state);
3221
+ }
3222
+ }
3223
+ var As$0 = $TS($S($EXPECT($L95, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3224
+ return { $loc, token: $1 };
3225
+ });
3226
+ function As(state) {
3227
+ if (state.verbose)
3228
+ console.log("ENTER:", "As");
3229
+ if (state.tokenize) {
3230
+ return $TOKEN("As", state, As$0(state));
3231
+ } else {
3232
+ return As$0(state);
3233
+ }
3234
+ }
3235
+ var Async$0 = $TV($EXPECT($L96, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
3236
+ return { $loc, token: $1 };
3237
+ });
3238
+ function Async(state) {
3239
+ if (state.verbose)
3240
+ console.log("ENTER:", "Async");
3241
+ if (state.tokenize) {
3242
+ return $TOKEN("Async", state, Async$0(state));
3243
+ } else {
3244
+ return Async$0(state);
3245
+ }
3246
+ }
3247
+ var Await$0 = $TS($S($EXPECT($L97, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3248
+ return { $loc, token: $1 };
3249
+ });
3250
+ function Await(state) {
3251
+ if (state.verbose)
3252
+ console.log("ENTER:", "Await");
3253
+ if (state.tokenize) {
3254
+ return $TOKEN("Await", state, Await$0(state));
3255
+ } else {
3256
+ return Await$0(state);
3257
+ }
3258
+ }
3259
+ var Catch$0 = $TV($EXPECT($L98, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
3260
+ return { $loc, token: $1 };
3261
+ });
3262
+ function Catch(state) {
3263
+ if (state.verbose)
3264
+ console.log("ENTER:", "Catch");
3265
+ if (state.tokenize) {
3266
+ return $TOKEN("Catch", state, Catch$0(state));
3267
+ } else {
3268
+ return Catch$0(state);
3269
+ }
3270
+ }
3271
+ var Class$0 = $TV($EXPECT($L99, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
3272
+ return { $loc, token: $1 };
3273
+ });
3274
+ function Class(state) {
3275
+ if (state.verbose)
3276
+ console.log("ENTER:", "Class");
3277
+ if (state.tokenize) {
3278
+ return $TOKEN("Class", state, Class$0(state));
3279
+ } else {
3280
+ return Class$0(state);
3281
+ }
3282
+ }
3283
+ var CloseBrace$0 = $TV($EXPECT($L100, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
3284
+ return { $loc, token: $1 };
3285
+ });
3286
+ function CloseBrace(state) {
3287
+ if (state.verbose)
3288
+ console.log("ENTER:", "CloseBrace");
3289
+ if (state.tokenize) {
3290
+ return $TOKEN("CloseBrace", state, CloseBrace$0(state));
3291
+ } else {
3292
+ return CloseBrace$0(state);
3293
+ }
3294
+ }
3295
+ var CloseBracket$0 = $TV($EXPECT($L24, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
3296
+ return { $loc, token: $1 };
3297
+ });
3298
+ function CloseBracket(state) {
3299
+ if (state.verbose)
3300
+ console.log("ENTER:", "CloseBracket");
3301
+ if (state.tokenize) {
3302
+ return $TOKEN("CloseBracket", state, CloseBracket$0(state));
3303
+ } else {
3304
+ return CloseBracket$0(state);
3305
+ }
3306
+ }
3307
+ var CloseParen$0 = $TV($EXPECT($L17, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
3308
+ return { $loc, token: $1 };
3309
+ });
3310
+ function CloseParen(state) {
3311
+ if (state.verbose)
3312
+ console.log("ENTER:", "CloseParen");
3313
+ if (state.tokenize) {
3314
+ return $TOKEN("CloseParen", state, CloseParen$0(state));
3315
+ } else {
3316
+ return CloseParen$0(state);
3317
+ }
3318
+ }
3319
+ var Colon$0 = $TV($EXPECT($L101, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
3320
+ return { $loc, token: $1 };
3321
+ });
3322
+ function Colon(state) {
3323
+ if (state.verbose)
3324
+ console.log("ENTER:", "Colon");
3325
+ if (state.tokenize) {
3326
+ return $TOKEN("Colon", state, Colon$0(state));
3327
+ } else {
3328
+ return Colon$0(state);
3329
+ }
3330
+ }
3331
+ var Dot$0 = $TV($EXPECT($L102, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
3332
+ return { $loc, token: $1 };
3333
+ });
3334
+ function Dot(state) {
3335
+ if (state.verbose)
3336
+ console.log("ENTER:", "Dot");
3337
+ if (state.tokenize) {
3338
+ return $TOKEN("Dot", state, Dot$0(state));
3339
+ } else {
3340
+ return Dot$0(state);
3341
+ }
3342
+ }
3343
+ var Else$0 = $TV($EXPECT($L103, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
3344
+ return { $loc, token: $1 };
3345
+ });
3346
+ function Else(state) {
3347
+ if (state.verbose)
3348
+ console.log("ENTER:", "Else");
3349
+ if (state.tokenize) {
3350
+ return $TOKEN("Else", state, Else$0(state));
3351
+ } else {
3352
+ return Else$0(state);
3353
+ }
3354
+ }
3355
+ var Equals$0 = $TV($EXPECT($L43, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
3356
+ return { $loc, token: $1 };
3357
+ });
3358
+ function Equals(state) {
3359
+ if (state.verbose)
3360
+ console.log("ENTER:", "Equals");
3361
+ if (state.tokenize) {
3362
+ return $TOKEN("Equals", state, Equals$0(state));
3363
+ } else {
3364
+ return Equals$0(state);
3365
+ }
3366
+ }
3367
+ var Export$0 = $TS($S($EXPECT($L104, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3368
+ return { $loc, token: $1 };
3369
+ });
3370
+ function Export(state) {
3371
+ if (state.verbose)
3372
+ console.log("ENTER:", "Export");
3373
+ if (state.tokenize) {
3374
+ return $TOKEN("Export", state, Export$0(state));
3375
+ } else {
3376
+ return Export$0(state);
3377
+ }
3378
+ }
3379
+ var For$0 = $TS($S($EXPECT($L105, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3380
+ return { $loc, token: $1 };
3381
+ });
3382
+ function For(state) {
3383
+ if (state.verbose)
3384
+ console.log("ENTER:", "For");
3385
+ if (state.tokenize) {
3386
+ return $TOKEN("For", state, For$0(state));
3387
+ } else {
3388
+ return For$0(state);
3389
+ }
3390
+ }
3391
+ var From$0 = $TS($S($EXPECT($L106, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3392
+ return { $loc, token: $1 };
3393
+ });
3394
+ function From(state) {
3395
+ if (state.verbose)
3396
+ console.log("ENTER:", "From");
3397
+ if (state.tokenize) {
3398
+ return $TOKEN("From", state, From$0(state));
3399
+ } else {
3400
+ return From$0(state);
3401
+ }
3402
+ }
3403
+ var Function$0 = $TV($EXPECT($L107, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
3404
+ return { $loc, token: $1 };
3405
+ });
3406
+ function Function(state) {
3407
+ if (state.verbose)
3408
+ console.log("ENTER:", "Function");
3409
+ if (state.tokenize) {
3410
+ return $TOKEN("Function", state, Function$0(state));
3411
+ } else {
3412
+ return Function$0(state);
3413
+ }
3414
+ }
3415
+ var If$0 = $TV($EXPECT($L108, fail, 'If "if"'), function($skip, $loc, $0, $1) {
3416
+ return { $loc, token: $1 };
3417
+ });
3418
+ function If(state) {
3419
+ if (state.verbose)
3420
+ console.log("ENTER:", "If");
3421
+ if (state.tokenize) {
3422
+ return $TOKEN("If", state, If$0(state));
3423
+ } else {
3424
+ return If$0(state);
3425
+ }
3426
+ }
3427
+ var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R26, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
3428
+ return { $loc, token: $1 };
3429
+ });
3430
+ function Import(state) {
3431
+ if (state.verbose)
3432
+ console.log("ENTER:", "Import");
3433
+ if (state.tokenize) {
3434
+ return $TOKEN("Import", state, Import$0(state));
3435
+ } else {
3436
+ return Import$0(state);
3437
+ }
3438
+ }
3439
+ var In$0 = $TV($EXPECT($L66, fail, 'In "in"'), function($skip, $loc, $0, $1) {
3440
+ return { $loc, token: $1 };
3441
+ });
3442
+ function In(state) {
3443
+ if (state.verbose)
3444
+ console.log("ENTER:", "In");
3445
+ if (state.tokenize) {
3446
+ return $TOKEN("In", state, In$0(state));
3447
+ } else {
3448
+ return In$0(state);
3449
+ }
3450
+ }
3451
+ var Loop$0 = $TS($S($EXPECT($L109, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3452
+ return { $loc, token: "while(true)" };
3453
+ });
3454
+ function Loop(state) {
3455
+ if (state.verbose)
3456
+ console.log("ENTER:", "Loop");
3457
+ if (state.tokenize) {
3458
+ return $TOKEN("Loop", state, Loop$0(state));
3459
+ } else {
3460
+ return Loop$0(state);
3461
+ }
3462
+ }
3463
+ var New$0 = $TV($EXPECT($L110, fail, 'New "new"'), function($skip, $loc, $0, $1) {
3464
+ return { $loc, token: $1 };
3465
+ });
3466
+ function New(state) {
3467
+ if (state.verbose)
3468
+ console.log("ENTER:", "New");
3469
+ if (state.tokenize) {
3470
+ return $TOKEN("New", state, New$0(state));
3471
+ } else {
3472
+ return New$0(state);
3473
+ }
3474
+ }
3475
+ var Of$0 = $TV($EXPECT($L111, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
3476
+ return { $loc, token: $1 };
3477
+ });
3478
+ function Of(state) {
3479
+ if (state.verbose)
3480
+ console.log("ENTER:", "Of");
3481
+ if (state.tokenize) {
3482
+ return $TOKEN("Of", state, Of$0(state));
3483
+ } else {
3484
+ return Of$0(state);
3485
+ }
3486
+ }
3487
+ var OpenBrace$0 = $TV($EXPECT($L112, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
3488
+ return { $loc, token: $1 };
3489
+ });
3490
+ function OpenBrace(state) {
3491
+ if (state.verbose)
3492
+ console.log("ENTER:", "OpenBrace");
3493
+ if (state.tokenize) {
3494
+ return $TOKEN("OpenBrace", state, OpenBrace$0(state));
3495
+ } else {
3496
+ return OpenBrace$0(state);
3497
+ }
3498
+ }
3499
+ var OpenBracket$0 = $TV($EXPECT($L113, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
3500
+ return { $loc, token: $1 };
3501
+ });
3502
+ function OpenBracket(state) {
3503
+ if (state.verbose)
3504
+ console.log("ENTER:", "OpenBracket");
3505
+ if (state.tokenize) {
3506
+ return $TOKEN("OpenBracket", state, OpenBracket$0(state));
3507
+ } else {
3508
+ return OpenBracket$0(state);
3509
+ }
3510
+ }
3511
+ var OpenParen$0 = $TV($EXPECT($L114, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
3512
+ return { $loc, token: $1 };
3513
+ });
3514
+ function OpenParen(state) {
3515
+ if (state.verbose)
3516
+ console.log("ENTER:", "OpenParen");
3517
+ if (state.tokenize) {
3518
+ return $TOKEN("OpenParen", state, OpenParen$0(state));
3519
+ } else {
3520
+ return OpenParen$0(state);
3521
+ }
3522
+ }
3523
+ var QuestionMark$0 = $TV($EXPECT($L115, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
3524
+ return { $loc, token: $1 };
3525
+ });
3526
+ function QuestionMark(state) {
3527
+ if (state.verbose)
3528
+ console.log("ENTER:", "QuestionMark");
3529
+ if (state.tokenize) {
3530
+ return $TOKEN("QuestionMark", state, QuestionMark$0(state));
3531
+ } else {
3532
+ return QuestionMark$0(state);
3533
+ }
3534
+ }
3535
+ var Return$0 = $TS($S($EXPECT($L116, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3536
+ return { $loc, token: $1 };
3537
+ });
3538
+ function Return(state) {
3539
+ if (state.verbose)
3540
+ console.log("ENTER:", "Return");
3541
+ if (state.tokenize) {
3542
+ return $TOKEN("Return", state, Return$0(state));
3543
+ } else {
3544
+ return Return$0(state);
3545
+ }
3546
+ }
3547
+ var Semicolon$0 = $TV($EXPECT($L73, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
3548
+ return { $loc, token: $1 };
3549
+ });
3550
+ function Semicolon(state) {
3551
+ if (state.verbose)
3552
+ console.log("ENTER:", "Semicolon");
3553
+ if (state.tokenize) {
3554
+ return $TOKEN("Semicolon", state, Semicolon$0(state));
3555
+ } else {
3556
+ return Semicolon$0(state);
3557
+ }
3558
+ }
3559
+ var Static$0 = $TV($EXPECT($L117, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
3560
+ return { $loc, token: $1 };
3561
+ });
3562
+ function Static(state) {
3563
+ if (state.verbose)
3564
+ console.log("ENTER:", "Static");
3565
+ if (state.tokenize) {
3566
+ return $TOKEN("Static", state, Static$0(state));
3567
+ } else {
3568
+ return Static$0(state);
3569
+ }
3570
+ }
3571
+ var Switch$0 = $TV($EXPECT($L118, fail, 'Switch "switch"'), function($skip, $loc, $0, $1) {
3572
+ return { $loc, token: $1 };
3573
+ });
3574
+ function Switch(state) {
3575
+ if (state.verbose)
3576
+ console.log("ENTER:", "Switch");
3577
+ if (state.tokenize) {
3578
+ return $TOKEN("Switch", state, Switch$0(state));
3579
+ } else {
3580
+ return Switch$0(state);
3581
+ }
3582
+ }
3583
+ var Target$0 = $TV($EXPECT($L119, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
3584
+ return { $loc, token: $1 };
3585
+ });
3586
+ function Target(state) {
3587
+ if (state.verbose)
3588
+ console.log("ENTER:", "Target");
3589
+ if (state.tokenize) {
3590
+ return $TOKEN("Target", state, Target$0(state));
3591
+ } else {
3592
+ return Target$0(state);
3593
+ }
3594
+ }
3595
+ var TripleDoubleQuote$0 = $TV($EXPECT($L120, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
3596
+ return { $loc, token: "`" };
3597
+ });
3598
+ function TripleDoubleQuote(state) {
3599
+ if (state.verbose)
3600
+ console.log("ENTER:", "TripleDoubleQuote");
3601
+ if (state.tokenize) {
3602
+ return $TOKEN("TripleDoubleQuote", state, TripleDoubleQuote$0(state));
3603
+ } else {
3604
+ return TripleDoubleQuote$0(state);
3605
+ }
3606
+ }
3607
+ var TripleSingleQuote$0 = $TV($EXPECT($L121, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
3608
+ return { $loc, token: "`" };
3609
+ });
3610
+ function TripleSingleQuote(state) {
3611
+ if (state.verbose)
3612
+ console.log("ENTER:", "TripleSingleQuote");
3613
+ if (state.tokenize) {
3614
+ return $TOKEN("TripleSingleQuote", state, TripleSingleQuote$0(state));
3615
+ } else {
3616
+ return TripleSingleQuote$0(state);
3617
+ }
3618
+ }
3619
+ var Try$0 = $TV($EXPECT($L122, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
3620
+ return { $loc, token: $1 };
3621
+ });
3622
+ function Try(state) {
3623
+ if (state.verbose)
3624
+ console.log("ENTER:", "Try");
3625
+ if (state.tokenize) {
3626
+ return $TOKEN("Try", state, Try$0(state));
3627
+ } else {
3628
+ return Try$0(state);
3629
+ }
3630
+ }
3631
+ var Unless$0 = $TV($EXPECT($L123, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
3632
+ return { $loc, token: $1 };
3633
+ });
3634
+ function Unless(state) {
3635
+ if (state.verbose)
3636
+ console.log("ENTER:", "Unless");
3637
+ if (state.tokenize) {
3638
+ return $TOKEN("Unless", state, Unless$0(state));
3639
+ } else {
3640
+ return Unless$0(state);
3641
+ }
3642
+ }
3643
+ var Var$0 = $TV($EXPECT($L124, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
3644
+ return { $loc, token: $1 };
3645
+ });
3646
+ function Var(state) {
3647
+ if (state.verbose)
3648
+ console.log("ENTER:", "Var");
3649
+ if (state.tokenize) {
3650
+ return $TOKEN("Var", state, Var$0(state));
3651
+ } else {
3652
+ return Var$0(state);
3653
+ }
3654
+ }
3655
+ var When$0 = $TS($S($EXPECT($L125, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3656
+ return { $loc, token: "case" };
3657
+ });
3658
+ function When(state) {
3659
+ if (state.verbose)
3660
+ console.log("ENTER:", "When");
3661
+ if (state.tokenize) {
3662
+ return $TOKEN("When", state, When$0(state));
3663
+ } else {
3664
+ return When$0(state);
3665
+ }
3666
+ }
3201
3667
  var JSXElement$0 = JSXSelfClosingElement;
3202
3668
  var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
3203
3669
  if ($1[1] !== $4[2]) {
@@ -3212,7 +3678,7 @@ var require_parser = __commonJS({
3212
3678
  return JSXElement$0(state) || JSXElement$1(state);
3213
3679
  }
3214
3680
  }
3215
- var JSXSelfClosingElement$0 = $S($EXPECT($L16, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3681
+ var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3216
3682
  function JSXSelfClosingElement(state) {
3217
3683
  if (state.verbose)
3218
3684
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -3222,7 +3688,7 @@ var require_parser = __commonJS({
3222
3688
  return JSXSelfClosingElement$0(state);
3223
3689
  }
3224
3690
  }
3225
- var JSXOpeningElement$0 = $S($EXPECT($L16, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L69, fail, 'JSXOpeningElement ">"'));
3691
+ var JSXOpeningElement$0 = $S($EXPECT($L5, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L54, fail, 'JSXOpeningElement ">"'));
3226
3692
  function JSXOpeningElement(state) {
3227
3693
  if (state.verbose)
3228
3694
  console.log("ENTER:", "JSXOpeningElement");
@@ -3232,7 +3698,7 @@ var require_parser = __commonJS({
3232
3698
  return JSXOpeningElement$0(state);
3233
3699
  }
3234
3700
  }
3235
- var JSXClosingElement$0 = $S($EXPECT($L127, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L69, fail, 'JSXClosingElement ">"'));
3701
+ var JSXClosingElement$0 = $S($EXPECT($L127, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L54, fail, 'JSXClosingElement ">"'));
3236
3702
  function JSXClosingElement(state) {
3237
3703
  if (state.verbose)
3238
3704
  console.log("ENTER:", "JSXClosingElement");
@@ -3252,7 +3718,7 @@ var require_parser = __commonJS({
3252
3718
  return JSXFragment$0(state);
3253
3719
  }
3254
3720
  }
3255
- var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L14, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3721
+ var JSXElementName$0 = $S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName))));
3256
3722
  function JSXElementName(state) {
3257
3723
  if (state.verbose)
3258
3724
  console.log("ENTER:", "JSXElementName");
@@ -3282,7 +3748,7 @@ var require_parser = __commonJS({
3282
3748
  return JSXAttributes$0(state);
3283
3749
  }
3284
3750
  }
3285
- var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L34, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttribute "}"'));
3751
+ var JSXAttribute$0 = $S(OpenBrace, __, $EXPECT($L18, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, CloseBrace);
3286
3752
  var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3287
3753
  function JSXAttribute(state) {
3288
3754
  if (state.tokenize) {
@@ -3291,7 +3757,7 @@ var require_parser = __commonJS({
3291
3757
  return JSXAttribute$0(state) || JSXAttribute$1(state);
3292
3758
  }
3293
3759
  }
3294
- var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L14, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3760
+ var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S(Colon, JSXIdentifierName)));
3295
3761
  function JSXAttributeName(state) {
3296
3762
  if (state.verbose)
3297
3763
  console.log("ENTER:", "JSXAttributeName");
@@ -3301,7 +3767,7 @@ var require_parser = __commonJS({
3301
3767
  return JSXAttributeName$0(state);
3302
3768
  }
3303
3769
  }
3304
- var JSXAttributeInitializer$0 = $S(__, $EXPECT($L58, fail, 'JSXAttributeInitializer "="'), __, JSXAttributeValue);
3770
+ var JSXAttributeInitializer$0 = $S(__, Equals, __, JSXAttributeValue);
3305
3771
  function JSXAttributeInitializer(state) {
3306
3772
  if (state.verbose)
3307
3773
  console.log("ENTER:", "JSXAttributeInitializer");
@@ -3313,7 +3779,7 @@ var require_parser = __commonJS({
3313
3779
  }
3314
3780
  var JSXAttributeValue$0 = $R$0($EXPECT($R28, fail, 'JSXAttributeValue /"[^"]*"/'));
3315
3781
  var JSXAttributeValue$1 = $R$0($EXPECT($R29, fail, "JSXAttributeValue /'[^']*'/"));
3316
- var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttributeValue "}"'));
3782
+ var JSXAttributeValue$2 = $S(OpenBrace, __, AssignmentExpression, __, CloseBrace);
3317
3783
  var JSXAttributeValue$3 = JSXElement;
3318
3784
  var JSXAttributeValue$4 = JSXFragment;
3319
3785
  function JSXAttributeValue(state) {
@@ -3336,7 +3802,7 @@ var require_parser = __commonJS({
3336
3802
  var JSXChild$0 = JSXText;
3337
3803
  var JSXChild$1 = JSXElement;
3338
3804
  var JSXChild$2 = JSXFragment;
3339
- var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L13, fail, 'JSXChild "}"'));
3805
+ var JSXChild$3 = $S(OpenBrace, $E(JSXChildExpression), __, CloseBrace);
3340
3806
  function JSXChild(state) {
3341
3807
  if (state.tokenize) {
3342
3808
  return $TOKEN("JSXChild", state, JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state));
@@ -3354,7 +3820,7 @@ var require_parser = __commonJS({
3354
3820
  return JSXText$0(state);
3355
3821
  }
3356
3822
  }
3357
- var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L34, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3823
+ var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L18, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3358
3824
  function JSXChildExpression(state) {
3359
3825
  if (state.verbose)
3360
3826
  console.log("ENTER:", "JSXChildExpression");
@@ -3377,7 +3843,7 @@ var require_parser = __commonJS({
3377
3843
  }
3378
3844
  }
3379
3845
  var TypeDeclarationModifier$0 = $S($EXPECT($L130, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
3380
- var TypeDeclarationModifier$1 = $S($EXPECT($L115, fail, 'TypeDeclarationModifier "export"'), NonIdContinue);
3846
+ var TypeDeclarationModifier$1 = Export;
3381
3847
  function TypeDeclarationModifier(state) {
3382
3848
  if (state.tokenize) {
3383
3849
  return $TOKEN("TypeDeclarationModifier", state, TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state));
@@ -3385,7 +3851,7 @@ var require_parser = __commonJS({
3385
3851
  return TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state);
3386
3852
  }
3387
3853
  }
3388
- var TypeDeclarationRest$0 = $S(TypeKeyword, $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L58, fail, 'TypeDeclarationRest "="'), __, Type);
3854
+ var TypeDeclarationRest$0 = $S(TypeKeyword, $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, Equals, __, Type);
3389
3855
  var TypeDeclarationRest$1 = $S(Interface, $Q(TrailingComment), IdentifierName, InterfaceBlock);
3390
3856
  var TypeDeclarationRest$2 = $S(Namespace, $Q(TrailingComment), IdentifierName, NamespaceBlock);
3391
3857
  function TypeDeclarationRest(state) {
@@ -3425,8 +3891,8 @@ var require_parser = __commonJS({
3425
3891
  return Namespace$0(state);
3426
3892
  }
3427
3893
  }
3428
- var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3429
- var InterfaceBlock$1 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), $Q($S(__, InterfaceProperty)), __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3894
+ var InterfaceBlock$0 = $S(__, OpenBrace, EOS, NestedInterfaceProperties, __, CloseBrace);
3895
+ var InterfaceBlock$1 = $S(__, OpenBrace, $Q($S(__, InterfaceProperty)), __, CloseBrace);
3430
3896
  var InterfaceBlock$2 = $S(InsertOpenBrace, EOS, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
3431
3897
  function InterfaceBlock(state) {
3432
3898
  if (state.tokenize) {
@@ -3469,13 +3935,13 @@ var require_parser = __commonJS({
3469
3935
  return InterfaceProperty$0(state) || InterfaceProperty$1(state);
3470
3936
  }
3471
3937
  }
3472
- var InterfacePropertyDelimiter$0 = $S($Q(_), $EXPECT($L90, fail, 'InterfacePropertyDelimiter ";"'));
3473
- var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"')));
3474
- var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3475
- return ";";
3938
+ var InterfacePropertyDelimiter$0 = $S($Q(_), Semicolon);
3939
+ var InterfacePropertyDelimiter$1 = $Y($S($Q(_), CloseBrace));
3940
+ var InterfacePropertyDelimiter$2 = $TV($Y($S(__, CloseBrace)), function($skip, $loc, $0, $1) {
3941
+ return { $loc, token: ";" };
3476
3942
  });
3477
- var InterfacePropertyDelimiter$3 = $T($Y(EOS), function(value) {
3478
- return ";";
3943
+ var InterfacePropertyDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
3944
+ return { $loc, token: ";" };
3479
3945
  });
3480
3946
  function InterfacePropertyDelimiter(state) {
3481
3947
  if (state.tokenize) {
@@ -3484,8 +3950,8 @@ var require_parser = __commonJS({
3484
3950
  return InterfacePropertyDelimiter$0(state) || InterfacePropertyDelimiter$1(state) || InterfacePropertyDelimiter$2(state) || InterfacePropertyDelimiter$3(state);
3485
3951
  }
3486
3952
  }
3487
- var NamespaceBlock$0 = $S(__, $EXPECT($L12, fail, 'NamespaceBlock "{"'), EOS, NestedTypeDeclarations, __, $EXPECT($L13, fail, 'NamespaceBlock "}"'));
3488
- var NamespaceBlock$1 = $S(__, $EXPECT($L12, fail, 'NamespaceBlock "{"'), $Q($S(__, TypeDeclaration, InterfacePropertyDelimiter)), __, $EXPECT($L13, fail, 'NamespaceBlock "}"'));
3953
+ var NamespaceBlock$0 = $S(__, OpenBrace, EOS, NestedTypeDeclarations, __, CloseBrace);
3954
+ var NamespaceBlock$1 = $S(__, OpenBrace, $Q($S(__, TypeDeclaration, InterfacePropertyDelimiter)), __, CloseBrace);
3489
3955
  var NamespaceBlock$2 = $S(InsertOpenBrace, EOS, NestedTypeDeclarations, InsertNewline, InsertIndent, InsertCloseBrace);
3490
3956
  function NamespaceBlock(state) {
3491
3957
  if (state.tokenize) {
@@ -3519,7 +3985,7 @@ var require_parser = __commonJS({
3519
3985
  return NestedTypeDeclaration$0(state);
3520
3986
  }
3521
3987
  }
3522
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R31, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L134, fail, 'TypeIndexSignature "readonly"'), __)), $EXPECT($L27, fail, 'TypeIndexSignature "["'), TypeIndex, $EXPECT($L28, fail, 'TypeIndexSignature "]"'), $E($S(__, $R$0($EXPECT($R32, fail, "TypeIndexSignature /[+-]/")), $EXPECT($L3, fail, 'TypeIndexSignature "?"'))));
3988
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R31, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L134, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R32, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
3523
3989
  function TypeIndexSignature(state) {
3524
3990
  if (state.verbose)
3525
3991
  console.log("ENTER:", "TypeIndexSignature");
@@ -3530,7 +3996,7 @@ var require_parser = __commonJS({
3530
3996
  }
3531
3997
  }
3532
3998
  var TypeIndex$0 = $S(__, Identifier, TypeSuffix);
3533
- var TypeIndex$1 = $S(__, PropertyName, __, $EXPECT($L81, fail, 'TypeIndex "in"'), Type, $E($S(__, $EXPECT($L4, fail, 'TypeIndex "as"'), Type)));
3999
+ var TypeIndex$1 = $S(__, PropertyName, __, In, Type, $E($S(__, As, Type)));
3534
4000
  function TypeIndex(state) {
3535
4001
  if (state.tokenize) {
3536
4002
  return $TOKEN("TypeIndex", state, TypeIndex$0(state) || TypeIndex$1(state));
@@ -3538,7 +4004,7 @@ var require_parser = __commonJS({
3538
4004
  return TypeIndex$0(state) || TypeIndex$1(state);
3539
4005
  }
3540
4006
  }
3541
- var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L14, fail, 'TypeSuffix ":"'), Type), function(value) {
4007
+ var TypeSuffix$0 = $T($S($E(QuestionMark), __, Colon, Type), function(value) {
3542
4008
  return { "ts": true, "children": value };
3543
4009
  });
3544
4010
  function TypeSuffix(state) {
@@ -3550,7 +4016,7 @@ var require_parser = __commonJS({
3550
4016
  return TypeSuffix$0(state);
3551
4017
  }
3552
4018
  }
3553
- var ReturnTypeSuffix$0 = $T($S(__, $EXPECT($L14, fail, 'ReturnTypeSuffix ":"'), $E($S(__, $EXPECT($L135, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
4019
+ var ReturnTypeSuffix$0 = $T($S(__, Colon, $E($S(__, $EXPECT($L135, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function(value) {
3554
4020
  return { "ts": true, "children": value };
3555
4021
  });
3556
4022
  function ReturnTypeSuffix(state) {
@@ -3562,7 +4028,7 @@ var require_parser = __commonJS({
3562
4028
  return ReturnTypeSuffix$0(state);
3563
4029
  }
3564
4030
  }
3565
- var TypePredicate$0 = $S(Type, $E($S(__, $EXPECT($L72, fail, 'TypePredicate "is"'), NonIdContinue, Type)));
4031
+ var TypePredicate$0 = $S(Type, $E($S(__, $EXPECT($L57, fail, 'TypePredicate "is"'), NonIdContinue, Type)));
3566
4032
  function TypePredicate(state) {
3567
4033
  if (state.verbose)
3568
4034
  console.log("ENTER:", "TypePredicate");
@@ -3613,7 +4079,7 @@ var require_parser = __commonJS({
3613
4079
  }
3614
4080
  }
3615
4081
  var TypeUnaryOp$0 = $EXPECT($L136, fail, 'TypeUnaryOp "keyof"');
3616
- var TypeUnaryOp$1 = $EXPECT($L87, fail, 'TypeUnaryOp "typeof"');
4082
+ var TypeUnaryOp$1 = $EXPECT($L72, fail, 'TypeUnaryOp "typeof"');
3617
4083
  var TypeUnaryOp$2 = $EXPECT($L137, fail, 'TypeUnaryOp "infer"');
3618
4084
  function TypeUnaryOp(state) {
3619
4085
  if (state.tokenize) {
@@ -3622,7 +4088,7 @@ var require_parser = __commonJS({
3622
4088
  return TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state);
3623
4089
  }
3624
4090
  }
3625
- var TypeIndexedAccess$0 = $S(__, $EXPECT($L27, fail, 'TypeIndexedAccess "["'), $E(Type), __, $EXPECT($L28, fail, 'TypeIndexedAccess "]"'));
4091
+ var TypeIndexedAccess$0 = $S(__, OpenBracket, $E(Type), __, CloseBracket);
3626
4092
  function TypeIndexedAccess(state) {
3627
4093
  if (state.verbose)
3628
4094
  console.log("ENTER:", "TypeIndexedAccess");
@@ -3633,9 +4099,9 @@ var require_parser = __commonJS({
3633
4099
  }
3634
4100
  }
3635
4101
  var TypePrimary$0 = InterfaceBlock;
3636
- var TypePrimary$1 = $S(__, $EXPECT($L1, fail, 'TypePrimary "("'), Type, __, $EXPECT($L2, fail, 'TypePrimary ")"'));
4102
+ var TypePrimary$1 = $S(__, OpenParen, Type, __, CloseParen);
3637
4103
  var TypePrimary$2 = $S($Q(_), FunctionType);
3638
- var TypePrimary$3 = $S($Q(_), IdentifierName, $Q($S($EXPECT($L25, fail, 'TypePrimary "."'), IdentifierName)), $E(TypeArguments));
4104
+ var TypePrimary$3 = $S($Q(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments));
3639
4105
  var TypePrimary$4 = $S($Q(_), TypeLiteral);
3640
4106
  function TypePrimary(state) {
3641
4107
  if (state.tokenize) {
@@ -3644,7 +4110,7 @@ var require_parser = __commonJS({
3644
4110
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3645
4111
  }
3646
4112
  }
3647
- 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)))));
4113
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L6, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type)))));
3648
4114
  function TypeConditional(state) {
3649
4115
  if (state.verbose)
3650
4116
  console.log("ENTER:", "TypeConditional");
@@ -3655,7 +4121,7 @@ var require_parser = __commonJS({
3655
4121
  }
3656
4122
  }
3657
4123
  var TypeLiteral$0 = Literal;
3658
- var TypeLiteral$1 = $EXPECT($L86, fail, 'TypeLiteral "void"');
4124
+ var TypeLiteral$1 = $EXPECT($L71, fail, 'TypeLiteral "void"');
3659
4125
  var TypeLiteral$2 = $EXPECT($L138, fail, 'TypeLiteral "[]"');
3660
4126
  function TypeLiteral(state) {
3661
4127
  if (state.tokenize) {
@@ -3664,8 +4130,8 @@ var require_parser = __commonJS({
3664
4130
  return TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state);
3665
4131
  }
3666
4132
  }
3667
- var TypeBinaryOp$0 = $EXPECT($L84, fail, 'TypeBinaryOp "|"');
3668
- var TypeBinaryOp$1 = $EXPECT($L82, fail, 'TypeBinaryOp "&"');
4133
+ var TypeBinaryOp$0 = $EXPECT($L69, fail, 'TypeBinaryOp "|"');
4134
+ var TypeBinaryOp$1 = $EXPECT($L67, fail, 'TypeBinaryOp "&"');
3669
4135
  function TypeBinaryOp(state) {
3670
4136
  if (state.tokenize) {
3671
4137
  return $TOKEN("TypeBinaryOp", state, TypeBinaryOp$0(state) || TypeBinaryOp$1(state));
@@ -3673,7 +4139,7 @@ var require_parser = __commonJS({
3673
4139
  return TypeBinaryOp$0(state) || TypeBinaryOp$1(state);
3674
4140
  }
3675
4141
  }
3676
- var FunctionType$0 = $S(Parameters, __, $EXPECT($L11, fail, 'FunctionType "=>"'), Type);
4142
+ var FunctionType$0 = $S(Parameters, __, $EXPECT($L4, fail, 'FunctionType "=>"'), Type);
3677
4143
  function FunctionType(state) {
3678
4144
  if (state.verbose)
3679
4145
  console.log("ENTER:", "FunctionType");
@@ -3683,7 +4149,7 @@ var require_parser = __commonJS({
3683
4149
  return FunctionType$0(state);
3684
4150
  }
3685
4151
  }
3686
- var TypeArguments$0 = $S(__, $EXPECT($L16, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeArguments ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeArguments ","'))), __, $EXPECT($L69, fail, 'TypeArguments ">"'));
4152
+ var TypeArguments$0 = $S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeArguments ">"'));
3687
4153
  function TypeArguments(state) {
3688
4154
  if (state.verbose)
3689
4155
  console.log("ENTER:", "TypeArguments");
@@ -3693,7 +4159,7 @@ var require_parser = __commonJS({
3693
4159
  return TypeArguments$0(state);
3694
4160
  }
3695
4161
  }
3696
- var TypeParameters$0 = $TS($S(__, $EXPECT($L16, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L69, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
4162
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L54, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
3697
4163
  return { ts: true, children: $0 };
3698
4164
  });
3699
4165
  function TypeParameters(state) {
@@ -3715,7 +4181,7 @@ var require_parser = __commonJS({
3715
4181
  return TypeParameter$0(state);
3716
4182
  }
3717
4183
  }
3718
- var TypeConstraint$0 = $S(__, $EXPECT($L17, fail, 'TypeConstraint "extends"'), Type);
4184
+ var TypeConstraint$0 = $S(__, $EXPECT($L6, fail, 'TypeConstraint "extends"'), Type);
3719
4185
  function TypeConstraint(state) {
3720
4186
  if (state.verbose)
3721
4187
  console.log("ENTER:", "TypeConstraint");
@@ -3725,13 +4191,13 @@ var require_parser = __commonJS({
3725
4191
  return TypeConstraint$0(state);
3726
4192
  }
3727
4193
  }
3728
- var TypeParameterDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'TypeParameterDelimiter ","'));
3729
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L69, fail, 'TypeParameterDelimiter ">"')));
3730
- var TypeParameterDelimiter$2 = $T($Y($S(__, $EXPECT($L69, fail, 'TypeParameterDelimiter ">"'))), function(value) {
3731
- return ",";
4194
+ var TypeParameterDelimiter$0 = $S($Q(_), Comma);
4195
+ var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L54, fail, 'TypeParameterDelimiter ">"')));
4196
+ var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L54, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
4197
+ return { $loc, token: "," };
3732
4198
  });
3733
- var TypeParameterDelimiter$3 = $T($Y(EOS), function(value) {
3734
- return ",";
4199
+ var TypeParameterDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
4200
+ return { $loc, token: "," };
3735
4201
  });
3736
4202
  function TypeParameterDelimiter(state) {
3737
4203
  if (state.tokenize) {
@@ -3790,7 +4256,7 @@ var require_parser = __commonJS({
3790
4256
  return EOF$0(state);
3791
4257
  }
3792
4258
  }
3793
- var Debugger$0 = $TV($EXPECT($L33, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
4259
+ var Debugger$0 = $TV($EXPECT($L16, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
3794
4260
  debugger;
3795
4261
  });
3796
4262
  function Debugger(state) {
@@ -3802,8 +4268,8 @@ var require_parser = __commonJS({
3802
4268
  return Debugger$0(state);
3803
4269
  }
3804
4270
  }
3805
- var InsertOpenParen$0 = $T($EXPECT($L33, fail, 'InsertOpenParen ""'), function(value) {
3806
- return "(";
4271
+ var InsertOpenParen$0 = $TV($EXPECT($L16, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
4272
+ return { $loc, token: "(" };
3807
4273
  });
3808
4274
  function InsertOpenParen(state) {
3809
4275
  if (state.verbose)
@@ -3814,8 +4280,8 @@ var require_parser = __commonJS({
3814
4280
  return InsertOpenParen$0(state);
3815
4281
  }
3816
4282
  }
3817
- var InsertCloseParen$0 = $T($EXPECT($L33, fail, 'InsertCloseParen ""'), function(value) {
3818
- return ")";
4283
+ var InsertCloseParen$0 = $TV($EXPECT($L16, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
4284
+ return { $loc, token: ")" };
3819
4285
  });
3820
4286
  function InsertCloseParen(state) {
3821
4287
  if (state.verbose)
@@ -3826,8 +4292,8 @@ var require_parser = __commonJS({
3826
4292
  return InsertCloseParen$0(state);
3827
4293
  }
3828
4294
  }
3829
- var InsertOpenBrace$0 = $T($EXPECT($L33, fail, 'InsertOpenBrace ""'), function(value) {
3830
- return " {";
4295
+ var InsertOpenBrace$0 = $TV($EXPECT($L16, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
4296
+ return [{ $loc, token: " " }, { $loc, token: "{" }];
3831
4297
  });
3832
4298
  function InsertOpenBrace(state) {
3833
4299
  if (state.verbose)
@@ -3838,8 +4304,8 @@ var require_parser = __commonJS({
3838
4304
  return InsertOpenBrace$0(state);
3839
4305
  }
3840
4306
  }
3841
- var InsertCloseBrace$0 = $T($EXPECT($L33, fail, 'InsertCloseBrace ""'), function(value) {
3842
- return "}";
4307
+ var InsertCloseBrace$0 = $TV($EXPECT($L16, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
4308
+ return { $loc, token: "}" };
3843
4309
  });
3844
4310
  function InsertCloseBrace(state) {
3845
4311
  if (state.verbose)
@@ -3850,8 +4316,8 @@ var require_parser = __commonJS({
3850
4316
  return InsertCloseBrace$0(state);
3851
4317
  }
3852
4318
  }
3853
- var InsertConst$0 = $T($EXPECT($L33, fail, 'InsertConst ""'), function(value) {
3854
- return "const ";
4319
+ var InsertConst$0 = $TV($EXPECT($L16, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
4320
+ return { $loc, token: "const " };
3855
4321
  });
3856
4322
  function InsertConst(state) {
3857
4323
  if (state.verbose)
@@ -3862,8 +4328,8 @@ var require_parser = __commonJS({
3862
4328
  return InsertConst$0(state);
3863
4329
  }
3864
4330
  }
3865
- var InsertReadonly$0 = $T($EXPECT($L33, fail, 'InsertReadonly ""'), function(value) {
3866
- return { "ts": true, "children": ["readonly "] };
4331
+ var InsertReadonly$0 = $TV($EXPECT($L16, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
4332
+ return { ts: true, children: [{ $loc, token: "readonly " }] };
3867
4333
  });
3868
4334
  function InsertReadonly(state) {
3869
4335
  if (state.verbose)
@@ -3874,7 +4340,7 @@ var require_parser = __commonJS({
3874
4340
  return InsertReadonly$0(state);
3875
4341
  }
3876
4342
  }
3877
- var InsertNewline$0 = $TV($EXPECT($L33, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
4343
+ var InsertNewline$0 = $TV($EXPECT($L16, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
3878
4344
  return "\n";
3879
4345
  });
3880
4346
  function InsertNewline(state) {
@@ -3886,7 +4352,7 @@ var require_parser = __commonJS({
3886
4352
  return InsertNewline$0(state);
3887
4353
  }
3888
4354
  }
3889
- var InsertIndent$0 = $TV($EXPECT($L33, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
4355
+ var InsertIndent$0 = $TV($EXPECT($L16, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
3890
4356
  return "".padStart(global.currentIndent * 2);
3891
4357
  });
3892
4358
  function InsertIndent(state) {
@@ -3898,8 +4364,8 @@ var require_parser = __commonJS({
3898
4364
  return InsertIndent$0(state);
3899
4365
  }
3900
4366
  }
3901
- var InsertSpace$0 = $T($EXPECT($L33, fail, 'InsertSpace ""'), function(value) {
3902
- return " ";
4367
+ var InsertSpace$0 = $TV($EXPECT($L16, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
4368
+ return { $loc, token: " " };
3903
4369
  });
3904
4370
  function InsertSpace(state) {
3905
4371
  if (state.verbose)
@@ -3910,8 +4376,8 @@ var require_parser = __commonJS({
3910
4376
  return InsertSpace$0(state);
3911
4377
  }
3912
4378
  }
3913
- var InsertDot$0 = $T($EXPECT($L33, fail, 'InsertDot ""'), function(value) {
3914
- return ".";
4379
+ var InsertDot$0 = $TV($EXPECT($L16, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
4380
+ return { $loc, token: "." };
3915
4381
  });
3916
4382
  function InsertDot(state) {
3917
4383
  if (state.verbose)
@@ -3922,8 +4388,8 @@ var require_parser = __commonJS({
3922
4388
  return InsertDot$0(state);
3923
4389
  }
3924
4390
  }
3925
- var InsertBreak$0 = $T($EXPECT($L33, fail, 'InsertBreak ""'), function(value) {
3926
- return "break;";
4391
+ var InsertBreak$0 = $TV($EXPECT($L16, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
4392
+ return { $loc, token: "break;" };
3927
4393
  });
3928
4394
  function InsertBreak(state) {
3929
4395
  if (state.verbose)
@@ -3934,7 +4400,7 @@ var require_parser = __commonJS({
3934
4400
  return InsertBreak$0(state);
3935
4401
  }
3936
4402
  }
3937
- var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L33, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
4403
+ var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L16, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
3938
4404
  var directives = $2;
3939
4405
  global.currentIndent = 0;
3940
4406
  global.indentLevels = [0];
@@ -3943,13 +4409,19 @@ var require_parser = __commonJS({
3943
4409
  const compatRe = /use coffee-compat/;
3944
4410
  module2.coffeeCompat = directives.some((d) => d[1].token?.match(compatRe));
3945
4411
  }
3946
- module2.dedentBlockString = function(str) {
4412
+ module2.dedentBlockString = function({ $loc: $loc2, token: str }) {
3947
4413
  const spacing = str.match(/^(\r?\n|\n)\s+/);
3948
4414
  if (spacing) {
3949
4415
  str = str.replaceAll(spacing[0], "\n");
4416
+ const l = spacing.length;
4417
+ $loc2.pos += l;
4418
+ $loc2.length -= l;
3950
4419
  }
3951
4420
  str = str.replace(/^(\r?\n|\n)/, "").replace(/(\r?\n|\n)[ \t]*$/, "").replace(/(`|\$)/g, "\\$1");
3952
- return str;
4421
+ return {
4422
+ $loc: $loc2,
4423
+ token: str
4424
+ };
3953
4425
  };
3954
4426
  return $0;
3955
4427
  });
@@ -3974,7 +4446,7 @@ var require_parser = __commonJS({
3974
4446
  return Indent$0(state);
3975
4447
  }
3976
4448
  }
3977
- var PushIndent$0 = $TV($EXPECT($L33, fail, 'PushIndent ""'), function($skip, $loc, $0, $1) {
4449
+ var PushIndent$0 = $TV($EXPECT($L16, fail, 'PushIndent ""'), function($skip, $loc, $0, $1) {
3978
4450
  global.currentIndent++;
3979
4451
  if (global.verbose) {
3980
4452
  console.log("pushing indent", global.currentIndent);
@@ -3991,7 +4463,7 @@ var require_parser = __commonJS({
3991
4463
  return PushIndent$0(state);
3992
4464
  }
3993
4465
  }
3994
- var PopIndent$0 = $TV($EXPECT($L33, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
4466
+ var PopIndent$0 = $TV($EXPECT($L16, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
3995
4467
  if (global.verbose) {
3996
4468
  console.log("popping indent", global.indentLevels[global.indentLevels.length - 1], "->", global.indentLevels[global.indentLevels.length - 2]);
3997
4469
  }
@@ -4143,15 +4615,24 @@ var require_generate = __commonJS({
4143
4615
  // source/util.coffee
4144
4616
  var require_util = __commonJS({
4145
4617
  "source/util.coffee"(exports2, module2) {
4618
+ "use strict";
4146
4619
  var BASE64_CHARS;
4147
4620
  var SourceMap2;
4148
4621
  var VLQ_CONTINUATION_BIT;
4149
4622
  var VLQ_SHIFT;
4150
4623
  var VLQ_VALUE_MASK;
4624
+ var base64Encode2;
4625
+ var decodeError;
4626
+ var decodeVLQ;
4151
4627
  var encodeBase64;
4152
4628
  var encodeVlq;
4153
4629
  var locationTable;
4154
4630
  var lookupLineColumn;
4631
+ var prettySourceExcerpt;
4632
+ var remapPosition;
4633
+ var smRegexp;
4634
+ var vlqChars;
4635
+ var vlqTable;
4155
4636
  locationTable = function(input) {
4156
4637
  var line, lines, linesRe, pos, result;
4157
4638
  linesRe = /([^\r\n]*)(\r\n|\r|\n|$)/y;
@@ -4188,6 +4669,9 @@ var require_util = __commonJS({
4188
4669
  EOL = /\r?\n|\r/;
4189
4670
  return {
4190
4671
  data: sm,
4672
+ source: function() {
4673
+ return sourceString;
4674
+ },
4191
4675
  renderMappings: function() {
4192
4676
  var lastSourceColumn, lastSourceLine;
4193
4677
  lastSourceLine = 0;
@@ -4219,20 +4703,23 @@ var require_util = __commonJS({
4219
4703
  };
4220
4704
  },
4221
4705
  updateSourceMap: function(outputStr, inputPos) {
4222
- var outLines;
4706
+ var outLines, srcCol, srcLine;
4223
4707
  outLines = outputStr.split(EOL);
4708
+ if (inputPos != null) {
4709
+ [srcLine, srcCol] = lookupLineColumn(srcTable, inputPos);
4710
+ }
4224
4711
  outLines.forEach(function(line, i) {
4225
- var l, srcCol, srcLine;
4712
+ var l;
4226
4713
  if (i > 0) {
4227
4714
  sm.lineNum++;
4228
4715
  sm.colOffset = 0;
4229
4716
  sm.lines[sm.lineNum] = [];
4717
+ srcCol = 0;
4230
4718
  }
4231
4719
  l = sm.colOffset;
4232
4720
  sm.colOffset = line.length;
4233
4721
  if (inputPos != null) {
4234
- [srcLine, srcCol] = lookupLineColumn(srcTable, inputPos);
4235
- return sm.lines[sm.lineNum].push([l, 0, srcLine, srcCol]);
4722
+ return sm.lines[sm.lineNum].push([l, 0, srcLine + i, srcCol]);
4236
4723
  } else if (l !== 0) {
4237
4724
  return sm.lines[sm.lineNum].push([l]);
4238
4725
  }
@@ -4240,6 +4727,95 @@ var require_util = __commonJS({
4240
4727
  }
4241
4728
  };
4242
4729
  };
4730
+ SourceMap2.parseWithLines = function(base64encodedJSONstr) {
4731
+ var json, lines, sourceColumn, sourceLine;
4732
+ json = JSON.parse(Buffer.from(base64encodedJSONstr, "base64").toString("utf8"));
4733
+ sourceLine = 0;
4734
+ sourceColumn = 0;
4735
+ lines = json.mappings.split(";").map(function(line) {
4736
+ if (line.length === 0) {
4737
+ return [];
4738
+ }
4739
+ return line.split(",").map(function(entry) {
4740
+ var result;
4741
+ result = decodeVLQ(entry);
4742
+ switch (result.length) {
4743
+ case 1:
4744
+ return [result[0]];
4745
+ case 4:
4746
+ return [result[0], result[1], sourceLine += result[2], sourceColumn += result[3]];
4747
+ case 5:
4748
+ return [result[0], result[1], sourceLine += result[2], sourceColumn += result[3], result[4]];
4749
+ default:
4750
+ throw new Error("Unknown source map entry", result);
4751
+ }
4752
+ });
4753
+ });
4754
+ json.lines = lines;
4755
+ return json;
4756
+ };
4757
+ smRegexp = /\n\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,([+a-zA-Z0-9\/]*=?=?)$/;
4758
+ SourceMap2.remap = function(codeWithSourceMap, upstreamMap, sourcePath, targetPath) {
4759
+ var codeWithoutSourceMap, composedLines, newSourceMap, parsed, remappedCodeWithSourceMap, remappedSourceMapJSON, sourceMapText;
4760
+ sourceMapText = codeWithSourceMap.match(smRegexp);
4761
+ if (sourceMapText) {
4762
+ parsed = SourceMap2.parseWithLines(sourceMapText[1]);
4763
+ } else {
4764
+ console.warn("No source map found in code");
4765
+ return codeWithSourceMap;
4766
+ }
4767
+ debugger;
4768
+ composedLines = SourceMap2.composeLines(upstreamMap.data.lines, parsed.lines);
4769
+ upstreamMap.data.lines = composedLines;
4770
+ remappedSourceMapJSON = upstreamMap.json(sourcePath, targetPath);
4771
+ codeWithoutSourceMap = codeWithSourceMap.replace(smRegexp, "");
4772
+ newSourceMap = `${"sourceMapping"}URL=data:application/json;charset=utf-8;base64,${base64Encode2(JSON.stringify(remappedSourceMapJSON))}`;
4773
+ remappedCodeWithSourceMap = `${codeWithoutSourceMap}
4774
+ //# ${newSourceMap}`;
4775
+ return remappedCodeWithSourceMap;
4776
+ };
4777
+ SourceMap2.composeLines = function(upstreamMapping, lines) {
4778
+ return lines.map(function(line, l) {
4779
+ return line.map(function(entry) {
4780
+ var colDelta, sourceFileIndex, srcCol, srcLine, srcPos, upstreamCol, upstreamLine;
4781
+ if (entry.length === 1) {
4782
+ return entry;
4783
+ }
4784
+ [colDelta, sourceFileIndex, srcLine, srcCol] = entry;
4785
+ srcPos = remapPosition([srcLine, srcCol], upstreamMapping);
4786
+ if (!srcPos) {
4787
+ return [entry[0]];
4788
+ }
4789
+ [upstreamLine, upstreamCol] = srcPos;
4790
+ if (entry.length === 4) {
4791
+ return [colDelta, sourceFileIndex, upstreamLine, upstreamCol];
4792
+ }
4793
+ return [colDelta, sourceFileIndex, upstreamLine, upstreamCol, entry[4]];
4794
+ });
4795
+ });
4796
+ };
4797
+ prettySourceExcerpt = function(source, location, length) {
4798
+ var colNum, i, j, line, lineNum, lineNumStr, lines, ref, ref1;
4799
+ lines = source.split(/\r?\n|\r/);
4800
+ lineNum = location.line;
4801
+ colNum = location.column;
4802
+ for (i = j = ref = lineNum - 2, ref1 = lineNum + 2; ref <= ref1 ? j <= ref1 : j >= ref1; i = ref <= ref1 ? ++j : --j) {
4803
+ if (i < 0 || i >= lines.length) {
4804
+ continue;
4805
+ }
4806
+ line = lines[i];
4807
+ lineNumStr = (i + 1).toString();
4808
+ while (lineNumStr.length < 4) {
4809
+ lineNumStr = " " + lineNumStr;
4810
+ }
4811
+ if (i === lineNum) {
4812
+ console.log(`${lineNumStr}: ${line}`);
4813
+ console.log(" ".repeat(lineNumStr.length + 2 + colNum) + "^".repeat(length));
4814
+ } else {
4815
+ console.log(`${lineNumStr}: ${line}`);
4816
+ }
4817
+ }
4818
+ };
4243
4819
  VLQ_SHIFT = 5;
4244
4820
  VLQ_CONTINUATION_BIT = 1 << VLQ_SHIFT;
4245
4821
  VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
@@ -4264,7 +4840,101 @@ var require_util = __commonJS({
4264
4840
  throw new Error(`Cannot Base64 encode value: ${value}`);
4265
4841
  }();
4266
4842
  };
4267
- module2.exports = { locationTable, lookupLineColumn, SourceMap: SourceMap2 };
4843
+ base64Encode2 = function(src) {
4844
+ return Buffer.from(src).toString("base64");
4845
+ };
4846
+ module2.exports = { base64Encode: base64Encode2, locationTable, lookupLineColumn, SourceMap: SourceMap2 };
4847
+ vlqTable = new Uint8Array(128);
4848
+ vlqChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
4849
+ (function() {
4850
+ var i, l, results;
4851
+ i = 0;
4852
+ l = vlqTable.length;
4853
+ while (i < l) {
4854
+ vlqTable[i] = 255;
4855
+ i++;
4856
+ }
4857
+ i = 0;
4858
+ l = vlqChars.length;
4859
+ results = [];
4860
+ while (i < l) {
4861
+ vlqTable[vlqChars.charCodeAt(i)] = i;
4862
+ results.push(i++);
4863
+ }
4864
+ return results;
4865
+ })();
4866
+ decodeError = function(message) {
4867
+ throw new Error(message);
4868
+ };
4869
+ decodeVLQ = function(mapping) {
4870
+ var c, i, index, l, result, shift, v, vlq;
4871
+ i = 0;
4872
+ l = mapping.length;
4873
+ result = [];
4874
+ while (i < l) {
4875
+ shift = 0;
4876
+ vlq = 0;
4877
+ while (true) {
4878
+ if (i >= l) {
4879
+ decodeError("Unexpected early end of mapping data");
4880
+ }
4881
+ c = mapping.charCodeAt(i);
4882
+ if ((c & 127) !== c) {
4883
+ decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(c))}`);
4884
+ }
4885
+ index = vlqTable[c & 127];
4886
+ if (index === 255) {
4887
+ decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(c))}`);
4888
+ }
4889
+ i++;
4890
+ vlq |= (index & 31) << shift;
4891
+ shift += 5;
4892
+ if ((index & 32) === 0) {
4893
+ break;
4894
+ }
4895
+ }
4896
+ if (vlq & 1) {
4897
+ v = -(vlq >> 1);
4898
+ } else {
4899
+ v = vlq >> 1;
4900
+ }
4901
+ result.push(v);
4902
+ }
4903
+ return result;
4904
+ };
4905
+ remapPosition = function(position, sourcemapLines) {
4906
+ var character, i, l, lastMapping, lastMappingPosition, line, mapping, p, textLine;
4907
+ [line, character] = position;
4908
+ textLine = sourcemapLines[line];
4909
+ if (!(textLine != null ? textLine.length : void 0)) {
4910
+ return void 0;
4911
+ }
4912
+ i = 0;
4913
+ p = 0;
4914
+ l = textLine.length;
4915
+ lastMapping = void 0;
4916
+ lastMappingPosition = 0;
4917
+ while (i < l) {
4918
+ mapping = textLine[i];
4919
+ p += mapping[0];
4920
+ if (mapping.length === 4) {
4921
+ lastMapping = mapping;
4922
+ lastMappingPosition = p;
4923
+ }
4924
+ if (p >= character) {
4925
+ break;
4926
+ }
4927
+ i++;
4928
+ }
4929
+ if (character - lastMappingPosition !== 0) {
4930
+ return void 0;
4931
+ }
4932
+ if (lastMapping) {
4933
+ return [lastMapping[2], lastMapping[3]];
4934
+ } else {
4935
+ return void 0;
4936
+ }
4937
+ };
4268
4938
  }
4269
4939
  });
4270
4940
 
@@ -4278,7 +4948,7 @@ var prune;
4278
4948
  var util;
4279
4949
  ({ parse } = require_parser());
4280
4950
  ({ prune } = gen = require_generate());
4281
- ({ SourceMap } = util = require_util());
4951
+ ({ SourceMap, base64Encode } = util = require_util());
4282
4952
  defaultOptions = {};
4283
4953
  module.exports = {
4284
4954
  parse,
@@ -4296,9 +4966,9 @@ module.exports = {
4296
4966
  options.updateSourceMap = sm.updateSourceMap;
4297
4967
  code = gen(ast, options);
4298
4968
  if (options.inlineMap) {
4299
- srcMapJSON = sm.json(filename, filename.replace(/(?:\.civet$)?/, ".ts"));
4969
+ srcMapJSON = sm.json(filename, "");
4300
4970
  return `${code}
4301
- //# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(srcMapJSON))}
4971
+ ${"//#"} sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(srcMapJSON))}
4302
4972
  `;
4303
4973
  } else {
4304
4974
  return {
@@ -4312,6 +4982,3 @@ module.exports = {
4312
4982
  generate: gen,
4313
4983
  util
4314
4984
  };
4315
- base64Encode = function(src) {
4316
- return Buffer.from(src).toString("base64");
4317
- };