@danielx/civet 0.3.15 → 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,
@@ -671,6 +702,8 @@ var require_parser = __commonJS({
671
702
  InsertCloseParen,
672
703
  InsertOpenBrace,
673
704
  InsertCloseBrace,
705
+ InsertConst,
706
+ InsertReadonly,
674
707
  InsertNewline,
675
708
  InsertIndent,
676
709
  InsertSpace,
@@ -683,132 +716,132 @@ var require_parser = __commonJS({
683
716
  Nested,
684
717
  NestedFurther
685
718
  });
686
- var $L0 = $L(",");
687
- var $L1 = $L("(");
688
- var $L2 = $L(")");
689
- var $L3 = $L("?");
690
- var $L4 = $L("as");
691
- var $L5 = $L("++");
692
- var $L6 = $L("--");
693
- var $L7 = $L("async");
694
- var $L8 = $L("await");
695
- var $L9 = $L("yield");
696
- var $L10 = $L("*");
697
- var $L11 = $L("=>");
698
- var $L12 = $L("{");
699
- var $L13 = $L("}");
700
- var $L14 = $L(":");
701
- var $L15 = $L("class");
702
- var $L16 = $L("<");
703
- var $L17 = $L("extends");
704
- var $L18 = $L("static");
705
- var $L19 = $L("this");
706
- var $L20 = $L("#");
707
- var $L21 = $L("@");
708
- var $L22 = $L("new");
709
- var $L23 = $L("super");
710
- var $L24 = $L("import");
711
- var $L25 = $L(".");
712
- var $L26 = $L("!");
713
- var $L27 = $L("[");
714
- var $L28 = $L("]");
715
- var $L29 = $L("::");
716
- var $L30 = $L("super[");
717
- var $L31 = $L("new.target");
718
- var $L32 = $L("import.meta");
719
- var $L33 = $L("");
720
- var $L34 = $L("...");
721
- var $L35 = $L("function");
722
- var $L36 = $L("->");
723
- var $L37 = $L("null");
724
- var $L38 = $L("true");
725
- var $L39 = $L("false");
726
- var $L40 = $L("get");
727
- var $L41 = $L("set");
728
- var $L42 = $L("**=");
729
- var $L43 = $L("*=");
730
- var $L44 = $L("/=");
731
- var $L45 = $L("%=");
732
- var $L46 = $L("+=");
733
- var $L47 = $L("-=");
734
- var $L48 = $L("<<=");
735
- var $L49 = $L(">>>=");
736
- var $L50 = $L(">>=");
737
- var $L51 = $L("&&=");
738
- var $L52 = $L("&=");
739
- var $L53 = $L("^=");
740
- var $L54 = $L("||=");
741
- var $L55 = $L("|=");
742
- var $L56 = $L("??=");
743
- var $L57 = $L("?=");
744
- var $L58 = $L("=");
745
- var $L59 = $L("**");
746
- var $L60 = $L("/");
747
- var $L61 = $L("%");
748
- var $L62 = $L("+");
749
- var $L63 = $L("-");
750
- var $L64 = $L("<=");
751
- var $L65 = $L(">=");
752
- var $L66 = $L("<<");
753
- var $L67 = $L(">>>");
754
- var $L68 = $L(">>");
755
- var $L69 = $L(">");
756
- var $L70 = $L("!==");
757
- var $L71 = $L("!=");
758
- var $L72 = $L("is");
759
- var $L73 = $L("===");
760
- var $L74 = $L("==");
761
- var $L75 = $L("and");
762
- var $L76 = $L("&&");
763
- var $L77 = $L("or");
764
- var $L78 = $L("||");
765
- var $L79 = $L("??");
766
- var $L80 = $L("instanceof");
767
- var $L81 = $L("in");
768
- var $L82 = $L("&");
769
- var $L83 = $L("^");
770
- var $L84 = $L("|");
771
- var $L85 = $L("delete");
772
- var $L86 = $L("void");
773
- var $L87 = $L("typeof");
774
- var $L88 = $L("if");
775
- var $L89 = $L("unless");
776
- var $L90 = $L(";");
777
- var $L91 = $L("else");
778
- var $L92 = $L("loop");
779
- var $L93 = $L("do");
780
- var $L94 = $L("while");
781
- var $L95 = $L("until");
782
- var $L96 = $L("var");
783
- var $L97 = $L("of");
784
- var $L98 = $L("for");
785
- var $L99 = $L("let");
786
- var $L100 = $L("const");
787
- var $L101 = $L("switch");
788
- var $L102 = $L("case");
789
- var $L103 = $L("default");
790
- var $L104 = $L("when");
791
- var $L105 = $L("try");
792
- var $L106 = $L("catch");
793
- var $L107 = $L("finally");
794
- var $L108 = $L("break");
795
- var $L109 = $L("continue");
796
- var $L110 = $L("debugger");
797
- var $L111 = $L("throw");
798
- var $L112 = $L("return");
799
- var $L113 = $L("import type");
800
- var $L114 = $L("from");
801
- var $L115 = $L("export");
802
- var $L116 = $L(":=");
803
- var $L117 = $L('"""');
804
- var $L118 = $L("'''");
805
- var $L119 = $L('"');
806
- var $L120 = $L("'");
807
- var $L121 = $L("`");
808
- var $L122 = $L("${");
809
- var $L123 = $L("/*");
810
- var $L124 = $L("*/");
811
- 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");
812
845
  var $L126 = $L("/>");
813
846
  var $L127 = $L("</");
814
847
  var $L128 = $L("<>");
@@ -827,30 +860,30 @@ var require_parser = __commonJS({
827
860
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
828
861
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
829
862
  var $R2 = $R(new RegExp("[!~+-]", "suy"));
830
- var $R3 = $R(new RegExp("\\s", "suy"));
831
- var $R4 = $R(new RegExp('[^;"\\s]+', "suy"));
832
- var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
833
- var $R6 = $R(new RegExp("\\d+(?:\\.\\d*)?", "suy"));
834
- var $R7 = $R(new RegExp("0[bB][01](?:[01]|_[01])*", "suy"));
835
- var $R8 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*", "suy"));
836
- var $R9 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*", "suy"));
837
- var $R10 = $R(new RegExp('(?:\\\\.|[^"])+', "suy"));
838
- var $R11 = $R(new RegExp("(?:\\\\.|[^'])+", "suy"));
839
- var $R12 = $R(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy"));
840
- var $R13 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])+", "suy"));
841
- var $R14 = $R(new RegExp("[^*\\/\\r\\n]", "suy"));
842
- var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
843
- var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
844
- var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
845
- 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"));
846
- var $R19 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
847
- var $R20 = $R(new RegExp(".", "suy"));
848
- var $R21 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
849
- var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
850
- var $R23 = $R(new RegExp("[ \\t]+", "suy"));
851
- var $R24 = $R(new RegExp("[\\t ]+", "suy"));
852
- var $R25 = $R(new RegExp("[\\s]+", "suy"));
853
- 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"));
854
887
  var $R27 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
855
888
  var $R28 = $R(new RegExp('"[^"]*"', "suy"));
856
889
  var $R29 = $R(new RegExp("'[^']*'", "suy"));
@@ -881,7 +914,7 @@ var require_parser = __commonJS({
881
914
  return TopLevelStatement$0(state);
882
915
  }
883
916
  }
884
- var Expression$0 = $S(AssignmentExpression, $Q($S(__, $EXPECT($L0, fail, 'Expression ","'), AssignmentExpression)));
917
+ var Expression$0 = $S(AssignmentExpression, $Q($S(__, Comma, AssignmentExpression)));
885
918
  function Expression(state) {
886
919
  if (state.verbose)
887
920
  console.log("ENTER:", "Expression");
@@ -891,7 +924,7 @@ var require_parser = __commonJS({
891
924
  return Expression$0(state);
892
925
  }
893
926
  }
894
- 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);
895
928
  function Arguments(state) {
896
929
  if (state.verbose)
897
930
  console.log("ENTER:", "Arguments");
@@ -935,7 +968,7 @@ var require_parser = __commonJS({
935
968
  return NestedArgument$0(state);
936
969
  }
937
970
  }
938
- var CommaExpression$0 = $S(__, $EXPECT($L0, fail, 'CommaExpression ","'), __, Expression);
971
+ var CommaExpression$0 = $S(__, Comma, __, Expression);
939
972
  function CommaExpression(state) {
940
973
  if (state.verbose)
941
974
  console.log("ENTER:", "CommaExpression");
@@ -959,7 +992,7 @@ var require_parser = __commonJS({
959
992
  var pre = $1;
960
993
  var exp = $2;
961
994
  var post = $3;
962
- if (post === "?") {
995
+ if (post?.token === "?") {
963
996
  return ["(", pre, , "(", exp, ") != null)"];
964
997
  }
965
998
  return [pre, exp, post];
@@ -973,8 +1006,8 @@ var require_parser = __commonJS({
973
1006
  return UnaryExpression$0(state);
974
1007
  }
975
1008
  }
976
- var UnaryPostfix$0 = $EXPECT($L3, fail, 'UnaryPostfix "?"');
977
- 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) {
978
1011
  return { "ts": true, "children": value };
979
1012
  });
980
1013
  function UnaryPostfix(state) {
@@ -993,7 +1026,7 @@ var require_parser = __commonJS({
993
1026
  return UpdateExpression$0(state) || UpdateExpression$1(state);
994
1027
  }
995
1028
  }
996
- 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) {
997
1030
  return { $loc, token: $1 };
998
1031
  });
999
1032
  function UpdateExpressionSymbol(state) {
@@ -1016,7 +1049,7 @@ var require_parser = __commonJS({
1016
1049
  }
1017
1050
  var AssignmentExpressionRest$0 = AwaitExpression;
1018
1051
  var AssignmentExpressionRest$1 = YieldExpression;
1019
- var AssignmentExpressionRest$2 = $S($E($S($EXPECT($L7, fail, 'AssignmentExpressionRest "async"'), __)), ArrowFunction);
1052
+ var AssignmentExpressionRest$2 = $S($E($S(Async, __)), ArrowFunction);
1020
1053
  var AssignmentExpressionRest$3 = $S($P($S(__, LeftHandSideExpression, __, AssignmentOp)), Expression);
1021
1054
  var AssignmentExpressionRest$4 = ConditionalExpression;
1022
1055
  function AssignmentExpressionRest(state) {
@@ -1026,7 +1059,7 @@ var require_parser = __commonJS({
1026
1059
  return AssignmentExpressionRest$0(state) || AssignmentExpressionRest$1(state) || AssignmentExpressionRest$2(state) || AssignmentExpressionRest$3(state) || AssignmentExpressionRest$4(state);
1027
1060
  }
1028
1061
  }
1029
- var AwaitExpression$0 = $S($EXPECT($L8, fail, 'AwaitExpression "await"'), NonIdContinue, $Q(TrailingComment), AssignmentExpression);
1062
+ var AwaitExpression$0 = $S(Await, $Q(TrailingComment), AssignmentExpression);
1030
1063
  function AwaitExpression(state) {
1031
1064
  if (state.verbose)
1032
1065
  console.log("ENTER:", "AwaitExpression");
@@ -1036,7 +1069,7 @@ var require_parser = __commonJS({
1036
1069
  return AwaitExpression$0(state);
1037
1070
  }
1038
1071
  }
1039
- 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);
1040
1073
  function YieldExpression(state) {
1041
1074
  if (state.verbose)
1042
1075
  console.log("ENTER:", "YieldExpression");
@@ -1055,7 +1088,7 @@ var require_parser = __commonJS({
1055
1088
  return ArrowFunction$0(state) || ArrowFunction$1(state);
1056
1089
  }
1057
1090
  }
1058
- 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) {
1059
1092
  var ws = $1;
1060
1093
  if (!ws.length)
1061
1094
  return " =>";
@@ -1070,7 +1103,7 @@ var require_parser = __commonJS({
1070
1103
  return FatArrow$0(state);
1071
1104
  }
1072
1105
  }
1073
- var FatArrowBody$0 = $S(__, $EXPECT($L12, fail, 'FatArrowBody "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'FatArrowBody "}"'));
1106
+ var FatArrowBody$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1074
1107
  var FatArrowBody$1 = $TS($S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
1075
1108
  var eos = $2;
1076
1109
  var exps = $3;
@@ -1090,7 +1123,7 @@ var require_parser = __commonJS({
1090
1123
  return FatArrowBody$0(state) || FatArrowBody$1(state) || FatArrowBody$2(state) || FatArrowBody$3(state) || FatArrowBody$4(state);
1091
1124
  }
1092
1125
  }
1093
- 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)));
1094
1127
  function ConditionalExpression(state) {
1095
1128
  if (state.verbose)
1096
1129
  console.log("ENTER:", "ConditionalExpression");
@@ -1119,7 +1152,7 @@ var require_parser = __commonJS({
1119
1152
  var PrimaryExpression$6 = ClassExpression;
1120
1153
  var PrimaryExpression$7 = RegularExpressionLiteral;
1121
1154
  var PrimaryExpression$8 = TemplateLiteral;
1122
- var PrimaryExpression$9 = $S($EXPECT($L1, fail, 'PrimaryExpression "("'), __, Expression, __, $EXPECT($L2, fail, 'PrimaryExpression ")"'));
1155
+ var PrimaryExpression$9 = $S(OpenParen, __, Expression, __, CloseParen);
1123
1156
  var PrimaryExpression$10 = JSXElement;
1124
1157
  var PrimaryExpression$11 = JSXFragment;
1125
1158
  function PrimaryExpression(state) {
@@ -1149,18 +1182,6 @@ var require_parser = __commonJS({
1149
1182
  return ClassExpression$0(state);
1150
1183
  }
1151
1184
  }
1152
- var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1153
- return { $loc, token: $1 };
1154
- });
1155
- function Class(state) {
1156
- if (state.verbose)
1157
- console.log("ENTER:", "Class");
1158
- if (state.tokenize) {
1159
- return $TOKEN("Class", state, Class$0(state));
1160
- } else {
1161
- return Class$0(state);
1162
- }
1163
- }
1164
1185
  var ClassHeritage$0 = $S(ExtendsToken, __, MemberExpression);
1165
1186
  function ClassHeritage(state) {
1166
1187
  if (state.verbose)
@@ -1171,10 +1192,10 @@ var require_parser = __commonJS({
1171
1192
  return ClassHeritage$0(state);
1172
1193
  }
1173
1194
  }
1174
- 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) {
1175
1196
  return { $loc, token: "extends" };
1176
1197
  });
1177
- 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) {
1178
1199
  return { $loc, token: $1 };
1179
1200
  });
1180
1201
  function ExtendsToken(state) {
@@ -1184,7 +1205,7 @@ var require_parser = __commonJS({
1184
1205
  return ExtendsToken$0(state) || ExtendsToken$1(state);
1185
1206
  }
1186
1207
  }
1187
- 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);
1188
1209
  var ClassBody$1 = $S(InsertOpenBrace, EOS, NestedClassElements, InsertNewline, InsertIndent, InsertCloseBrace);
1189
1210
  function ClassBody(state) {
1190
1211
  if (state.tokenize) {
@@ -1227,32 +1248,14 @@ var require_parser = __commonJS({
1227
1248
  return ClassElement$0(state) || ClassElement$1(state);
1228
1249
  }
1229
1250
  }
1230
- var Static$0 = $TV($EXPECT($L18, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
1231
- return { $loc, token: $1 };
1232
- });
1233
- function Static(state) {
1234
- if (state.verbose)
1235
- console.log("ENTER:", "Static");
1236
- if (state.tokenize) {
1237
- return $TOKEN("Static", state, Static$0(state));
1238
- } else {
1239
- return Static$0(state);
1240
- }
1241
- }
1242
- var FieldDefinition$0 = $TS($S(ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1243
- var name = $1;
1244
- var suffix = $2;
1245
- var ws = $3;
1246
- var ca = $4;
1247
- var exp = $5;
1248
- return [
1249
- { ts: true, children: ["readonly "] },
1250
- name,
1251
- suffix,
1252
- ws,
1253
- { $loc: ca.$loc, token: "=" },
1254
- exp
1255
- ];
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;
1256
1259
  });
1257
1260
  var FieldDefinition$1 = $S(ClassElementName, $E(TypeSuffix), $E(Initializer));
1258
1261
  function FieldDefinition(state) {
@@ -1262,11 +1265,11 @@ var require_parser = __commonJS({
1262
1265
  return FieldDefinition$0(state) || FieldDefinition$1(state);
1263
1266
  }
1264
1267
  }
1265
- 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) {
1266
1269
  return { $loc, token: $1 };
1267
1270
  });
1268
- var This$1 = $S(AtAccessor, $S($E($EXPECT($L20, fail, 'This "#"')), IdentifierName));
1269
- 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) {
1270
1273
  return { $loc, token: "this" };
1271
1274
  });
1272
1275
  function This(state) {
@@ -1276,7 +1279,7 @@ var require_parser = __commonJS({
1276
1279
  return This$0(state) || This$1(state) || This$2(state);
1277
1280
  }
1278
1281
  }
1279
- 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) {
1280
1283
  return { $loc, token: "this." };
1281
1284
  });
1282
1285
  function AtAccessor(state) {
@@ -1297,7 +1300,7 @@ var require_parser = __commonJS({
1297
1300
  return LeftHandSideExpression$0(state) || LeftHandSideExpression$1(state);
1298
1301
  }
1299
1302
  }
1300
- var NewExpression$0 = $S($P($S($EXPECT($L22, fail, 'NewExpression "new"'), __)), CallExpression);
1303
+ var NewExpression$0 = $S($P($S(New, __)), CallExpression);
1301
1304
  function NewExpression(state) {
1302
1305
  if (state.verbose)
1303
1306
  console.log("ENTER:", "NewExpression");
@@ -1307,8 +1310,8 @@ var require_parser = __commonJS({
1307
1310
  return NewExpression$0(state);
1308
1311
  }
1309
1312
  }
1310
- var CallExpression$0 = $S($EXPECT($L23, fail, 'CallExpression "super"'), __, Arguments);
1311
- 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);
1312
1315
  var CallExpression$2 = $S(MemberExpression, $Q(CallExpressionRest));
1313
1316
  function CallExpression(state) {
1314
1317
  if (state.tokenize) {
@@ -1328,7 +1331,7 @@ var require_parser = __commonJS({
1328
1331
  return CallExpressionRest$0(state) || CallExpressionRest$1(state) || CallExpressionRest$2(state) || CallExpressionRest$3(state);
1329
1332
  }
1330
1333
  }
1331
- var OptionalShorthand$0 = $S($EXPECT($L3, fail, 'OptionalShorthand "?"'), $C($EXPECT($L25, fail, 'OptionalShorthand "."'), InsertDot));
1334
+ var OptionalShorthand$0 = $S(QuestionMark, $C(Dot, InsertDot));
1332
1335
  function OptionalShorthand(state) {
1333
1336
  if (state.verbose)
1334
1337
  console.log("ENTER:", "OptionalShorthand");
@@ -1338,7 +1341,7 @@ var require_parser = __commonJS({
1338
1341
  return OptionalShorthand$0(state);
1339
1342
  }
1340
1343
  }
1341
- var NonNullAssertion$0 = $T($EXPECT($L26, fail, 'NonNullAssertion "!"'), function(value) {
1344
+ var NonNullAssertion$0 = $T($EXPECT($L12, fail, 'NonNullAssertion "!"'), function(value) {
1342
1345
  return { "ts": true, "children": value };
1343
1346
  });
1344
1347
  function NonNullAssertion(state) {
@@ -1360,10 +1363,11 @@ var require_parser = __commonJS({
1360
1363
  return SpacedApplication$0(state);
1361
1364
  }
1362
1365
  }
1363
- 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) {
1364
1367
  var opt = $1;
1365
1368
  var spacing = $3;
1366
- return [opt, "(", spacing.replace(/^ /, "")];
1369
+ spacing[0].token = spacing[0].token.replace(/^ ?/, "(");
1370
+ return [opt, spacing];
1367
1371
  });
1368
1372
  function ApplicationStart(state) {
1369
1373
  if (state.verbose)
@@ -1394,9 +1398,9 @@ var require_parser = __commonJS({
1394
1398
  return MemberExpression$0(state) || MemberExpression$1(state) || MemberExpression$2(state);
1395
1399
  }
1396
1400
  }
1397
- 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);
1398
1402
  var MemberExpressionRest$1 = $S($E($S(EOS, NestedFurther)), PropertyAccess);
1399
- 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) {
1400
1404
  var id = $2;
1401
1405
  if (id)
1402
1406
  return [".prototype.", id];
@@ -1410,7 +1414,7 @@ var require_parser = __commonJS({
1410
1414
  return MemberExpressionRest$0(state) || MemberExpressionRest$1(state) || MemberExpressionRest$2(state) || MemberExpressionRest$3(state);
1411
1415
  }
1412
1416
  }
1413
- 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));
1414
1418
  function PropertyAccess(state) {
1415
1419
  if (state.verbose)
1416
1420
  console.log("ENTER:", "PropertyAccess");
@@ -1420,7 +1424,7 @@ var require_parser = __commonJS({
1420
1424
  return PropertyAccess$0(state);
1421
1425
  }
1422
1426
  }
1423
- 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);
1424
1428
  function SuperProperty(state) {
1425
1429
  if (state.verbose)
1426
1430
  console.log("ENTER:", "SuperProperty");
@@ -1430,8 +1434,10 @@ var require_parser = __commonJS({
1430
1434
  return SuperProperty$0(state);
1431
1435
  }
1432
1436
  }
1433
- var MetaProperty$0 = $EXPECT($L31, fail, 'MetaProperty "new.target"');
1434
- 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
+ });
1435
1441
  function MetaProperty(state) {
1436
1442
  if (state.tokenize) {
1437
1443
  return $TOKEN("MetaProperty", state, MetaProperty$0(state) || MetaProperty$1(state));
@@ -1439,9 +1445,9 @@ var require_parser = __commonJS({
1439
1445
  return MetaProperty$0(state) || MetaProperty$1(state);
1440
1446
  }
1441
1447
  }
1442
- var Parameters$0 = $S($E(TypeParameters), $EXPECT($L1, fail, 'Parameters "("'), $Q(ParameterElement), __, $EXPECT($L2, fail, 'Parameters ")"'));
1443
- var Parameters$1 = $T($EXPECT($L33, fail, 'Parameters ""'), function(value) {
1444
- 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: "()" };
1445
1451
  });
1446
1452
  function Parameters(state) {
1447
1453
  if (state.tokenize) {
@@ -1460,13 +1466,13 @@ var require_parser = __commonJS({
1460
1466
  return ParameterElement$0(state);
1461
1467
  }
1462
1468
  }
1463
- var ParameterElementDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ParameterElementDelimiter ","'));
1464
- var ParameterElementDelimiter$1 = $Y($S($Q(_), $EXPECT($L2, fail, 'ParameterElementDelimiter ")"')));
1465
- var ParameterElementDelimiter$2 = $T($Y($S(__, $EXPECT($L2, fail, 'ParameterElementDelimiter ")"'))), function(value) {
1466
- 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: "," };
1467
1473
  });
1468
- var ParameterElementDelimiter$3 = $T($Y(EOS), function(value) {
1469
- return ",";
1474
+ var ParameterElementDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1475
+ return { $loc, token: "," };
1470
1476
  });
1471
1477
  function ParameterElementDelimiter(state) {
1472
1478
  if (state.tokenize) {
@@ -1494,7 +1500,7 @@ var require_parser = __commonJS({
1494
1500
  return BindingPattern$0(state) || BindingPattern$1(state);
1495
1501
  }
1496
1502
  }
1497
- 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);
1498
1504
  function ObjectBindingPattern(state) {
1499
1505
  if (state.verbose)
1500
1506
  console.log("ENTER:", "ObjectBindingPattern");
@@ -1504,7 +1510,7 @@ var require_parser = __commonJS({
1504
1510
  return ObjectBindingPattern$0(state);
1505
1511
  }
1506
1512
  }
1507
- 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);
1508
1514
  function ArrayBindingPattern(state) {
1509
1515
  if (state.verbose)
1510
1516
  console.log("ENTER:", "ArrayBindingPattern");
@@ -1514,7 +1520,7 @@ var require_parser = __commonJS({
1514
1520
  return ArrayBindingPattern$0(state);
1515
1521
  }
1516
1522
  }
1517
- 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);
1518
1524
  var BindingProperty$1 = $S(__, BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter);
1519
1525
  function BindingProperty(state) {
1520
1526
  if (state.tokenize) {
@@ -1523,7 +1529,7 @@ var require_parser = __commonJS({
1523
1529
  return BindingProperty$0(state) || BindingProperty$1(state);
1524
1530
  }
1525
1531
  }
1526
- var BindingRestProperty$0 = $S($EXPECT($L34, fail, 'BindingRestProperty "..."'), __, BindingIdentifier);
1532
+ var BindingRestProperty$0 = $S($EXPECT($L18, fail, 'BindingRestProperty "..."'), __, BindingIdentifier);
1527
1533
  function BindingRestProperty(state) {
1528
1534
  if (state.verbose)
1529
1535
  console.log("ENTER:", "BindingRestProperty");
@@ -1543,7 +1549,7 @@ var require_parser = __commonJS({
1543
1549
  return BindingElement$0(state);
1544
1550
  }
1545
1551
  }
1546
- var BindingRestElement$0 = $S($EXPECT($L34, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1552
+ var BindingRestElement$0 = $S($EXPECT($L18, fail, 'BindingRestElement "..."'), __, $C(BindingIdentifier, BindingPattern));
1547
1553
  function BindingRestElement(state) {
1548
1554
  if (state.verbose)
1549
1555
  console.log("ENTER:", "BindingRestElement");
@@ -1564,7 +1570,7 @@ var require_parser = __commonJS({
1564
1570
  }
1565
1571
  }
1566
1572
  var FunctionExpression$0 = ThinArrowFunction;
1567
- 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);
1568
1574
  function FunctionExpression(state) {
1569
1575
  if (state.tokenize) {
1570
1576
  return $TOKEN("FunctionExpression", state, FunctionExpression$0(state) || FunctionExpression$1(state));
@@ -1593,7 +1599,7 @@ var require_parser = __commonJS({
1593
1599
  return ThinArrowFunction$0(state);
1594
1600
  }
1595
1601
  }
1596
- 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) {
1597
1603
  return { $loc, token: $1 };
1598
1604
  });
1599
1605
  function Arrow(state) {
@@ -1605,7 +1611,7 @@ var require_parser = __commonJS({
1605
1611
  return Arrow$0(state);
1606
1612
  }
1607
1613
  }
1608
- var Block$0 = $S(__, $EXPECT($L12, fail, 'Block "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'Block "}"'));
1614
+ var Block$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1609
1615
  var Block$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1610
1616
  var Block$2 = Statement;
1611
1617
  var Block$3 = $S(__, Statement);
@@ -1625,7 +1631,7 @@ var require_parser = __commonJS({
1625
1631
  return BracedOrEmptyBlock$0(state) || BracedOrEmptyBlock$1(state);
1626
1632
  }
1627
1633
  }
1628
- var BracedBlock$0 = $S(__, $EXPECT($L12, fail, 'BracedBlock "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BracedBlock "}"'));
1634
+ var BracedBlock$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
1629
1635
  var BracedBlock$1 = $S(InsertOpenBrace, EOS, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseBrace);
1630
1636
  var BracedBlock$2 = $S(InsertOpenBrace, $N(EOS), __, Statement, InsertSpace, InsertCloseBrace);
1631
1637
  function BracedBlock(state) {
@@ -1686,7 +1692,7 @@ var require_parser = __commonJS({
1686
1692
  return Literal$0(state) || Literal$1(state) || Literal$2(state) || Literal$3(state);
1687
1693
  }
1688
1694
  }
1689
- 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) {
1690
1696
  return { $loc, token: $1 };
1691
1697
  });
1692
1698
  function NullLiteral(state) {
@@ -1698,7 +1704,7 @@ var require_parser = __commonJS({
1698
1704
  return NullLiteral$0(state);
1699
1705
  }
1700
1706
  }
1701
- 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) {
1702
1708
  return { $loc, token: $1 };
1703
1709
  });
1704
1710
  function BooleanLiteral(state) {
@@ -1710,7 +1716,9 @@ var require_parser = __commonJS({
1710
1716
  return BooleanLiteral$0(state);
1711
1717
  }
1712
1718
  }
1713
- 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
+ });
1714
1722
  function Comma(state) {
1715
1723
  if (state.verbose)
1716
1724
  console.log("ENTER:", "Comma");
@@ -1755,8 +1763,8 @@ var require_parser = __commonJS({
1755
1763
  return IdentifierReference$0(state);
1756
1764
  }
1757
1765
  }
1758
- var ArrayLiteral$0 = $S($EXPECT($L27, fail, 'ArrayLiteral "["'), NestedElementList, __, $EXPECT($L28, fail, 'ArrayLiteral "]"'));
1759
- 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);
1760
1768
  function ArrayLiteral(state) {
1761
1769
  if (state.tokenize) {
1762
1770
  return $TOKEN("ArrayLiteral", state, ArrayLiteral$0(state) || ArrayLiteral$1(state));
@@ -1789,10 +1797,10 @@ var require_parser = __commonJS({
1789
1797
  return NestedElement$0(state);
1790
1798
  }
1791
1799
  }
1792
- var ArrayElementDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ArrayElementDelimiter ","'));
1793
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L28, fail, 'ArrayElementDelimiter "]"')));
1794
- var ArrayElementDelimiter$2 = $T($Y(EOS), function(value) {
1795
- 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: "," };
1796
1804
  });
1797
1805
  function ArrayElementDelimiter(state) {
1798
1806
  if (state.tokenize) {
@@ -1801,7 +1809,7 @@ var require_parser = __commonJS({
1801
1809
  return ArrayElementDelimiter$0(state) || ArrayElementDelimiter$1(state) || ArrayElementDelimiter$2(state);
1802
1810
  }
1803
1811
  }
1804
- var ElementList$0 = $S(ArrayElementExpression, $Q($S(__, $EXPECT($L0, fail, 'ElementList ","'), __, ArrayElementExpression)));
1812
+ var ElementList$0 = $S(ArrayElementExpression, $Q($S(__, Comma, __, ArrayElementExpression)));
1805
1813
  function ElementList(state) {
1806
1814
  if (state.verbose)
1807
1815
  console.log("ENTER:", "ElementList");
@@ -1811,7 +1819,7 @@ var require_parser = __commonJS({
1811
1819
  return ElementList$0(state);
1812
1820
  }
1813
1821
  }
1814
- 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)));
1815
1823
  function InlineElementList(state) {
1816
1824
  if (state.verbose)
1817
1825
  console.log("ENTER:", "InlineElementList");
@@ -1821,7 +1829,7 @@ var require_parser = __commonJS({
1821
1829
  return InlineElementList$0(state);
1822
1830
  }
1823
1831
  }
1824
- 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));
1825
1833
  function ArrayElementExpression(state) {
1826
1834
  if (state.verbose)
1827
1835
  console.log("ENTER:", "ArrayElementExpression");
@@ -1831,7 +1839,7 @@ var require_parser = __commonJS({
1831
1839
  return ArrayElementExpression$0(state);
1832
1840
  }
1833
1841
  }
1834
- var Elision$0 = $S(__, $EXPECT($L0, fail, 'Elision ","'));
1842
+ var Elision$0 = $S(__, Comma);
1835
1843
  function Elision(state) {
1836
1844
  if (state.verbose)
1837
1845
  console.log("ENTER:", "Elision");
@@ -1841,9 +1849,9 @@ var require_parser = __commonJS({
1841
1849
  return Elision$0(state);
1842
1850
  }
1843
1851
  }
1844
- var ObjectLiteral$0 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), $Y(EOS), NestedPropertyDefinitions, __, $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1845
- var ObjectLiteral$1 = $S($EXPECT($L12, fail, 'ObjectLiteral "{"'), __, PropertyDefinitionList, __, $E($S($EXPECT($L0, fail, 'ObjectLiteral ","'), __)), $EXPECT($L13, fail, 'ObjectLiteral "}"'));
1846
- 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);
1847
1855
  var ObjectLiteral$3 = $S(InsertOpenBrace, $Y(EOS), NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace);
1848
1856
  function ObjectLiteral(state) {
1849
1857
  if (state.tokenize) {
@@ -1877,13 +1885,13 @@ var require_parser = __commonJS({
1877
1885
  return NestedPropertyDefinition$0(state);
1878
1886
  }
1879
1887
  }
1880
- var ObjectPropertyDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'ObjectPropertyDelimiter ","'));
1881
- var ObjectPropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"')));
1882
- var ObjectPropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'ObjectPropertyDelimiter "}"'))), function(value) {
1883
- 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: "," };
1884
1892
  });
1885
- var ObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
1886
- return ",";
1893
+ var ObjectPropertyDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
1894
+ return { $loc, token: "," };
1887
1895
  });
1888
1896
  function ObjectPropertyDelimiter(state) {
1889
1897
  if (state.tokenize) {
@@ -1892,7 +1900,7 @@ var require_parser = __commonJS({
1892
1900
  return ObjectPropertyDelimiter$0(state) || ObjectPropertyDelimiter$1(state) || ObjectPropertyDelimiter$2(state) || ObjectPropertyDelimiter$3(state);
1893
1901
  }
1894
1902
  }
1895
- var PropertyDefinitionList$0 = $S(PropertyDefinition, $Q($S(__, $EXPECT($L0, fail, 'PropertyDefinitionList ","'), __, PropertyDefinition)));
1903
+ var PropertyDefinitionList$0 = $S(PropertyDefinition, $Q($S(__, Comma, __, PropertyDefinition)));
1896
1904
  function PropertyDefinitionList(state) {
1897
1905
  if (state.verbose)
1898
1906
  console.log("ENTER:", "PropertyDefinitionList");
@@ -1902,9 +1910,9 @@ var require_parser = __commonJS({
1902
1910
  return PropertyDefinitionList$0(state);
1903
1911
  }
1904
1912
  }
1905
- var PropertyDefinition$0 = $S(PropertyName, __, $EXPECT($L14, fail, 'PropertyDefinition ":"'), AssignmentExpression);
1913
+ var PropertyDefinition$0 = $S(PropertyName, __, Colon, AssignmentExpression);
1906
1914
  var PropertyDefinition$1 = MethodDefinition;
1907
- var PropertyDefinition$2 = $S($EXPECT($L34, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1915
+ var PropertyDefinition$2 = $S($EXPECT($L18, fail, 'PropertyDefinition "..."'), AssignmentExpression);
1908
1916
  var PropertyDefinition$3 = IdentifierReference;
1909
1917
  function PropertyDefinition(state) {
1910
1918
  if (state.tokenize) {
@@ -1916,7 +1924,7 @@ var require_parser = __commonJS({
1916
1924
  var PropertyName$0 = NumericLiteral;
1917
1925
  var PropertyName$1 = StringLiteral;
1918
1926
  var PropertyName$2 = IdentifierName;
1919
- var PropertyName$3 = $S($EXPECT($L27, fail, 'PropertyName "["'), AssignmentExpression, __, $EXPECT($L28, fail, 'PropertyName "]"'));
1927
+ var PropertyName$3 = $S(OpenBracket, AssignmentExpression, __, $EXPECT($L24, fail, 'PropertyName "]"'));
1920
1928
  function PropertyName(state) {
1921
1929
  if (state.tokenize) {
1922
1930
  return $TOKEN("PropertyName", state, PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state));
@@ -1924,8 +1932,8 @@ var require_parser = __commonJS({
1924
1932
  return PropertyName$0(state) || PropertyName$1(state) || PropertyName$2(state) || PropertyName$3(state);
1925
1933
  }
1926
1934
  }
1927
- var MethodDefinition$0 = $S($EXPECT($L40, fail, 'MethodDefinition "get"'), NonIdContinue, $Q(TrailingComment), ClassElementName, __, Parameters, BracedBlock);
1928
- 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);
1929
1937
  var MethodDefinition$2 = AsyncGeneratorMethod;
1930
1938
  var MethodDefinition$3 = AsyncMethod;
1931
1939
  var MethodDefinition$4 = GeneratorMethod;
@@ -1937,7 +1945,7 @@ var require_parser = __commonJS({
1937
1945
  return MethodDefinition$0(state) || MethodDefinition$1(state) || MethodDefinition$2(state) || MethodDefinition$3(state) || MethodDefinition$4(state) || MethodDefinition$5(state);
1938
1946
  }
1939
1947
  }
1940
- 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));
1941
1949
  function MethodModifier(state) {
1942
1950
  if (state.verbose)
1943
1951
  console.log("ENTER:", "MethodModifier");
@@ -1966,7 +1974,7 @@ var require_parser = __commonJS({
1966
1974
  return ClassElementName$0(state) || ClassElementName$1(state);
1967
1975
  }
1968
1976
  }
1969
- var PrivateIdentifier$0 = $S($EXPECT($L20, fail, 'PrivateIdentifier "#"'), IdentifierName);
1977
+ var PrivateIdentifier$0 = $S($EXPECT($L8, fail, 'PrivateIdentifier "#"'), IdentifierName);
1970
1978
  function PrivateIdentifier(state) {
1971
1979
  if (state.verbose)
1972
1980
  console.log("ENTER:", "PrivateIdentifier");
@@ -1976,7 +1984,7 @@ var require_parser = __commonJS({
1976
1984
  return PrivateIdentifier$0(state);
1977
1985
  }
1978
1986
  }
1979
- var GeneratorMethod$0 = $S($EXPECT($L10, fail, 'GeneratorMethod "*"'), __, ClassElementName, __, Parameters, GeneratorBody);
1987
+ var GeneratorMethod$0 = $S($EXPECT($L3, fail, 'GeneratorMethod "*"'), __, ClassElementName, __, Parameters, GeneratorBody);
1980
1988
  function GeneratorMethod(state) {
1981
1989
  if (state.verbose)
1982
1990
  console.log("ENTER:", "GeneratorMethod");
@@ -1996,7 +2004,7 @@ var require_parser = __commonJS({
1996
2004
  return GeneratorBody$0(state);
1997
2005
  }
1998
2006
  }
1999
- 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);
2000
2008
  function AsyncMethod(state) {
2001
2009
  if (state.verbose)
2002
2010
  console.log("ENTER:", "AsyncMethod");
@@ -2016,7 +2024,7 @@ var require_parser = __commonJS({
2016
2024
  return AsyncFunctionBody$0(state);
2017
2025
  }
2018
2026
  }
2019
- 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);
2020
2028
  function AsyncGeneratorMethod(state) {
2021
2029
  if (state.verbose)
2022
2030
  console.log("ENTER:", "AsyncGeneratorMethod");
@@ -2048,25 +2056,25 @@ var require_parser = __commonJS({
2048
2056
  return AssignmentOp$0(state);
2049
2057
  }
2050
2058
  }
2051
- var AssignmentOpSymbol$0 = $EXPECT($L42, fail, 'AssignmentOpSymbol "**="');
2052
- var AssignmentOpSymbol$1 = $EXPECT($L43, fail, 'AssignmentOpSymbol "*="');
2053
- var AssignmentOpSymbol$2 = $EXPECT($L44, fail, 'AssignmentOpSymbol "/="');
2054
- var AssignmentOpSymbol$3 = $EXPECT($L45, fail, 'AssignmentOpSymbol "%="');
2055
- var AssignmentOpSymbol$4 = $EXPECT($L46, fail, 'AssignmentOpSymbol "+="');
2056
- var AssignmentOpSymbol$5 = $EXPECT($L47, fail, 'AssignmentOpSymbol "-="');
2057
- var AssignmentOpSymbol$6 = $EXPECT($L48, fail, 'AssignmentOpSymbol "<<="');
2058
- var AssignmentOpSymbol$7 = $EXPECT($L49, fail, 'AssignmentOpSymbol ">>>="');
2059
- var AssignmentOpSymbol$8 = $EXPECT($L50, fail, 'AssignmentOpSymbol ">>="');
2060
- var AssignmentOpSymbol$9 = $EXPECT($L51, fail, 'AssignmentOpSymbol "&&="');
2061
- var AssignmentOpSymbol$10 = $EXPECT($L52, fail, 'AssignmentOpSymbol "&="');
2062
- var AssignmentOpSymbol$11 = $EXPECT($L53, fail, 'AssignmentOpSymbol "^="');
2063
- var AssignmentOpSymbol$12 = $EXPECT($L54, fail, 'AssignmentOpSymbol "||="');
2064
- var AssignmentOpSymbol$13 = $EXPECT($L55, fail, 'AssignmentOpSymbol "|="');
2065
- var AssignmentOpSymbol$14 = $EXPECT($L56, fail, 'AssignmentOpSymbol "??="');
2066
- 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) {
2067
2075
  return "??=";
2068
2076
  });
2069
- var AssignmentOpSymbol$16 = $EXPECT($L58, fail, 'AssignmentOpSymbol "="');
2077
+ var AssignmentOpSymbol$16 = $EXPECT($L43, fail, 'AssignmentOpSymbol "="');
2070
2078
  function AssignmentOpSymbol(state) {
2071
2079
  if (state.tokenize) {
2072
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));
@@ -2086,52 +2094,52 @@ var require_parser = __commonJS({
2086
2094
  return BinaryOp$0(state);
2087
2095
  }
2088
2096
  }
2089
- var BinaryOpSymbol$0 = $EXPECT($L59, fail, 'BinaryOpSymbol "**"');
2090
- var BinaryOpSymbol$1 = $EXPECT($L10, fail, 'BinaryOpSymbol "*"');
2091
- var BinaryOpSymbol$2 = $EXPECT($L60, fail, 'BinaryOpSymbol "/"');
2092
- var BinaryOpSymbol$3 = $EXPECT($L61, fail, 'BinaryOpSymbol "%"');
2093
- var BinaryOpSymbol$4 = $EXPECT($L62, fail, 'BinaryOpSymbol "+"');
2094
- var BinaryOpSymbol$5 = $EXPECT($L63, fail, 'BinaryOpSymbol "-"');
2095
- var BinaryOpSymbol$6 = $EXPECT($L64, fail, 'BinaryOpSymbol "<="');
2096
- var BinaryOpSymbol$7 = $EXPECT($L65, fail, 'BinaryOpSymbol ">="');
2097
- var BinaryOpSymbol$8 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
2098
- var BinaryOpSymbol$9 = $EXPECT($L16, fail, 'BinaryOpSymbol "<"');
2099
- var BinaryOpSymbol$10 = $EXPECT($L67, fail, 'BinaryOpSymbol ">>>"');
2100
- var BinaryOpSymbol$11 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>"');
2101
- var BinaryOpSymbol$12 = $EXPECT($L69, fail, 'BinaryOpSymbol ">"');
2102
- var BinaryOpSymbol$13 = $EXPECT($L70, fail, 'BinaryOpSymbol "!=="');
2103
- 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) {
2104
2112
  if (module2.coffeeCompat)
2105
2113
  return "!==";
2106
2114
  return $1;
2107
2115
  });
2108
- 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) {
2109
2117
  return "===";
2110
2118
  });
2111
- var BinaryOpSymbol$16 = $EXPECT($L73, fail, 'BinaryOpSymbol "==="');
2112
- 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) {
2113
2121
  if (module2.coffeeCompat)
2114
2122
  return "===";
2115
2123
  return $1;
2116
2124
  });
2117
- 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) {
2118
2126
  return "&&";
2119
2127
  });
2120
- var BinaryOpSymbol$19 = $EXPECT($L76, fail, 'BinaryOpSymbol "&&"');
2121
- 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) {
2122
2130
  return "||";
2123
2131
  });
2124
- var BinaryOpSymbol$21 = $EXPECT($L78, fail, 'BinaryOpSymbol "||"');
2125
- var BinaryOpSymbol$22 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
2126
- 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) {
2127
2135
  return $1;
2128
2136
  });
2129
- 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) {
2130
2138
  return $1;
2131
2139
  });
2132
- var BinaryOpSymbol$25 = $EXPECT($L82, fail, 'BinaryOpSymbol "&"');
2133
- var BinaryOpSymbol$26 = $EXPECT($L83, fail, 'BinaryOpSymbol "^"');
2134
- 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 "|"');
2135
2143
  function BinaryOpSymbol(state) {
2136
2144
  if (state.tokenize) {
2137
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));
@@ -2140,7 +2148,7 @@ var require_parser = __commonJS({
2140
2148
  }
2141
2149
  }
2142
2150
  var UnaryOp$0 = $R$0($EXPECT($R2, fail, "UnaryOp /[!~+-]/"));
2143
- 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, __);
2144
2152
  function UnaryOp(state) {
2145
2153
  if (state.tokenize) {
2146
2154
  return $TOKEN("UnaryOp", state, UnaryOp$0(state) || UnaryOp$1(state));
@@ -2158,11 +2166,13 @@ var require_parser = __commonJS({
2158
2166
  return ModuleItem$0(state) || ModuleItem$1(state) || ModuleItem$2(state);
2159
2167
  }
2160
2168
  }
2161
- 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) {
2162
2170
  var statement = $1;
2163
2171
  var cond = $2;
2172
+ var l = $3;
2164
2173
  if (cond)
2165
- return [cond, statement, "}"];
2174
+ return [cond, statement, { $loc: l.$loc, token: "}" }];
2175
+ $0.pop();
2166
2176
  return $0;
2167
2177
  });
2168
2178
  function StatementListItem(state) {
@@ -2174,13 +2184,24 @@ var require_parser = __commonJS({
2174
2184
  return StatementListItem$0(state);
2175
2185
  }
2176
2186
  }
2177
- 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) {
2178
2188
  var ws = $1;
2179
2189
  var cond = $2;
2180
- var exp = $4;
2181
- if (cond === "if")
2182
- return [ws, "if(", exp, ") {"];
2183
- 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];
2184
2205
  });
2185
2206
  function PostfixConditional(state) {
2186
2207
  if (state.verbose)
@@ -2207,7 +2228,7 @@ var require_parser = __commonJS({
2207
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);
2208
2229
  }
2209
2230
  }
2210
- var EmptyStatement$0 = $S($Q(TrailingComment), $Y($EXPECT($L90, fail, 'EmptyStatement ";"')));
2231
+ var EmptyStatement$0 = $S($Q(TrailingComment), $Y($EXPECT($L73, fail, 'EmptyStatement ";"')));
2211
2232
  function EmptyStatement(state) {
2212
2233
  if (state.verbose)
2213
2234
  console.log("ENTER:", "EmptyStatement");
@@ -2217,7 +2238,7 @@ var require_parser = __commonJS({
2217
2238
  return EmptyStatement$0(state);
2218
2239
  }
2219
2240
  }
2220
- var BlockStatement$0 = $S(__, $EXPECT($L12, fail, 'BlockStatement "{"'), EOS, NestedBlockExpressions, __, $EXPECT($L13, fail, 'BlockStatement "}"'));
2241
+ var BlockStatement$0 = $S(__, OpenBrace, EOS, NestedBlockExpressions, __, CloseBrace);
2221
2242
  function BlockStatement(state) {
2222
2243
  if (state.verbose)
2223
2244
  console.log("ENTER:", "BlockStatement");
@@ -2227,17 +2248,21 @@ var require_parser = __commonJS({
2227
2248
  return BlockStatement$0(state);
2228
2249
  }
2229
2250
  }
2230
- var IfStatement$0 = $S($EXPECT($L88, fail, 'IfStatement "if"'), Condition, Block, $E($S(__, $EXPECT($L91, fail, 'IfStatement "else"'), Block)));
2231
- 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;
2232
2254
  var condition = $2;
2233
2255
  var block = $3;
2234
- return ["if", condition.map((c) => {
2235
- if (c === "(")
2236
- return "(!(";
2237
- if (c === ")")
2238
- return "))";
2239
- return c;
2240
- }), 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];
2241
2266
  });
2242
2267
  function IfStatement(state) {
2243
2268
  if (state.tokenize) {
@@ -2258,10 +2283,7 @@ var require_parser = __commonJS({
2258
2283
  return IterationStatement$0(state) || IterationStatement$1(state) || IterationStatement$2(state) || IterationStatement$3(state) || IterationStatement$4(state);
2259
2284
  }
2260
2285
  }
2261
- var LoopStatement$0 = $TS($S($EXPECT($L92, fail, 'LoopStatement "loop"'), NonIdContinue, Block), function($skip, $loc, $0, $1, $2, $3) {
2262
- var b = $3;
2263
- return ["while(true)", b];
2264
- });
2286
+ var LoopStatement$0 = $S(Loop, Block);
2265
2287
  function LoopStatement(state) {
2266
2288
  if (state.verbose)
2267
2289
  console.log("ENTER:", "LoopStatement");
@@ -2271,7 +2293,7 @@ var require_parser = __commonJS({
2271
2293
  return LoopStatement$0(state);
2272
2294
  }
2273
2295
  }
2274
- 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);
2275
2297
  function DoWhileStatement(state) {
2276
2298
  if (state.verbose)
2277
2299
  console.log("ENTER:", "DoWhileStatement");
@@ -2291,7 +2313,7 @@ var require_parser = __commonJS({
2291
2313
  return WhileStatement$0(state);
2292
2314
  }
2293
2315
  }
2294
- 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) {
2295
2317
  var kind = $1;
2296
2318
  var cond = $3;
2297
2319
  if (kind === "until") {
@@ -2310,7 +2332,7 @@ var require_parser = __commonJS({
2310
2332
  return WhileClause$0(state);
2311
2333
  }
2312
2334
  }
2313
- 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);
2314
2336
  function ForStatement(state) {
2315
2337
  if (state.verbose)
2316
2338
  console.log("ENTER:", "ForStatement");
@@ -2320,10 +2342,10 @@ var require_parser = __commonJS({
2320
2342
  return ForStatement$0(state);
2321
2343
  }
2322
2344
  }
2323
- 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);
2324
- var ForInOfStatement$1 = $S(For, __, InsertOpenParen, $C($S($EXPECT($L96, fail, 'ForInOfStatement "var"'), __, ForBinding), ForDeclaration, LeftHandSideExpression), __, $EXPECT($L81, fail, 'ForInOfStatement "in"'), __, Expression, InsertCloseParen, Block);
2325
- 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);
2326
- 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);
2327
2349
  function ForInOfStatement(state) {
2328
2350
  if (state.tokenize) {
2329
2351
  return $TOKEN("ForInOfStatement", state, ForInOfStatement$0(state) || ForInOfStatement$1(state) || ForInOfStatement$2(state) || ForInOfStatement$3(state));
@@ -2331,18 +2353,6 @@ var require_parser = __commonJS({
2331
2353
  return ForInOfStatement$0(state) || ForInOfStatement$1(state) || ForInOfStatement$2(state) || ForInOfStatement$3(state);
2332
2354
  }
2333
2355
  }
2334
- var For$0 = $TS($S($EXPECT($L98, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2335
- return { $loc, token: $1 };
2336
- });
2337
- function For(state) {
2338
- if (state.verbose)
2339
- console.log("ENTER:", "For");
2340
- if (state.tokenize) {
2341
- return $TOKEN("For", state, For$0(state));
2342
- } else {
2343
- return For$0(state);
2344
- }
2345
- }
2346
2356
  var ForDeclaration$0 = $S(LetOrConst, NonIdContinue, __, ForBinding);
2347
2357
  function ForDeclaration(state) {
2348
2358
  if (state.verbose)
@@ -2353,7 +2363,7 @@ var require_parser = __commonJS({
2353
2363
  return ForDeclaration$0(state);
2354
2364
  }
2355
2365
  }
2356
- 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) {
2357
2367
  return { $loc, token: $1 };
2358
2368
  });
2359
2369
  function LetOrConst(state) {
@@ -2374,7 +2384,7 @@ var require_parser = __commonJS({
2374
2384
  return ForBinding$0(state) || ForBinding$1(state);
2375
2385
  }
2376
2386
  }
2377
- var SwitchStatement$0 = $S($EXPECT($L101, fail, 'SwitchStatement "switch"'), NonIdContinue, Condition, CaseBlock);
2387
+ var SwitchStatement$0 = $S(Switch, NonIdContinue, Condition, CaseBlock);
2378
2388
  function SwitchStatement(state) {
2379
2389
  if (state.verbose)
2380
2390
  console.log("ENTER:", "SwitchStatement");
@@ -2384,7 +2394,7 @@ var require_parser = __commonJS({
2384
2394
  return SwitchStatement$0(state);
2385
2395
  }
2386
2396
  }
2387
- 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);
2388
2398
  var CaseBlock$1 = $S($Y(EOS), InsertOpenBrace, NestedCaseClauses, InsertNewline, InsertCloseBrace);
2389
2399
  function CaseBlock(state) {
2390
2400
  if (state.tokenize) {
@@ -2418,9 +2428,9 @@ var require_parser = __commonJS({
2418
2428
  return NestedCaseClause$0(state);
2419
2429
  }
2420
2430
  }
2421
- 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);
2422
2432
  var CaseClause$1 = $S(When, $Q(_), Expression, ImpliedColon, NestedBlockExpressions, InsertBreak);
2423
- 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);
2424
2434
  function CaseClause(state) {
2425
2435
  if (state.tokenize) {
2426
2436
  return $TOKEN("CaseClause", state, CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state));
@@ -2428,21 +2438,9 @@ var require_parser = __commonJS({
2428
2438
  return CaseClause$0(state) || CaseClause$1(state) || CaseClause$2(state);
2429
2439
  }
2430
2440
  }
2431
- var When$0 = $T($S($EXPECT($L104, fail, 'When "when"'), NonIdContinue), function(value) {
2432
- return "case";
2433
- });
2434
- function When(state) {
2435
- if (state.verbose)
2436
- console.log("ENTER:", "When");
2437
- if (state.tokenize) {
2438
- return $TOKEN("When", state, When$0(state));
2439
- } else {
2440
- return When$0(state);
2441
- }
2442
- }
2443
- var ImpliedColon$0 = $S(__, $EXPECT($L14, fail, 'ImpliedColon ":"'));
2444
- var ImpliedColon$1 = $T($EXPECT($L33, fail, 'ImpliedColon ""'), function(value) {
2445
- 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: ":" };
2446
2444
  });
2447
2445
  function ImpliedColon(state) {
2448
2446
  if (state.tokenize) {
@@ -2451,7 +2449,7 @@ var require_parser = __commonJS({
2451
2449
  return ImpliedColon$0(state) || ImpliedColon$1(state);
2452
2450
  }
2453
2451
  }
2454
- 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) {
2455
2453
  var c = $3;
2456
2454
  var f = $4;
2457
2455
  if (!c && !f) {
@@ -2468,17 +2466,17 @@ var require_parser = __commonJS({
2468
2466
  return TryStatement$0(state);
2469
2467
  }
2470
2468
  }
2471
- var Catch$0 = $S(__, $EXPECT($L106, fail, 'Catch "catch"'), $E(CatchBind), BracedBlock);
2472
- function Catch(state) {
2469
+ var CatchClause$0 = $S(__, Catch, $E(CatchBind), BracedBlock);
2470
+ function CatchClause(state) {
2473
2471
  if (state.verbose)
2474
- console.log("ENTER:", "Catch");
2472
+ console.log("ENTER:", "CatchClause");
2475
2473
  if (state.tokenize) {
2476
- return $TOKEN("Catch", state, Catch$0(state));
2474
+ return $TOKEN("CatchClause", state, CatchClause$0(state));
2477
2475
  } else {
2478
- return Catch$0(state);
2476
+ return CatchClause$0(state);
2479
2477
  }
2480
2478
  }
2481
- var CatchBind$0 = $S(__, $EXPECT($L1, fail, 'CatchBind "("'), __, CatchParameter, __, $EXPECT($L2, fail, 'CatchBind ")"'));
2479
+ var CatchBind$0 = $S(__, OpenParen, __, CatchParameter, __, CloseParen);
2482
2480
  var CatchBind$1 = $S(__, InsertOpenParen, CatchParameter, InsertCloseParen);
2483
2481
  function CatchBind(state) {
2484
2482
  if (state.tokenize) {
@@ -2487,7 +2485,7 @@ var require_parser = __commonJS({
2487
2485
  return CatchBind$0(state) || CatchBind$1(state);
2488
2486
  }
2489
2487
  }
2490
- var Finally$0 = $S(__, $EXPECT($L107, fail, 'Finally "finally"'), BracedBlock);
2488
+ var Finally$0 = $S(__, $EXPECT($L81, fail, 'Finally "finally"'), BracedBlock);
2491
2489
  function Finally(state) {
2492
2490
  if (state.verbose)
2493
2491
  console.log("ENTER:", "Finally");
@@ -2506,7 +2504,7 @@ var require_parser = __commonJS({
2506
2504
  return CatchParameter$0(state) || CatchParameter$1(state);
2507
2505
  }
2508
2506
  }
2509
- var Condition$0 = $S(__, $EXPECT($L1, fail, 'Condition "("'), __, Expression, __, $EXPECT($L2, fail, 'Condition ")"'));
2507
+ var Condition$0 = $S(__, OpenParen, __, Expression, __, CloseParen);
2510
2508
  var Condition$1 = $S($N(EOS), __, InsertOpenParen, Expression, InsertCloseParen);
2511
2509
  function Condition(state) {
2512
2510
  if (state.tokenize) {
@@ -2525,11 +2523,11 @@ var require_parser = __commonJS({
2525
2523
  return ExpressionStatement$0(state);
2526
2524
  }
2527
2525
  }
2528
- var KeywordStatement$0 = $S($EXPECT($L108, fail, 'KeywordStatement "break"'), NonIdContinue);
2529
- var KeywordStatement$1 = $S($EXPECT($L109, fail, 'KeywordStatement "continue"'), NonIdContinue);
2530
- 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);
2531
2529
  var KeywordStatement$3 = $S(Return, $E(MaybeNestedExpression));
2532
- var KeywordStatement$4 = $S($EXPECT($L111, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2530
+ var KeywordStatement$4 = $S($EXPECT($L85, fail, 'KeywordStatement "throw"'), NonIdContinue, Expression);
2533
2531
  function KeywordStatement(state) {
2534
2532
  if (state.tokenize) {
2535
2533
  return $TOKEN("KeywordStatement", state, KeywordStatement$0(state) || KeywordStatement$1(state) || KeywordStatement$2(state) || KeywordStatement$3(state) || KeywordStatement$4(state));
@@ -2546,24 +2544,22 @@ var require_parser = __commonJS({
2546
2544
  return MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state);
2547
2545
  }
2548
2546
  }
2549
- var Return$0 = $TS($S($EXPECT($L112, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2550
- return { $loc, token: $1 };
2551
- });
2552
- function Return(state) {
2553
- if (state.verbose)
2554
- console.log("ENTER:", "Return");
2555
- if (state.tokenize) {
2556
- return $TOKEN("Return", state, Return$0(state));
2557
- } else {
2558
- return Return$0(state);
2559
- }
2560
- }
2561
- 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) {
2562
2548
  return { "ts": true, "children": value };
2563
2549
  });
2564
2550
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
2565
2551
  var ImportDeclaration$2 = $S(Import, __, ModuleSpecifier);
2566
- 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
+ });
2567
2563
  function ImportDeclaration(state) {
2568
2564
  if (state.tokenize) {
2569
2565
  return $TOKEN("ImportDeclaration", state, ImportDeclaration$0(state) || ImportDeclaration$1(state) || ImportDeclaration$2(state) || ImportDeclaration$3(state));
@@ -2571,8 +2567,8 @@ var require_parser = __commonJS({
2571
2567
  return ImportDeclaration$0(state) || ImportDeclaration$1(state) || ImportDeclaration$2(state) || ImportDeclaration$3(state);
2572
2568
  }
2573
2569
  }
2574
- var ImpliedImport$0 = $T($EXPECT($L33, fail, 'ImpliedImport ""'), function(value) {
2575
- return "import ";
2570
+ var ImpliedImport$0 = $TV($EXPECT($L16, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
2571
+ return { $loc, token: "import " };
2576
2572
  });
2577
2573
  function ImpliedImport(state) {
2578
2574
  if (state.verbose)
@@ -2583,19 +2579,7 @@ var require_parser = __commonJS({
2583
2579
  return ImpliedImport$0(state);
2584
2580
  }
2585
2581
  }
2586
- var Import$0 = $TS($S($EXPECT($L24, fail, 'Import "import"'), $Y($EXPECT($R3, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
2587
- return { $loc, token: $1 };
2588
- });
2589
- function Import(state) {
2590
- if (state.verbose)
2591
- console.log("ENTER:", "Import");
2592
- if (state.tokenize) {
2593
- return $TOKEN("Import", state, Import$0(state));
2594
- } else {
2595
- return Import$0(state);
2596
- }
2597
- }
2598
- 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))));
2599
2583
  var ImportClause$1 = NameSpaceImport;
2600
2584
  var ImportClause$2 = NamedImports;
2601
2585
  function ImportClause(state) {
@@ -2605,7 +2589,7 @@ var require_parser = __commonJS({
2605
2589
  return ImportClause$0(state) || ImportClause$1(state) || ImportClause$2(state);
2606
2590
  }
2607
2591
  }
2608
- 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);
2609
2593
  function NameSpaceImport(state) {
2610
2594
  if (state.verbose)
2611
2595
  console.log("ENTER:", "NameSpaceImport");
@@ -2615,7 +2599,7 @@ var require_parser = __commonJS({
2615
2599
  return NameSpaceImport$0(state);
2616
2600
  }
2617
2601
  }
2618
- 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);
2619
2603
  function NamedImports(state) {
2620
2604
  if (state.verbose)
2621
2605
  console.log("ENTER:", "NamedImports");
@@ -2635,19 +2619,7 @@ var require_parser = __commonJS({
2635
2619
  return FromClause$0(state);
2636
2620
  }
2637
2621
  }
2638
- var From$0 = $TS($S($EXPECT($L114, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2639
- return { $loc, token: $1 };
2640
- });
2641
- function From(state) {
2642
- if (state.verbose)
2643
- console.log("ENTER:", "From");
2644
- if (state.tokenize) {
2645
- return $TOKEN("From", state, From$0(state));
2646
- } else {
2647
- return From$0(state);
2648
- }
2649
- }
2650
- var ImportSpecifier$0 = $S(__, ModuleExportName, __, $EXPECT($L4, fail, 'ImportSpecifier "as"'), NonIdContinue, __, ImportedBinding, ObjectPropertyDelimiter);
2622
+ var ImportSpecifier$0 = $S(__, ModuleExportName, __, As, NonIdContinue, __, ImportedBinding, ObjectPropertyDelimiter);
2651
2623
  var ImportSpecifier$1 = $S(__, ImportedBinding, ObjectPropertyDelimiter);
2652
2624
  function ImportSpecifier(state) {
2653
2625
  if (state.tokenize) {
@@ -2687,7 +2659,7 @@ var require_parser = __commonJS({
2687
2659
  return UnprocessedModuleSpecifier$0(state) || UnprocessedModuleSpecifier$1(state);
2688
2660
  }
2689
2661
  }
2690
- 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) {
2691
2663
  var spec = $0;
2692
2664
  return { $loc, token: `"${spec}"` };
2693
2665
  });
@@ -2710,7 +2682,7 @@ var require_parser = __commonJS({
2710
2682
  return ImportedBinding$0(state);
2711
2683
  }
2712
2684
  }
2713
- 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));
2714
2686
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
2715
2687
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
2716
2688
  function ExportDeclaration(state) {
@@ -2720,27 +2692,7 @@ var require_parser = __commonJS({
2720
2692
  return ExportDeclaration$0(state) || ExportDeclaration$1(state) || ExportDeclaration$2(state);
2721
2693
  }
2722
2694
  }
2723
- var As$0 = $S($EXPECT($L4, fail, 'As "as"'), NonIdContinue);
2724
- function As(state) {
2725
- if (state.verbose)
2726
- console.log("ENTER:", "As");
2727
- if (state.tokenize) {
2728
- return $TOKEN("As", state, As$0(state));
2729
- } else {
2730
- return As$0(state);
2731
- }
2732
- }
2733
- var Export$0 = $S($EXPECT($L115, fail, 'Export "export"'), NonIdContinue);
2734
- function Export(state) {
2735
- if (state.verbose)
2736
- console.log("ENTER:", "Export");
2737
- if (state.tokenize) {
2738
- return $TOKEN("Export", state, Export$0(state));
2739
- } else {
2740
- return Export$0(state);
2741
- }
2742
- }
2743
- 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)));
2744
2696
  var ExportFromClause$1 = NamedExports;
2745
2697
  function ExportFromClause(state) {
2746
2698
  if (state.tokenize) {
@@ -2749,7 +2701,7 @@ var require_parser = __commonJS({
2749
2701
  return ExportFromClause$0(state) || ExportFromClause$1(state);
2750
2702
  }
2751
2703
  }
2752
- 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);
2753
2705
  function NamedExports(state) {
2754
2706
  if (state.verbose)
2755
2707
  console.log("ENTER:", "NamedExports");
@@ -2759,7 +2711,7 @@ var require_parser = __commonJS({
2759
2711
  return NamedExports$0(state);
2760
2712
  }
2761
2713
  }
2762
- 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);
2763
2715
  function ExportSpecifier(state) {
2764
2716
  if (state.verbose)
2765
2717
  console.log("ENTER:", "ExportSpecifier");
@@ -2790,21 +2742,15 @@ var require_parser = __commonJS({
2790
2742
  return HoistableDeclaration$0(state);
2791
2743
  }
2792
2744
  }
2793
- var LexicalDeclaration$0 = $S(LetOrConst, __, LexicalBinding, $Q($S(__, $EXPECT($L0, fail, 'LexicalDeclaration ","'), __, LexicalBinding)));
2794
- var LexicalDeclaration$1 = $TS($S($C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
2795
- var bind = $1;
2796
- var suffix = $2;
2797
- var ws = $3;
2798
- var ca = $4;
2799
- var exp = $5;
2800
- return [
2801
- "const ",
2802
- bind,
2803
- suffix,
2804
- ws,
2805
- { $loc: ca.$loc, token: "=" },
2806
- exp
2807
- ];
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;
2808
2754
  });
2809
2755
  function LexicalDeclaration(state) {
2810
2756
  if (state.tokenize) {
@@ -2813,8 +2759,8 @@ var require_parser = __commonJS({
2813
2759
  return LexicalDeclaration$0(state) || LexicalDeclaration$1(state);
2814
2760
  }
2815
2761
  }
2816
- var ConstAssignment$0 = $TV($EXPECT($L116, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2817
- return { $loc, token: $1 };
2762
+ var ConstAssignment$0 = $TV($EXPECT($L87, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2763
+ return { $loc, token: "=" };
2818
2764
  });
2819
2765
  function ConstAssignment(state) {
2820
2766
  if (state.verbose)
@@ -2834,7 +2780,7 @@ var require_parser = __commonJS({
2834
2780
  return LexicalBinding$0(state) || LexicalBinding$1(state);
2835
2781
  }
2836
2782
  }
2837
- var Initializer$0 = $S(__, $EXPECT($L58, fail, 'Initializer "="'), AssignmentExpression);
2783
+ var Initializer$0 = $S(__, Equals, AssignmentExpression);
2838
2784
  function Initializer(state) {
2839
2785
  if (state.verbose)
2840
2786
  console.log("ENTER:", "Initializer");
@@ -2844,7 +2790,7 @@ var require_parser = __commonJS({
2844
2790
  return Initializer$0(state);
2845
2791
  }
2846
2792
  }
2847
- var VariableStatement$0 = $S($EXPECT($L96, fail, 'VariableStatement "var"'), __, VariableDeclarationList);
2793
+ var VariableStatement$0 = $S(Var, __, VariableDeclarationList);
2848
2794
  function VariableStatement(state) {
2849
2795
  if (state.verbose)
2850
2796
  console.log("ENTER:", "VariableStatement");
@@ -2854,7 +2800,7 @@ var require_parser = __commonJS({
2854
2800
  return VariableStatement$0(state);
2855
2801
  }
2856
2802
  }
2857
- var VariableDeclarationList$0 = $S(VariableDeclaration, $Q($S(__, $EXPECT($L0, fail, 'VariableDeclarationList ","'), __, VariableDeclaration)));
2803
+ var VariableDeclarationList$0 = $S(VariableDeclaration, $Q($S(__, Comma, __, VariableDeclaration)));
2858
2804
  function VariableDeclarationList(state) {
2859
2805
  if (state.verbose)
2860
2806
  console.log("ENTER:", "VariableDeclarationList");
@@ -2897,7 +2843,7 @@ var require_parser = __commonJS({
2897
2843
  return NumericLiteralKind$0(state) || NumericLiteralKind$1(state) || NumericLiteralKind$2(state) || NumericLiteralKind$3(state) || NumericLiteralKind$4(state);
2898
2844
  }
2899
2845
  }
2900
- 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/"));
2901
2847
  function DecimalBigIntegerLiteral(state) {
2902
2848
  if (state.verbose)
2903
2849
  console.log("ENTER:", "DecimalBigIntegerLiteral");
@@ -2907,7 +2853,7 @@ var require_parser = __commonJS({
2907
2853
  return DecimalBigIntegerLiteral$0(state);
2908
2854
  }
2909
2855
  }
2910
- var DecimalLiteral$0 = $R$0($EXPECT($R6, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2856
+ var DecimalLiteral$0 = $R$0($EXPECT($R5, fail, "DecimalLiteral /\\d+(?:\\.\\d*)?/"));
2911
2857
  function DecimalLiteral(state) {
2912
2858
  if (state.verbose)
2913
2859
  console.log("ENTER:", "DecimalLiteral");
@@ -2917,7 +2863,7 @@ var require_parser = __commonJS({
2917
2863
  return DecimalLiteral$0(state);
2918
2864
  }
2919
2865
  }
2920
- 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])*/"));
2921
2867
  function BinaryIntegerLiteral(state) {
2922
2868
  if (state.verbose)
2923
2869
  console.log("ENTER:", "BinaryIntegerLiteral");
@@ -2927,7 +2873,7 @@ var require_parser = __commonJS({
2927
2873
  return BinaryIntegerLiteral$0(state);
2928
2874
  }
2929
2875
  }
2930
- 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])*/"));
2931
2877
  function OctalIntegerLiteral(state) {
2932
2878
  if (state.verbose)
2933
2879
  console.log("ENTER:", "OctalIntegerLiteral");
@@ -2937,7 +2883,7 @@ var require_parser = __commonJS({
2937
2883
  return OctalIntegerLiteral$0(state);
2938
2884
  }
2939
2885
  }
2940
- 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])*/"));
2941
2887
  function HexLiteral(state) {
2942
2888
  if (state.verbose)
2943
2889
  console.log("ENTER:", "HexLiteral");
@@ -2947,18 +2893,22 @@ var require_parser = __commonJS({
2947
2893
  return HexLiteral$0(state);
2948
2894
  }
2949
2895
  }
2950
- 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;
2951
2898
  var str = $2;
2952
- return { $loc, token: "`" + module2.dedentBlockString(str) + "`" };
2899
+ var e = $3;
2900
+ return [s, module2.dedentBlockString(str), e];
2953
2901
  });
2954
- 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;
2955
2904
  var str = $2;
2956
- return { $loc, token: "`" + module2.dedentBlockString(str) + "`" };
2905
+ var e = $3;
2906
+ return [s, module2.dedentBlockString(str), e];
2957
2907
  });
2958
- 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) {
2959
2909
  return { $loc, token: $1 };
2960
2910
  });
2961
- 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) {
2962
2912
  return { $loc, token: $1 };
2963
2913
  });
2964
2914
  function StringLiteral(state) {
@@ -2968,7 +2918,7 @@ var require_parser = __commonJS({
2968
2918
  return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
2969
2919
  }
2970
2920
  }
2971
- var DoubleStringCharacter$0 = $R$0($EXPECT($R10, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2921
+ var DoubleStringCharacter$0 = $R$0($EXPECT($R9, fail, 'DoubleStringCharacter /(?:\\\\.|[^"])+/'));
2972
2922
  function DoubleStringCharacter(state) {
2973
2923
  if (state.verbose)
2974
2924
  console.log("ENTER:", "DoubleStringCharacter");
@@ -2978,7 +2928,7 @@ var require_parser = __commonJS({
2978
2928
  return DoubleStringCharacter$0(state);
2979
2929
  }
2980
2930
  }
2981
- var SingleStringCharacter$0 = $R$0($EXPECT($R11, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2931
+ var SingleStringCharacter$0 = $R$0($EXPECT($R10, fail, "SingleStringCharacter /(?:\\\\.|[^'])+/"));
2982
2932
  function SingleStringCharacter(state) {
2983
2933
  if (state.verbose)
2984
2934
  console.log("ENTER:", "SingleStringCharacter");
@@ -2988,27 +2938,31 @@ var require_parser = __commonJS({
2988
2938
  return SingleStringCharacter$0(state);
2989
2939
  }
2990
2940
  }
2991
- var TripleDoubleStringCharacter$0 = $R$0($EXPECT($R12, fail, 'TripleDoubleStringCharacter /(?:"(?!"")|\\\\.|[^"])+/'));
2992
- 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) {
2993
2945
  if (state.verbose)
2994
- console.log("ENTER:", "TripleDoubleStringCharacter");
2946
+ console.log("ENTER:", "TripleDoubleStringCharacters");
2995
2947
  if (state.tokenize) {
2996
- return $TOKEN("TripleDoubleStringCharacter", state, TripleDoubleStringCharacter$0(state));
2948
+ return $TOKEN("TripleDoubleStringCharacters", state, TripleDoubleStringCharacters$0(state));
2997
2949
  } else {
2998
- return TripleDoubleStringCharacter$0(state);
2950
+ return TripleDoubleStringCharacters$0(state);
2999
2951
  }
3000
2952
  }
3001
- var TripleSingleStringCharacter$0 = $R$0($EXPECT($R13, fail, "TripleSingleStringCharacter /(?:'(?!'')|\\\\.|[^'])+/"));
3002
- 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) {
3003
2957
  if (state.verbose)
3004
- console.log("ENTER:", "TripleSingleStringCharacter");
2958
+ console.log("ENTER:", "TripleSingleStringCharacters");
3005
2959
  if (state.tokenize) {
3006
- return $TOKEN("TripleSingleStringCharacter", state, TripleSingleStringCharacter$0(state));
2960
+ return $TOKEN("TripleSingleStringCharacters", state, TripleSingleStringCharacters$0(state));
3007
2961
  } else {
3008
- return TripleSingleStringCharacter$0(state);
2962
+ return TripleSingleStringCharacters$0(state);
3009
2963
  }
3010
2964
  }
3011
- 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) {
3012
2966
  return { $loc, token: $1 };
3013
2967
  });
3014
2968
  function RegularExpressionLiteral(state) {
@@ -3020,7 +2974,7 @@ var require_parser = __commonJS({
3020
2974
  return RegularExpressionLiteral$0(state);
3021
2975
  }
3022
2976
  }
3023
- 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));
3024
2978
  function RegularExpressionBody(state) {
3025
2979
  if (state.verbose)
3026
2980
  console.log("ENTER:", "RegularExpressionBody");
@@ -3030,7 +2984,7 @@ var require_parser = __commonJS({
3030
2984
  return RegularExpressionBody$0(state);
3031
2985
  }
3032
2986
  }
3033
- var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
2987
+ var RegExpCharacter$0 = $R$0($EXPECT($R14, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
3034
2988
  function RegExpCharacter(state) {
3035
2989
  if (state.verbose)
3036
2990
  console.log("ENTER:", "RegExpCharacter");
@@ -3040,7 +2994,7 @@ var require_parser = __commonJS({
3040
2994
  return RegExpCharacter$0(state);
3041
2995
  }
3042
2996
  }
3043
- 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$])*/"));
3044
2998
  function RegularExpressionFlags(state) {
3045
2999
  if (state.verbose)
3046
3000
  console.log("ENTER:", "RegularExpressionFlags");
@@ -3050,7 +3004,7 @@ var require_parser = __commonJS({
3050
3004
  return RegularExpressionFlags$0(state);
3051
3005
  }
3052
3006
  }
3053
- 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 "`"'));
3054
3008
  function TemplateLiteral(state) {
3055
3009
  if (state.verbose)
3056
3010
  console.log("ENTER:", "TemplateLiteral");
@@ -3060,7 +3014,7 @@ var require_parser = __commonJS({
3060
3014
  return TemplateLiteral$0(state);
3061
3015
  }
3062
3016
  }
3063
- var TemplateSubstitution$0 = $S($EXPECT($L122, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L13, fail, 'TemplateSubstitution "}"'));
3017
+ var TemplateSubstitution$0 = $S($EXPECT($L91, fail, 'TemplateSubstitution "${"'), __, Expression, __, CloseBrace);
3064
3018
  function TemplateSubstitution(state) {
3065
3019
  if (state.verbose)
3066
3020
  console.log("ENTER:", "TemplateSubstitution");
@@ -3070,7 +3024,7 @@ var require_parser = __commonJS({
3070
3024
  return TemplateSubstitution$0(state);
3071
3025
  }
3072
3026
  }
3073
- var TemplateCharacters$0 = $R$0($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
3027
+ var TemplateCharacters$0 = $R$0($EXPECT($R16, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"));
3074
3028
  function TemplateCharacters(state) {
3075
3029
  if (state.verbose)
3076
3030
  console.log("ENTER:", "TemplateCharacters");
@@ -3080,7 +3034,7 @@ var require_parser = __commonJS({
3080
3034
  return TemplateCharacters$0(state);
3081
3035
  }
3082
3036
  }
3083
- 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})/"));
3084
3038
  function ReservedWord(state) {
3085
3039
  if (state.verbose)
3086
3040
  console.log("ENTER:", "ReservedWord");
@@ -3099,7 +3053,9 @@ var require_parser = __commonJS({
3099
3053
  return Comment$0(state) || Comment$1(state);
3100
3054
  }
3101
3055
  }
3102
- 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
+ });
3103
3059
  var SingleLineComment$1 = CoffeeSingleLineComment;
3104
3060
  function SingleLineComment(state) {
3105
3061
  if (state.tokenize) {
@@ -3117,7 +3073,9 @@ var require_parser = __commonJS({
3117
3073
  return MultiLineComment$0(state) || MultiLineComment$1(state);
3118
3074
  }
3119
3075
  }
3120
- 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
+ });
3121
3079
  function JSMultiLineComment(state) {
3122
3080
  if (state.verbose)
3123
3081
  console.log("ENTER:", "JSMultiLineComment");
@@ -3127,10 +3085,10 @@ var require_parser = __commonJS({
3127
3085
  return JSMultiLineComment$0(state);
3128
3086
  }
3129
3087
  }
3130
- 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) {
3131
3089
  if (!module2.coffeeCompat)
3132
3090
  return $skip;
3133
- return ["//", $1];
3091
+ return { $loc, token: `//${$1}` };
3134
3092
  });
3135
3093
  function CoffeeSingleLineComment(state) {
3136
3094
  if (state.verbose)
@@ -3141,8 +3099,8 @@ var require_parser = __commonJS({
3141
3099
  return CoffeeSingleLineComment$0(state);
3142
3100
  }
3143
3101
  }
3144
- 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) {
3145
- 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}*/` };
3146
3104
  });
3147
3105
  function CoffeeMultiLineComment(state) {
3148
3106
  if (state.verbose)
@@ -3153,7 +3111,9 @@ var require_parser = __commonJS({
3153
3111
  return CoffeeMultiLineComment$0(state);
3154
3112
  }
3155
3113
  }
3156
- 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
+ });
3157
3117
  function InlineComment(state) {
3158
3118
  if (state.verbose)
3159
3119
  console.log("ENTER:", "InlineComment");
@@ -3163,7 +3123,7 @@ var require_parser = __commonJS({
3163
3123
  return InlineComment$0(state);
3164
3124
  }
3165
3125
  }
3166
- 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);
3167
3127
  function RestOfLine(state) {
3168
3128
  if (state.verbose)
3169
3129
  console.log("ENTER:", "RestOfLine");
@@ -3173,7 +3133,7 @@ var require_parser = __commonJS({
3173
3133
  return RestOfLine$0(state);
3174
3134
  }
3175
3135
  }
3176
- var TrailingComment$0 = $R$0($EXPECT($R24, fail, "TrailingComment /[\\t ]+/"));
3136
+ var TrailingComment$0 = $R$0($EXPECT($R23, fail, "TrailingComment /[\\t ]+/"));
3177
3137
  var TrailingComment$1 = InlineComment;
3178
3138
  var TrailingComment$2 = SingleLineComment;
3179
3139
  function TrailingComment(state) {
@@ -3183,7 +3143,7 @@ var require_parser = __commonJS({
3183
3143
  return TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
3184
3144
  }
3185
3145
  }
3186
- var _$0 = $P($C($R$0($EXPECT($R24, fail, "_ /[\\t ]+/")), Comment));
3146
+ var _$0 = $P($C(NonNewlineWhitespace, Comment));
3187
3147
  function _(state) {
3188
3148
  if (state.verbose)
3189
3149
  console.log("ENTER:", "_");
@@ -3193,7 +3153,19 @@ var require_parser = __commonJS({
3193
3153
  return _$0(state);
3194
3154
  }
3195
3155
  }
3196
- 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));
3197
3169
  function __(state) {
3198
3170
  if (state.verbose)
3199
3171
  console.log("ENTER:", "__");
@@ -3203,9 +3175,21 @@ var require_parser = __commonJS({
3203
3175
  return __$0(state);
3204
3176
  }
3205
3177
  }
3206
- var StatementDelimiter$0 = $S($Q(TrailingComment), $EXPECT($L90, fail, 'StatementDelimiter ";"'), $Q(TrailingComment));
3207
- var StatementDelimiter$1 = $T($Y(EOS), function(value) {
3208
- 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: ";" };
3209
3193
  });
3210
3194
  function StatementDelimiter(state) {
3211
3195
  if (state.tokenize) {
@@ -3214,7 +3198,7 @@ var require_parser = __commonJS({
3214
3198
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
3215
3199
  }
3216
3200
  }
3217
- 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})/"));
3218
3202
  function NonIdContinue(state) {
3219
3203
  if (state.verbose)
3220
3204
  console.log("ENTER:", "NonIdContinue");
@@ -3224,122 +3208,578 @@ var require_parser = __commonJS({
3224
3208
  return NonIdContinue$0(state);
3225
3209
  }
3226
3210
  }
3227
- var JSXElement$0 = JSXSelfClosingElement;
3228
- var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
3229
- if ($1[1] !== $4[2]) {
3230
- throw new Error(`mismatched closing tags at ${JSON.stringify($loc)}`);
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);
3231
3221
  }
3232
- return $0;
3222
+ }
3223
+ var As$0 = $TS($S($EXPECT($L95, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3224
+ return { $loc, token: $1 };
3233
3225
  });
3234
- function JSXElement(state) {
3226
+ function As(state) {
3227
+ if (state.verbose)
3228
+ console.log("ENTER:", "As");
3235
3229
  if (state.tokenize) {
3236
- return $TOKEN("JSXElement", state, JSXElement$0(state) || JSXElement$1(state));
3230
+ return $TOKEN("As", state, As$0(state));
3237
3231
  } else {
3238
- return JSXElement$0(state) || JSXElement$1(state);
3232
+ return As$0(state);
3239
3233
  }
3240
3234
  }
3241
- var JSXSelfClosingElement$0 = $S($EXPECT($L16, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3242
- function JSXSelfClosingElement(state) {
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) {
3243
3239
  if (state.verbose)
3244
- console.log("ENTER:", "JSXSelfClosingElement");
3240
+ console.log("ENTER:", "Async");
3245
3241
  if (state.tokenize) {
3246
- return $TOKEN("JSXSelfClosingElement", state, JSXSelfClosingElement$0(state));
3242
+ return $TOKEN("Async", state, Async$0(state));
3247
3243
  } else {
3248
- return JSXSelfClosingElement$0(state);
3244
+ return Async$0(state);
3249
3245
  }
3250
3246
  }
3251
- var JSXOpeningElement$0 = $S($EXPECT($L16, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L69, fail, 'JSXOpeningElement ">"'));
3252
- function JSXOpeningElement(state) {
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) {
3253
3251
  if (state.verbose)
3254
- console.log("ENTER:", "JSXOpeningElement");
3252
+ console.log("ENTER:", "Await");
3255
3253
  if (state.tokenize) {
3256
- return $TOKEN("JSXOpeningElement", state, JSXOpeningElement$0(state));
3254
+ return $TOKEN("Await", state, Await$0(state));
3257
3255
  } else {
3258
- return JSXOpeningElement$0(state);
3256
+ return Await$0(state);
3259
3257
  }
3260
3258
  }
3261
- var JSXClosingElement$0 = $S($EXPECT($L127, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L69, fail, 'JSXClosingElement ">"'));
3262
- function JSXClosingElement(state) {
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
3263
  if (state.verbose)
3264
- console.log("ENTER:", "JSXClosingElement");
3264
+ console.log("ENTER:", "Catch");
3265
3265
  if (state.tokenize) {
3266
- return $TOKEN("JSXClosingElement", state, JSXClosingElement$0(state));
3266
+ return $TOKEN("Catch", state, Catch$0(state));
3267
3267
  } else {
3268
- return JSXClosingElement$0(state);
3268
+ return Catch$0(state);
3269
3269
  }
3270
3270
  }
3271
- var JSXFragment$0 = $S($EXPECT($L128, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L129, fail, 'JSXFragment "</>"'));
3272
- function JSXFragment(state) {
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) {
3273
3275
  if (state.verbose)
3274
- console.log("ENTER:", "JSXFragment");
3276
+ console.log("ENTER:", "Class");
3275
3277
  if (state.tokenize) {
3276
- return $TOKEN("JSXFragment", state, JSXFragment$0(state));
3278
+ return $TOKEN("Class", state, Class$0(state));
3277
3279
  } else {
3278
- return JSXFragment$0(state);
3280
+ return Class$0(state);
3279
3281
  }
3280
3282
  }
3281
- var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L14, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
3282
- function JSXElementName(state) {
3283
+ var CloseBrace$0 = $TV($EXPECT($L100, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
3284
+ return { $loc, token: $1 };
3285
+ });
3286
+ function CloseBrace(state) {
3283
3287
  if (state.verbose)
3284
- console.log("ENTER:", "JSXElementName");
3288
+ console.log("ENTER:", "CloseBrace");
3285
3289
  if (state.tokenize) {
3286
- return $TOKEN("JSXElementName", state, JSXElementName$0(state));
3290
+ return $TOKEN("CloseBrace", state, CloseBrace$0(state));
3287
3291
  } else {
3288
- return JSXElementName$0(state);
3292
+ return CloseBrace$0(state);
3289
3293
  }
3290
3294
  }
3291
- var JSXIdentifierName$0 = $R$0($EXPECT($R27, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3292
- function JSXIdentifierName(state) {
3295
+ var CloseBracket$0 = $TV($EXPECT($L24, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
3296
+ return { $loc, token: $1 };
3297
+ });
3298
+ function CloseBracket(state) {
3293
3299
  if (state.verbose)
3294
- console.log("ENTER:", "JSXIdentifierName");
3300
+ console.log("ENTER:", "CloseBracket");
3295
3301
  if (state.tokenize) {
3296
- return $TOKEN("JSXIdentifierName", state, JSXIdentifierName$0(state));
3302
+ return $TOKEN("CloseBracket", state, CloseBracket$0(state));
3297
3303
  } else {
3298
- return JSXIdentifierName$0(state);
3304
+ return CloseBracket$0(state);
3299
3305
  }
3300
3306
  }
3301
- var JSXAttributes$0 = $Q($S(__, JSXAttribute));
3302
- function JSXAttributes(state) {
3307
+ var CloseParen$0 = $TV($EXPECT($L17, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
3308
+ return { $loc, token: $1 };
3309
+ });
3310
+ function CloseParen(state) {
3303
3311
  if (state.verbose)
3304
- console.log("ENTER:", "JSXAttributes");
3312
+ console.log("ENTER:", "CloseParen");
3305
3313
  if (state.tokenize) {
3306
- return $TOKEN("JSXAttributes", state, JSXAttributes$0(state));
3314
+ return $TOKEN("CloseParen", state, CloseParen$0(state));
3307
3315
  } else {
3308
- return JSXAttributes$0(state);
3316
+ return CloseParen$0(state);
3309
3317
  }
3310
3318
  }
3311
- var JSXAttribute$0 = $S($EXPECT($L12, fail, 'JSXAttribute "{"'), __, $EXPECT($L34, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttribute "}"'));
3312
- var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3313
- function JSXAttribute(state) {
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");
3314
3325
  if (state.tokenize) {
3315
- return $TOKEN("JSXAttribute", state, JSXAttribute$0(state) || JSXAttribute$1(state));
3326
+ return $TOKEN("Colon", state, Colon$0(state));
3316
3327
  } else {
3317
- return JSXAttribute$0(state) || JSXAttribute$1(state);
3328
+ return Colon$0(state);
3318
3329
  }
3319
3330
  }
3320
- var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L14, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
3321
- function JSXAttributeName(state) {
3331
+ var Dot$0 = $TV($EXPECT($L102, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
3332
+ return { $loc, token: $1 };
3333
+ });
3334
+ function Dot(state) {
3322
3335
  if (state.verbose)
3323
- console.log("ENTER:", "JSXAttributeName");
3336
+ console.log("ENTER:", "Dot");
3324
3337
  if (state.tokenize) {
3325
- return $TOKEN("JSXAttributeName", state, JSXAttributeName$0(state));
3338
+ return $TOKEN("Dot", state, Dot$0(state));
3326
3339
  } else {
3327
- return JSXAttributeName$0(state);
3340
+ return Dot$0(state);
3328
3341
  }
3329
3342
  }
3330
- var JSXAttributeInitializer$0 = $S(__, $EXPECT($L58, fail, 'JSXAttributeInitializer "="'), __, JSXAttributeValue);
3331
- function JSXAttributeInitializer(state) {
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) {
3332
3347
  if (state.verbose)
3333
- console.log("ENTER:", "JSXAttributeInitializer");
3348
+ console.log("ENTER:", "Else");
3334
3349
  if (state.tokenize) {
3335
- return $TOKEN("JSXAttributeInitializer", state, JSXAttributeInitializer$0(state));
3350
+ return $TOKEN("Else", state, Else$0(state));
3336
3351
  } else {
3337
- return JSXAttributeInitializer$0(state);
3352
+ return Else$0(state);
3338
3353
  }
3339
3354
  }
3340
- var JSXAttributeValue$0 = $R$0($EXPECT($R28, fail, 'JSXAttributeValue /"[^"]*"/'));
3341
- var JSXAttributeValue$1 = $R$0($EXPECT($R29, fail, "JSXAttributeValue /'[^']*'/"));
3342
- var JSXAttributeValue$2 = $S($EXPECT($L12, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L13, fail, 'JSXAttributeValue "}"'));
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
+ }
3667
+ var JSXElement$0 = JSXSelfClosingElement;
3668
+ var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
3669
+ if ($1[1] !== $4[2]) {
3670
+ throw new Error(`mismatched closing tags at ${JSON.stringify($loc)}`);
3671
+ }
3672
+ return $0;
3673
+ });
3674
+ function JSXElement(state) {
3675
+ if (state.tokenize) {
3676
+ return $TOKEN("JSXElement", state, JSXElement$0(state) || JSXElement$1(state));
3677
+ } else {
3678
+ return JSXElement$0(state) || JSXElement$1(state);
3679
+ }
3680
+ }
3681
+ var JSXSelfClosingElement$0 = $S($EXPECT($L5, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L126, fail, 'JSXSelfClosingElement "/>"'));
3682
+ function JSXSelfClosingElement(state) {
3683
+ if (state.verbose)
3684
+ console.log("ENTER:", "JSXSelfClosingElement");
3685
+ if (state.tokenize) {
3686
+ return $TOKEN("JSXSelfClosingElement", state, JSXSelfClosingElement$0(state));
3687
+ } else {
3688
+ return JSXSelfClosingElement$0(state);
3689
+ }
3690
+ }
3691
+ var JSXOpeningElement$0 = $S($EXPECT($L5, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L54, fail, 'JSXOpeningElement ">"'));
3692
+ function JSXOpeningElement(state) {
3693
+ if (state.verbose)
3694
+ console.log("ENTER:", "JSXOpeningElement");
3695
+ if (state.tokenize) {
3696
+ return $TOKEN("JSXOpeningElement", state, JSXOpeningElement$0(state));
3697
+ } else {
3698
+ return JSXOpeningElement$0(state);
3699
+ }
3700
+ }
3701
+ var JSXClosingElement$0 = $S($EXPECT($L127, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L54, fail, 'JSXClosingElement ">"'));
3702
+ function JSXClosingElement(state) {
3703
+ if (state.verbose)
3704
+ console.log("ENTER:", "JSXClosingElement");
3705
+ if (state.tokenize) {
3706
+ return $TOKEN("JSXClosingElement", state, JSXClosingElement$0(state));
3707
+ } else {
3708
+ return JSXClosingElement$0(state);
3709
+ }
3710
+ }
3711
+ var JSXFragment$0 = $S($EXPECT($L128, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L129, fail, 'JSXFragment "</>"'));
3712
+ function JSXFragment(state) {
3713
+ if (state.verbose)
3714
+ console.log("ENTER:", "JSXFragment");
3715
+ if (state.tokenize) {
3716
+ return $TOKEN("JSXFragment", state, JSXFragment$0(state));
3717
+ } else {
3718
+ return JSXFragment$0(state);
3719
+ }
3720
+ }
3721
+ var JSXElementName$0 = $S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName))));
3722
+ function JSXElementName(state) {
3723
+ if (state.verbose)
3724
+ console.log("ENTER:", "JSXElementName");
3725
+ if (state.tokenize) {
3726
+ return $TOKEN("JSXElementName", state, JSXElementName$0(state));
3727
+ } else {
3728
+ return JSXElementName$0(state);
3729
+ }
3730
+ }
3731
+ var JSXIdentifierName$0 = $R$0($EXPECT($R27, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
3732
+ function JSXIdentifierName(state) {
3733
+ if (state.verbose)
3734
+ console.log("ENTER:", "JSXIdentifierName");
3735
+ if (state.tokenize) {
3736
+ return $TOKEN("JSXIdentifierName", state, JSXIdentifierName$0(state));
3737
+ } else {
3738
+ return JSXIdentifierName$0(state);
3739
+ }
3740
+ }
3741
+ var JSXAttributes$0 = $Q($S(__, JSXAttribute));
3742
+ function JSXAttributes(state) {
3743
+ if (state.verbose)
3744
+ console.log("ENTER:", "JSXAttributes");
3745
+ if (state.tokenize) {
3746
+ return $TOKEN("JSXAttributes", state, JSXAttributes$0(state));
3747
+ } else {
3748
+ return JSXAttributes$0(state);
3749
+ }
3750
+ }
3751
+ var JSXAttribute$0 = $S(OpenBrace, __, $EXPECT($L18, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, CloseBrace);
3752
+ var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
3753
+ function JSXAttribute(state) {
3754
+ if (state.tokenize) {
3755
+ return $TOKEN("JSXAttribute", state, JSXAttribute$0(state) || JSXAttribute$1(state));
3756
+ } else {
3757
+ return JSXAttribute$0(state) || JSXAttribute$1(state);
3758
+ }
3759
+ }
3760
+ var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S(Colon, JSXIdentifierName)));
3761
+ function JSXAttributeName(state) {
3762
+ if (state.verbose)
3763
+ console.log("ENTER:", "JSXAttributeName");
3764
+ if (state.tokenize) {
3765
+ return $TOKEN("JSXAttributeName", state, JSXAttributeName$0(state));
3766
+ } else {
3767
+ return JSXAttributeName$0(state);
3768
+ }
3769
+ }
3770
+ var JSXAttributeInitializer$0 = $S(__, Equals, __, JSXAttributeValue);
3771
+ function JSXAttributeInitializer(state) {
3772
+ if (state.verbose)
3773
+ console.log("ENTER:", "JSXAttributeInitializer");
3774
+ if (state.tokenize) {
3775
+ return $TOKEN("JSXAttributeInitializer", state, JSXAttributeInitializer$0(state));
3776
+ } else {
3777
+ return JSXAttributeInitializer$0(state);
3778
+ }
3779
+ }
3780
+ var JSXAttributeValue$0 = $R$0($EXPECT($R28, fail, 'JSXAttributeValue /"[^"]*"/'));
3781
+ var JSXAttributeValue$1 = $R$0($EXPECT($R29, fail, "JSXAttributeValue /'[^']*'/"));
3782
+ var JSXAttributeValue$2 = $S(OpenBrace, __, AssignmentExpression, __, CloseBrace);
3343
3783
  var JSXAttributeValue$3 = JSXElement;
3344
3784
  var JSXAttributeValue$4 = JSXFragment;
3345
3785
  function JSXAttributeValue(state) {
@@ -3362,7 +3802,7 @@ var require_parser = __commonJS({
3362
3802
  var JSXChild$0 = JSXText;
3363
3803
  var JSXChild$1 = JSXElement;
3364
3804
  var JSXChild$2 = JSXFragment;
3365
- var JSXChild$3 = $S($EXPECT($L12, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L13, fail, 'JSXChild "}"'));
3805
+ var JSXChild$3 = $S(OpenBrace, $E(JSXChildExpression), __, CloseBrace);
3366
3806
  function JSXChild(state) {
3367
3807
  if (state.tokenize) {
3368
3808
  return $TOKEN("JSXChild", state, JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state));
@@ -3380,7 +3820,7 @@ var require_parser = __commonJS({
3380
3820
  return JSXText$0(state);
3381
3821
  }
3382
3822
  }
3383
- var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L34, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3823
+ var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L18, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
3384
3824
  function JSXChildExpression(state) {
3385
3825
  if (state.verbose)
3386
3826
  console.log("ENTER:", "JSXChildExpression");
@@ -3403,7 +3843,7 @@ var require_parser = __commonJS({
3403
3843
  }
3404
3844
  }
3405
3845
  var TypeDeclarationModifier$0 = $S($EXPECT($L130, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
3406
- var TypeDeclarationModifier$1 = $S($EXPECT($L115, fail, 'TypeDeclarationModifier "export"'), NonIdContinue);
3846
+ var TypeDeclarationModifier$1 = Export;
3407
3847
  function TypeDeclarationModifier(state) {
3408
3848
  if (state.tokenize) {
3409
3849
  return $TOKEN("TypeDeclarationModifier", state, TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state));
@@ -3411,7 +3851,7 @@ var require_parser = __commonJS({
3411
3851
  return TypeDeclarationModifier$0(state) || TypeDeclarationModifier$1(state);
3412
3852
  }
3413
3853
  }
3414
- 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);
3415
3855
  var TypeDeclarationRest$1 = $S(Interface, $Q(TrailingComment), IdentifierName, InterfaceBlock);
3416
3856
  var TypeDeclarationRest$2 = $S(Namespace, $Q(TrailingComment), IdentifierName, NamespaceBlock);
3417
3857
  function TypeDeclarationRest(state) {
@@ -3451,8 +3891,8 @@ var require_parser = __commonJS({
3451
3891
  return Namespace$0(state);
3452
3892
  }
3453
3893
  }
3454
- var InterfaceBlock$0 = $S(__, $EXPECT($L12, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L13, fail, 'InterfaceBlock "}"'));
3455
- 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);
3456
3896
  var InterfaceBlock$2 = $S(InsertOpenBrace, EOS, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
3457
3897
  function InterfaceBlock(state) {
3458
3898
  if (state.tokenize) {
@@ -3495,13 +3935,13 @@ var require_parser = __commonJS({
3495
3935
  return InterfaceProperty$0(state) || InterfaceProperty$1(state);
3496
3936
  }
3497
3937
  }
3498
- var InterfacePropertyDelimiter$0 = $S($Q(_), $EXPECT($L90, fail, 'InterfacePropertyDelimiter ";"'));
3499
- var InterfacePropertyDelimiter$1 = $Y($S($Q(_), $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"')));
3500
- var InterfacePropertyDelimiter$2 = $T($Y($S(__, $EXPECT($L13, fail, 'InterfacePropertyDelimiter "}"'))), function(value) {
3501
- 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: ";" };
3502
3942
  });
3503
- var InterfacePropertyDelimiter$3 = $T($Y(EOS), function(value) {
3504
- return ";";
3943
+ var InterfacePropertyDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
3944
+ return { $loc, token: ";" };
3505
3945
  });
3506
3946
  function InterfacePropertyDelimiter(state) {
3507
3947
  if (state.tokenize) {
@@ -3510,8 +3950,8 @@ var require_parser = __commonJS({
3510
3950
  return InterfacePropertyDelimiter$0(state) || InterfacePropertyDelimiter$1(state) || InterfacePropertyDelimiter$2(state) || InterfacePropertyDelimiter$3(state);
3511
3951
  }
3512
3952
  }
3513
- var NamespaceBlock$0 = $S(__, $EXPECT($L12, fail, 'NamespaceBlock "{"'), EOS, NestedTypeDeclarations, __, $EXPECT($L13, fail, 'NamespaceBlock "}"'));
3514
- 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);
3515
3955
  var NamespaceBlock$2 = $S(InsertOpenBrace, EOS, NestedTypeDeclarations, InsertNewline, InsertIndent, InsertCloseBrace);
3516
3956
  function NamespaceBlock(state) {
3517
3957
  if (state.tokenize) {
@@ -3545,7 +3985,7 @@ var require_parser = __commonJS({
3545
3985
  return NestedTypeDeclaration$0(state);
3546
3986
  }
3547
3987
  }
3548
- 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)));
3549
3989
  function TypeIndexSignature(state) {
3550
3990
  if (state.verbose)
3551
3991
  console.log("ENTER:", "TypeIndexSignature");
@@ -3556,7 +3996,7 @@ var require_parser = __commonJS({
3556
3996
  }
3557
3997
  }
3558
3998
  var TypeIndex$0 = $S(__, Identifier, TypeSuffix);
3559
- 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)));
3560
4000
  function TypeIndex(state) {
3561
4001
  if (state.tokenize) {
3562
4002
  return $TOKEN("TypeIndex", state, TypeIndex$0(state) || TypeIndex$1(state));
@@ -3564,7 +4004,7 @@ var require_parser = __commonJS({
3564
4004
  return TypeIndex$0(state) || TypeIndex$1(state);
3565
4005
  }
3566
4006
  }
3567
- 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) {
3568
4008
  return { "ts": true, "children": value };
3569
4009
  });
3570
4010
  function TypeSuffix(state) {
@@ -3576,7 +4016,7 @@ var require_parser = __commonJS({
3576
4016
  return TypeSuffix$0(state);
3577
4017
  }
3578
4018
  }
3579
- 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) {
3580
4020
  return { "ts": true, "children": value };
3581
4021
  });
3582
4022
  function ReturnTypeSuffix(state) {
@@ -3588,7 +4028,7 @@ var require_parser = __commonJS({
3588
4028
  return ReturnTypeSuffix$0(state);
3589
4029
  }
3590
4030
  }
3591
- 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)));
3592
4032
  function TypePredicate(state) {
3593
4033
  if (state.verbose)
3594
4034
  console.log("ENTER:", "TypePredicate");
@@ -3608,7 +4048,7 @@ var require_parser = __commonJS({
3608
4048
  return Type$0(state);
3609
4049
  }
3610
4050
  }
3611
- var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, TypeUnary)));
4051
+ var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, __, TypeUnary)));
3612
4052
  function TypeBinary(state) {
3613
4053
  if (state.verbose)
3614
4054
  console.log("ENTER:", "TypeBinary");
@@ -3639,7 +4079,7 @@ var require_parser = __commonJS({
3639
4079
  }
3640
4080
  }
3641
4081
  var TypeUnaryOp$0 = $EXPECT($L136, fail, 'TypeUnaryOp "keyof"');
3642
- var TypeUnaryOp$1 = $EXPECT($L87, fail, 'TypeUnaryOp "typeof"');
4082
+ var TypeUnaryOp$1 = $EXPECT($L72, fail, 'TypeUnaryOp "typeof"');
3643
4083
  var TypeUnaryOp$2 = $EXPECT($L137, fail, 'TypeUnaryOp "infer"');
3644
4084
  function TypeUnaryOp(state) {
3645
4085
  if (state.tokenize) {
@@ -3648,7 +4088,7 @@ var require_parser = __commonJS({
3648
4088
  return TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state);
3649
4089
  }
3650
4090
  }
3651
- var TypeIndexedAccess$0 = $S(__, $EXPECT($L27, fail, 'TypeIndexedAccess "["'), $E(Type), __, $EXPECT($L28, fail, 'TypeIndexedAccess "]"'));
4091
+ var TypeIndexedAccess$0 = $S(__, OpenBracket, $E(Type), __, CloseBracket);
3652
4092
  function TypeIndexedAccess(state) {
3653
4093
  if (state.verbose)
3654
4094
  console.log("ENTER:", "TypeIndexedAccess");
@@ -3659,9 +4099,9 @@ var require_parser = __commonJS({
3659
4099
  }
3660
4100
  }
3661
4101
  var TypePrimary$0 = InterfaceBlock;
3662
- var TypePrimary$1 = $S(__, $EXPECT($L1, fail, 'TypePrimary "("'), Type, __, $EXPECT($L2, fail, 'TypePrimary ")"'));
4102
+ var TypePrimary$1 = $S(__, OpenParen, Type, __, CloseParen);
3663
4103
  var TypePrimary$2 = $S($Q(_), FunctionType);
3664
- 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));
3665
4105
  var TypePrimary$4 = $S($Q(_), TypeLiteral);
3666
4106
  function TypePrimary(state) {
3667
4107
  if (state.tokenize) {
@@ -3670,7 +4110,7 @@ var require_parser = __commonJS({
3670
4110
  return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3671
4111
  }
3672
4112
  }
3673
- 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)))));
3674
4114
  function TypeConditional(state) {
3675
4115
  if (state.verbose)
3676
4116
  console.log("ENTER:", "TypeConditional");
@@ -3681,7 +4121,7 @@ var require_parser = __commonJS({
3681
4121
  }
3682
4122
  }
3683
4123
  var TypeLiteral$0 = Literal;
3684
- var TypeLiteral$1 = $EXPECT($L86, fail, 'TypeLiteral "void"');
4124
+ var TypeLiteral$1 = $EXPECT($L71, fail, 'TypeLiteral "void"');
3685
4125
  var TypeLiteral$2 = $EXPECT($L138, fail, 'TypeLiteral "[]"');
3686
4126
  function TypeLiteral(state) {
3687
4127
  if (state.tokenize) {
@@ -3690,8 +4130,8 @@ var require_parser = __commonJS({
3690
4130
  return TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state);
3691
4131
  }
3692
4132
  }
3693
- var TypeBinaryOp$0 = $EXPECT($L84, fail, 'TypeBinaryOp "|"');
3694
- var TypeBinaryOp$1 = $EXPECT($L82, fail, 'TypeBinaryOp "&"');
4133
+ var TypeBinaryOp$0 = $EXPECT($L69, fail, 'TypeBinaryOp "|"');
4134
+ var TypeBinaryOp$1 = $EXPECT($L67, fail, 'TypeBinaryOp "&"');
3695
4135
  function TypeBinaryOp(state) {
3696
4136
  if (state.tokenize) {
3697
4137
  return $TOKEN("TypeBinaryOp", state, TypeBinaryOp$0(state) || TypeBinaryOp$1(state));
@@ -3699,7 +4139,7 @@ var require_parser = __commonJS({
3699
4139
  return TypeBinaryOp$0(state) || TypeBinaryOp$1(state);
3700
4140
  }
3701
4141
  }
3702
- var FunctionType$0 = $S(Parameters, __, $EXPECT($L11, fail, 'FunctionType "=>"'), Type);
4142
+ var FunctionType$0 = $S(Parameters, __, $EXPECT($L4, fail, 'FunctionType "=>"'), Type);
3703
4143
  function FunctionType(state) {
3704
4144
  if (state.verbose)
3705
4145
  console.log("ENTER:", "FunctionType");
@@ -3709,7 +4149,7 @@ var require_parser = __commonJS({
3709
4149
  return FunctionType$0(state);
3710
4150
  }
3711
4151
  }
3712
- 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 ">"'));
3713
4153
  function TypeArguments(state) {
3714
4154
  if (state.verbose)
3715
4155
  console.log("ENTER:", "TypeArguments");
@@ -3719,7 +4159,7 @@ var require_parser = __commonJS({
3719
4159
  return TypeArguments$0(state);
3720
4160
  }
3721
4161
  }
3722
- 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) {
3723
4163
  return { ts: true, children: $0 };
3724
4164
  });
3725
4165
  function TypeParameters(state) {
@@ -3741,7 +4181,7 @@ var require_parser = __commonJS({
3741
4181
  return TypeParameter$0(state);
3742
4182
  }
3743
4183
  }
3744
- var TypeConstraint$0 = $S(__, $EXPECT($L17, fail, 'TypeConstraint "extends"'), Type);
4184
+ var TypeConstraint$0 = $S(__, $EXPECT($L6, fail, 'TypeConstraint "extends"'), Type);
3745
4185
  function TypeConstraint(state) {
3746
4186
  if (state.verbose)
3747
4187
  console.log("ENTER:", "TypeConstraint");
@@ -3751,13 +4191,13 @@ var require_parser = __commonJS({
3751
4191
  return TypeConstraint$0(state);
3752
4192
  }
3753
4193
  }
3754
- var TypeParameterDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'TypeParameterDelimiter ","'));
3755
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L69, fail, 'TypeParameterDelimiter ">"')));
3756
- var TypeParameterDelimiter$2 = $T($Y($S(__, $EXPECT($L69, fail, 'TypeParameterDelimiter ">"'))), function(value) {
3757
- 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: "," };
3758
4198
  });
3759
- var TypeParameterDelimiter$3 = $T($Y(EOS), function(value) {
3760
- return ",";
4199
+ var TypeParameterDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
4200
+ return { $loc, token: "," };
3761
4201
  });
3762
4202
  function TypeParameterDelimiter(state) {
3763
4203
  if (state.tokenize) {
@@ -3816,7 +4256,7 @@ var require_parser = __commonJS({
3816
4256
  return EOF$0(state);
3817
4257
  }
3818
4258
  }
3819
- 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) {
3820
4260
  debugger;
3821
4261
  });
3822
4262
  function Debugger(state) {
@@ -3828,8 +4268,8 @@ var require_parser = __commonJS({
3828
4268
  return Debugger$0(state);
3829
4269
  }
3830
4270
  }
3831
- var InsertOpenParen$0 = $T($EXPECT($L33, fail, 'InsertOpenParen ""'), function(value) {
3832
- return "(";
4271
+ var InsertOpenParen$0 = $TV($EXPECT($L16, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
4272
+ return { $loc, token: "(" };
3833
4273
  });
3834
4274
  function InsertOpenParen(state) {
3835
4275
  if (state.verbose)
@@ -3840,8 +4280,8 @@ var require_parser = __commonJS({
3840
4280
  return InsertOpenParen$0(state);
3841
4281
  }
3842
4282
  }
3843
- var InsertCloseParen$0 = $T($EXPECT($L33, fail, 'InsertCloseParen ""'), function(value) {
3844
- return ")";
4283
+ var InsertCloseParen$0 = $TV($EXPECT($L16, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
4284
+ return { $loc, token: ")" };
3845
4285
  });
3846
4286
  function InsertCloseParen(state) {
3847
4287
  if (state.verbose)
@@ -3852,8 +4292,8 @@ var require_parser = __commonJS({
3852
4292
  return InsertCloseParen$0(state);
3853
4293
  }
3854
4294
  }
3855
- var InsertOpenBrace$0 = $T($EXPECT($L33, fail, 'InsertOpenBrace ""'), function(value) {
3856
- return " {";
4295
+ var InsertOpenBrace$0 = $TV($EXPECT($L16, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
4296
+ return [{ $loc, token: " " }, { $loc, token: "{" }];
3857
4297
  });
3858
4298
  function InsertOpenBrace(state) {
3859
4299
  if (state.verbose)
@@ -3864,8 +4304,8 @@ var require_parser = __commonJS({
3864
4304
  return InsertOpenBrace$0(state);
3865
4305
  }
3866
4306
  }
3867
- var InsertCloseBrace$0 = $T($EXPECT($L33, fail, 'InsertCloseBrace ""'), function(value) {
3868
- return "}";
4307
+ var InsertCloseBrace$0 = $TV($EXPECT($L16, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
4308
+ return { $loc, token: "}" };
3869
4309
  });
3870
4310
  function InsertCloseBrace(state) {
3871
4311
  if (state.verbose)
@@ -3876,7 +4316,31 @@ var require_parser = __commonJS({
3876
4316
  return InsertCloseBrace$0(state);
3877
4317
  }
3878
4318
  }
3879
- var InsertNewline$0 = $TV($EXPECT($L33, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
4319
+ var InsertConst$0 = $TV($EXPECT($L16, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
4320
+ return { $loc, token: "const " };
4321
+ });
4322
+ function InsertConst(state) {
4323
+ if (state.verbose)
4324
+ console.log("ENTER:", "InsertConst");
4325
+ if (state.tokenize) {
4326
+ return $TOKEN("InsertConst", state, InsertConst$0(state));
4327
+ } else {
4328
+ return InsertConst$0(state);
4329
+ }
4330
+ }
4331
+ var InsertReadonly$0 = $TV($EXPECT($L16, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
4332
+ return { ts: true, children: [{ $loc, token: "readonly " }] };
4333
+ });
4334
+ function InsertReadonly(state) {
4335
+ if (state.verbose)
4336
+ console.log("ENTER:", "InsertReadonly");
4337
+ if (state.tokenize) {
4338
+ return $TOKEN("InsertReadonly", state, InsertReadonly$0(state));
4339
+ } else {
4340
+ return InsertReadonly$0(state);
4341
+ }
4342
+ }
4343
+ var InsertNewline$0 = $TV($EXPECT($L16, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
3880
4344
  return "\n";
3881
4345
  });
3882
4346
  function InsertNewline(state) {
@@ -3888,7 +4352,7 @@ var require_parser = __commonJS({
3888
4352
  return InsertNewline$0(state);
3889
4353
  }
3890
4354
  }
3891
- 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) {
3892
4356
  return "".padStart(global.currentIndent * 2);
3893
4357
  });
3894
4358
  function InsertIndent(state) {
@@ -3900,8 +4364,8 @@ var require_parser = __commonJS({
3900
4364
  return InsertIndent$0(state);
3901
4365
  }
3902
4366
  }
3903
- var InsertSpace$0 = $T($EXPECT($L33, fail, 'InsertSpace ""'), function(value) {
3904
- return " ";
4367
+ var InsertSpace$0 = $TV($EXPECT($L16, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
4368
+ return { $loc, token: " " };
3905
4369
  });
3906
4370
  function InsertSpace(state) {
3907
4371
  if (state.verbose)
@@ -3912,8 +4376,8 @@ var require_parser = __commonJS({
3912
4376
  return InsertSpace$0(state);
3913
4377
  }
3914
4378
  }
3915
- var InsertDot$0 = $T($EXPECT($L33, fail, 'InsertDot ""'), function(value) {
3916
- return ".";
4379
+ var InsertDot$0 = $TV($EXPECT($L16, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
4380
+ return { $loc, token: "." };
3917
4381
  });
3918
4382
  function InsertDot(state) {
3919
4383
  if (state.verbose)
@@ -3924,8 +4388,8 @@ var require_parser = __commonJS({
3924
4388
  return InsertDot$0(state);
3925
4389
  }
3926
4390
  }
3927
- var InsertBreak$0 = $T($EXPECT($L33, fail, 'InsertBreak ""'), function(value) {
3928
- return "break;";
4391
+ var InsertBreak$0 = $TV($EXPECT($L16, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
4392
+ return { $loc, token: "break;" };
3929
4393
  });
3930
4394
  function InsertBreak(state) {
3931
4395
  if (state.verbose)
@@ -3936,7 +4400,7 @@ var require_parser = __commonJS({
3936
4400
  return InsertBreak$0(state);
3937
4401
  }
3938
4402
  }
3939
- 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) {
3940
4404
  var directives = $2;
3941
4405
  global.currentIndent = 0;
3942
4406
  global.indentLevels = [0];
@@ -3945,13 +4409,19 @@ var require_parser = __commonJS({
3945
4409
  const compatRe = /use coffee-compat/;
3946
4410
  module2.coffeeCompat = directives.some((d) => d[1].token?.match(compatRe));
3947
4411
  }
3948
- module2.dedentBlockString = function(str) {
4412
+ module2.dedentBlockString = function({ $loc: $loc2, token: str }) {
3949
4413
  const spacing = str.match(/^(\r?\n|\n)\s+/);
3950
4414
  if (spacing) {
3951
4415
  str = str.replaceAll(spacing[0], "\n");
4416
+ const l = spacing.length;
4417
+ $loc2.pos += l;
4418
+ $loc2.length -= l;
3952
4419
  }
3953
4420
  str = str.replace(/^(\r?\n|\n)/, "").replace(/(\r?\n|\n)[ \t]*$/, "").replace(/(`|\$)/g, "\\$1");
3954
- return str;
4421
+ return {
4422
+ $loc: $loc2,
4423
+ token: str
4424
+ };
3955
4425
  };
3956
4426
  return $0;
3957
4427
  });
@@ -3976,7 +4446,7 @@ var require_parser = __commonJS({
3976
4446
  return Indent$0(state);
3977
4447
  }
3978
4448
  }
3979
- 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) {
3980
4450
  global.currentIndent++;
3981
4451
  if (global.verbose) {
3982
4452
  console.log("pushing indent", global.currentIndent);
@@ -3993,7 +4463,7 @@ var require_parser = __commonJS({
3993
4463
  return PushIndent$0(state);
3994
4464
  }
3995
4465
  }
3996
- 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) {
3997
4467
  if (global.verbose) {
3998
4468
  console.log("popping indent", global.indentLevels[global.indentLevels.length - 1], "->", global.indentLevels[global.indentLevels.length - 2]);
3999
4469
  }
@@ -4145,15 +4615,24 @@ var require_generate = __commonJS({
4145
4615
  // source/util.coffee
4146
4616
  var require_util = __commonJS({
4147
4617
  "source/util.coffee"(exports2, module2) {
4618
+ "use strict";
4148
4619
  var BASE64_CHARS;
4149
4620
  var SourceMap2;
4150
4621
  var VLQ_CONTINUATION_BIT;
4151
4622
  var VLQ_SHIFT;
4152
4623
  var VLQ_VALUE_MASK;
4624
+ var base64Encode2;
4625
+ var decodeError;
4626
+ var decodeVLQ;
4153
4627
  var encodeBase64;
4154
4628
  var encodeVlq;
4155
4629
  var locationTable;
4156
4630
  var lookupLineColumn;
4631
+ var prettySourceExcerpt;
4632
+ var remapPosition;
4633
+ var smRegexp;
4634
+ var vlqChars;
4635
+ var vlqTable;
4157
4636
  locationTable = function(input) {
4158
4637
  var line, lines, linesRe, pos, result;
4159
4638
  linesRe = /([^\r\n]*)(\r\n|\r|\n|$)/y;
@@ -4190,6 +4669,9 @@ var require_util = __commonJS({
4190
4669
  EOL = /\r?\n|\r/;
4191
4670
  return {
4192
4671
  data: sm,
4672
+ source: function() {
4673
+ return sourceString;
4674
+ },
4193
4675
  renderMappings: function() {
4194
4676
  var lastSourceColumn, lastSourceLine;
4195
4677
  lastSourceLine = 0;
@@ -4221,20 +4703,23 @@ var require_util = __commonJS({
4221
4703
  };
4222
4704
  },
4223
4705
  updateSourceMap: function(outputStr, inputPos) {
4224
- var outLines;
4706
+ var outLines, srcCol, srcLine;
4225
4707
  outLines = outputStr.split(EOL);
4708
+ if (inputPos != null) {
4709
+ [srcLine, srcCol] = lookupLineColumn(srcTable, inputPos);
4710
+ }
4226
4711
  outLines.forEach(function(line, i) {
4227
- var l, srcCol, srcLine;
4712
+ var l;
4228
4713
  if (i > 0) {
4229
4714
  sm.lineNum++;
4230
4715
  sm.colOffset = 0;
4231
4716
  sm.lines[sm.lineNum] = [];
4717
+ srcCol = 0;
4232
4718
  }
4233
4719
  l = sm.colOffset;
4234
4720
  sm.colOffset = line.length;
4235
4721
  if (inputPos != null) {
4236
- [srcLine, srcCol] = lookupLineColumn(srcTable, inputPos);
4237
- return sm.lines[sm.lineNum].push([l, 0, srcLine, srcCol]);
4722
+ return sm.lines[sm.lineNum].push([l, 0, srcLine + i, srcCol]);
4238
4723
  } else if (l !== 0) {
4239
4724
  return sm.lines[sm.lineNum].push([l]);
4240
4725
  }
@@ -4242,6 +4727,95 @@ var require_util = __commonJS({
4242
4727
  }
4243
4728
  };
4244
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
+ };
4245
4819
  VLQ_SHIFT = 5;
4246
4820
  VLQ_CONTINUATION_BIT = 1 << VLQ_SHIFT;
4247
4821
  VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
@@ -4266,12 +4840,107 @@ var require_util = __commonJS({
4266
4840
  throw new Error(`Cannot Base64 encode value: ${value}`);
4267
4841
  }();
4268
4842
  };
4269
- 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
+ };
4270
4938
  }
4271
4939
  });
4272
4940
 
4273
4941
  // source/main.coffee
4274
4942
  var SourceMap;
4943
+ var base64Encode;
4275
4944
  var defaultOptions;
4276
4945
  var gen;
4277
4946
  var parse;
@@ -4279,23 +4948,34 @@ var prune;
4279
4948
  var util;
4280
4949
  ({ parse } = require_parser());
4281
4950
  ({ prune } = gen = require_generate());
4282
- ({ SourceMap } = util = require_util());
4951
+ ({ SourceMap, base64Encode } = util = require_util());
4283
4952
  defaultOptions = {};
4284
4953
  module.exports = {
4285
4954
  parse,
4286
4955
  compile: function(src, options = defaultOptions) {
4287
- var ast, code, sm;
4956
+ var ast, code, filename, sm, srcMapJSON;
4957
+ filename = options.filename || "unknown";
4288
4958
  ast = prune(parse(src, {
4289
- filename: options.filename
4959
+ filename
4290
4960
  }));
4291
- if (options.sourceMap) {
4961
+ if (options.ast) {
4962
+ return ast;
4963
+ }
4964
+ if (options.sourceMap || options.inlineMap) {
4292
4965
  sm = SourceMap(src);
4293
4966
  options.updateSourceMap = sm.updateSourceMap;
4294
4967
  code = gen(ast, options);
4295
- return {
4296
- code,
4297
- sourceMap: sm
4298
- };
4968
+ if (options.inlineMap) {
4969
+ srcMapJSON = sm.json(filename, "");
4970
+ return `${code}
4971
+ ${"//#"} sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(srcMapJSON))}
4972
+ `;
4973
+ } else {
4974
+ return {
4975
+ code,
4976
+ sourceMap: sm
4977
+ };
4978
+ }
4299
4979
  }
4300
4980
  return gen(ast, options);
4301
4981
  },