@danielx/civet 0.4.19-pre.11 → 0.4.19-pre.13

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
@@ -399,15 +399,14 @@ ${input.slice(result.pos)}
399
399
  ExpressionizedStatement,
400
400
  Expression,
401
401
  Arguments,
402
+ ApplicationStart,
402
403
  ArgumentsWithTrailingCallExpressions,
403
404
  ArgumentList,
404
405
  NestedArgumentList,
405
406
  NestedArgument,
406
407
  InlineArgumentExpressions,
408
+ SingleLineArgumentExpressions,
407
409
  ArgumentPart,
408
- ImplicitApplication,
409
- ApplicationStart,
410
- IndentedApplicationAllowed,
411
410
  BinaryOpExpression,
412
411
  BinaryOpRHS,
413
412
  ParenthesizedAssignment,
@@ -449,6 +448,7 @@ ${input.slice(result.pos)}
449
448
  MemberExpression,
450
449
  MemberExpressionRest,
451
450
  MemberBracketContent,
451
+ SliceParameters,
452
452
  PropertyAccess,
453
453
  SuperProperty,
454
454
  MetaProperty,
@@ -509,7 +509,9 @@ ${input.slice(result.pos)}
509
509
  ObjectLiteral,
510
510
  BracedObjectLiteral,
511
511
  BracedObjectLiteralContent,
512
- NestedObjectLiteral,
512
+ NestedImplicitObjectLiteral,
513
+ NestedImplicitPropertyDefinitions,
514
+ NestedImplicitPropertyDefinition,
513
515
  NestedPropertyDefinitions,
514
516
  NestedPropertyDefinition,
515
517
  InlineObjectLiteral,
@@ -526,6 +528,7 @@ ${input.slice(result.pos)}
526
528
  PrivateIdentifier,
527
529
  AssignmentOp,
528
530
  AssignmentOpSymbol,
531
+ CoffeeWordAssignmentOp,
529
532
  BinaryOp,
530
533
  BinaryOpSymbol,
531
534
  UnaryOp,
@@ -580,8 +583,6 @@ ${input.slice(result.pos)}
580
583
  Finally,
581
584
  CatchParameter,
582
585
  Condition,
583
- ExpressionWithIndentedApplicationSuppressed,
584
- SuppressIndentedApplication,
585
586
  ExpressionStatement,
586
587
  KeywordStatement,
587
588
  DebuggerExpression,
@@ -630,6 +631,12 @@ ${input.slice(result.pos)}
630
631
  CoffeeInterpolatedDoubleQuotedString,
631
632
  CoffeeDoubleQuotedStringCharacters,
632
633
  RegularExpressionLiteral,
634
+ RegularExpressionClass,
635
+ RegularExpressionClassCharacters,
636
+ HeregexLiteral,
637
+ HeregexBody,
638
+ HeregexPart,
639
+ HeregexComment,
633
640
  RegularExpressionBody,
634
641
  RegExpCharacter,
635
642
  RegularExpressionFlags,
@@ -640,6 +647,7 @@ ${input.slice(result.pos)}
640
647
  ReservedWord,
641
648
  Comment,
642
649
  SingleLineComment,
650
+ JSSingleLineComment,
643
651
  MultiLineComment,
644
652
  JSMultiLineComment,
645
653
  CoffeeSingleLineComment,
@@ -710,6 +718,7 @@ ${input.slice(result.pos)}
710
718
  Throw,
711
719
  TripleDoubleQuote,
712
720
  TripleSingleQuote,
721
+ TripleSlash,
713
722
  TripleTick,
714
723
  Try,
715
724
  Typeof,
@@ -806,6 +815,7 @@ ${input.slice(result.pos)}
806
815
  CoffeeLineContinuationEnabled,
807
816
  CoffeeNotEnabled,
808
817
  CoffeeOfEnabled,
818
+ CoffeeWordAssignmentEnabled,
809
819
  Reset,
810
820
  Init,
811
821
  Indent,
@@ -816,31 +826,31 @@ ${input.slice(result.pos)}
816
826
  PopIndent,
817
827
  Nested
818
828
  });
819
- var $L0 = $L(",");
820
- var $L1 = $L("");
821
- var $L2 = $L("++");
822
- var $L3 = $L("--");
823
- var $L4 = $L("=>");
824
- var $L5 = $L(" ");
825
- var $L6 = $L("<");
826
- var $L7 = $L("extends");
827
- var $L8 = $L("this");
828
- var $L9 = $L("#");
829
- var $L10 = $L(".");
830
- var $L11 = $L("super");
831
- var $L12 = $L("import");
832
- var $L13 = $L("!");
833
- var $L14 = $L("super[");
834
- var $L15 = $L("import.meta");
835
- var $L16 = $L(")");
836
- var $L17 = $L("->");
837
- var $L18 = $L("null");
838
- var $L19 = $L("true");
839
- var $L20 = $L("false");
840
- var $L21 = $L("yes");
841
- var $L22 = $L("on");
842
- var $L23 = $L("no");
843
- var $L24 = $L("off");
829
+ var $L0 = $L("++");
830
+ var $L1 = $L("--");
831
+ var $L2 = $L("=>");
832
+ var $L3 = $L(" ");
833
+ var $L4 = $L("<");
834
+ var $L5 = $L("extends");
835
+ var $L6 = $L("this");
836
+ var $L7 = $L("#");
837
+ var $L8 = $L(".");
838
+ var $L9 = $L("super");
839
+ var $L10 = $L("import");
840
+ var $L11 = $L("!");
841
+ var $L12 = $L("super[");
842
+ var $L13 = $L("import.meta");
843
+ var $L14 = $L("");
844
+ var $L15 = $L(")");
845
+ var $L16 = $L("->");
846
+ var $L17 = $L("null");
847
+ var $L18 = $L("true");
848
+ var $L19 = $L("false");
849
+ var $L20 = $L("yes");
850
+ var $L21 = $L("on");
851
+ var $L22 = $L("no");
852
+ var $L23 = $L("off");
853
+ var $L24 = $L(",");
844
854
  var $L25 = $L("]");
845
855
  var $L26 = $L("}");
846
856
  var $L27 = $L("**=");
@@ -860,118 +870,121 @@ ${input.slice(result.pos)}
860
870
  var $L41 = $L("??=");
861
871
  var $L42 = $L("?=");
862
872
  var $L43 = $L("=");
863
- var $L44 = $L("**");
864
- var $L45 = $L("*");
865
- var $L46 = $L("/");
866
- var $L47 = $L("%");
867
- var $L48 = $L("+");
868
- var $L49 = $L("-");
869
- var $L50 = $L("<=");
870
- var $L51 = $L(">=");
871
- var $L52 = $L("<<");
872
- var $L53 = $L(">>>");
873
- var $L54 = $L(">>");
874
- var $L55 = $L(">");
875
- var $L56 = $L("!==");
876
- var $L57 = $L("!=");
877
- var $L58 = $L("isnt");
878
- var $L59 = $L("is");
879
- var $L60 = $L("===");
880
- var $L61 = $L("==");
881
- var $L62 = $L("and");
882
- var $L63 = $L("&&");
883
- var $L64 = $L("of");
884
- var $L65 = $L("or");
885
- var $L66 = $L("||");
886
- var $L67 = $L("??");
887
- var $L68 = $L("?");
888
- var $L69 = $L("instanceof");
889
- var $L70 = $L("in");
890
- var $L71 = $L("not");
891
- var $L72 = $L("&");
892
- var $L73 = $L("^");
893
- var $L74 = $L("|");
894
- var $L75 = $L(";");
895
- var $L76 = $L("own");
896
- var $L77 = $L("finally");
897
- var $L78 = $L("break");
898
- var $L79 = $L("continue");
899
- var $L80 = $L("debugger");
900
- var $L81 = $L("import type");
901
- var $L82 = $L("default");
902
- var $L83 = $L(":=");
903
- var $L84 = $L("/*");
904
- var $L85 = $L("*/");
905
- var $L86 = $L("###");
906
- var $L87 = $L("\\");
907
- var $L88 = $L("as");
908
- var $L89 = $L("@");
909
- var $L90 = $L("async");
910
- var $L91 = $L("await");
911
- var $L92 = $L("`");
912
- var $L93 = $L("by");
913
- var $L94 = $L("case");
914
- var $L95 = $L("catch");
915
- var $L96 = $L("class");
916
- var $L97 = $L("#{");
917
- var $L98 = $L(":");
918
- var $L99 = $L("delete");
919
- var $L100 = $L("do");
920
- var $L101 = $L("..");
921
- var $L102 = $L("...");
922
- var $L103 = $L("::");
923
- var $L104 = $L('"');
924
- var $L105 = $L("else");
925
- var $L106 = $L("export");
926
- var $L107 = $L("for");
927
- var $L108 = $L("from");
928
- var $L109 = $L("function");
929
- var $L110 = $L("get");
930
- var $L111 = $L("set");
931
- var $L112 = $L("if");
932
- var $L113 = $L("let");
933
- var $L114 = $L("const");
934
- var $L115 = $L("loop");
935
- var $L116 = $L("new");
936
- var $L117 = $L("{");
937
- var $L118 = $L("[");
938
- var $L119 = $L("(");
939
- var $L120 = $L("return");
940
- var $L121 = $L("'");
941
- var $L122 = $L("static");
942
- var $L123 = $L("${");
943
- var $L124 = $L("switch");
944
- var $L125 = $L("target");
945
- var $L126 = $L("then");
946
- var $L127 = $L("throw");
947
- var $L128 = $L('"""');
948
- var $L129 = $L("'''");
949
- var $L130 = $L("```");
950
- var $L131 = $L("try");
951
- var $L132 = $L("typeof");
952
- var $L133 = $L("unless");
953
- var $L134 = $L("until");
954
- var $L135 = $L("var");
955
- var $L136 = $L("void");
956
- var $L137 = $L("when");
957
- var $L138 = $L("while");
958
- var $L139 = $L("yield");
959
- var $L140 = $L("/>");
960
- var $L141 = $L("</");
961
- var $L142 = $L("<>");
962
- var $L143 = $L("</>");
963
- var $L144 = $L("declare");
964
- var $L145 = $L("type");
965
- var $L146 = $L("interface");
966
- var $L147 = $L("namespace");
967
- var $L148 = $L("readonly");
968
- var $L149 = $L("asserts");
969
- var $L150 = $L("keyof");
970
- var $L151 = $L("infer");
971
- var $L152 = $L("[]");
972
- var $L153 = $L("civet");
973
- var $L154 = $L(" ");
974
- var $L155 = $L(" ");
873
+ var $L44 = $L("and=");
874
+ var $L45 = $L("or=");
875
+ var $L46 = $L("**");
876
+ var $L47 = $L("*");
877
+ var $L48 = $L("/");
878
+ var $L49 = $L("%");
879
+ var $L50 = $L("+");
880
+ var $L51 = $L("-");
881
+ var $L52 = $L("<=");
882
+ var $L53 = $L(">=");
883
+ var $L54 = $L("<<");
884
+ var $L55 = $L(">>>");
885
+ var $L56 = $L(">>");
886
+ var $L57 = $L(">");
887
+ var $L58 = $L("!==");
888
+ var $L59 = $L("!=");
889
+ var $L60 = $L("isnt");
890
+ var $L61 = $L("is");
891
+ var $L62 = $L("===");
892
+ var $L63 = $L("==");
893
+ var $L64 = $L("and");
894
+ var $L65 = $L("&&");
895
+ var $L66 = $L("of");
896
+ var $L67 = $L("or");
897
+ var $L68 = $L("||");
898
+ var $L69 = $L("??");
899
+ var $L70 = $L("?");
900
+ var $L71 = $L("instanceof");
901
+ var $L72 = $L("in");
902
+ var $L73 = $L("not");
903
+ var $L74 = $L("&");
904
+ var $L75 = $L("^");
905
+ var $L76 = $L("|");
906
+ var $L77 = $L(";");
907
+ var $L78 = $L("own");
908
+ var $L79 = $L("finally");
909
+ var $L80 = $L("break");
910
+ var $L81 = $L("continue");
911
+ var $L82 = $L("debugger");
912
+ var $L83 = $L("import type");
913
+ var $L84 = $L("default");
914
+ var $L85 = $L(":=");
915
+ var $L86 = $L("/*");
916
+ var $L87 = $L("*/");
917
+ var $L88 = $L("###");
918
+ var $L89 = $L("\\");
919
+ var $L90 = $L("as");
920
+ var $L91 = $L("@");
921
+ var $L92 = $L("async");
922
+ var $L93 = $L("await");
923
+ var $L94 = $L("`");
924
+ var $L95 = $L("by");
925
+ var $L96 = $L("case");
926
+ var $L97 = $L("catch");
927
+ var $L98 = $L("class");
928
+ var $L99 = $L("#{");
929
+ var $L100 = $L(":");
930
+ var $L101 = $L("delete");
931
+ var $L102 = $L("do");
932
+ var $L103 = $L("..");
933
+ var $L104 = $L("...");
934
+ var $L105 = $L("::");
935
+ var $L106 = $L('"');
936
+ var $L107 = $L("else");
937
+ var $L108 = $L("export");
938
+ var $L109 = $L("for");
939
+ var $L110 = $L("from");
940
+ var $L111 = $L("function");
941
+ var $L112 = $L("get");
942
+ var $L113 = $L("set");
943
+ var $L114 = $L("if");
944
+ var $L115 = $L("let");
945
+ var $L116 = $L("const");
946
+ var $L117 = $L("loop");
947
+ var $L118 = $L("new");
948
+ var $L119 = $L("{");
949
+ var $L120 = $L("[");
950
+ var $L121 = $L("(");
951
+ var $L122 = $L("return");
952
+ var $L123 = $L("'");
953
+ var $L124 = $L("static");
954
+ var $L125 = $L("${");
955
+ var $L126 = $L("switch");
956
+ var $L127 = $L("target");
957
+ var $L128 = $L("then");
958
+ var $L129 = $L("throw");
959
+ var $L130 = $L('"""');
960
+ var $L131 = $L("'''");
961
+ var $L132 = $L("///");
962
+ var $L133 = $L("```");
963
+ var $L134 = $L("try");
964
+ var $L135 = $L("typeof");
965
+ var $L136 = $L("unless");
966
+ var $L137 = $L("until");
967
+ var $L138 = $L("var");
968
+ var $L139 = $L("void");
969
+ var $L140 = $L("when");
970
+ var $L141 = $L("while");
971
+ var $L142 = $L("yield");
972
+ var $L143 = $L("/>");
973
+ var $L144 = $L("</");
974
+ var $L145 = $L("<>");
975
+ var $L146 = $L("</>");
976
+ var $L147 = $L("declare");
977
+ var $L148 = $L("type");
978
+ var $L149 = $L("interface");
979
+ var $L150 = $L("namespace");
980
+ var $L151 = $L("readonly");
981
+ var $L152 = $L("asserts");
982
+ var $L153 = $L("keyof");
983
+ var $L154 = $L("infer");
984
+ var $L155 = $L("[]");
985
+ var $L156 = $L("civet");
986
+ var $L157 = $L(" ");
987
+ var $L158 = $L(" ");
975
988
  var $R0 = $R(new RegExp("(for|of|then|when)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
976
989
  var $R1 = $R(new RegExp("[&]", "suy"));
977
990
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
@@ -992,34 +1005,38 @@ ${input.slice(result.pos)}
992
1005
  var $R17 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
993
1006
  var $R18 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
994
1007
  var $R19 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
995
- var $R20 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
996
- var $R21 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
997
- var $R22 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
998
- var $R23 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
999
- var $R24 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
1000
- var $R25 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
1001
- var $R26 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1002
- var $R27 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1003
- var $R28 = $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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1004
- var $R29 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
1005
- var $R30 = $R(new RegExp(".", "suy"));
1006
- var $R31 = $R(new RegExp("#(?!##)([^\\r\\n]*)", "suy"));
1007
- var $R32 = $R(new RegExp("[^\\r\\n]", "suy"));
1008
- var $R33 = $R(new RegExp("[ \\t]+", "suy"));
1009
- var $R34 = $R(new RegExp("[\\s]+", "suy"));
1010
- var $R35 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1011
- var $R36 = $R(new RegExp("\\s", "suy"));
1012
- var $R37 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1013
- var $R38 = $R(new RegExp('"[^"]*"', "suy"));
1014
- var $R39 = $R(new RegExp("'[^']*'", "suy"));
1015
- var $R40 = $R(new RegExp("[^{}<>]+", "suy"));
1016
- var $R41 = $R(new RegExp("[+-]?", "suy"));
1017
- var $R42 = $R(new RegExp("[+-]", "suy"));
1018
- var $R43 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1019
- var $R44 = $R(new RegExp("[\\t ]*", "suy"));
1020
- var $R45 = $R(new RegExp("[\\s]*", "suy"));
1021
- var $R46 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1022
- var $R47 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1008
+ var $R20 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
1009
+ var $R21 = $R(new RegExp("(?:\\\\.)", "suy"));
1010
+ var $R22 = $R(new RegExp("[\\s]+", "suy"));
1011
+ var $R23 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
1012
+ var $R24 = $R(new RegExp("[^\\/\\s#\\\\]+", "suy"));
1013
+ var $R25 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
1014
+ var $R26 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
1015
+ var $R27 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
1016
+ var $R28 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
1017
+ var $R29 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
1018
+ var $R30 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
1019
+ var $R31 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1020
+ var $R32 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1021
+ var $R33 = $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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1022
+ var $R34 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1023
+ var $R35 = $R(new RegExp(".", "suy"));
1024
+ var $R36 = $R(new RegExp("#(?!##)([^\\r\\n]*)", "suy"));
1025
+ var $R37 = $R(new RegExp("[^\\r\\n]", "suy"));
1026
+ var $R38 = $R(new RegExp("[ \\t]+", "suy"));
1027
+ var $R39 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1028
+ var $R40 = $R(new RegExp("\\s", "suy"));
1029
+ var $R41 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1030
+ var $R42 = $R(new RegExp('"[^"]*"', "suy"));
1031
+ var $R43 = $R(new RegExp("'[^']*'", "suy"));
1032
+ var $R44 = $R(new RegExp("[^{}<>]+", "suy"));
1033
+ var $R45 = $R(new RegExp("[+-]?", "suy"));
1034
+ var $R46 = $R(new RegExp("[+-]", "suy"));
1035
+ var $R47 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1036
+ var $R48 = $R(new RegExp("[\\t ]*", "suy"));
1037
+ var $R49 = $R(new RegExp("[\\s]*", "suy"));
1038
+ var $R50 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1039
+ var $R51 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1023
1040
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1024
1041
  var statements = $4;
1025
1042
  module2.processProgram(statements);
@@ -1134,7 +1151,13 @@ ${input.slice(result.pos)}
1134
1151
  }
1135
1152
  }
1136
1153
  var Arguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
1137
- var Arguments$1 = ImplicitApplication;
1154
+ var Arguments$1 = $TS($S(ApplicationStart, InsertOpenParen, $Q(_), ArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1155
+ var open = $2;
1156
+ var ws = $3;
1157
+ var args = $4;
1158
+ var close = $5;
1159
+ return [open, module2.insertTrimmingSpace(ws, ""), args, close];
1160
+ });
1138
1161
  function Arguments(state) {
1139
1162
  if (state.events) {
1140
1163
  const result = state.events.enter?.("Arguments", state);
@@ -1153,6 +1176,26 @@ ${input.slice(result.pos)}
1153
1176
  return result;
1154
1177
  }
1155
1178
  }
1179
+ var ApplicationStart$0 = $Y(NestedImplicitObjectLiteral);
1180
+ var ApplicationStart$1 = $S($N(EOS), $Y($S($P(_), $N(AdditionalReservedWords))));
1181
+ function ApplicationStart(state) {
1182
+ if (state.events) {
1183
+ const result = state.events.enter?.("ApplicationStart", state);
1184
+ if (result)
1185
+ return result.cache;
1186
+ }
1187
+ if (state.tokenize) {
1188
+ const result = $TOKEN("ApplicationStart", state, ApplicationStart$0(state) || ApplicationStart$1(state));
1189
+ if (state.events)
1190
+ state.events.exit?.("ApplicationStart", state, result);
1191
+ return result;
1192
+ } else {
1193
+ const result = ApplicationStart$0(state) || ApplicationStart$1(state);
1194
+ if (state.events)
1195
+ state.events.exit?.("ApplicationStart", state, result);
1196
+ return result;
1197
+ }
1198
+ }
1156
1199
  var ArgumentsWithTrailingCallExpressions$0 = $S(Arguments, $Q($S(Samedent, $N(Backtick), CallExpressionRest)));
1157
1200
  function ArgumentsWithTrailingCallExpressions(state) {
1158
1201
  if (state.events) {
@@ -1172,8 +1215,9 @@ ${input.slice(result.pos)}
1172
1215
  return result;
1173
1216
  }
1174
1217
  }
1175
- var ArgumentList$0 = NestedArgumentList;
1176
- var ArgumentList$1 = InlineArgumentExpressions;
1218
+ var ArgumentList$0 = $S(ArgumentPart, $P($S(__, Comma, $C(NestedImplicitObjectLiteral, NestedArgumentList))));
1219
+ var ArgumentList$1 = NestedArgumentList;
1220
+ var ArgumentList$2 = InlineArgumentExpressions;
1177
1221
  function ArgumentList(state) {
1178
1222
  if (state.events) {
1179
1223
  const result = state.events.enter?.("ArgumentList", state);
@@ -1181,12 +1225,12 @@ ${input.slice(result.pos)}
1181
1225
  return result.cache;
1182
1226
  }
1183
1227
  if (state.tokenize) {
1184
- const result = $TOKEN("ArgumentList", state, ArgumentList$0(state) || ArgumentList$1(state));
1228
+ const result = $TOKEN("ArgumentList", state, ArgumentList$0(state) || ArgumentList$1(state) || ArgumentList$2(state));
1185
1229
  if (state.events)
1186
1230
  state.events.exit?.("ArgumentList", state, result);
1187
1231
  return result;
1188
1232
  } else {
1189
- const result = ArgumentList$0(state) || ArgumentList$1(state);
1233
+ const result = ArgumentList$0(state) || ArgumentList$1(state) || ArgumentList$2(state);
1190
1234
  if (state.events)
1191
1235
  state.events.exit?.("ArgumentList", state, result);
1192
1236
  return result;
@@ -1216,7 +1260,7 @@ ${input.slice(result.pos)}
1216
1260
  return result;
1217
1261
  }
1218
1262
  }
1219
- var NestedArgument$0 = $S(Nested, InlineArgumentExpressions, ParameterElementDelimiter);
1263
+ var NestedArgument$0 = $S(Nested, SingleLineArgumentExpressions, ParameterElementDelimiter);
1220
1264
  function NestedArgument(state) {
1221
1265
  if (state.events) {
1222
1266
  const result = state.events.enter?.("NestedArgument", state);
@@ -1235,10 +1279,8 @@ ${input.slice(result.pos)}
1235
1279
  return result;
1236
1280
  }
1237
1281
  }
1238
- var InlineArgumentExpressions$0 = $TS($S($Q(TrailingComment), ArgumentPart, $Q($S(__, Comma, $Q(TrailingComment), $C(NestedObjectLiteral, ArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
1239
- if ($2.length == 0)
1240
- return $1;
1241
- return $0;
1282
+ var InlineArgumentExpressions$0 = $TS($S($Q(TrailingComment), ArgumentPart, $Q($S(__, Comma, $Q(TrailingComment), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
1283
+ return [...$1, $2, ...$3];
1242
1284
  });
1243
1285
  function InlineArgumentExpressions(state) {
1244
1286
  if (state.events) {
@@ -1258,93 +1300,47 @@ ${input.slice(result.pos)}
1258
1300
  return result;
1259
1301
  }
1260
1302
  }
1261
- var ArgumentPart$0 = $S(DotDotDot, ExtendedExpression);
1262
- var ArgumentPart$1 = $TS($S(ExtendedExpression, $E(DotDotDot)), function($skip, $loc, $0, $1, $2) {
1263
- if ($2) {
1264
- return [$2, $1];
1265
- }
1266
- return $1;
1267
- });
1268
- function ArgumentPart(state) {
1269
- if (state.events) {
1270
- const result = state.events.enter?.("ArgumentPart", state);
1271
- if (result)
1272
- return result.cache;
1273
- }
1274
- if (state.tokenize) {
1275
- const result = $TOKEN("ArgumentPart", state, ArgumentPart$0(state) || ArgumentPart$1(state));
1276
- if (state.events)
1277
- state.events.exit?.("ArgumentPart", state, result);
1278
- return result;
1279
- } else {
1280
- const result = ArgumentPart$0(state) || ArgumentPart$1(state);
1281
- if (state.events)
1282
- state.events.exit?.("ArgumentPart", state, result);
1283
- return result;
1284
- }
1285
- }
1286
- var ImplicitApplication$0 = $S(ApplicationStart, ArgumentList, InsertCloseParen);
1287
- var ImplicitApplication$1 = $S(IndentedApplicationAllowed, InsertOpenParen, NestedObjectLiteral, $Q($S(__, $EXPECT($L0, fail, 'ImplicitApplication ","'), NestedObjectLiteral)), InsertCloseParen);
1288
- function ImplicitApplication(state) {
1303
+ var SingleLineArgumentExpressions$0 = $S($Q(TrailingComment), ArgumentPart, $Q($S($Q(TrailingComment), Comma, $Q(TrailingComment), ArgumentPart)));
1304
+ function SingleLineArgumentExpressions(state) {
1289
1305
  if (state.events) {
1290
- const result = state.events.enter?.("ImplicitApplication", state);
1306
+ const result = state.events.enter?.("SingleLineArgumentExpressions", state);
1291
1307
  if (result)
1292
1308
  return result.cache;
1293
1309
  }
1294
1310
  if (state.tokenize) {
1295
- const result = $TOKEN("ImplicitApplication", state, ImplicitApplication$0(state) || ImplicitApplication$1(state));
1311
+ const result = $TOKEN("SingleLineArgumentExpressions", state, SingleLineArgumentExpressions$0(state));
1296
1312
  if (state.events)
1297
- state.events.exit?.("ImplicitApplication", state, result);
1313
+ state.events.exit?.("SingleLineArgumentExpressions", state, result);
1298
1314
  return result;
1299
1315
  } else {
1300
- const result = ImplicitApplication$0(state) || ImplicitApplication$1(state);
1316
+ const result = SingleLineArgumentExpressions$0(state);
1301
1317
  if (state.events)
1302
- state.events.exit?.("ImplicitApplication", state, result);
1318
+ state.events.exit?.("SingleLineArgumentExpressions", state, result);
1303
1319
  return result;
1304
1320
  }
1305
1321
  }
1306
- var ApplicationStart$0 = $TS($S($N(EOS), _, $N(AdditionalReservedWords)), function($skip, $loc, $0, $1, $2, $3) {
1307
- var spacing = $2;
1308
- return module2.insertTrimmingSpace(spacing, "(");
1309
- });
1310
- function ApplicationStart(state) {
1311
- if (state.events) {
1312
- const result = state.events.enter?.("ApplicationStart", state);
1313
- if (result)
1314
- return result.cache;
1315
- }
1316
- if (state.tokenize) {
1317
- const result = $TOKEN("ApplicationStart", state, ApplicationStart$0(state));
1318
- if (state.events)
1319
- state.events.exit?.("ApplicationStart", state, result);
1320
- return result;
1321
- } else {
1322
- const result = ApplicationStart$0(state);
1323
- if (state.events)
1324
- state.events.exit?.("ApplicationStart", state, result);
1325
- return result;
1322
+ var ArgumentPart$0 = $S(DotDotDot, ExtendedExpression);
1323
+ var ArgumentPart$1 = $TS($S(ExtendedExpression, $E(DotDotDot)), function($skip, $loc, $0, $1, $2) {
1324
+ if ($2) {
1325
+ return [$2, $1];
1326
1326
  }
1327
- }
1328
- var IndentedApplicationAllowed$0 = $TV($EXPECT($L1, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
1329
- if (module2.suppressIndentedApplication)
1330
- return $skip;
1331
- return;
1327
+ return $1;
1332
1328
  });
1333
- function IndentedApplicationAllowed(state) {
1329
+ function ArgumentPart(state) {
1334
1330
  if (state.events) {
1335
- const result = state.events.enter?.("IndentedApplicationAllowed", state);
1331
+ const result = state.events.enter?.("ArgumentPart", state);
1336
1332
  if (result)
1337
1333
  return result.cache;
1338
1334
  }
1339
1335
  if (state.tokenize) {
1340
- const result = $TOKEN("IndentedApplicationAllowed", state, IndentedApplicationAllowed$0(state));
1336
+ const result = $TOKEN("ArgumentPart", state, ArgumentPart$0(state) || ArgumentPart$1(state));
1341
1337
  if (state.events)
1342
- state.events.exit?.("IndentedApplicationAllowed", state, result);
1338
+ state.events.exit?.("ArgumentPart", state, result);
1343
1339
  return result;
1344
1340
  } else {
1345
- const result = IndentedApplicationAllowed$0(state);
1341
+ const result = ArgumentPart$0(state) || ArgumentPart$1(state);
1346
1342
  if (state.events)
1347
- state.events.exit?.("IndentedApplicationAllowed", state, result);
1343
+ state.events.exit?.("ArgumentPart", state, result);
1348
1344
  return result;
1349
1345
  }
1350
1346
  }
@@ -1531,7 +1527,7 @@ ${input.slice(result.pos)}
1531
1527
  return result;
1532
1528
  }
1533
1529
  }
1534
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L2, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L3, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1530
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L0, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L1, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
1535
1531
  return { $loc, token: $1 };
1536
1532
  });
1537
1533
  function UpdateExpressionSymbol(state) {
@@ -1773,7 +1769,7 @@ ${input.slice(result.pos)}
1773
1769
  return result;
1774
1770
  }
1775
1771
  }
1776
- var FatArrow$0 = $TS($S(__, $EXPECT($L4, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1772
+ var FatArrow$0 = $TS($S(__, $EXPECT($L2, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
1777
1773
  var ws = $1;
1778
1774
  if (!ws.length)
1779
1775
  return " =>";
@@ -1844,7 +1840,7 @@ ${input.slice(result.pos)}
1844
1840
  }
1845
1841
  }
1846
1842
  var TernaryRest$0 = NestedTernaryRest;
1847
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L5, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
1843
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L3, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
1848
1844
  return $0.slice(2);
1849
1845
  });
1850
1846
  function TernaryRest(state) {
@@ -2037,10 +2033,10 @@ ${input.slice(result.pos)}
2037
2033
  return result;
2038
2034
  }
2039
2035
  }
2040
- var ExtendsToken$0 = $TV($EXPECT($L6, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
2036
+ var ExtendsToken$0 = $TV($EXPECT($L4, fail, 'ExtendsToken "<"'), function($skip, $loc, $0, $1) {
2041
2037
  return { $loc, token: "extends" };
2042
2038
  });
2043
- var ExtendsToken$1 = $TV($EXPECT($L7, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
2039
+ var ExtendsToken$1 = $TV($EXPECT($L5, fail, 'ExtendsToken "extends"'), function($skip, $loc, $0, $1) {
2044
2040
  return { $loc, token: $1 };
2045
2041
  });
2046
2042
  function ExtendsToken(state) {
@@ -2185,10 +2181,10 @@ ${input.slice(result.pos)}
2185
2181
  return result;
2186
2182
  }
2187
2183
  }
2188
- var This$0 = $TV($EXPECT($L8, fail, 'This "this"'), function($skip, $loc, $0, $1) {
2184
+ var This$0 = $TV($EXPECT($L6, fail, 'This "this"'), function($skip, $loc, $0, $1) {
2189
2185
  return { $loc, token: $1 };
2190
2186
  });
2191
- var This$1 = $TS($S(At, $S($E($EXPECT($L9, fail, 'This "#"')), IdentifierName)), function($skip, $loc, $0, $1, $2) {
2187
+ var This$1 = $TS($S(At, $S($E($EXPECT($L7, fail, 'This "#"')), IdentifierName)), function($skip, $loc, $0, $1, $2) {
2192
2188
  $1.token = "this.";
2193
2189
  return $0;
2194
2190
  });
@@ -2214,7 +2210,7 @@ ${input.slice(result.pos)}
2214
2210
  return result;
2215
2211
  }
2216
2212
  }
2217
- var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L10, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2213
+ var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L8, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2218
2214
  if ($1.length)
2219
2215
  return $0;
2220
2216
  return $2;
@@ -2237,8 +2233,8 @@ ${input.slice(result.pos)}
2237
2233
  return result;
2238
2234
  }
2239
2235
  }
2240
- var CallExpression$0 = $S($EXPECT($L11, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2241
- var CallExpression$1 = $S($EXPECT($L12, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2236
+ var CallExpression$0 = $S($EXPECT($L9, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2237
+ var CallExpression$1 = $S($EXPECT($L10, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2242
2238
  var CallExpression$2 = $TS($S(MemberExpression, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2) {
2243
2239
  if ($2.length)
2244
2240
  return $0;
@@ -2302,7 +2298,7 @@ ${input.slice(result.pos)}
2302
2298
  return result;
2303
2299
  }
2304
2300
  }
2305
- var NonNullAssertion$0 = $T($EXPECT($L13, fail, 'NonNullAssertion "!"'), function(value) {
2301
+ var NonNullAssertion$0 = $T($EXPECT($L11, fail, 'NonNullAssertion "!"'), function(value) {
2306
2302
  return { "ts": true, "children": value };
2307
2303
  });
2308
2304
  function NonNullAssertion(state) {
@@ -2402,36 +2398,22 @@ ${input.slice(result.pos)}
2402
2398
  return result;
2403
2399
  }
2404
2400
  }
2405
- var MemberBracketContent$0 = $TS($S(OpenBracket, ExtendedExpression, $E($S(__, $C(DotDotDot, DotDot), $E(ExtendedExpression))), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
2406
- if ($3) {
2407
- const sep = $3[1];
2408
- let end = $3[2];
2409
- const inclusive = sep.token === "..";
2410
- sep.token = ", ";
2411
- $1.token = ".slice(";
2412
- $5.token = ")";
2413
- if (!end) {
2414
- return {
2415
- type: "SliceExpression",
2416
- start: $2,
2417
- end: void 0,
2418
- children: [$1, $2, $4, $5]
2419
- };
2420
- }
2421
- if (inclusive) {
2422
- end = module2.insertTrimmingSpace(end, "");
2423
- return {
2424
- type: "SliceExpression",
2425
- start: $2,
2426
- end: ["1 + ", end],
2427
- children: [$1, $2, sep, ["1 + ", end, " || 1/0"], $4, $5]
2428
- };
2429
- }
2401
+ var MemberBracketContent$0 = $TS($S(OpenBracket, $C(SliceParameters, ExtendedExpression), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
2402
+ var open = $1;
2403
+ var exp = $2;
2404
+ var ws = $3;
2405
+ var close = $4;
2406
+ if (exp.type === "SliceParameters") {
2407
+ const { start, end, children } = exp;
2430
2408
  return {
2431
2409
  type: "SliceExpression",
2432
- start: $2,
2410
+ start,
2433
2411
  end,
2434
- children: [$1, $2, sep, end, $4, $5]
2412
+ children: [
2413
+ { ...open, token: ".slice(" },
2414
+ ...children,
2415
+ [...ws, { ...close, token: ")" }]
2416
+ ]
2435
2417
  };
2436
2418
  }
2437
2419
  return $0;
@@ -2454,6 +2436,70 @@ ${input.slice(result.pos)}
2454
2436
  return result;
2455
2437
  }
2456
2438
  }
2439
+ var SliceParameters$0 = $TS($S(ExtendedExpression, __, $C(DotDotDot, DotDot), $E(ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
2440
+ var start = $1;
2441
+ var ws = $2;
2442
+ var sep = $3;
2443
+ var end = $4;
2444
+ const inclusive = sep.token === "..";
2445
+ let children;
2446
+ if (end) {
2447
+ const inc = [];
2448
+ if (inclusive) {
2449
+ end = ["1 + ", end];
2450
+ inc.push(" || 1/0");
2451
+ }
2452
+ children = [start, [...ws, { ...sep, token: ", " }], [end, ...inc]];
2453
+ } else {
2454
+ children = [start, ws];
2455
+ }
2456
+ return {
2457
+ type: "SliceParameters",
2458
+ start,
2459
+ end,
2460
+ children
2461
+ };
2462
+ });
2463
+ var SliceParameters$1 = $TS($S(Loc, __, $C(DotDotDot, DotDot), ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
2464
+ var l = $1;
2465
+ var ws = $2;
2466
+ var sep = $3;
2467
+ var end = $4;
2468
+ const inclusive = sep.token === "..";
2469
+ const inc = [];
2470
+ if (inclusive) {
2471
+ end = ["1 + ", end];
2472
+ inc.push(" || 1/0");
2473
+ }
2474
+ const start = {
2475
+ $loc: l.$loc,
2476
+ token: "0"
2477
+ };
2478
+ return {
2479
+ type: "SliceParameters",
2480
+ start,
2481
+ end,
2482
+ children: [start, [...ws, { ...sep, token: ", " }], [end, ...inc]]
2483
+ };
2484
+ });
2485
+ function SliceParameters(state) {
2486
+ if (state.events) {
2487
+ const result = state.events.enter?.("SliceParameters", state);
2488
+ if (result)
2489
+ return result.cache;
2490
+ }
2491
+ if (state.tokenize) {
2492
+ const result = $TOKEN("SliceParameters", state, SliceParameters$0(state) || SliceParameters$1(state));
2493
+ if (state.events)
2494
+ state.events.exit?.("SliceParameters", state, result);
2495
+ return result;
2496
+ } else {
2497
+ const result = SliceParameters$0(state) || SliceParameters$1(state);
2498
+ if (state.events)
2499
+ state.events.exit?.("SliceParameters", state, result);
2500
+ return result;
2501
+ }
2502
+ }
2457
2503
  var PropertyAccess$0 = $TS($S($E($C(QuestionMark, NonNullAssertion)), Dot, $C(IdentifierName, PrivateIdentifier)), function($skip, $loc, $0, $1, $2, $3) {
2458
2504
  var id = $3;
2459
2505
  const children = [$2, ...id.children];
@@ -2492,7 +2538,7 @@ ${input.slice(result.pos)}
2492
2538
  return result;
2493
2539
  }
2494
2540
  }
2495
- var SuperProperty$0 = $S($EXPECT($L14, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2541
+ var SuperProperty$0 = $S($EXPECT($L12, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2496
2542
  function SuperProperty(state) {
2497
2543
  if (state.events) {
2498
2544
  const result = state.events.enter?.("SuperProperty", state);
@@ -2512,7 +2558,7 @@ ${input.slice(result.pos)}
2512
2558
  }
2513
2559
  }
2514
2560
  var MetaProperty$0 = $S(New, Dot, Target);
2515
- var MetaProperty$1 = $TV($EXPECT($L15, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2561
+ var MetaProperty$1 = $TV($EXPECT($L13, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2516
2562
  return { $loc, token: $1 };
2517
2563
  });
2518
2564
  function MetaProperty(state) {
@@ -2534,7 +2580,7 @@ ${input.slice(result.pos)}
2534
2580
  }
2535
2581
  }
2536
2582
  var Parameters$0 = NonEmptyParameters;
2537
- var Parameters$1 = $TV($EXPECT($L1, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2583
+ var Parameters$1 = $TV($EXPECT($L14, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2538
2584
  return {
2539
2585
  type: "Parameters",
2540
2586
  children: [{ $loc, token: "()" }],
@@ -2629,7 +2675,7 @@ ${input.slice(result.pos)}
2629
2675
  }
2630
2676
  }
2631
2677
  var ParameterElementDelimiter$0 = $S($Q(_), Comma);
2632
- var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L16, fail, 'ParameterElementDelimiter ")"')));
2678
+ var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L15, fail, 'ParameterElementDelimiter ")"')));
2633
2679
  var ParameterElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
2634
2680
  return { $loc, token: "," };
2635
2681
  });
@@ -2651,10 +2697,25 @@ ${input.slice(result.pos)}
2651
2697
  return result;
2652
2698
  }
2653
2699
  }
2654
- var BindingIdentifier$0 = $TS($S(__, Identifier), function($skip, $loc, $0, $1, $2) {
2655
- return Object.assign({}, $2, {
2656
- children: [...$1, ...$2.children]
2657
- });
2700
+ var BindingIdentifier$0 = $TS($S(__, $E(At), Identifier), function($skip, $loc, $0, $1, $2, $3) {
2701
+ var ws = $1;
2702
+ var at = $2;
2703
+ var id = $3;
2704
+ if (at) {
2705
+ const ref = {
2706
+ type: "Ref",
2707
+ base: id.name
2708
+ };
2709
+ return {
2710
+ type: "AtBinding",
2711
+ children: [...ws, ref],
2712
+ ref
2713
+ };
2714
+ }
2715
+ return {
2716
+ ...id,
2717
+ children: [...ws, ...id.children]
2718
+ };
2658
2719
  });
2659
2720
  function BindingIdentifier(state) {
2660
2721
  if (state.events) {
@@ -2875,13 +2936,7 @@ ${input.slice(result.pos)}
2875
2936
  return result;
2876
2937
  }
2877
2938
  }
2878
- var NestedBindingProperty$0 = $TS($S(Nested, BindingProperty), function($skip, $loc, $0, $1, $2) {
2879
- var indent = $1;
2880
- var prop = $2;
2881
- return Object.assign({}, prop, {
2882
- children: [indent, ...prop.children]
2883
- });
2884
- });
2939
+ var NestedBindingProperty$0 = $S(Nested, BindingProperty);
2885
2940
  function NestedBindingProperty(state) {
2886
2941
  if (state.events) {
2887
2942
  const result = state.events.enter?.("NestedBindingProperty", state);
@@ -2909,6 +2964,14 @@ ${input.slice(result.pos)}
2909
2964
  });
2910
2965
  var BindingProperty$1 = $TS($S(BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
2911
2966
  var b = $1;
2967
+ if (b.type === "AtBinding") {
2968
+ return {
2969
+ type: "AtBindingProperty",
2970
+ ref: b.ref,
2971
+ names: [],
2972
+ children: $0
2973
+ };
2974
+ }
2912
2975
  return {
2913
2976
  names: b.names,
2914
2977
  children: $0
@@ -2935,9 +2998,10 @@ ${input.slice(result.pos)}
2935
2998
  var NestedBindingRestProperty$0 = $TS($S(Nested, BindingRestProperty), function($skip, $loc, $0, $1, $2) {
2936
2999
  var indent = $1;
2937
3000
  var prop = $2;
2938
- return Object.assign({}, prop, {
3001
+ return {
3002
+ ...prop,
2939
3003
  children: [indent, ...prop.children]
2940
- });
3004
+ };
2941
3005
  });
2942
3006
  function NestedBindingRestProperty(state) {
2943
3007
  if (state.events) {
@@ -2960,9 +3024,10 @@ ${input.slice(result.pos)}
2960
3024
  var BindingRestProperty$0 = $TS($S(DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2) {
2961
3025
  var d = $1;
2962
3026
  var id = $2;
2963
- return Object.assign({}, id, {
3027
+ return {
3028
+ ...id,
2964
3029
  children: [d, ...id.children]
2965
- });
3030
+ };
2966
3031
  });
2967
3032
  function BindingRestProperty(state) {
2968
3033
  if (state.events) {
@@ -3163,10 +3228,9 @@ ${input.slice(result.pos)}
3163
3228
  children: [$1, $3]
3164
3229
  };
3165
3230
  });
3166
- var FunctionExpression$2 = $TS($S(Ampersand, $N($EXPECT($R1, fail, "FunctionExpression /[&]/")), $P($S(__, BinaryOp, __, UnaryExpression))), function($skip, $loc, $0, $1, $2, $3) {
3167
- $0.splice(1, 1);
3231
+ var FunctionExpression$2 = $TS($S(Ampersand, $N($EXPECT($R1, fail, "FunctionExpression /[&]/")), $P(BinaryOpRHS)), function($skip, $loc, $0, $1, $2, $3) {
3168
3232
  $1.token = "$ => $";
3169
- const exp = module2.processBinaryOpExpression($0);
3233
+ const exp = module2.processBinaryOpExpression([$1, $3]);
3170
3234
  return {
3171
3235
  type: "ArrowFunction",
3172
3236
  children: exp
@@ -3234,7 +3298,7 @@ ${input.slice(result.pos)}
3234
3298
  return result;
3235
3299
  }
3236
3300
  }
3237
- var Arrow$0 = $TV($EXPECT($L17, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
3301
+ var Arrow$0 = $TV($EXPECT($L16, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
3238
3302
  return { $loc, token: $1 };
3239
3303
  });
3240
3304
  function Arrow(state) {
@@ -3386,8 +3450,14 @@ ${input.slice(result.pos)}
3386
3450
  return result;
3387
3451
  }
3388
3452
  }
3389
- var EmptyBlock$0 = $T($S(InsertOpenBrace, InsertCloseBrace), function(value) {
3390
- return { "type": "BlockStatement", "expressions": [], "children": value, "bare": false };
3453
+ var EmptyBlock$0 = $TS($S(InsertOpenBrace, InsertCloseBrace), function($skip, $loc, $0, $1, $2) {
3454
+ const expressions = [];
3455
+ return {
3456
+ type: "BlockStatement",
3457
+ expressions,
3458
+ children: [$1, expressions, $2],
3459
+ bare: false
3460
+ };
3391
3461
  });
3392
3462
  function EmptyBlock(state) {
3393
3463
  if (state.events) {
@@ -3608,7 +3678,7 @@ ${input.slice(result.pos)}
3608
3678
  return result;
3609
3679
  }
3610
3680
  }
3611
- var NullLiteral$0 = $TV($EXPECT($L18, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
3681
+ var NullLiteral$0 = $TV($EXPECT($L17, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
3612
3682
  return { $loc, token: $1 };
3613
3683
  });
3614
3684
  function NullLiteral(state) {
@@ -3632,7 +3702,7 @@ ${input.slice(result.pos)}
3632
3702
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
3633
3703
  return value[1];
3634
3704
  });
3635
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L19, fail, 'BooleanLiteral "true"'), $EXPECT($L20, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3705
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L18, fail, 'BooleanLiteral "true"'), $EXPECT($L19, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3636
3706
  return { $loc, token: $1 };
3637
3707
  });
3638
3708
  function BooleanLiteral(state) {
@@ -3653,10 +3723,10 @@ ${input.slice(result.pos)}
3653
3723
  return result;
3654
3724
  }
3655
3725
  }
3656
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L21, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L22, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3726
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L20, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L21, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3657
3727
  return { $loc, token: "true" };
3658
3728
  });
3659
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L23, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L24, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3729
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L22, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L23, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3660
3730
  return { $loc, token: "false" };
3661
3731
  });
3662
3732
  function CoffeeScriptBooleanLiteral(state) {
@@ -3677,7 +3747,7 @@ ${input.slice(result.pos)}
3677
3747
  return result;
3678
3748
  }
3679
3749
  }
3680
- var Comma$0 = $TV($EXPECT($L0, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
3750
+ var Comma$0 = $TV($EXPECT($L24, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
3681
3751
  return { $loc, token: $1 };
3682
3752
  });
3683
3753
  function Comma(state) {
@@ -4024,7 +4094,13 @@ ${input.slice(result.pos)}
4024
4094
  return result;
4025
4095
  }
4026
4096
  }
4027
- var ArrayElementExpression$0 = $TV($E($S($E($S(DotDotDot, __)), ExtendedExpression)), function($skip, $loc, $0, $1) {
4097
+ var ArrayElementExpression$0 = $TS($S(ExtendedExpression, __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
4098
+ var exp = $1;
4099
+ var ws = $2;
4100
+ var dots = $3;
4101
+ return [...ws, dots, exp];
4102
+ });
4103
+ var ArrayElementExpression$1 = $TV($E($S($E($S(DotDotDot, __)), ExtendedExpression)), function($skip, $loc, $0, $1) {
4028
4104
  if ($1 && !$1[0]) {
4029
4105
  return $1[1];
4030
4106
  }
@@ -4037,19 +4113,19 @@ ${input.slice(result.pos)}
4037
4113
  return result.cache;
4038
4114
  }
4039
4115
  if (state.tokenize) {
4040
- const result = $TOKEN("ArrayElementExpression", state, ArrayElementExpression$0(state));
4116
+ const result = $TOKEN("ArrayElementExpression", state, ArrayElementExpression$0(state) || ArrayElementExpression$1(state));
4041
4117
  if (state.events)
4042
4118
  state.events.exit?.("ArrayElementExpression", state, result);
4043
4119
  return result;
4044
4120
  } else {
4045
- const result = ArrayElementExpression$0(state);
4121
+ const result = ArrayElementExpression$0(state) || ArrayElementExpression$1(state);
4046
4122
  if (state.events)
4047
4123
  state.events.exit?.("ArrayElementExpression", state, result);
4048
4124
  return result;
4049
4125
  }
4050
4126
  }
4051
4127
  var ObjectLiteral$0 = BracedObjectLiteral;
4052
- var ObjectLiteral$1 = NestedObjectLiteral;
4128
+ var ObjectLiteral$1 = NestedImplicitObjectLiteral;
4053
4129
  var ObjectLiteral$2 = InlineObjectLiteral;
4054
4130
  function ObjectLiteral(state) {
4055
4131
  if (state.events) {
@@ -4130,27 +4206,76 @@ ${input.slice(result.pos)}
4130
4206
  return result;
4131
4207
  }
4132
4208
  }
4133
- var NestedObjectLiteral$0 = $TS($S(InsertOpenBrace, NestedPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4209
+ var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, NestedImplicitPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4134
4210
  return {
4135
4211
  type: "ObjectExpression",
4136
4212
  children: [$1, ...$2, $3, $4, $5]
4137
4213
  };
4138
4214
  });
4139
- function NestedObjectLiteral(state) {
4215
+ function NestedImplicitObjectLiteral(state) {
4140
4216
  if (state.events) {
4141
- const result = state.events.enter?.("NestedObjectLiteral", state);
4217
+ const result = state.events.enter?.("NestedImplicitObjectLiteral", state);
4142
4218
  if (result)
4143
4219
  return result.cache;
4144
4220
  }
4145
4221
  if (state.tokenize) {
4146
- const result = $TOKEN("NestedObjectLiteral", state, NestedObjectLiteral$0(state));
4222
+ const result = $TOKEN("NestedImplicitObjectLiteral", state, NestedImplicitObjectLiteral$0(state));
4147
4223
  if (state.events)
4148
- state.events.exit?.("NestedObjectLiteral", state, result);
4224
+ state.events.exit?.("NestedImplicitObjectLiteral", state, result);
4149
4225
  return result;
4150
4226
  } else {
4151
- const result = NestedObjectLiteral$0(state);
4227
+ const result = NestedImplicitObjectLiteral$0(state);
4152
4228
  if (state.events)
4153
- state.events.exit?.("NestedObjectLiteral", state, result);
4229
+ state.events.exit?.("NestedImplicitObjectLiteral", state, result);
4230
+ return result;
4231
+ }
4232
+ }
4233
+ var NestedImplicitPropertyDefinitions$0 = $TS($S(PushIndent, $Q(NestedImplicitPropertyDefinition), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
4234
+ var defs = $2;
4235
+ if (!defs.length)
4236
+ return $skip;
4237
+ return defs.flat();
4238
+ });
4239
+ function NestedImplicitPropertyDefinitions(state) {
4240
+ if (state.events) {
4241
+ const result = state.events.enter?.("NestedImplicitPropertyDefinitions", state);
4242
+ if (result)
4243
+ return result.cache;
4244
+ }
4245
+ if (state.tokenize) {
4246
+ const result = $TOKEN("NestedImplicitPropertyDefinitions", state, NestedImplicitPropertyDefinitions$0(state));
4247
+ if (state.events)
4248
+ state.events.exit?.("NestedImplicitPropertyDefinitions", state, result);
4249
+ return result;
4250
+ } else {
4251
+ const result = NestedImplicitPropertyDefinitions$0(state);
4252
+ if (state.events)
4253
+ state.events.exit?.("NestedImplicitPropertyDefinitions", state, result);
4254
+ return result;
4255
+ }
4256
+ }
4257
+ var NestedImplicitPropertyDefinition$0 = $TS($S(Nested, NamedProperty, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
4258
+ const result = [...$1, $2];
4259
+ if ($3) {
4260
+ result.push($3);
4261
+ }
4262
+ return result;
4263
+ });
4264
+ function NestedImplicitPropertyDefinition(state) {
4265
+ if (state.events) {
4266
+ const result = state.events.enter?.("NestedImplicitPropertyDefinition", state);
4267
+ if (result)
4268
+ return result.cache;
4269
+ }
4270
+ if (state.tokenize) {
4271
+ const result = $TOKEN("NestedImplicitPropertyDefinition", state, NestedImplicitPropertyDefinition$0(state));
4272
+ if (state.events)
4273
+ state.events.exit?.("NestedImplicitPropertyDefinition", state, result);
4274
+ return result;
4275
+ } else {
4276
+ const result = NestedImplicitPropertyDefinition$0(state);
4277
+ if (state.events)
4278
+ state.events.exit?.("NestedImplicitPropertyDefinition", state, result);
4154
4279
  return result;
4155
4280
  }
4156
4281
  }
@@ -4277,10 +4402,9 @@ ${input.slice(result.pos)}
4277
4402
  var PropertyDefinition$0 = $TS($S(At, IdentifierReference, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3) {
4278
4403
  var at = $1;
4279
4404
  var id = $2;
4280
- at.token = "this.";
4281
4405
  return {
4282
4406
  type: "Property",
4283
- children: [id, ": ", at, id],
4407
+ children: [id, ": ", { ...at, token: "this." }, id],
4284
4408
  names: id.names
4285
4409
  };
4286
4410
  });
@@ -4490,7 +4614,7 @@ ${input.slice(result.pos)}
4490
4614
  return result;
4491
4615
  }
4492
4616
  }
4493
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L9, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4617
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L7, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4494
4618
  return {
4495
4619
  type: "Identifier",
4496
4620
  name: $0,
@@ -4565,6 +4689,9 @@ ${input.slice(result.pos)}
4565
4689
  return "??=";
4566
4690
  });
4567
4691
  var AssignmentOpSymbol$16 = $EXPECT($L43, fail, 'AssignmentOpSymbol "="');
4692
+ var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentEnabled, CoffeeWordAssignmentOp), function(value) {
4693
+ return value[1];
4694
+ });
4568
4695
  function AssignmentOpSymbol(state) {
4569
4696
  if (state.events) {
4570
4697
  const result = state.events.enter?.("AssignmentOpSymbol", state);
@@ -4572,17 +4699,41 @@ ${input.slice(result.pos)}
4572
4699
  return result.cache;
4573
4700
  }
4574
4701
  if (state.tokenize) {
4575
- const result = $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));
4702
+ const result = $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) || AssignmentOpSymbol$17(state));
4576
4703
  if (state.events)
4577
4704
  state.events.exit?.("AssignmentOpSymbol", state, result);
4578
4705
  return result;
4579
4706
  } else {
4580
- const result = 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);
4707
+ const result = 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) || AssignmentOpSymbol$17(state);
4581
4708
  if (state.events)
4582
4709
  state.events.exit?.("AssignmentOpSymbol", state, result);
4583
4710
  return result;
4584
4711
  }
4585
4712
  }
4713
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L44, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
4714
+ return "&&=";
4715
+ });
4716
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L45, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
4717
+ return "||=";
4718
+ });
4719
+ function CoffeeWordAssignmentOp(state) {
4720
+ if (state.events) {
4721
+ const result = state.events.enter?.("CoffeeWordAssignmentOp", state);
4722
+ if (result)
4723
+ return result.cache;
4724
+ }
4725
+ if (state.tokenize) {
4726
+ const result = $TOKEN("CoffeeWordAssignmentOp", state, CoffeeWordAssignmentOp$0(state) || CoffeeWordAssignmentOp$1(state));
4727
+ if (state.events)
4728
+ state.events.exit?.("CoffeeWordAssignmentOp", state, result);
4729
+ return result;
4730
+ } else {
4731
+ const result = CoffeeWordAssignmentOp$0(state) || CoffeeWordAssignmentOp$1(state);
4732
+ if (state.events)
4733
+ state.events.exit?.("CoffeeWordAssignmentOp", state, result);
4734
+ return result;
4735
+ }
4736
+ }
4586
4737
  var BinaryOp$0 = $TS($S(BinaryOpSymbol), function($skip, $loc, $0, $1) {
4587
4738
  if (typeof $1 === "string")
4588
4739
  return { $loc, token: $1 };
@@ -4606,75 +4757,75 @@ ${input.slice(result.pos)}
4606
4757
  return result;
4607
4758
  }
4608
4759
  }
4609
- var BinaryOpSymbol$0 = $EXPECT($L44, fail, 'BinaryOpSymbol "**"');
4610
- var BinaryOpSymbol$1 = $EXPECT($L45, fail, 'BinaryOpSymbol "*"');
4611
- var BinaryOpSymbol$2 = $EXPECT($L46, fail, 'BinaryOpSymbol "/"');
4612
- var BinaryOpSymbol$3 = $EXPECT($L47, fail, 'BinaryOpSymbol "%"');
4613
- var BinaryOpSymbol$4 = $EXPECT($L48, fail, 'BinaryOpSymbol "+"');
4614
- var BinaryOpSymbol$5 = $EXPECT($L49, fail, 'BinaryOpSymbol "-"');
4615
- var BinaryOpSymbol$6 = $EXPECT($L50, fail, 'BinaryOpSymbol "<="');
4616
- var BinaryOpSymbol$7 = $EXPECT($L51, fail, 'BinaryOpSymbol ">="');
4617
- var BinaryOpSymbol$8 = $EXPECT($L52, fail, 'BinaryOpSymbol "<<"');
4618
- var BinaryOpSymbol$9 = $EXPECT($L6, fail, 'BinaryOpSymbol "<"');
4619
- var BinaryOpSymbol$10 = $EXPECT($L53, fail, 'BinaryOpSymbol ">>>"');
4620
- var BinaryOpSymbol$11 = $EXPECT($L54, fail, 'BinaryOpSymbol ">>"');
4621
- var BinaryOpSymbol$12 = $EXPECT($L55, fail, 'BinaryOpSymbol ">"');
4622
- var BinaryOpSymbol$13 = $EXPECT($L56, fail, 'BinaryOpSymbol "!=="');
4623
- var BinaryOpSymbol$14 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
4760
+ var BinaryOpSymbol$0 = $EXPECT($L46, fail, 'BinaryOpSymbol "**"');
4761
+ var BinaryOpSymbol$1 = $EXPECT($L47, fail, 'BinaryOpSymbol "*"');
4762
+ var BinaryOpSymbol$2 = $EXPECT($L48, fail, 'BinaryOpSymbol "/"');
4763
+ var BinaryOpSymbol$3 = $EXPECT($L49, fail, 'BinaryOpSymbol "%"');
4764
+ var BinaryOpSymbol$4 = $EXPECT($L50, fail, 'BinaryOpSymbol "+"');
4765
+ var BinaryOpSymbol$5 = $EXPECT($L51, fail, 'BinaryOpSymbol "-"');
4766
+ var BinaryOpSymbol$6 = $EXPECT($L52, fail, 'BinaryOpSymbol "<="');
4767
+ var BinaryOpSymbol$7 = $EXPECT($L53, fail, 'BinaryOpSymbol ">="');
4768
+ var BinaryOpSymbol$8 = $EXPECT($L54, fail, 'BinaryOpSymbol "<<"');
4769
+ var BinaryOpSymbol$9 = $EXPECT($L4, fail, 'BinaryOpSymbol "<"');
4770
+ var BinaryOpSymbol$10 = $EXPECT($L55, fail, 'BinaryOpSymbol ">>>"');
4771
+ var BinaryOpSymbol$11 = $EXPECT($L56, fail, 'BinaryOpSymbol ">>"');
4772
+ var BinaryOpSymbol$12 = $EXPECT($L57, fail, 'BinaryOpSymbol ">"');
4773
+ var BinaryOpSymbol$13 = $EXPECT($L58, fail, 'BinaryOpSymbol "!=="');
4774
+ var BinaryOpSymbol$14 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
4624
4775
  if (module2.config.coffeeEq)
4625
4776
  return "!==";
4626
4777
  return $1;
4627
4778
  });
4628
- var BinaryOpSymbol$15 = $TS($S($EXPECT($L58, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4779
+ var BinaryOpSymbol$15 = $TS($S($EXPECT($L60, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4629
4780
  if (module2.config.coffeeIsnt)
4630
4781
  return "!==";
4631
4782
  return $skip;
4632
4783
  });
4633
- var BinaryOpSymbol$16 = $T($S($EXPECT($L59, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
4784
+ var BinaryOpSymbol$16 = $T($S($EXPECT($L61, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
4634
4785
  return "===";
4635
4786
  });
4636
- var BinaryOpSymbol$17 = $EXPECT($L60, fail, 'BinaryOpSymbol "==="');
4637
- var BinaryOpSymbol$18 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
4787
+ var BinaryOpSymbol$17 = $EXPECT($L62, fail, 'BinaryOpSymbol "==="');
4788
+ var BinaryOpSymbol$18 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
4638
4789
  if (module2.config.coffeeEq)
4639
4790
  return "===";
4640
4791
  return $1;
4641
4792
  });
4642
- var BinaryOpSymbol$19 = $T($S($EXPECT($L62, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
4793
+ var BinaryOpSymbol$19 = $T($S($EXPECT($L64, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
4643
4794
  return "&&";
4644
4795
  });
4645
- var BinaryOpSymbol$20 = $EXPECT($L63, fail, 'BinaryOpSymbol "&&"');
4646
- var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L64, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
4796
+ var BinaryOpSymbol$20 = $EXPECT($L65, fail, 'BinaryOpSymbol "&&"');
4797
+ var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L66, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
4647
4798
  return "in";
4648
4799
  });
4649
- var BinaryOpSymbol$22 = $T($S($EXPECT($L65, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
4800
+ var BinaryOpSymbol$22 = $T($S($EXPECT($L67, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
4650
4801
  return "||";
4651
4802
  });
4652
- var BinaryOpSymbol$23 = $EXPECT($L66, fail, 'BinaryOpSymbol "||"');
4653
- var BinaryOpSymbol$24 = $EXPECT($L67, fail, 'BinaryOpSymbol "??"');
4654
- var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L68, fail, 'BinaryOpSymbol "?"')), function(value) {
4803
+ var BinaryOpSymbol$23 = $EXPECT($L68, fail, 'BinaryOpSymbol "||"');
4804
+ var BinaryOpSymbol$24 = $EXPECT($L69, fail, 'BinaryOpSymbol "??"');
4805
+ var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L70, fail, 'BinaryOpSymbol "?"')), function(value) {
4655
4806
  return "??";
4656
4807
  });
4657
- var BinaryOpSymbol$26 = $TS($S($EXPECT($L69, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4808
+ var BinaryOpSymbol$26 = $TS($S($EXPECT($L71, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4658
4809
  return $1;
4659
4810
  });
4660
- var BinaryOpSymbol$27 = $TS($S(CoffeeOfEnabled, $EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
4811
+ var BinaryOpSymbol$27 = $TS($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
4661
4812
  return {
4662
4813
  ref: module2.getIndexOfRef(),
4663
4814
  suffix: " >= 0"
4664
4815
  };
4665
4816
  });
4666
- var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L71, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4817
+ var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4667
4818
  return {
4668
4819
  ref: module2.getIndexOfRef(),
4669
4820
  suffix: " < 0"
4670
4821
  };
4671
4822
  });
4672
- var BinaryOpSymbol$29 = $TS($S($EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4823
+ var BinaryOpSymbol$29 = $TS($S($EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4673
4824
  return $1;
4674
4825
  });
4675
- var BinaryOpSymbol$30 = $EXPECT($L72, fail, 'BinaryOpSymbol "&"');
4676
- var BinaryOpSymbol$31 = $EXPECT($L73, fail, 'BinaryOpSymbol "^"');
4677
- var BinaryOpSymbol$32 = $EXPECT($L74, fail, 'BinaryOpSymbol "|"');
4826
+ var BinaryOpSymbol$30 = $EXPECT($L74, fail, 'BinaryOpSymbol "&"');
4827
+ var BinaryOpSymbol$31 = $EXPECT($L75, fail, 'BinaryOpSymbol "^"');
4828
+ var BinaryOpSymbol$32 = $EXPECT($L76, fail, 'BinaryOpSymbol "|"');
4678
4829
  function BinaryOpSymbol(state) {
4679
4830
  if (state.events) {
4680
4831
  const result = state.events.enter?.("BinaryOpSymbol", state);
@@ -4813,7 +4964,7 @@ ${input.slice(result.pos)}
4813
4964
  return result;
4814
4965
  }
4815
4966
  }
4816
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L75, fail, 'EmptyStatement ";"'))), function(value) {
4967
+ var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L77, fail, 'EmptyStatement ";"'))), function(value) {
4817
4968
  return { "type": "EmptyStatement", "children": value[0] };
4818
4969
  });
4819
4970
  function EmptyStatement(state) {
@@ -5611,7 +5762,7 @@ ${input.slice(result.pos)}
5611
5762
  return result;
5612
5763
  }
5613
5764
  }
5614
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L76, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
5765
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L78, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
5615
5766
  var own = $1;
5616
5767
  var binding = $2;
5617
5768
  if (own) {
@@ -5652,14 +5803,14 @@ ${input.slice(result.pos)}
5652
5803
  children: $0
5653
5804
  };
5654
5805
  });
5655
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationSuppressed, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
5806
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExtendedExpression, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
5656
5807
  var declaration = $4;
5657
5808
  return {
5658
5809
  declaration,
5659
5810
  children: $0
5660
5811
  };
5661
5812
  });
5662
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
5813
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
5663
5814
  var declaration = $3;
5664
5815
  return {
5665
5816
  declaration,
@@ -6004,7 +6155,7 @@ ${input.slice(result.pos)}
6004
6155
  return result;
6005
6156
  }
6006
6157
  }
6007
- var CaseExpressionList$0 = $TS($S($S($Q(_), ExpressionWithIndentedApplicationSuppressed, ImpliedColon), $Q($S(__, Comma, ExpressionWithIndentedApplicationSuppressed, ImpliedColon))), function($skip, $loc, $0, $1, $2) {
6158
+ var CaseExpressionList$0 = $TS($S($S($Q(_), ExtendedExpression, ImpliedColon), $Q($S(__, Comma, ExtendedExpression, ImpliedColon))), function($skip, $loc, $0, $1, $2) {
6008
6159
  const result = $2.map(([ws, _comma, exp, col]) => {
6009
6160
  exp = module2.insertTrimmingSpace(exp, "");
6010
6161
  if (ws.length)
@@ -6032,7 +6183,7 @@ ${input.slice(result.pos)}
6032
6183
  return result;
6033
6184
  }
6034
6185
  }
6035
- var NoExpressions$0 = $T($EXPECT($L1, fail, 'NoExpressions ""'), function(value) {
6186
+ var NoExpressions$0 = $T($EXPECT($L14, fail, 'NoExpressions ""'), function(value) {
6036
6187
  return [];
6037
6188
  });
6038
6189
  function NoExpressions(state) {
@@ -6054,7 +6205,7 @@ ${input.slice(result.pos)}
6054
6205
  }
6055
6206
  }
6056
6207
  var ImpliedColon$0 = $S(__, Colon);
6057
- var ImpliedColon$1 = $TV($EXPECT($L1, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6208
+ var ImpliedColon$1 = $TV($EXPECT($L14, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6058
6209
  return { $loc, token: ":" };
6059
6210
  });
6060
6211
  function ImpliedColon(state) {
@@ -6148,7 +6299,7 @@ ${input.slice(result.pos)}
6148
6299
  return result;
6149
6300
  }
6150
6301
  }
6151
- var Finally$0 = $S(__, $EXPECT($L77, fail, 'Finally "finally"'), BracedBlock);
6302
+ var Finally$0 = $S(__, $EXPECT($L79, fail, 'Finally "finally"'), BracedBlock);
6152
6303
  function Finally(state) {
6153
6304
  if (state.events) {
6154
6305
  const result = state.events.enter?.("Finally", state);
@@ -6190,7 +6341,7 @@ ${input.slice(result.pos)}
6190
6341
  var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp)))), function(value) {
6191
6342
  return value[0];
6192
6343
  });
6193
- var Condition$1 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
6344
+ var Condition$1 = $TS($S(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
6194
6345
  var open = $1;
6195
6346
  var exp = $2;
6196
6347
  var close = $3;
@@ -6219,52 +6370,6 @@ ${input.slice(result.pos)}
6219
6370
  return result;
6220
6371
  }
6221
6372
  }
6222
- var ExpressionWithIndentedApplicationSuppressed$0 = $TS($S(SuppressIndentedApplication, $E(ExtendedExpression)), function($skip, $loc, $0, $1, $2) {
6223
- var exp = $2;
6224
- module2.suppressIndentedApplication = false;
6225
- if (exp)
6226
- return exp;
6227
- return $skip;
6228
- });
6229
- function ExpressionWithIndentedApplicationSuppressed(state) {
6230
- if (state.events) {
6231
- const result = state.events.enter?.("ExpressionWithIndentedApplicationSuppressed", state);
6232
- if (result)
6233
- return result.cache;
6234
- }
6235
- if (state.tokenize) {
6236
- const result = $TOKEN("ExpressionWithIndentedApplicationSuppressed", state, ExpressionWithIndentedApplicationSuppressed$0(state));
6237
- if (state.events)
6238
- state.events.exit?.("ExpressionWithIndentedApplicationSuppressed", state, result);
6239
- return result;
6240
- } else {
6241
- const result = ExpressionWithIndentedApplicationSuppressed$0(state);
6242
- if (state.events)
6243
- state.events.exit?.("ExpressionWithIndentedApplicationSuppressed", state, result);
6244
- return result;
6245
- }
6246
- }
6247
- var SuppressIndentedApplication$0 = $TV($EXPECT($L1, fail, 'SuppressIndentedApplication ""'), function($skip, $loc, $0, $1) {
6248
- module2.suppressIndentedApplication = true;
6249
- });
6250
- function SuppressIndentedApplication(state) {
6251
- if (state.events) {
6252
- const result = state.events.enter?.("SuppressIndentedApplication", state);
6253
- if (result)
6254
- return result.cache;
6255
- }
6256
- if (state.tokenize) {
6257
- const result = $TOKEN("SuppressIndentedApplication", state, SuppressIndentedApplication$0(state));
6258
- if (state.events)
6259
- state.events.exit?.("SuppressIndentedApplication", state, result);
6260
- return result;
6261
- } else {
6262
- const result = SuppressIndentedApplication$0(state);
6263
- if (state.events)
6264
- state.events.exit?.("SuppressIndentedApplication", state, result);
6265
- return result;
6266
- }
6267
- }
6268
6373
  var ExpressionStatement$0 = Expression;
6269
6374
  function ExpressionStatement(state) {
6270
6375
  if (state.events) {
@@ -6284,13 +6389,13 @@ ${input.slice(result.pos)}
6284
6389
  return result;
6285
6390
  }
6286
6391
  }
6287
- var KeywordStatement$0 = $T($S($EXPECT($L78, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6392
+ var KeywordStatement$0 = $T($S($EXPECT($L80, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6288
6393
  return { "type": "BreakStatement", "children": value };
6289
6394
  });
6290
- var KeywordStatement$1 = $T($S($EXPECT($L79, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6395
+ var KeywordStatement$1 = $T($S($EXPECT($L81, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6291
6396
  return { "type": "ContinueStatement", "children": value };
6292
6397
  });
6293
- var KeywordStatement$2 = $T($S($EXPECT($L80, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6398
+ var KeywordStatement$2 = $T($S($EXPECT($L82, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6294
6399
  return { "type": "DebuggerStatement", "children": value };
6295
6400
  });
6296
6401
  var KeywordStatement$3 = $T($S(Return, $E(MaybeNestedExpression)), function(value) {
@@ -6317,7 +6422,7 @@ ${input.slice(result.pos)}
6317
6422
  return result;
6318
6423
  }
6319
6424
  }
6320
- var DebuggerExpression$0 = $TS($S($EXPECT($L80, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6425
+ var DebuggerExpression$0 = $TS($S($EXPECT($L82, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6321
6426
  return {
6322
6427
  type: "DebuggerExpression",
6323
6428
  children: ["(()=>{", $1, "})()"]
@@ -6389,7 +6494,7 @@ ${input.slice(result.pos)}
6389
6494
  return result;
6390
6495
  }
6391
6496
  }
6392
- var ImportDeclaration$0 = $T($S($EXPECT($L81, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6497
+ var ImportDeclaration$0 = $T($S($EXPECT($L83, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6393
6498
  return { "ts": true, "children": value };
6394
6499
  });
6395
6500
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
@@ -6423,7 +6528,7 @@ ${input.slice(result.pos)}
6423
6528
  return result;
6424
6529
  }
6425
6530
  }
6426
- var ImpliedImport$0 = $TV($EXPECT($L1, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6531
+ var ImpliedImport$0 = $TV($EXPECT($L14, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6427
6532
  return { $loc, token: "import " };
6428
6533
  });
6429
6534
  function ImpliedImport(state) {
@@ -6689,7 +6794,7 @@ ${input.slice(result.pos)}
6689
6794
  return result;
6690
6795
  }
6691
6796
  }
6692
- var ExportDeclaration$0 = $S(Export, __, $EXPECT($L82, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
6797
+ var ExportDeclaration$0 = $S(Export, __, $EXPECT($L84, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
6693
6798
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
6694
6799
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
6695
6800
  function ExportDeclaration(state) {
@@ -6874,7 +6979,7 @@ ${input.slice(result.pos)}
6874
6979
  return result;
6875
6980
  }
6876
6981
  }
6877
- var ConstAssignment$0 = $TV($EXPECT($L83, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
6982
+ var ConstAssignment$0 = $TV($EXPECT($L85, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
6878
6983
  return { $loc, token: "=" };
6879
6984
  });
6880
6985
  function ConstAssignment(state) {
@@ -7432,7 +7537,8 @@ ${input.slice(result.pos)}
7432
7537
  return result;
7433
7538
  }
7434
7539
  }
7435
- var RegularExpressionLiteral$0 = $TV($TEXT($S($EXPECT($L46, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L46, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
7540
+ var RegularExpressionLiteral$0 = HeregexLiteral;
7541
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L48, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L48, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
7436
7542
  return { $loc, token: $1 };
7437
7543
  });
7438
7544
  function RegularExpressionLiteral(state) {
@@ -7442,18 +7548,199 @@ ${input.slice(result.pos)}
7442
7548
  return result.cache;
7443
7549
  }
7444
7550
  if (state.tokenize) {
7445
- const result = $TOKEN("RegularExpressionLiteral", state, RegularExpressionLiteral$0(state));
7551
+ const result = $TOKEN("RegularExpressionLiteral", state, RegularExpressionLiteral$0(state) || RegularExpressionLiteral$1(state));
7446
7552
  if (state.events)
7447
7553
  state.events.exit?.("RegularExpressionLiteral", state, result);
7448
7554
  return result;
7449
7555
  } else {
7450
- const result = RegularExpressionLiteral$0(state);
7556
+ const result = RegularExpressionLiteral$0(state) || RegularExpressionLiteral$1(state);
7451
7557
  if (state.events)
7452
7558
  state.events.exit?.("RegularExpressionLiteral", state, result);
7453
7559
  return result;
7454
7560
  }
7455
7561
  }
7456
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R20, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
7562
+ var RegularExpressionClass$0 = $TV($TEXT($S(OpenBracket, RegularExpressionClassCharacters, CloseBracket)), function($skip, $loc, $0, $1) {
7563
+ return { $loc, token: $1 };
7564
+ });
7565
+ function RegularExpressionClass(state) {
7566
+ if (state.events) {
7567
+ const result = state.events.enter?.("RegularExpressionClass", state);
7568
+ if (result)
7569
+ return result.cache;
7570
+ }
7571
+ if (state.tokenize) {
7572
+ const result = $TOKEN("RegularExpressionClass", state, RegularExpressionClass$0(state));
7573
+ if (state.events)
7574
+ state.events.exit?.("RegularExpressionClass", state, result);
7575
+ return result;
7576
+ } else {
7577
+ const result = RegularExpressionClass$0(state);
7578
+ if (state.events)
7579
+ state.events.exit?.("RegularExpressionClass", state, result);
7580
+ return result;
7581
+ }
7582
+ }
7583
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R20, fail, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7584
+ return { $loc, token: $0 };
7585
+ });
7586
+ function RegularExpressionClassCharacters(state) {
7587
+ if (state.events) {
7588
+ const result = state.events.enter?.("RegularExpressionClassCharacters", state);
7589
+ if (result)
7590
+ return result.cache;
7591
+ }
7592
+ if (state.tokenize) {
7593
+ const result = $TOKEN("RegularExpressionClassCharacters", state, RegularExpressionClassCharacters$0(state));
7594
+ if (state.events)
7595
+ state.events.exit?.("RegularExpressionClassCharacters", state, result);
7596
+ return result;
7597
+ } else {
7598
+ const result = RegularExpressionClassCharacters$0(state);
7599
+ if (state.events)
7600
+ state.events.exit?.("RegularExpressionClassCharacters", state, result);
7601
+ return result;
7602
+ }
7603
+ }
7604
+ var HeregexLiteral$0 = $TS($S(TripleSlash, HeregexBody, TripleSlash, RegularExpressionFlags), function($skip, $loc, $0, $1, $2, $3, $4) {
7605
+ var open = $1;
7606
+ var body = $2;
7607
+ var close = $3;
7608
+ var flags = $4;
7609
+ let hasSubstitutions = body.some((part) => part.type === "Substitution");
7610
+ if (hasSubstitutions) {
7611
+ const result = [
7612
+ { ...open, token: "RegExp(`" },
7613
+ body.map(
7614
+ (e) => e.type === "Substitution" ? e : {
7615
+ ...e,
7616
+ token: e.token.replace(/`|\\|\$/g, "\\$&")
7617
+ }
7618
+ ),
7619
+ "`"
7620
+ ];
7621
+ if (flags.length) {
7622
+ result.push(
7623
+ ", ",
7624
+ JSON.stringify(flags)
7625
+ );
7626
+ }
7627
+ result.push({ ...close, token: ")" });
7628
+ return result;
7629
+ }
7630
+ return $0;
7631
+ });
7632
+ function HeregexLiteral(state) {
7633
+ if (state.events) {
7634
+ const result = state.events.enter?.("HeregexLiteral", state);
7635
+ if (result)
7636
+ return result.cache;
7637
+ }
7638
+ if (state.tokenize) {
7639
+ const result = $TOKEN("HeregexLiteral", state, HeregexLiteral$0(state));
7640
+ if (state.events)
7641
+ state.events.exit?.("HeregexLiteral", state, result);
7642
+ return result;
7643
+ } else {
7644
+ const result = HeregexLiteral$0(state);
7645
+ if (state.events)
7646
+ state.events.exit?.("HeregexLiteral", state, result);
7647
+ return result;
7648
+ }
7649
+ }
7650
+ var HeregexBody$0 = $T($S($N(TripleSlash), $Q(HeregexPart)), function(value) {
7651
+ return value[1];
7652
+ });
7653
+ function HeregexBody(state) {
7654
+ if (state.events) {
7655
+ const result = state.events.enter?.("HeregexBody", state);
7656
+ if (result)
7657
+ return result.cache;
7658
+ }
7659
+ if (state.tokenize) {
7660
+ const result = $TOKEN("HeregexBody", state, HeregexBody$0(state));
7661
+ if (state.events)
7662
+ state.events.exit?.("HeregexBody", state, result);
7663
+ return result;
7664
+ } else {
7665
+ const result = HeregexBody$0(state);
7666
+ if (state.events)
7667
+ state.events.exit?.("HeregexBody", state, result);
7668
+ return result;
7669
+ }
7670
+ }
7671
+ var HeregexPart$0 = RegularExpressionClass;
7672
+ var HeregexPart$1 = $T($S(CoffeeStringSubstitution), function(value) {
7673
+ return { "type": "Substitution", "children": value[0] };
7674
+ });
7675
+ var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
7676
+ return { "type": "Substitution", "children": value[0] };
7677
+ });
7678
+ var HeregexPart$3 = $TR($EXPECT($R21, fail, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7679
+ let token = $0;
7680
+ switch ($0[1]) {
7681
+ case "\n":
7682
+ token = "\\n";
7683
+ break;
7684
+ case "\r":
7685
+ token = "\\r";
7686
+ break;
7687
+ case " ":
7688
+ token = " ";
7689
+ break;
7690
+ }
7691
+ return { $loc, token };
7692
+ });
7693
+ var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
7694
+ return { $loc, token: "" };
7695
+ });
7696
+ var HeregexPart$5 = $TR($EXPECT($R22, fail, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7697
+ return { $loc, token: "" };
7698
+ });
7699
+ var HeregexPart$6 = $TR($EXPECT($R23, fail, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7700
+ return { $loc, token: "\\/" };
7701
+ });
7702
+ var HeregexPart$7 = $TR($EXPECT($R24, fail, "HeregexPart /[^\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7703
+ return { $loc, token: $0 };
7704
+ });
7705
+ function HeregexPart(state) {
7706
+ if (state.events) {
7707
+ const result = state.events.enter?.("HeregexPart", state);
7708
+ if (result)
7709
+ return result.cache;
7710
+ }
7711
+ if (state.tokenize) {
7712
+ const result = $TOKEN("HeregexPart", state, HeregexPart$0(state) || HeregexPart$1(state) || HeregexPart$2(state) || HeregexPart$3(state) || HeregexPart$4(state) || HeregexPart$5(state) || HeregexPart$6(state) || HeregexPart$7(state));
7713
+ if (state.events)
7714
+ state.events.exit?.("HeregexPart", state, result);
7715
+ return result;
7716
+ } else {
7717
+ const result = HeregexPart$0(state) || HeregexPart$1(state) || HeregexPart$2(state) || HeregexPart$3(state) || HeregexPart$4(state) || HeregexPart$5(state) || HeregexPart$6(state) || HeregexPart$7(state);
7718
+ if (state.events)
7719
+ state.events.exit?.("HeregexPart", state, result);
7720
+ return result;
7721
+ }
7722
+ }
7723
+ var HeregexComment$0 = JSSingleLineComment;
7724
+ var HeregexComment$1 = CoffeeSingleLineComment;
7725
+ function HeregexComment(state) {
7726
+ if (state.events) {
7727
+ const result = state.events.enter?.("HeregexComment", state);
7728
+ if (result)
7729
+ return result.cache;
7730
+ }
7731
+ if (state.tokenize) {
7732
+ const result = $TOKEN("HeregexComment", state, HeregexComment$0(state) || HeregexComment$1(state));
7733
+ if (state.events)
7734
+ state.events.exit?.("HeregexComment", state, result);
7735
+ return result;
7736
+ } else {
7737
+ const result = HeregexComment$0(state) || HeregexComment$1(state);
7738
+ if (state.events)
7739
+ state.events.exit?.("HeregexComment", state, result);
7740
+ return result;
7741
+ }
7742
+ }
7743
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R25, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
7457
7744
  function RegularExpressionBody(state) {
7458
7745
  if (state.events) {
7459
7746
  const result = state.events.enter?.("RegularExpressionBody", state);
@@ -7472,7 +7759,7 @@ ${input.slice(result.pos)}
7472
7759
  return result;
7473
7760
  }
7474
7761
  }
7475
- var RegExpCharacter$0 = $R$0($EXPECT($R21, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
7762
+ var RegExpCharacter$0 = $R$0($EXPECT($R26, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
7476
7763
  function RegExpCharacter(state) {
7477
7764
  if (state.events) {
7478
7765
  const result = state.events.enter?.("RegExpCharacter", state);
@@ -7491,7 +7778,7 @@ ${input.slice(result.pos)}
7491
7778
  return result;
7492
7779
  }
7493
7780
  }
7494
- var RegularExpressionFlags$0 = $R$0($EXPECT($R22, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
7781
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R27, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
7495
7782
  function RegularExpressionFlags(state) {
7496
7783
  if (state.events) {
7497
7784
  const result = state.events.enter?.("RegularExpressionFlags", state);
@@ -7551,7 +7838,7 @@ ${input.slice(result.pos)}
7551
7838
  return result;
7552
7839
  }
7553
7840
  }
7554
- var TemplateCharacters$0 = $TR($EXPECT($R23, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7841
+ var TemplateCharacters$0 = $TR($EXPECT($R28, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7555
7842
  return { $loc, token: $0 };
7556
7843
  });
7557
7844
  function TemplateCharacters(state) {
@@ -7572,7 +7859,7 @@ ${input.slice(result.pos)}
7572
7859
  return result;
7573
7860
  }
7574
7861
  }
7575
- var TemplateBlockCharacters$0 = $TR($EXPECT($R24, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7862
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R29, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7576
7863
  return { $loc, token: $0 };
7577
7864
  });
7578
7865
  function TemplateBlockCharacters(state) {
@@ -7593,10 +7880,10 @@ ${input.slice(result.pos)}
7593
7880
  return result;
7594
7881
  }
7595
7882
  }
7596
- var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R25, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
7597
- var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R26, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
7598
- var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R27, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
7599
- var ReservedWord$3 = $R$0($EXPECT($R28, 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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
7883
+ var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R30, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
7884
+ var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R31, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
7885
+ var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R32, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
7886
+ var ReservedWord$3 = $R$0($EXPECT($R33, 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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
7600
7887
  function ReservedWord(state) {
7601
7888
  if (state.events) {
7602
7889
  const result = state.events.enter?.("ReservedWord", state);
@@ -7635,9 +7922,7 @@ ${input.slice(result.pos)}
7635
7922
  return result;
7636
7923
  }
7637
7924
  }
7638
- var SingleLineComment$0 = $TR($EXPECT($R29, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7639
- return { $loc, token: $0 };
7640
- });
7925
+ var SingleLineComment$0 = JSSingleLineComment;
7641
7926
  var SingleLineComment$1 = $S(CoffeeCommentEnabled, CoffeeSingleLineComment);
7642
7927
  function SingleLineComment(state) {
7643
7928
  if (state.events) {
@@ -7657,6 +7942,27 @@ ${input.slice(result.pos)}
7657
7942
  return result;
7658
7943
  }
7659
7944
  }
7945
+ var JSSingleLineComment$0 = $TR($EXPECT($R34, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7946
+ return { $loc, token: $0 };
7947
+ });
7948
+ function JSSingleLineComment(state) {
7949
+ if (state.events) {
7950
+ const result = state.events.enter?.("JSSingleLineComment", state);
7951
+ if (result)
7952
+ return result.cache;
7953
+ }
7954
+ if (state.tokenize) {
7955
+ const result = $TOKEN("JSSingleLineComment", state, JSSingleLineComment$0(state));
7956
+ if (state.events)
7957
+ state.events.exit?.("JSSingleLineComment", state, result);
7958
+ return result;
7959
+ } else {
7960
+ const result = JSSingleLineComment$0(state);
7961
+ if (state.events)
7962
+ state.events.exit?.("JSSingleLineComment", state, result);
7963
+ return result;
7964
+ }
7965
+ }
7660
7966
  var MultiLineComment$0 = JSMultiLineComment;
7661
7967
  var MultiLineComment$1 = CoffeeMultiLineComment;
7662
7968
  function MultiLineComment(state) {
@@ -7677,7 +7983,7 @@ ${input.slice(result.pos)}
7677
7983
  return result;
7678
7984
  }
7679
7985
  }
7680
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($R30, fail, "JSMultiLineComment /./"))), $EXPECT($L85, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
7986
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R35, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
7681
7987
  return { $loc, token: $1 };
7682
7988
  });
7683
7989
  function JSMultiLineComment(state) {
@@ -7698,7 +8004,7 @@ ${input.slice(result.pos)}
7698
8004
  return result;
7699
8005
  }
7700
8006
  }
7701
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R31, fail, "CoffeeSingleLineComment /#(?!##)([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8007
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R36, fail, "CoffeeSingleLineComment /#(?!##)([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7702
8008
  return { $loc, token: `//${$1}` };
7703
8009
  });
7704
8010
  function CoffeeSingleLineComment(state) {
@@ -7719,7 +8025,7 @@ ${input.slice(result.pos)}
7719
8025
  return result;
7720
8026
  }
7721
8027
  }
7722
- var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R30, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L86, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
8028
+ var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L88, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L88, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L88, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
7723
8029
  return { $loc, token: `/*${$2}*/` };
7724
8030
  });
7725
8031
  function CoffeeMultiLineComment(state) {
@@ -7740,7 +8046,7 @@ ${input.slice(result.pos)}
7740
8046
  return result;
7741
8047
  }
7742
8048
  }
7743
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($R32, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L85, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8049
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R37, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
7744
8050
  return { $loc, token: $1 };
7745
8051
  });
7746
8052
  function InlineComment(state) {
@@ -7820,10 +8126,10 @@ ${input.slice(result.pos)}
7820
8126
  return result;
7821
8127
  }
7822
8128
  }
7823
- var NonNewlineWhitespace$0 = $TR($EXPECT($R33, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8129
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R38, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7824
8130
  return { $loc, token: $0 };
7825
8131
  });
7826
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L87, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8132
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L89, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
7827
8133
  return "";
7828
8134
  });
7829
8135
  function NonNewlineWhitespace(state) {
@@ -7863,7 +8169,7 @@ ${input.slice(result.pos)}
7863
8169
  return result;
7864
8170
  }
7865
8171
  }
7866
- var Whitespace$0 = $TR($EXPECT($R34, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8172
+ var Whitespace$0 = $TR($EXPECT($R22, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7867
8173
  return { $loc, token: $0 };
7868
8174
  });
7869
8175
  function Whitespace(state) {
@@ -7929,7 +8235,7 @@ ${input.slice(result.pos)}
7929
8235
  return result;
7930
8236
  }
7931
8237
  }
7932
- var NonIdContinue$0 = $R$0($EXPECT($R35, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8238
+ var NonIdContinue$0 = $R$0($EXPECT($R39, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
7933
8239
  function NonIdContinue(state) {
7934
8240
  if (state.events) {
7935
8241
  const result = state.events.enter?.("NonIdContinue", state);
@@ -7948,7 +8254,7 @@ ${input.slice(result.pos)}
7948
8254
  return result;
7949
8255
  }
7950
8256
  }
7951
- var Loc$0 = $TV($EXPECT($L1, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
8257
+ var Loc$0 = $TV($EXPECT($L14, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
7952
8258
  return { $loc, token: "" };
7953
8259
  });
7954
8260
  function Loc(state) {
@@ -7969,7 +8275,7 @@ ${input.slice(result.pos)}
7969
8275
  return result;
7970
8276
  }
7971
8277
  }
7972
- var Ampersand$0 = $TV($EXPECT($L72, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
8278
+ var Ampersand$0 = $TV($EXPECT($L74, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
7973
8279
  return { $loc, token: $1 };
7974
8280
  });
7975
8281
  function Ampersand(state) {
@@ -7990,7 +8296,7 @@ ${input.slice(result.pos)}
7990
8296
  return result;
7991
8297
  }
7992
8298
  }
7993
- var As$0 = $TS($S($EXPECT($L88, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8299
+ var As$0 = $TS($S($EXPECT($L90, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7994
8300
  return { $loc, token: $1 };
7995
8301
  });
7996
8302
  function As(state) {
@@ -8011,7 +8317,7 @@ ${input.slice(result.pos)}
8011
8317
  return result;
8012
8318
  }
8013
8319
  }
8014
- var At$0 = $TV($EXPECT($L89, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8320
+ var At$0 = $TV($EXPECT($L91, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8015
8321
  return { $loc, token: $1 };
8016
8322
  });
8017
8323
  function At(state) {
@@ -8032,7 +8338,7 @@ ${input.slice(result.pos)}
8032
8338
  return result;
8033
8339
  }
8034
8340
  }
8035
- var Async$0 = $TV($EXPECT($L90, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8341
+ var Async$0 = $TV($EXPECT($L92, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8036
8342
  return { $loc, token: $1 };
8037
8343
  });
8038
8344
  function Async(state) {
@@ -8053,7 +8359,7 @@ ${input.slice(result.pos)}
8053
8359
  return result;
8054
8360
  }
8055
8361
  }
8056
- var Await$0 = $TS($S($EXPECT($L91, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8362
+ var Await$0 = $TS($S($EXPECT($L93, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8057
8363
  return { $loc, token: $1 };
8058
8364
  });
8059
8365
  function Await(state) {
@@ -8074,7 +8380,7 @@ ${input.slice(result.pos)}
8074
8380
  return result;
8075
8381
  }
8076
8382
  }
8077
- var Backtick$0 = $TV($EXPECT($L92, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8383
+ var Backtick$0 = $TV($EXPECT($L94, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8078
8384
  return { $loc, token: $1 };
8079
8385
  });
8080
8386
  function Backtick(state) {
@@ -8095,7 +8401,7 @@ ${input.slice(result.pos)}
8095
8401
  return result;
8096
8402
  }
8097
8403
  }
8098
- var By$0 = $TS($S($EXPECT($L93, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8404
+ var By$0 = $TS($S($EXPECT($L95, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8099
8405
  return { $loc, token: $1 };
8100
8406
  });
8101
8407
  function By(state) {
@@ -8116,7 +8422,7 @@ ${input.slice(result.pos)}
8116
8422
  return result;
8117
8423
  }
8118
8424
  }
8119
- var Case$0 = $TS($S($EXPECT($L94, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8425
+ var Case$0 = $TS($S($EXPECT($L96, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8120
8426
  return { $loc, token: $1 };
8121
8427
  });
8122
8428
  function Case(state) {
@@ -8137,7 +8443,7 @@ ${input.slice(result.pos)}
8137
8443
  return result;
8138
8444
  }
8139
8445
  }
8140
- var Catch$0 = $TV($EXPECT($L95, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8446
+ var Catch$0 = $TV($EXPECT($L97, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8141
8447
  return { $loc, token: $1 };
8142
8448
  });
8143
8449
  function Catch(state) {
@@ -8158,7 +8464,7 @@ ${input.slice(result.pos)}
8158
8464
  return result;
8159
8465
  }
8160
8466
  }
8161
- var Class$0 = $TV($EXPECT($L96, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8467
+ var Class$0 = $TV($EXPECT($L98, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8162
8468
  return { $loc, token: $1 };
8163
8469
  });
8164
8470
  function Class(state) {
@@ -8221,7 +8527,7 @@ ${input.slice(result.pos)}
8221
8527
  return result;
8222
8528
  }
8223
8529
  }
8224
- var CloseParen$0 = $TV($EXPECT($L16, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
8530
+ var CloseParen$0 = $TV($EXPECT($L15, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
8225
8531
  return { $loc, token: $1 };
8226
8532
  });
8227
8533
  function CloseParen(state) {
@@ -8242,7 +8548,7 @@ ${input.slice(result.pos)}
8242
8548
  return result;
8243
8549
  }
8244
8550
  }
8245
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L97, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8551
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L99, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8246
8552
  return { $loc, token: "${" };
8247
8553
  });
8248
8554
  function CoffeeSubstitutionStart(state) {
@@ -8263,7 +8569,7 @@ ${input.slice(result.pos)}
8263
8569
  return result;
8264
8570
  }
8265
8571
  }
8266
- var Colon$0 = $TV($EXPECT($L98, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8572
+ var Colon$0 = $TV($EXPECT($L100, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8267
8573
  return { $loc, token: $1 };
8268
8574
  });
8269
8575
  function Colon(state) {
@@ -8284,7 +8590,7 @@ ${input.slice(result.pos)}
8284
8590
  return result;
8285
8591
  }
8286
8592
  }
8287
- var ConstructorShorthand$0 = $TV($EXPECT($L89, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8593
+ var ConstructorShorthand$0 = $TV($EXPECT($L91, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8288
8594
  return { $loc, token: "constructor" };
8289
8595
  });
8290
8596
  function ConstructorShorthand(state) {
@@ -8305,7 +8611,7 @@ ${input.slice(result.pos)}
8305
8611
  return result;
8306
8612
  }
8307
8613
  }
8308
- var Default$0 = $TS($S($EXPECT($L82, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8614
+ var Default$0 = $TS($S($EXPECT($L84, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8309
8615
  return { $loc, token: $1 };
8310
8616
  });
8311
8617
  function Default(state) {
@@ -8326,7 +8632,7 @@ ${input.slice(result.pos)}
8326
8632
  return result;
8327
8633
  }
8328
8634
  }
8329
- var Delete$0 = $TS($S($EXPECT($L99, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8635
+ var Delete$0 = $TS($S($EXPECT($L101, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8330
8636
  return { $loc, token: $1 };
8331
8637
  });
8332
8638
  function Delete(state) {
@@ -8347,7 +8653,7 @@ ${input.slice(result.pos)}
8347
8653
  return result;
8348
8654
  }
8349
8655
  }
8350
- var Do$0 = $TS($S($EXPECT($L100, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8656
+ var Do$0 = $TS($S($EXPECT($L102, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8351
8657
  return { $loc, token: $1 };
8352
8658
  });
8353
8659
  function Do(state) {
@@ -8368,7 +8674,7 @@ ${input.slice(result.pos)}
8368
8674
  return result;
8369
8675
  }
8370
8676
  }
8371
- var Dot$0 = $TV($EXPECT($L10, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
8677
+ var Dot$0 = $TV($EXPECT($L8, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
8372
8678
  return { $loc, token: $1 };
8373
8679
  });
8374
8680
  function Dot(state) {
@@ -8389,7 +8695,7 @@ ${input.slice(result.pos)}
8389
8695
  return result;
8390
8696
  }
8391
8697
  }
8392
- var DotDot$0 = $TV($EXPECT($L101, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8698
+ var DotDot$0 = $TV($EXPECT($L103, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8393
8699
  return { $loc, token: $1 };
8394
8700
  });
8395
8701
  function DotDot(state) {
@@ -8410,7 +8716,7 @@ ${input.slice(result.pos)}
8410
8716
  return result;
8411
8717
  }
8412
8718
  }
8413
- var DotDotDot$0 = $TV($EXPECT($L102, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
8719
+ var DotDotDot$0 = $TV($EXPECT($L104, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
8414
8720
  return { $loc, token: $1 };
8415
8721
  });
8416
8722
  function DotDotDot(state) {
@@ -8431,7 +8737,7 @@ ${input.slice(result.pos)}
8431
8737
  return result;
8432
8738
  }
8433
8739
  }
8434
- var DoubleColon$0 = $TV($EXPECT($L103, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
8740
+ var DoubleColon$0 = $TV($EXPECT($L105, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
8435
8741
  return { $loc, token: $1 };
8436
8742
  });
8437
8743
  function DoubleColon(state) {
@@ -8452,7 +8758,7 @@ ${input.slice(result.pos)}
8452
8758
  return result;
8453
8759
  }
8454
8760
  }
8455
- var DoubleQuote$0 = $TV($EXPECT($L104, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
8761
+ var DoubleQuote$0 = $TV($EXPECT($L106, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
8456
8762
  return { $loc, token: $1 };
8457
8763
  });
8458
8764
  function DoubleQuote(state) {
@@ -8473,7 +8779,7 @@ ${input.slice(result.pos)}
8473
8779
  return result;
8474
8780
  }
8475
8781
  }
8476
- var Else$0 = $TV($EXPECT($L105, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
8782
+ var Else$0 = $TV($EXPECT($L107, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
8477
8783
  return { $loc, token: $1 };
8478
8784
  });
8479
8785
  function Else(state) {
@@ -8515,7 +8821,7 @@ ${input.slice(result.pos)}
8515
8821
  return result;
8516
8822
  }
8517
8823
  }
8518
- var Export$0 = $TS($S($EXPECT($L106, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8824
+ var Export$0 = $TS($S($EXPECT($L108, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8519
8825
  return { $loc, token: $1 };
8520
8826
  });
8521
8827
  function Export(state) {
@@ -8536,7 +8842,7 @@ ${input.slice(result.pos)}
8536
8842
  return result;
8537
8843
  }
8538
8844
  }
8539
- var For$0 = $TS($S($EXPECT($L107, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8845
+ var For$0 = $TS($S($EXPECT($L109, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8540
8846
  return { $loc, token: $1 };
8541
8847
  });
8542
8848
  function For(state) {
@@ -8557,7 +8863,7 @@ ${input.slice(result.pos)}
8557
8863
  return result;
8558
8864
  }
8559
8865
  }
8560
- var From$0 = $TS($S($EXPECT($L108, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8866
+ var From$0 = $TS($S($EXPECT($L110, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8561
8867
  return { $loc, token: $1 };
8562
8868
  });
8563
8869
  function From(state) {
@@ -8578,7 +8884,7 @@ ${input.slice(result.pos)}
8578
8884
  return result;
8579
8885
  }
8580
8886
  }
8581
- var Function$0 = $TV($EXPECT($L109, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
8887
+ var Function$0 = $TV($EXPECT($L111, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
8582
8888
  return { $loc, token: $1 };
8583
8889
  });
8584
8890
  function Function(state) {
@@ -8599,7 +8905,7 @@ ${input.slice(result.pos)}
8599
8905
  return result;
8600
8906
  }
8601
8907
  }
8602
- var GetOrSet$0 = $TS($S($C($EXPECT($L110, fail, 'GetOrSet "get"'), $EXPECT($L111, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8908
+ var GetOrSet$0 = $TS($S($C($EXPECT($L112, fail, 'GetOrSet "get"'), $EXPECT($L113, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8603
8909
  return { $loc, token: $1 };
8604
8910
  });
8605
8911
  function GetOrSet(state) {
@@ -8620,7 +8926,7 @@ ${input.slice(result.pos)}
8620
8926
  return result;
8621
8927
  }
8622
8928
  }
8623
- var If$0 = $TV($TEXT($S($EXPECT($L112, fail, 'If "if"'), $E($EXPECT($L5, fail, 'If " "')))), function($skip, $loc, $0, $1) {
8929
+ var If$0 = $TV($TEXT($S($EXPECT($L114, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
8624
8930
  return { $loc, token: $1 };
8625
8931
  });
8626
8932
  function If(state) {
@@ -8641,7 +8947,7 @@ ${input.slice(result.pos)}
8641
8947
  return result;
8642
8948
  }
8643
8949
  }
8644
- var Import$0 = $TS($S($EXPECT($L12, fail, 'Import "import"'), $Y($EXPECT($R36, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
8950
+ var Import$0 = $TS($S($EXPECT($L10, fail, 'Import "import"'), $Y($EXPECT($R40, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
8645
8951
  return { $loc, token: $1 };
8646
8952
  });
8647
8953
  function Import(state) {
@@ -8662,7 +8968,7 @@ ${input.slice(result.pos)}
8662
8968
  return result;
8663
8969
  }
8664
8970
  }
8665
- var In$0 = $TV($EXPECT($L70, fail, 'In "in"'), function($skip, $loc, $0, $1) {
8971
+ var In$0 = $TV($EXPECT($L72, fail, 'In "in"'), function($skip, $loc, $0, $1) {
8666
8972
  return { $loc, token: $1 };
8667
8973
  });
8668
8974
  function In(state) {
@@ -8683,7 +8989,7 @@ ${input.slice(result.pos)}
8683
8989
  return result;
8684
8990
  }
8685
8991
  }
8686
- var LetOrConst$0 = $TV($C($EXPECT($L113, fail, 'LetOrConst "let"'), $EXPECT($L114, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
8992
+ var LetOrConst$0 = $TV($C($EXPECT($L115, fail, 'LetOrConst "let"'), $EXPECT($L116, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
8687
8993
  return { $loc, token: $1 };
8688
8994
  });
8689
8995
  function LetOrConst(state) {
@@ -8704,7 +9010,7 @@ ${input.slice(result.pos)}
8704
9010
  return result;
8705
9011
  }
8706
9012
  }
8707
- var Loop$0 = $TS($S($EXPECT($L115, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9013
+ var Loop$0 = $TS($S($EXPECT($L117, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8708
9014
  return { $loc, token: "while(true)" };
8709
9015
  });
8710
9016
  function Loop(state) {
@@ -8725,7 +9031,7 @@ ${input.slice(result.pos)}
8725
9031
  return result;
8726
9032
  }
8727
9033
  }
8728
- var New$0 = $TV($EXPECT($L116, fail, 'New "new"'), function($skip, $loc, $0, $1) {
9034
+ var New$0 = $TV($EXPECT($L118, fail, 'New "new"'), function($skip, $loc, $0, $1) {
8729
9035
  return { $loc, token: $1 };
8730
9036
  });
8731
9037
  function New(state) {
@@ -8746,7 +9052,7 @@ ${input.slice(result.pos)}
8746
9052
  return result;
8747
9053
  }
8748
9054
  }
8749
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L71, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L5, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9055
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L73, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8750
9056
  return { $loc, token: "!" };
8751
9057
  });
8752
9058
  function Not(state) {
@@ -8767,7 +9073,7 @@ ${input.slice(result.pos)}
8767
9073
  return result;
8768
9074
  }
8769
9075
  }
8770
- var Of$0 = $TV($EXPECT($L64, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
9076
+ var Of$0 = $TV($EXPECT($L66, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
8771
9077
  return { $loc, token: $1 };
8772
9078
  });
8773
9079
  function Of(state) {
@@ -8788,7 +9094,7 @@ ${input.slice(result.pos)}
8788
9094
  return result;
8789
9095
  }
8790
9096
  }
8791
- var OpenBrace$0 = $TV($EXPECT($L117, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9097
+ var OpenBrace$0 = $TV($EXPECT($L119, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
8792
9098
  return { $loc, token: $1 };
8793
9099
  });
8794
9100
  function OpenBrace(state) {
@@ -8809,7 +9115,7 @@ ${input.slice(result.pos)}
8809
9115
  return result;
8810
9116
  }
8811
9117
  }
8812
- var OpenBracket$0 = $TV($EXPECT($L118, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9118
+ var OpenBracket$0 = $TV($EXPECT($L120, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
8813
9119
  return { $loc, token: $1 };
8814
9120
  });
8815
9121
  function OpenBracket(state) {
@@ -8830,7 +9136,7 @@ ${input.slice(result.pos)}
8830
9136
  return result;
8831
9137
  }
8832
9138
  }
8833
- var OpenParen$0 = $TV($EXPECT($L119, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9139
+ var OpenParen$0 = $TV($EXPECT($L121, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
8834
9140
  return { $loc, token: $1 };
8835
9141
  });
8836
9142
  function OpenParen(state) {
@@ -8851,7 +9157,7 @@ ${input.slice(result.pos)}
8851
9157
  return result;
8852
9158
  }
8853
9159
  }
8854
- var QuestionMark$0 = $TV($EXPECT($L68, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
9160
+ var QuestionMark$0 = $TV($EXPECT($L70, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
8855
9161
  return { $loc, token: $1 };
8856
9162
  });
8857
9163
  function QuestionMark(state) {
@@ -8872,7 +9178,7 @@ ${input.slice(result.pos)}
8872
9178
  return result;
8873
9179
  }
8874
9180
  }
8875
- var Return$0 = $TS($S($EXPECT($L120, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9181
+ var Return$0 = $TS($S($EXPECT($L122, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8876
9182
  return { $loc, token: $1 };
8877
9183
  });
8878
9184
  function Return(state) {
@@ -8893,7 +9199,7 @@ ${input.slice(result.pos)}
8893
9199
  return result;
8894
9200
  }
8895
9201
  }
8896
- var Semicolon$0 = $TV($EXPECT($L75, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
9202
+ var Semicolon$0 = $TV($EXPECT($L77, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
8897
9203
  return { $loc, token: $1 };
8898
9204
  });
8899
9205
  function Semicolon(state) {
@@ -8914,7 +9220,7 @@ ${input.slice(result.pos)}
8914
9220
  return result;
8915
9221
  }
8916
9222
  }
8917
- var SingleQuote$0 = $TV($EXPECT($L121, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
9223
+ var SingleQuote$0 = $TV($EXPECT($L123, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
8918
9224
  return { $loc, token: $1 };
8919
9225
  });
8920
9226
  function SingleQuote(state) {
@@ -8935,7 +9241,7 @@ ${input.slice(result.pos)}
8935
9241
  return result;
8936
9242
  }
8937
9243
  }
8938
- var Star$0 = $TV($EXPECT($L45, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
9244
+ var Star$0 = $TV($EXPECT($L47, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
8939
9245
  return { $loc, token: $1 };
8940
9246
  });
8941
9247
  function Star(state) {
@@ -8956,10 +9262,10 @@ ${input.slice(result.pos)}
8956
9262
  return result;
8957
9263
  }
8958
9264
  }
8959
- var Static$0 = $TV($EXPECT($L122, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
9265
+ var Static$0 = $TV($EXPECT($L124, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
8960
9266
  return { $loc, token: $1 };
8961
9267
  });
8962
- var Static$1 = $TS($S($EXPECT($L89, fail, 'Static "@"'), $N($EXPECT($L119, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
9268
+ var Static$1 = $TS($S($EXPECT($L91, fail, 'Static "@"'), $N($EXPECT($L121, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
8963
9269
  return { $loc, token: "static " };
8964
9270
  });
8965
9271
  function Static(state) {
@@ -8980,7 +9286,7 @@ ${input.slice(result.pos)}
8980
9286
  return result;
8981
9287
  }
8982
9288
  }
8983
- var SubstitutionStart$0 = $TV($EXPECT($L123, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
9289
+ var SubstitutionStart$0 = $TV($EXPECT($L125, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
8984
9290
  return { $loc, token: $1 };
8985
9291
  });
8986
9292
  function SubstitutionStart(state) {
@@ -9001,7 +9307,7 @@ ${input.slice(result.pos)}
9001
9307
  return result;
9002
9308
  }
9003
9309
  }
9004
- var Switch$0 = $TS($S($EXPECT($L124, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9310
+ var Switch$0 = $TS($S($EXPECT($L126, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9005
9311
  return { $loc, token: $1 };
9006
9312
  });
9007
9313
  function Switch(state) {
@@ -9022,7 +9328,7 @@ ${input.slice(result.pos)}
9022
9328
  return result;
9023
9329
  }
9024
9330
  }
9025
- var Target$0 = $TV($EXPECT($L125, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9331
+ var Target$0 = $TV($EXPECT($L127, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9026
9332
  return { $loc, token: $1 };
9027
9333
  });
9028
9334
  function Target(state) {
@@ -9043,7 +9349,7 @@ ${input.slice(result.pos)}
9043
9349
  return result;
9044
9350
  }
9045
9351
  }
9046
- var Then$0 = $TS($S(__, $EXPECT($L126, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9352
+ var Then$0 = $TS($S(__, $EXPECT($L128, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9047
9353
  return { $loc, token: "" };
9048
9354
  });
9049
9355
  function Then(state) {
@@ -9064,7 +9370,7 @@ ${input.slice(result.pos)}
9064
9370
  return result;
9065
9371
  }
9066
9372
  }
9067
- var Throw$0 = $TS($S($EXPECT($L127, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9373
+ var Throw$0 = $TS($S($EXPECT($L129, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9068
9374
  return { $loc, token: $1 };
9069
9375
  });
9070
9376
  function Throw(state) {
@@ -9085,7 +9391,7 @@ ${input.slice(result.pos)}
9085
9391
  return result;
9086
9392
  }
9087
9393
  }
9088
- var TripleDoubleQuote$0 = $TV($EXPECT($L128, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9394
+ var TripleDoubleQuote$0 = $TV($EXPECT($L130, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9089
9395
  return { $loc, token: "`" };
9090
9396
  });
9091
9397
  function TripleDoubleQuote(state) {
@@ -9106,7 +9412,7 @@ ${input.slice(result.pos)}
9106
9412
  return result;
9107
9413
  }
9108
9414
  }
9109
- var TripleSingleQuote$0 = $TV($EXPECT($L129, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9415
+ var TripleSingleQuote$0 = $TV($EXPECT($L131, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9110
9416
  return { $loc, token: "`" };
9111
9417
  });
9112
9418
  function TripleSingleQuote(state) {
@@ -9127,7 +9433,28 @@ ${input.slice(result.pos)}
9127
9433
  return result;
9128
9434
  }
9129
9435
  }
9130
- var TripleTick$0 = $TV($EXPECT($L130, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9436
+ var TripleSlash$0 = $TV($EXPECT($L132, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
9437
+ return { $loc, token: "/" };
9438
+ });
9439
+ function TripleSlash(state) {
9440
+ if (state.events) {
9441
+ const result = state.events.enter?.("TripleSlash", state);
9442
+ if (result)
9443
+ return result.cache;
9444
+ }
9445
+ if (state.tokenize) {
9446
+ const result = $TOKEN("TripleSlash", state, TripleSlash$0(state));
9447
+ if (state.events)
9448
+ state.events.exit?.("TripleSlash", state, result);
9449
+ return result;
9450
+ } else {
9451
+ const result = TripleSlash$0(state);
9452
+ if (state.events)
9453
+ state.events.exit?.("TripleSlash", state, result);
9454
+ return result;
9455
+ }
9456
+ }
9457
+ var TripleTick$0 = $TV($EXPECT($L133, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9131
9458
  return { $loc, token: "`" };
9132
9459
  });
9133
9460
  function TripleTick(state) {
@@ -9148,7 +9475,7 @@ ${input.slice(result.pos)}
9148
9475
  return result;
9149
9476
  }
9150
9477
  }
9151
- var Try$0 = $TV($EXPECT($L131, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9478
+ var Try$0 = $TV($EXPECT($L134, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9152
9479
  return { $loc, token: $1 };
9153
9480
  });
9154
9481
  function Try(state) {
@@ -9169,7 +9496,7 @@ ${input.slice(result.pos)}
9169
9496
  return result;
9170
9497
  }
9171
9498
  }
9172
- var Typeof$0 = $TS($S($EXPECT($L132, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9499
+ var Typeof$0 = $TS($S($EXPECT($L135, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9173
9500
  return { $loc, token: $1 };
9174
9501
  });
9175
9502
  function Typeof(state) {
@@ -9190,7 +9517,7 @@ ${input.slice(result.pos)}
9190
9517
  return result;
9191
9518
  }
9192
9519
  }
9193
- var Unless$0 = $TV($EXPECT($L133, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9520
+ var Unless$0 = $TV($EXPECT($L136, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9194
9521
  return { $loc, token: $1 };
9195
9522
  });
9196
9523
  function Unless(state) {
@@ -9211,7 +9538,7 @@ ${input.slice(result.pos)}
9211
9538
  return result;
9212
9539
  }
9213
9540
  }
9214
- var Until$0 = $TS($S($EXPECT($L134, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9541
+ var Until$0 = $TS($S($EXPECT($L137, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9215
9542
  return { $loc, token: $1 };
9216
9543
  });
9217
9544
  function Until(state) {
@@ -9232,7 +9559,7 @@ ${input.slice(result.pos)}
9232
9559
  return result;
9233
9560
  }
9234
9561
  }
9235
- var Var$0 = $TV($EXPECT($L135, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9562
+ var Var$0 = $TV($EXPECT($L138, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9236
9563
  return { $loc, token: $1 };
9237
9564
  });
9238
9565
  function Var(state) {
@@ -9253,7 +9580,7 @@ ${input.slice(result.pos)}
9253
9580
  return result;
9254
9581
  }
9255
9582
  }
9256
- var Void$0 = $TS($S($EXPECT($L136, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9583
+ var Void$0 = $TS($S($EXPECT($L139, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9257
9584
  return { $loc, token: $1 };
9258
9585
  });
9259
9586
  function Void(state) {
@@ -9274,7 +9601,7 @@ ${input.slice(result.pos)}
9274
9601
  return result;
9275
9602
  }
9276
9603
  }
9277
- var When$0 = $TS($S($EXPECT($L137, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9604
+ var When$0 = $TS($S($EXPECT($L140, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9278
9605
  return { $loc, token: "case" };
9279
9606
  });
9280
9607
  function When(state) {
@@ -9295,7 +9622,7 @@ ${input.slice(result.pos)}
9295
9622
  return result;
9296
9623
  }
9297
9624
  }
9298
- var While$0 = $TS($S($EXPECT($L138, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9625
+ var While$0 = $TS($S($EXPECT($L141, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9299
9626
  return { $loc, token: $1 };
9300
9627
  });
9301
9628
  function While(state) {
@@ -9316,7 +9643,7 @@ ${input.slice(result.pos)}
9316
9643
  return result;
9317
9644
  }
9318
9645
  }
9319
- var Yield$0 = $TS($S($EXPECT($L139, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9646
+ var Yield$0 = $TS($S($EXPECT($L142, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9320
9647
  return { $loc, token: $1 };
9321
9648
  });
9322
9649
  function Yield(state) {
@@ -9362,7 +9689,7 @@ ${input.slice(result.pos)}
9362
9689
  return result;
9363
9690
  }
9364
9691
  }
9365
- var JSXSelfClosingElement$0 = $S($EXPECT($L6, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L140, fail, 'JSXSelfClosingElement "/>"'));
9692
+ var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L143, fail, 'JSXSelfClosingElement "/>"'));
9366
9693
  function JSXSelfClosingElement(state) {
9367
9694
  if (state.events) {
9368
9695
  const result = state.events.enter?.("JSXSelfClosingElement", state);
@@ -9381,7 +9708,7 @@ ${input.slice(result.pos)}
9381
9708
  return result;
9382
9709
  }
9383
9710
  }
9384
- var JSXOpeningElement$0 = $S($EXPECT($L6, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L55, fail, 'JSXOpeningElement ">"'));
9711
+ var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L57, fail, 'JSXOpeningElement ">"'));
9385
9712
  function JSXOpeningElement(state) {
9386
9713
  if (state.events) {
9387
9714
  const result = state.events.enter?.("JSXOpeningElement", state);
@@ -9400,7 +9727,7 @@ ${input.slice(result.pos)}
9400
9727
  return result;
9401
9728
  }
9402
9729
  }
9403
- var JSXClosingElement$0 = $S($EXPECT($L141, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L55, fail, 'JSXClosingElement ">"'));
9730
+ var JSXClosingElement$0 = $S($EXPECT($L144, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L57, fail, 'JSXClosingElement ">"'));
9404
9731
  function JSXClosingElement(state) {
9405
9732
  if (state.events) {
9406
9733
  const result = state.events.enter?.("JSXClosingElement", state);
@@ -9419,7 +9746,7 @@ ${input.slice(result.pos)}
9419
9746
  return result;
9420
9747
  }
9421
9748
  }
9422
- var JSXFragment$0 = $S($EXPECT($L142, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L143, fail, 'JSXFragment "</>"'));
9749
+ var JSXFragment$0 = $S($EXPECT($L145, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L146, fail, 'JSXFragment "</>"'));
9423
9750
  function JSXFragment(state) {
9424
9751
  if (state.events) {
9425
9752
  const result = state.events.enter?.("JSXFragment", state);
@@ -9457,7 +9784,7 @@ ${input.slice(result.pos)}
9457
9784
  return result;
9458
9785
  }
9459
9786
  }
9460
- var JSXIdentifierName$0 = $R$0($EXPECT($R37, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
9787
+ var JSXIdentifierName$0 = $R$0($EXPECT($R41, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
9461
9788
  function JSXIdentifierName(state) {
9462
9789
  if (state.events) {
9463
9790
  const result = state.events.enter?.("JSXIdentifierName", state);
@@ -9553,8 +9880,8 @@ ${input.slice(result.pos)}
9553
9880
  return result;
9554
9881
  }
9555
9882
  }
9556
- var JSXAttributeValue$0 = $R$0($EXPECT($R38, fail, 'JSXAttributeValue /"[^"]*"/'));
9557
- var JSXAttributeValue$1 = $R$0($EXPECT($R39, fail, "JSXAttributeValue /'[^']*'/"));
9883
+ var JSXAttributeValue$0 = $R$0($EXPECT($R42, fail, 'JSXAttributeValue /"[^"]*"/'));
9884
+ var JSXAttributeValue$1 = $R$0($EXPECT($R43, fail, "JSXAttributeValue /'[^']*'/"));
9558
9885
  var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
9559
9886
  var JSXAttributeValue$3 = JSXElement;
9560
9887
  var JSXAttributeValue$4 = JSXFragment;
@@ -9617,7 +9944,7 @@ ${input.slice(result.pos)}
9617
9944
  return result;
9618
9945
  }
9619
9946
  }
9620
- var JSXText$0 = $R$0($EXPECT($R40, fail, "JSXText /[^{}<>]+/"));
9947
+ var JSXText$0 = $R$0($EXPECT($R44, fail, "JSXText /[^{}<>]+/"));
9621
9948
  function JSXText(state) {
9622
9949
  if (state.events) {
9623
9950
  const result = state.events.enter?.("JSXText", state);
@@ -9676,7 +10003,7 @@ ${input.slice(result.pos)}
9676
10003
  return result;
9677
10004
  }
9678
10005
  }
9679
- var TypeDeclarationModifier$0 = $S($EXPECT($L144, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
10006
+ var TypeDeclarationModifier$0 = $S($EXPECT($L147, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
9680
10007
  var TypeDeclarationModifier$1 = Export;
9681
10008
  function TypeDeclarationModifier(state) {
9682
10009
  if (state.events) {
@@ -9718,7 +10045,7 @@ ${input.slice(result.pos)}
9718
10045
  return result;
9719
10046
  }
9720
10047
  }
9721
- var TypeKeyword$0 = $S($EXPECT($L145, fail, 'TypeKeyword "type"'), NonIdContinue);
10048
+ var TypeKeyword$0 = $S($EXPECT($L148, fail, 'TypeKeyword "type"'), NonIdContinue);
9722
10049
  function TypeKeyword(state) {
9723
10050
  if (state.events) {
9724
10051
  const result = state.events.enter?.("TypeKeyword", state);
@@ -9737,7 +10064,7 @@ ${input.slice(result.pos)}
9737
10064
  return result;
9738
10065
  }
9739
10066
  }
9740
- var Interface$0 = $S($EXPECT($L146, fail, 'Interface "interface"'), NonIdContinue);
10067
+ var Interface$0 = $S($EXPECT($L149, fail, 'Interface "interface"'), NonIdContinue);
9741
10068
  function Interface(state) {
9742
10069
  if (state.events) {
9743
10070
  const result = state.events.enter?.("Interface", state);
@@ -9756,7 +10083,7 @@ ${input.slice(result.pos)}
9756
10083
  return result;
9757
10084
  }
9758
10085
  }
9759
- var Namespace$0 = $S($EXPECT($L147, fail, 'Namespace "namespace"'), NonIdContinue);
10086
+ var Namespace$0 = $S($EXPECT($L150, fail, 'Namespace "namespace"'), NonIdContinue);
9760
10087
  function Namespace(state) {
9761
10088
  if (state.events) {
9762
10089
  const result = state.events.enter?.("Namespace", state);
@@ -9945,7 +10272,7 @@ ${input.slice(result.pos)}
9945
10272
  return result;
9946
10273
  }
9947
10274
  }
9948
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R41, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L148, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R42, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10275
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R45, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L151, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R46, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
9949
10276
  function TypeIndexSignature(state) {
9950
10277
  if (state.events) {
9951
10278
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -10005,7 +10332,7 @@ ${input.slice(result.pos)}
10005
10332
  return result;
10006
10333
  }
10007
10334
  }
10008
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L149, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10335
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L152, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10009
10336
  const children = [...$1, $2];
10010
10337
  if ($3)
10011
10338
  children.push($3);
@@ -10034,7 +10361,7 @@ ${input.slice(result.pos)}
10034
10361
  return result;
10035
10362
  }
10036
10363
  }
10037
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L59, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10364
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L61, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10038
10365
  if (!$2)
10039
10366
  return $1;
10040
10367
  return $0;
@@ -10140,9 +10467,9 @@ ${input.slice(result.pos)}
10140
10467
  return result;
10141
10468
  }
10142
10469
  }
10143
- var TypeUnaryOp$0 = $EXPECT($L150, fail, 'TypeUnaryOp "keyof"');
10144
- var TypeUnaryOp$1 = $EXPECT($L132, fail, 'TypeUnaryOp "typeof"');
10145
- var TypeUnaryOp$2 = $EXPECT($L151, fail, 'TypeUnaryOp "infer"');
10470
+ var TypeUnaryOp$0 = $EXPECT($L153, fail, 'TypeUnaryOp "keyof"');
10471
+ var TypeUnaryOp$1 = $EXPECT($L135, fail, 'TypeUnaryOp "typeof"');
10472
+ var TypeUnaryOp$2 = $EXPECT($L154, fail, 'TypeUnaryOp "infer"');
10146
10473
  function TypeUnaryOp(state) {
10147
10474
  if (state.events) {
10148
10475
  const result = state.events.enter?.("TypeUnaryOp", state);
@@ -10286,7 +10613,7 @@ ${input.slice(result.pos)}
10286
10613
  return result;
10287
10614
  }
10288
10615
  }
10289
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L7, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
10616
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L5, fail, 'TypeConditional "extends"'), Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
10290
10617
  if ($2)
10291
10618
  return $0;
10292
10619
  return $1;
@@ -10310,10 +10637,10 @@ ${input.slice(result.pos)}
10310
10637
  }
10311
10638
  }
10312
10639
  var TypeLiteral$0 = Literal;
10313
- var TypeLiteral$1 = $TV($EXPECT($L136, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10640
+ var TypeLiteral$1 = $TV($EXPECT($L139, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10314
10641
  return { $loc, token: "void" };
10315
10642
  });
10316
- var TypeLiteral$2 = $TV($EXPECT($L152, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10643
+ var TypeLiteral$2 = $TV($EXPECT($L155, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10317
10644
  return { $loc, token: "[]" };
10318
10645
  });
10319
10646
  function TypeLiteral(state) {
@@ -10334,10 +10661,10 @@ ${input.slice(result.pos)}
10334
10661
  return result;
10335
10662
  }
10336
10663
  }
10337
- var TypeBinaryOp$0 = $TV($EXPECT($L74, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10664
+ var TypeBinaryOp$0 = $TV($EXPECT($L76, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10338
10665
  return { $loc, token: "|" };
10339
10666
  });
10340
- var TypeBinaryOp$1 = $TV($EXPECT($L72, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10667
+ var TypeBinaryOp$1 = $TV($EXPECT($L74, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10341
10668
  return { $loc, token: "&" };
10342
10669
  });
10343
10670
  function TypeBinaryOp(state) {
@@ -10358,7 +10685,7 @@ ${input.slice(result.pos)}
10358
10685
  return result;
10359
10686
  }
10360
10687
  }
10361
- var FunctionType$0 = $S(Parameters, __, $EXPECT($L4, fail, 'FunctionType "=>"'), Type);
10688
+ var FunctionType$0 = $S(Parameters, __, $EXPECT($L2, fail, 'FunctionType "=>"'), Type);
10362
10689
  function FunctionType(state) {
10363
10690
  if (state.events) {
10364
10691
  const result = state.events.enter?.("FunctionType", state);
@@ -10377,7 +10704,7 @@ ${input.slice(result.pos)}
10377
10704
  return result;
10378
10705
  }
10379
10706
  }
10380
- var TypeArguments$0 = $S(__, $EXPECT($L6, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L55, fail, 'TypeArguments ">"'));
10707
+ var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L57, fail, 'TypeArguments ">"'));
10381
10708
  function TypeArguments(state) {
10382
10709
  if (state.events) {
10383
10710
  const result = state.events.enter?.("TypeArguments", state);
@@ -10396,7 +10723,7 @@ ${input.slice(result.pos)}
10396
10723
  return result;
10397
10724
  }
10398
10725
  }
10399
- var TypeParameters$0 = $TS($S(__, $EXPECT($L6, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L55, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
10726
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L57, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
10400
10727
  return { ts: true, children: $0 };
10401
10728
  });
10402
10729
  function TypeParameters(state) {
@@ -10436,7 +10763,7 @@ ${input.slice(result.pos)}
10436
10763
  return result;
10437
10764
  }
10438
10765
  }
10439
- var TypeConstraint$0 = $S(__, $EXPECT($L7, fail, 'TypeConstraint "extends"'), Type);
10766
+ var TypeConstraint$0 = $S(__, $EXPECT($L5, fail, 'TypeConstraint "extends"'), Type);
10440
10767
  function TypeConstraint(state) {
10441
10768
  if (state.events) {
10442
10769
  const result = state.events.enter?.("TypeConstraint", state);
@@ -10456,8 +10783,8 @@ ${input.slice(result.pos)}
10456
10783
  }
10457
10784
  }
10458
10785
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
10459
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L55, fail, 'TypeParameterDelimiter ">"')));
10460
- var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L55, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
10786
+ var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L57, fail, 'TypeParameterDelimiter ">"')));
10787
+ var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L57, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
10461
10788
  return { $loc, token: "," };
10462
10789
  });
10463
10790
  var TypeParameterDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
@@ -10481,7 +10808,7 @@ ${input.slice(result.pos)}
10481
10808
  return result;
10482
10809
  }
10483
10810
  }
10484
- var Shebang$0 = $S($R$0($EXPECT($R43, fail, "Shebang /#![^\\r\\n]*/")), EOL);
10811
+ var Shebang$0 = $S($R$0($EXPECT($R47, fail, "Shebang /#![^\\r\\n]*/")), EOL);
10485
10812
  function Shebang(state) {
10486
10813
  if (state.events) {
10487
10814
  const result = state.events.enter?.("Shebang", state);
@@ -10500,11 +10827,11 @@ ${input.slice(result.pos)}
10500
10827
  return result;
10501
10828
  }
10502
10829
  }
10503
- var CivetPrologue$0 = $T($S($EXPECT($R44, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
10830
+ var CivetPrologue$0 = $T($S($EXPECT($R48, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
10504
10831
  var content = value[2];
10505
10832
  return content;
10506
10833
  });
10507
- var CivetPrologue$1 = $T($S($EXPECT($R44, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
10834
+ var CivetPrologue$1 = $T($S($EXPECT($R48, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
10508
10835
  var content = value[2];
10509
10836
  return content;
10510
10837
  });
@@ -10526,7 +10853,7 @@ ${input.slice(result.pos)}
10526
10853
  return result;
10527
10854
  }
10528
10855
  }
10529
- var CivetPrologueContent$0 = $TS($S($EXPECT($L153, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R45, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
10856
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L156, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R49, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
10530
10857
  var options = $2;
10531
10858
  return {
10532
10859
  type: "CivetPrologue",
@@ -10552,7 +10879,7 @@ ${input.slice(result.pos)}
10552
10879
  return result;
10553
10880
  }
10554
10881
  }
10555
- var CivetOption$0 = $TR($EXPECT($R46, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10882
+ var CivetOption$0 = $TR($EXPECT($R50, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10556
10883
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
10557
10884
  if (l)
10558
10885
  return l.toUpperCase();
@@ -10579,7 +10906,7 @@ ${input.slice(result.pos)}
10579
10906
  return result;
10580
10907
  }
10581
10908
  }
10582
- var UnknownPrologue$0 = $S($R$0($EXPECT($R44, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
10909
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R48, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
10583
10910
  function UnknownPrologue(state) {
10584
10911
  if (state.events) {
10585
10912
  const result = state.events.enter?.("UnknownPrologue", state);
@@ -10637,7 +10964,7 @@ ${input.slice(result.pos)}
10637
10964
  return result;
10638
10965
  }
10639
10966
  }
10640
- var EOL$0 = $TR($EXPECT($R47, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10967
+ var EOL$0 = $TR($EXPECT($R51, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10641
10968
  return { $loc, token: $0 };
10642
10969
  });
10643
10970
  function EOL(state) {
@@ -10658,7 +10985,7 @@ ${input.slice(result.pos)}
10658
10985
  return result;
10659
10986
  }
10660
10987
  }
10661
- var Debugger$0 = $TV($EXPECT($L1, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
10988
+ var Debugger$0 = $TV($EXPECT($L14, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
10662
10989
  debugger;
10663
10990
  });
10664
10991
  function Debugger(state) {
@@ -10679,7 +11006,7 @@ ${input.slice(result.pos)}
10679
11006
  return result;
10680
11007
  }
10681
11008
  }
10682
- var InsertOpenParen$0 = $TV($EXPECT($L1, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
11009
+ var InsertOpenParen$0 = $TV($EXPECT($L14, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
10683
11010
  return { $loc, token: "(" };
10684
11011
  });
10685
11012
  function InsertOpenParen(state) {
@@ -10700,7 +11027,7 @@ ${input.slice(result.pos)}
10700
11027
  return result;
10701
11028
  }
10702
11029
  }
10703
- var InsertCloseParen$0 = $TV($EXPECT($L1, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
11030
+ var InsertCloseParen$0 = $TV($EXPECT($L14, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
10704
11031
  return { $loc, token: ")" };
10705
11032
  });
10706
11033
  function InsertCloseParen(state) {
@@ -10721,7 +11048,7 @@ ${input.slice(result.pos)}
10721
11048
  return result;
10722
11049
  }
10723
11050
  }
10724
- var InsertOpenBrace$0 = $TV($EXPECT($L1, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
11051
+ var InsertOpenBrace$0 = $TV($EXPECT($L14, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
10725
11052
  return [{ $loc, token: " " }, { $loc, token: "{" }];
10726
11053
  });
10727
11054
  function InsertOpenBrace(state) {
@@ -10742,7 +11069,7 @@ ${input.slice(result.pos)}
10742
11069
  return result;
10743
11070
  }
10744
11071
  }
10745
- var InsertCloseBrace$0 = $TV($EXPECT($L1, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
11072
+ var InsertCloseBrace$0 = $TV($EXPECT($L14, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
10746
11073
  return { $loc, token: "}" };
10747
11074
  });
10748
11075
  function InsertCloseBrace(state) {
@@ -10763,7 +11090,7 @@ ${input.slice(result.pos)}
10763
11090
  return result;
10764
11091
  }
10765
11092
  }
10766
- var InsertConst$0 = $TV($EXPECT($L1, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
11093
+ var InsertConst$0 = $TV($EXPECT($L14, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
10767
11094
  return { $loc, token: "const " };
10768
11095
  });
10769
11096
  function InsertConst(state) {
@@ -10784,7 +11111,7 @@ ${input.slice(result.pos)}
10784
11111
  return result;
10785
11112
  }
10786
11113
  }
10787
- var InsertReadonly$0 = $TV($EXPECT($L1, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
11114
+ var InsertReadonly$0 = $TV($EXPECT($L14, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
10788
11115
  return { ts: true, children: [{ $loc, token: "readonly " }] };
10789
11116
  });
10790
11117
  function InsertReadonly(state) {
@@ -10805,7 +11132,7 @@ ${input.slice(result.pos)}
10805
11132
  return result;
10806
11133
  }
10807
11134
  }
10808
- var InsertNewline$0 = $TV($EXPECT($L1, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
11135
+ var InsertNewline$0 = $TV($EXPECT($L14, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
10809
11136
  return "\n";
10810
11137
  });
10811
11138
  function InsertNewline(state) {
@@ -10826,7 +11153,7 @@ ${input.slice(result.pos)}
10826
11153
  return result;
10827
11154
  }
10828
11155
  }
10829
- var InsertIndent$0 = $TV($EXPECT($L1, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
11156
+ var InsertIndent$0 = $TV($EXPECT($L14, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
10830
11157
  return module2.currentIndent.token;
10831
11158
  });
10832
11159
  function InsertIndent(state) {
@@ -10847,7 +11174,7 @@ ${input.slice(result.pos)}
10847
11174
  return result;
10848
11175
  }
10849
11176
  }
10850
- var InsertSpace$0 = $TV($EXPECT($L1, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
11177
+ var InsertSpace$0 = $TV($EXPECT($L14, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
10851
11178
  return { $loc, token: " " };
10852
11179
  });
10853
11180
  function InsertSpace(state) {
@@ -10868,7 +11195,7 @@ ${input.slice(result.pos)}
10868
11195
  return result;
10869
11196
  }
10870
11197
  }
10871
- var InsertDot$0 = $TV($EXPECT($L1, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
11198
+ var InsertDot$0 = $TV($EXPECT($L14, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
10872
11199
  return { $loc, token: "." };
10873
11200
  });
10874
11201
  function InsertDot(state) {
@@ -10889,7 +11216,7 @@ ${input.slice(result.pos)}
10889
11216
  return result;
10890
11217
  }
10891
11218
  }
10892
- var InsertBreak$0 = $TV($EXPECT($L1, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
11219
+ var InsertBreak$0 = $TV($EXPECT($L14, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
10893
11220
  return { $loc, token: ";break;" };
10894
11221
  });
10895
11222
  function InsertBreak(state) {
@@ -10910,7 +11237,7 @@ ${input.slice(result.pos)}
10910
11237
  return result;
10911
11238
  }
10912
11239
  }
10913
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
11240
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
10914
11241
  if (module2.config.coffeeBinaryExistential)
10915
11242
  return;
10916
11243
  return $skip;
@@ -10933,7 +11260,7 @@ ${input.slice(result.pos)}
10933
11260
  return result;
10934
11261
  }
10935
11262
  }
10936
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
11263
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
10937
11264
  if (module2.config.coffeeBooleans)
10938
11265
  return;
10939
11266
  return $skip;
@@ -10956,7 +11283,7 @@ ${input.slice(result.pos)}
10956
11283
  return result;
10957
11284
  }
10958
11285
  }
10959
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
11286
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
10960
11287
  if (module2.config.coffeeClasses)
10961
11288
  return;
10962
11289
  return $skip;
@@ -10979,7 +11306,7 @@ ${input.slice(result.pos)}
10979
11306
  return result;
10980
11307
  }
10981
11308
  }
10982
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
11309
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
10983
11310
  if (module2.config.coffeeComment)
10984
11311
  return;
10985
11312
  return $skip;
@@ -11002,7 +11329,7 @@ ${input.slice(result.pos)}
11002
11329
  return result;
11003
11330
  }
11004
11331
  }
11005
- var CoffeeDoEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11332
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11006
11333
  if (module2.config.coffeeDo)
11007
11334
  return;
11008
11335
  return $skip;
@@ -11025,7 +11352,7 @@ ${input.slice(result.pos)}
11025
11352
  return result;
11026
11353
  }
11027
11354
  }
11028
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11355
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11029
11356
  if (module2.config.coffeeForLoops)
11030
11357
  return;
11031
11358
  return $skip;
@@ -11048,7 +11375,7 @@ ${input.slice(result.pos)}
11048
11375
  return result;
11049
11376
  }
11050
11377
  }
11051
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11378
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11052
11379
  if (module2.config.coffeeInterpolation)
11053
11380
  return;
11054
11381
  return $skip;
@@ -11071,7 +11398,7 @@ ${input.slice(result.pos)}
11071
11398
  return result;
11072
11399
  }
11073
11400
  }
11074
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11401
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11075
11402
  if (module2.config.coffeeIsnt)
11076
11403
  return;
11077
11404
  return $skip;
@@ -11094,7 +11421,7 @@ ${input.slice(result.pos)}
11094
11421
  return result;
11095
11422
  }
11096
11423
  }
11097
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11424
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11098
11425
  if (module2.config.coffeeLineContinuation)
11099
11426
  return;
11100
11427
  return $skip;
@@ -11117,7 +11444,7 @@ ${input.slice(result.pos)}
11117
11444
  return result;
11118
11445
  }
11119
11446
  }
11120
- var CoffeeNotEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11447
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11121
11448
  if (module2.config.coffeeNot)
11122
11449
  return;
11123
11450
  return $skip;
@@ -11140,7 +11467,7 @@ ${input.slice(result.pos)}
11140
11467
  return result;
11141
11468
  }
11142
11469
  }
11143
- var CoffeeOfEnabled$0 = $TV($EXPECT($L1, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
11470
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
11144
11471
  if (module2.config.coffeeOf)
11145
11472
  return;
11146
11473
  return $skip;
@@ -11163,7 +11490,30 @@ ${input.slice(result.pos)}
11163
11490
  return result;
11164
11491
  }
11165
11492
  }
11166
- var Reset$0 = $TV($EXPECT($L1, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11493
+ var CoffeeWordAssignmentEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeWordAssignmentEnabled ""'), function($skip, $loc, $0, $1) {
11494
+ if (module2.config.coffeeWordAssignment)
11495
+ return;
11496
+ return $skip;
11497
+ });
11498
+ function CoffeeWordAssignmentEnabled(state) {
11499
+ if (state.events) {
11500
+ const result = state.events.enter?.("CoffeeWordAssignmentEnabled", state);
11501
+ if (result)
11502
+ return result.cache;
11503
+ }
11504
+ if (state.tokenize) {
11505
+ const result = $TOKEN("CoffeeWordAssignmentEnabled", state, CoffeeWordAssignmentEnabled$0(state));
11506
+ if (state.events)
11507
+ state.events.exit?.("CoffeeWordAssignmentEnabled", state, result);
11508
+ return result;
11509
+ } else {
11510
+ const result = CoffeeWordAssignmentEnabled$0(state);
11511
+ if (state.events)
11512
+ state.events.exit?.("CoffeeWordAssignmentEnabled", state, result);
11513
+ return result;
11514
+ }
11515
+ }
11516
+ var Reset$0 = $TV($EXPECT($L14, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11167
11517
  module2.indentLevels = [{
11168
11518
  level: 0,
11169
11519
  token: ""
@@ -11193,6 +11543,7 @@ ${input.slice(result.pos)}
11193
11543
  coffeeLineContinuation: false,
11194
11544
  coffeeNot: false,
11195
11545
  coffeeOf: false,
11546
+ coffeeWordAssignment: false,
11196
11547
  implicitReturns: true
11197
11548
  };
11198
11549
  let indexOfRef, hasPropRef;
@@ -11249,6 +11600,7 @@ ${input.slice(result.pos)}
11249
11600
  this.coffeeLineContinuation = true;
11250
11601
  this.coffeeNot = true;
11251
11602
  this.coffeeOf = true;
11603
+ this.coffeeWordAssignment = true;
11252
11604
  } else {
11253
11605
  this.autoVar = false;
11254
11606
  this.coffeeBinaryExistential = false;
@@ -11263,6 +11615,7 @@ ${input.slice(result.pos)}
11263
11615
  this.coffeeLineContinuation = false;
11264
11616
  this.coffeeNot = false;
11265
11617
  this.coffeeOf = false;
11618
+ this.coffeeWordAssignment = false;
11266
11619
  }
11267
11620
  }
11268
11621
  });
@@ -11288,7 +11641,7 @@ ${input.slice(result.pos)}
11288
11641
  return result;
11289
11642
  }
11290
11643
  }
11291
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L1, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
11644
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L14, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
11292
11645
  var directives = $2;
11293
11646
  directives.forEach((directive) => {
11294
11647
  if (directive.type === "CivetPrologue") {
@@ -11725,39 +12078,77 @@ ${input.slice(result.pos)}
11725
12078
  }
11726
12079
  return nodes;
11727
12080
  }
11728
- function addImplicitReturns(statements) {
11729
- let fns = gatherRecursiveAll(statements, (n) => {
11730
- return n.type === "FunctionExpression" || n.type === "ArrowFunction";
12081
+ function processAtParams(f) {
12082
+ const { parameters, block } = f;
12083
+ if (!block)
12084
+ return;
12085
+ const { expressions } = block;
12086
+ if (!expressions)
12087
+ return;
12088
+ let indent;
12089
+ if (expressions.length === 0) {
12090
+ indent = "";
12091
+ } else {
12092
+ indent = expressions[0][0];
12093
+ }
12094
+ const thisAssignments = gatherRecursiveAll(parameters, (n) => n.type === "Ref").map((ref) => {
12095
+ const { base: name } = ref;
12096
+ return [indent, [`this.${name} = `, ref], ";\n"];
11731
12097
  });
11732
- fns.forEach(({ block, returnType }) => {
11733
- const isVoid = returnType === "void";
11734
- const isBlock = block?.type === "BlockStatement";
11735
- if (!isVoid && isBlock) {
11736
- insertReturn(block);
12098
+ block.expressions.unshift(...thisAssignments);
12099
+ }
12100
+ function adjustAtBindings(statements) {
12101
+ gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
12102
+ const { ref } = binding;
12103
+ if (ref.names[0] !== ref.base) {
12104
+ binding.children.unshift(ref.base, ": ");
11737
12105
  }
11738
12106
  });
11739
- gatherRecursiveAll(statements, (n) => n.type === "MethodDefinition").forEach(({ children: [sig, block] }) => {
11740
- const isConstructor = sig.name === "constructor";
11741
- const isVoid = sig.returnType === "void";
11742
- const isSet = sig.modifier === "set";
11743
- if (!isConstructor && !isSet && !isVoid) {
11744
- insertReturn(block);
12107
+ }
12108
+ function processFunctions(statements) {
12109
+ gatherRecursiveAll(statements, (n) => {
12110
+ return n.type === "FunctionExpression" || n.type === "ArrowFunction";
12111
+ }).forEach((f) => {
12112
+ processAtParams(f);
12113
+ const { block, returnType } = f;
12114
+ if (module2.config.implicitReturns) {
12115
+ const isVoid = returnType === "void";
12116
+ const isBlock = block?.type === "BlockStatement";
12117
+ if (!isVoid && isBlock) {
12118
+ insertReturn(block);
12119
+ }
11745
12120
  }
11746
12121
  });
11747
- gatherRecursiveAll(statements, (n) => n.type === "SwitchExpression").forEach(({ block }) => {
11748
- insertReturn(block);
12122
+ gatherRecursiveAll(statements, (n) => n.type === "MethodDefinition").forEach((f) => {
12123
+ processAtParams(f);
12124
+ const { children: [sig, block] } = f;
12125
+ if (module2.config.implicitReturns) {
12126
+ const isConstructor = sig.name === "constructor";
12127
+ const isVoid = sig.returnType === "void";
12128
+ const isSet = sig.modifier === "set";
12129
+ if (!isConstructor && !isSet && !isVoid) {
12130
+ insertReturn(block);
12131
+ }
12132
+ }
11749
12133
  });
11750
12134
  }
11751
- module2.processProgram = function(statements) {
12135
+ function processSwitchExpressions(statements) {
11752
12136
  if (module2.config.implicitReturns) {
11753
- addImplicitReturns(statements);
12137
+ gatherRecursiveAll(statements, (n) => n.type === "SwitchExpression").forEach(({ block }) => {
12138
+ insertReturn(block);
12139
+ });
11754
12140
  }
12141
+ }
12142
+ module2.processProgram = function(statements) {
12143
+ processFunctions(statements);
12144
+ processSwitchExpressions(statements);
11755
12145
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
11756
12146
  statements.unshift(...module2.prelude);
11757
12147
  if (module2.config.autoVar) {
11758
12148
  createVarDecs(statements, []);
11759
12149
  }
11760
12150
  populateRefs(statements);
12151
+ adjustAtBindings(statements);
11761
12152
  };
11762
12153
  function findDecs(statements) {
11763
12154
  const declarationNames = gatherNodes(statements, (node) => {
@@ -11870,7 +12261,7 @@ ${input.slice(result.pos)}
11870
12261
  return result;
11871
12262
  }
11872
12263
  }
11873
- var Indent$0 = $TV($Q($C($EXPECT($L154, fail, 'Indent " "'), $EXPECT($L155, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
12264
+ var Indent$0 = $TV($Q($C($EXPECT($L157, fail, 'Indent " "'), $EXPECT($L158, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
11874
12265
  const level = $1.length;
11875
12266
  return {
11876
12267
  $loc,
@@ -11995,7 +12386,7 @@ ${input.slice(result.pos)}
11995
12386
  return result;
11996
12387
  }
11997
12388
  }
11998
- var PopIndent$0 = $TV($EXPECT($L1, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
12389
+ var PopIndent$0 = $TV($EXPECT($L14, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
11999
12390
  if (module2.verbose) {
12000
12391
  console.log("popping indent", module2.indentLevels[module2.indentLevels.length - 1], "->", module2.indentLevels[module2.indentLevels.length - 2]);
12001
12392
  }
@@ -12096,10 +12487,12 @@ var require_generate = __commonJS({
12096
12487
  return token;
12097
12488
  }
12098
12489
  if (!node.children) {
12490
+ debugger;
12099
12491
  throw new Error("Unknown node", JSON.stringify(node));
12100
12492
  }
12101
12493
  return gen2(node.children, options);
12102
12494
  }
12495
+ debugger;
12103
12496
  throw new Error("Unknown node", JSON.stringify(node));
12104
12497
  };
12105
12498
  module2.exports = gen2;
@@ -12538,8 +12931,6 @@ makeCache = function() {
12538
12931
  case "InsertIndent":
12539
12932
  case "Arguments":
12540
12933
  case "ArgumentsWithTrailingCallExpressions":
12541
- case "ImplicitApplication":
12542
- case "IndentedApplicationAllowed":
12543
12934
  case "ApplicationStart":
12544
12935
  case "CallExpression":
12545
12936
  case "CallExpressionRest":
@@ -12553,7 +12944,8 @@ makeCache = function() {
12553
12944
  case "ShortCircuitExpression":
12554
12945
  case "NestedPropertyDefinitions":
12555
12946
  case "NestedObject":
12556
- case "NestedObjectLiteral":
12947
+ case "NestedImplicitObjectLiteral":
12948
+ case "NestedImplicitPropertyDefinitions":
12557
12949
  case "NestedBlockStatement":
12558
12950
  case "NestedInterfaceProperty":
12559
12951
  case "AssignmentExpressionTail":
@@ -12563,6 +12955,7 @@ makeCache = function() {
12563
12955
  case "ElseClause":
12564
12956
  case "CoffeeCommentEnabled":
12565
12957
  case "SingleLineComment":
12958
+ case "Debugger":
12566
12959
  break;
12567
12960
  default:
12568
12961
  cache = /* @__PURE__ */ new Map();