@danielx/civet 0.4.20 → 0.4.21

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.
Files changed (4) hide show
  1. package/README.md +16 -13
  2. package/dist/browser.js +600 -505
  3. package/dist/main.js +600 -505
  4. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -438,7 +438,7 @@ ${input.slice(result.pos)}
438
438
  NestedClassElement,
439
439
  ClassElement,
440
440
  FieldDefinition,
441
- This,
441
+ ThisLiteral,
442
442
  LeftHandSideExpression,
443
443
  CallExpression,
444
444
  CallExpressionRest,
@@ -499,6 +499,7 @@ ${input.slice(result.pos)}
499
499
  Identifier,
500
500
  IdentifierName,
501
501
  IdentifierReference,
502
+ UpcomingAssignment,
502
503
  ArrayLiteral,
503
504
  RangeExpression,
504
505
  ArrayLiteralContent,
@@ -655,6 +656,7 @@ ${input.slice(result.pos)}
655
656
  JSMultiLineComment,
656
657
  CoffeeSingleLineComment,
657
658
  CoffeeMultiLineComment,
659
+ CoffeeHereCommentStart,
658
660
  InlineComment,
659
661
  RestOfLine,
660
662
  TrailingComment,
@@ -718,6 +720,7 @@ ${input.slice(result.pos)}
718
720
  Switch,
719
721
  Target,
720
722
  Then,
723
+ This,
721
724
  Throw,
722
725
  TripleDoubleQuote,
723
726
  TripleSingleQuote,
@@ -834,45 +837,45 @@ ${input.slice(result.pos)}
834
837
  var $L3 = $L(" ");
835
838
  var $L4 = $L("<");
836
839
  var $L5 = $L("extends");
837
- var $L6 = $L("this");
838
- var $L7 = $L("#");
839
- var $L8 = $L(".");
840
- var $L9 = $L("super");
841
- var $L10 = $L("import");
842
- var $L11 = $L("!");
843
- var $L12 = $L("super[");
844
- var $L13 = $L("import.meta");
845
- var $L14 = $L("");
846
- var $L15 = $L(")");
847
- var $L16 = $L("->");
848
- var $L17 = $L("null");
849
- var $L18 = $L("true");
850
- var $L19 = $L("false");
851
- var $L20 = $L("yes");
852
- var $L21 = $L("on");
853
- var $L22 = $L("no");
854
- var $L23 = $L("off");
855
- var $L24 = $L(",");
856
- var $L25 = $L("]");
857
- var $L26 = $L(":");
858
- var $L27 = $L("}");
859
- var $L28 = $L("**=");
860
- var $L29 = $L("*=");
861
- var $L30 = $L("/=");
862
- var $L31 = $L("%=");
863
- var $L32 = $L("+=");
864
- var $L33 = $L("-=");
865
- var $L34 = $L("<<=");
866
- var $L35 = $L(">>>=");
867
- var $L36 = $L(">>=");
868
- var $L37 = $L("&&=");
869
- var $L38 = $L("&=");
870
- var $L39 = $L("^=");
871
- var $L40 = $L("||=");
872
- var $L41 = $L("|=");
873
- var $L42 = $L("??=");
874
- var $L43 = $L("?=");
875
- var $L44 = $L("=");
840
+ var $L6 = $L("#");
841
+ var $L7 = $L(".");
842
+ var $L8 = $L("super");
843
+ var $L9 = $L("import");
844
+ var $L10 = $L("!");
845
+ var $L11 = $L("super[");
846
+ var $L12 = $L("import.meta");
847
+ var $L13 = $L("");
848
+ var $L14 = $L(")");
849
+ var $L15 = $L("->");
850
+ var $L16 = $L("null");
851
+ var $L17 = $L("true");
852
+ var $L18 = $L("false");
853
+ var $L19 = $L("yes");
854
+ var $L20 = $L("on");
855
+ var $L21 = $L("no");
856
+ var $L22 = $L("off");
857
+ var $L23 = $L(",");
858
+ var $L24 = $L("=");
859
+ var $L25 = $L(">");
860
+ var $L26 = $L("]");
861
+ var $L27 = $L(":");
862
+ var $L28 = $L("}");
863
+ var $L29 = $L("**=");
864
+ var $L30 = $L("*=");
865
+ var $L31 = $L("/=");
866
+ var $L32 = $L("%=");
867
+ var $L33 = $L("+=");
868
+ var $L34 = $L("-=");
869
+ var $L35 = $L("<<=");
870
+ var $L36 = $L(">>>=");
871
+ var $L37 = $L(">>=");
872
+ var $L38 = $L("&&=");
873
+ var $L39 = $L("&=");
874
+ var $L40 = $L("^=");
875
+ var $L41 = $L("||=");
876
+ var $L42 = $L("|=");
877
+ var $L43 = $L("??=");
878
+ var $L44 = $L("?=");
876
879
  var $L45 = $L("and=");
877
880
  var $L46 = $L("or=");
878
881
  var $L47 = $L("**");
@@ -886,107 +889,106 @@ ${input.slice(result.pos)}
886
889
  var $L55 = $L("<<");
887
890
  var $L56 = $L(">>>");
888
891
  var $L57 = $L(">>");
889
- var $L58 = $L(">");
890
- var $L59 = $L("!==");
891
- var $L60 = $L("!=");
892
- var $L61 = $L("isnt");
893
- var $L62 = $L("is");
894
- var $L63 = $L("===");
895
- var $L64 = $L("==");
896
- var $L65 = $L("and");
897
- var $L66 = $L("&&");
898
- var $L67 = $L("of");
899
- var $L68 = $L("or");
900
- var $L69 = $L("||");
901
- var $L70 = $L("??");
902
- var $L71 = $L("?");
903
- var $L72 = $L("instanceof");
892
+ var $L58 = $L("!==");
893
+ var $L59 = $L("!=");
894
+ var $L60 = $L("isnt");
895
+ var $L61 = $L("is");
896
+ var $L62 = $L("===");
897
+ var $L63 = $L("==");
898
+ var $L64 = $L("and");
899
+ var $L65 = $L("&&");
900
+ var $L66 = $L("of");
901
+ var $L67 = $L("or");
902
+ var $L68 = $L("||");
903
+ var $L69 = $L("??");
904
+ var $L70 = $L("?");
905
+ var $L71 = $L("instanceof");
906
+ var $L72 = $L("not");
904
907
  var $L73 = $L("in");
905
- var $L74 = $L("not");
906
- var $L75 = $L("&");
907
- var $L76 = $L("^");
908
- var $L77 = $L("|");
909
- var $L78 = $L(";");
910
- var $L79 = $L("own");
911
- var $L80 = $L("finally");
912
- var $L81 = $L("break");
913
- var $L82 = $L("continue");
914
- var $L83 = $L("debugger");
915
- var $L84 = $L("import type");
916
- var $L85 = $L("default");
917
- var $L86 = $L(":=");
918
- var $L87 = $L("/*");
919
- var $L88 = $L("*/");
920
- var $L89 = $L("###");
921
- var $L90 = $L("\\");
922
- var $L91 = $L("as");
923
- var $L92 = $L("@");
924
- var $L93 = $L("async");
925
- var $L94 = $L("await");
926
- var $L95 = $L("`");
927
- var $L96 = $L("by");
928
- var $L97 = $L("case");
929
- var $L98 = $L("catch");
930
- var $L99 = $L("class");
931
- var $L100 = $L("#{");
932
- var $L101 = $L("delete");
933
- var $L102 = $L("do");
934
- var $L103 = $L("..");
935
- var $L104 = $L("...");
936
- var $L105 = $L("::");
937
- var $L106 = $L('"');
938
- var $L107 = $L("else");
939
- var $L108 = $L("export");
940
- var $L109 = $L("for");
941
- var $L110 = $L("from");
942
- var $L111 = $L("function");
943
- var $L112 = $L("get");
944
- var $L113 = $L("set");
945
- var $L114 = $L("if");
946
- var $L115 = $L("let");
947
- var $L116 = $L("const");
948
- var $L117 = $L("loop");
949
- var $L118 = $L("new");
950
- var $L119 = $L("{");
951
- var $L120 = $L("[");
952
- var $L121 = $L("(");
953
- var $L122 = $L("return");
954
- var $L123 = $L("'");
955
- var $L124 = $L("static");
956
- var $L125 = $L("${");
957
- var $L126 = $L("switch");
958
- var $L127 = $L("target");
959
- var $L128 = $L("then");
960
- var $L129 = $L("throw");
961
- var $L130 = $L('"""');
962
- var $L131 = $L("'''");
963
- var $L132 = $L("///");
964
- var $L133 = $L("```");
965
- var $L134 = $L("try");
966
- var $L135 = $L("typeof");
967
- var $L136 = $L("unless");
968
- var $L137 = $L("until");
969
- var $L138 = $L("var");
970
- var $L139 = $L("void");
971
- var $L140 = $L("when");
972
- var $L141 = $L("while");
973
- var $L142 = $L("yield");
974
- var $L143 = $L("/>");
975
- var $L144 = $L("</");
976
- var $L145 = $L("<>");
977
- var $L146 = $L("</>");
978
- var $L147 = $L("declare");
979
- var $L148 = $L("type");
980
- var $L149 = $L("interface");
981
- var $L150 = $L("namespace");
982
- var $L151 = $L("readonly");
983
- var $L152 = $L("asserts");
984
- var $L153 = $L("keyof");
985
- var $L154 = $L("infer");
986
- var $L155 = $L("[]");
987
- var $L156 = $L("civet");
988
- var $L157 = $L(" ");
989
- var $L158 = $L(" ");
908
+ var $L74 = $L("&");
909
+ var $L75 = $L("^");
910
+ var $L76 = $L("|");
911
+ var $L77 = $L(";");
912
+ var $L78 = $L("own");
913
+ var $L79 = $L("finally");
914
+ var $L80 = $L("break");
915
+ var $L81 = $L("continue");
916
+ var $L82 = $L("debugger");
917
+ var $L83 = $L("import type");
918
+ var $L84 = $L("default");
919
+ var $L85 = $L(":=");
920
+ var $L86 = $L("/*");
921
+ var $L87 = $L("*/");
922
+ var $L88 = $L("\\");
923
+ var $L89 = $L("as");
924
+ var $L90 = $L("@");
925
+ var $L91 = $L("async");
926
+ var $L92 = $L("await");
927
+ var $L93 = $L("`");
928
+ var $L94 = $L("by");
929
+ var $L95 = $L("case");
930
+ var $L96 = $L("catch");
931
+ var $L97 = $L("class");
932
+ var $L98 = $L("#{");
933
+ var $L99 = $L("delete");
934
+ var $L100 = $L("do");
935
+ var $L101 = $L("..");
936
+ var $L102 = $L("...");
937
+ var $L103 = $L("::");
938
+ var $L104 = $L('"');
939
+ var $L105 = $L("else");
940
+ var $L106 = $L("export");
941
+ var $L107 = $L("for");
942
+ var $L108 = $L("from");
943
+ var $L109 = $L("function");
944
+ var $L110 = $L("get");
945
+ var $L111 = $L("set");
946
+ var $L112 = $L("if");
947
+ var $L113 = $L("let");
948
+ var $L114 = $L("const");
949
+ var $L115 = $L("loop");
950
+ var $L116 = $L("new");
951
+ var $L117 = $L("{");
952
+ var $L118 = $L("[");
953
+ var $L119 = $L("(");
954
+ var $L120 = $L("return");
955
+ var $L121 = $L("'");
956
+ var $L122 = $L("static");
957
+ var $L123 = $L("${");
958
+ var $L124 = $L("switch");
959
+ var $L125 = $L("target");
960
+ var $L126 = $L("then");
961
+ var $L127 = $L("this");
962
+ var $L128 = $L("throw");
963
+ var $L129 = $L('"""');
964
+ var $L130 = $L("'''");
965
+ var $L131 = $L("///");
966
+ var $L132 = $L("```");
967
+ var $L133 = $L("try");
968
+ var $L134 = $L("typeof");
969
+ var $L135 = $L("unless");
970
+ var $L136 = $L("until");
971
+ var $L137 = $L("var");
972
+ var $L138 = $L("void");
973
+ var $L139 = $L("when");
974
+ var $L140 = $L("while");
975
+ var $L141 = $L("yield");
976
+ var $L142 = $L("/>");
977
+ var $L143 = $L("</");
978
+ var $L144 = $L("<>");
979
+ var $L145 = $L("</>");
980
+ var $L146 = $L("declare");
981
+ var $L147 = $L("type");
982
+ var $L148 = $L("interface");
983
+ var $L149 = $L("namespace");
984
+ var $L150 = $L("readonly");
985
+ var $L151 = $L("asserts");
986
+ var $L152 = $L("keyof");
987
+ var $L153 = $L("infer");
988
+ var $L154 = $L("[]");
989
+ var $L155 = $L("civet");
990
+ var $L156 = $L(" ");
991
+ var $L157 = $L(" ");
990
992
  var $R0 = $R(new RegExp("(for|of|then|when)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
991
993
  var $R1 = $R(new RegExp("[&]", "suy"));
992
994
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
@@ -1023,22 +1025,23 @@ ${input.slice(result.pos)}
1023
1025
  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|let|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1024
1026
  var $R34 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1025
1027
  var $R35 = $R(new RegExp(".", "suy"));
1026
- var $R36 = $R(new RegExp("#(?!##)([^\\r\\n]*)", "suy"));
1027
- var $R37 = $R(new RegExp("[^\\r\\n]", "suy"));
1028
- var $R38 = $R(new RegExp("[ \\t]+", "suy"));
1029
- var $R39 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1030
- var $R40 = $R(new RegExp("\\s", "suy"));
1031
- var $R41 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1032
- var $R42 = $R(new RegExp('"[^"]*"', "suy"));
1033
- var $R43 = $R(new RegExp("'[^']*'", "suy"));
1034
- var $R44 = $R(new RegExp("[^{}<>]+", "suy"));
1035
- var $R45 = $R(new RegExp("[+-]?", "suy"));
1036
- var $R46 = $R(new RegExp("[+-]", "suy"));
1037
- var $R47 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1038
- var $R48 = $R(new RegExp("[\\t ]*", "suy"));
1039
- var $R49 = $R(new RegExp("[\\s]*", "suy"));
1040
- var $R50 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1041
- var $R51 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1028
+ var $R36 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1029
+ var $R37 = $R(new RegExp("###(?!#)", "suy"));
1030
+ var $R38 = $R(new RegExp("[^\\r\\n]", "suy"));
1031
+ var $R39 = $R(new RegExp("[ \\t]+", "suy"));
1032
+ var $R40 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1033
+ var $R41 = $R(new RegExp("\\s", "suy"));
1034
+ var $R42 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1035
+ var $R43 = $R(new RegExp('"[^"]*"', "suy"));
1036
+ var $R44 = $R(new RegExp("'[^']*'", "suy"));
1037
+ var $R45 = $R(new RegExp("[^{}<>]+", "suy"));
1038
+ var $R46 = $R(new RegExp("[+-]?", "suy"));
1039
+ var $R47 = $R(new RegExp("[+-]", "suy"));
1040
+ var $R48 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1041
+ var $R49 = $R(new RegExp("[\\t ]*", "suy"));
1042
+ var $R50 = $R(new RegExp("[\\s]*", "suy"));
1043
+ var $R51 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1044
+ var $R52 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1042
1045
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1043
1046
  var statements = $4;
1044
1047
  module2.processProgram(statements);
@@ -1088,9 +1091,10 @@ ${input.slice(result.pos)}
1088
1091
  return $skip;
1089
1092
  });
1090
1093
  var ExtendedExpression$1 = $TS($S(__, ExpressionizedStatement), function($skip, $loc, $0, $1, $2) {
1091
- return Object.assign({}, $2, {
1094
+ return {
1095
+ ...$2,
1092
1096
  children: [...$1, ...$2.children]
1093
- });
1097
+ };
1094
1098
  });
1095
1099
  var ExtendedExpression$2 = AssignmentExpression;
1096
1100
  function ExtendedExpression(state) {
@@ -1426,9 +1430,10 @@ ${input.slice(result.pos)}
1426
1430
  switch (exp.type) {
1427
1431
  case "Identifier":
1428
1432
  case "Literal":
1429
- return Object.assign({}, exp, {
1433
+ return {
1434
+ ...exp,
1430
1435
  children: [...pre, ...exp.children, post]
1431
- });
1436
+ };
1432
1437
  default:
1433
1438
  return {
1434
1439
  type: "ParenthesizedExpression",
@@ -1615,7 +1620,9 @@ ${input.slice(result.pos)}
1615
1620
  return {
1616
1621
  type: "AssignmentExpression",
1617
1622
  children: $0,
1618
- names: null
1623
+ names: null,
1624
+ lhs: $1,
1625
+ exp: $2
1619
1626
  };
1620
1627
  });
1621
1628
  function ActualAssignment(state) {
@@ -1677,9 +1684,10 @@ ${input.slice(result.pos)}
1677
1684
  }
1678
1685
  var ArrowFunction$0 = $TS($S($E($S(Async, __)), ArrowFunctionTail), function($skip, $loc, $0, $1, $2) {
1679
1686
  var tail = $2;
1680
- return Object.assign({}, tail, {
1687
+ return {
1688
+ ...tail,
1681
1689
  children: [...$1 || [], ...tail.children]
1682
- });
1690
+ };
1683
1691
  });
1684
1692
  function ArrowFunction(state) {
1685
1693
  if (state.events) {
@@ -1865,7 +1873,7 @@ ${input.slice(result.pos)}
1865
1873
  return result;
1866
1874
  }
1867
1875
  }
1868
- var PrimaryExpression$0 = This;
1876
+ var PrimaryExpression$0 = ThisLiteral;
1869
1877
  var PrimaryExpression$1 = Literal;
1870
1878
  var PrimaryExpression$2 = ArrayLiteral;
1871
1879
  var PrimaryExpression$3 = ObjectLiteral;
@@ -1899,20 +1907,7 @@ ${input.slice(result.pos)}
1899
1907
  var exp = $2;
1900
1908
  var post = $3;
1901
1909
  if (post) {
1902
- let clause;
1903
- switch (post[1].type) {
1904
- case "IterationStatement":
1905
- case "ForStatement":
1906
- clause = module2.addPostfixStatement(exp, ...post);
1907
- return {
1908
- type: "IterationExpression",
1909
- children: [clause],
1910
- block: clause.block
1911
- };
1912
- case "IfStatement":
1913
- clause = module2.expressionizeIfClause(post[1], exp);
1914
- return clause;
1915
- }
1910
+ return module2.attachPostfixStatementAsExpression(exp, post);
1916
1911
  }
1917
1912
  return {
1918
1913
  type: "ParenthesizedExpression",
@@ -2143,37 +2138,35 @@ ${input.slice(result.pos)}
2143
2138
  return result;
2144
2139
  }
2145
2140
  }
2146
- var This$0 = $TV($EXPECT($L6, fail, 'This "this"'), function($skip, $loc, $0, $1) {
2147
- return { $loc, token: $1 };
2148
- });
2149
- var This$1 = $TS($S(At, $TEXT($S($E($EXPECT($L7, fail, 'This "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
2141
+ var ThisLiteral$0 = This;
2142
+ var ThisLiteral$1 = $TS($S(At, $TEXT($S($E($EXPECT($L6, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
2150
2143
  var t = $1;
2151
2144
  var id = $2;
2152
2145
  return [{ ...t, token: "this." }, id];
2153
2146
  });
2154
- var This$2 = $TS($S(At), function($skip, $loc, $0, $1) {
2147
+ var ThisLiteral$2 = $TS($S(At), function($skip, $loc, $0, $1) {
2155
2148
  $1.token = "this";
2156
2149
  return $1;
2157
2150
  });
2158
- function This(state) {
2151
+ function ThisLiteral(state) {
2159
2152
  if (state.events) {
2160
- const result = state.events.enter?.("This", state);
2153
+ const result = state.events.enter?.("ThisLiteral", state);
2161
2154
  if (result)
2162
2155
  return result.cache;
2163
2156
  }
2164
2157
  if (state.tokenize) {
2165
- const result = $TOKEN("This", state, This$0(state) || This$1(state) || This$2(state));
2158
+ const result = $TOKEN("ThisLiteral", state, ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state));
2166
2159
  if (state.events)
2167
- state.events.exit?.("This", state, result);
2160
+ state.events.exit?.("ThisLiteral", state, result);
2168
2161
  return result;
2169
2162
  } else {
2170
- const result = This$0(state) || This$1(state) || This$2(state);
2163
+ const result = ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state);
2171
2164
  if (state.events)
2172
- state.events.exit?.("This", state, result);
2165
+ state.events.exit?.("ThisLiteral", state, result);
2173
2166
  return result;
2174
2167
  }
2175
2168
  }
2176
- var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L8, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2169
+ var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L7, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
2177
2170
  if ($1.length)
2178
2171
  return $0;
2179
2172
  return $2;
@@ -2196,8 +2189,8 @@ ${input.slice(result.pos)}
2196
2189
  return result;
2197
2190
  }
2198
2191
  }
2199
- var CallExpression$0 = $S($EXPECT($L9, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2200
- var CallExpression$1 = $S($EXPECT($L10, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2192
+ var CallExpression$0 = $S($EXPECT($L8, fail, 'CallExpression "super"'), ArgumentsWithTrailingCallExpressions);
2193
+ var CallExpression$1 = $S($EXPECT($L9, fail, 'CallExpression "import"'), __, OpenParen, ExtendedExpression, __, CloseParen);
2201
2194
  var CallExpression$2 = $TS($S(MemberExpression, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2) {
2202
2195
  if ($2.length)
2203
2196
  return $0;
@@ -2261,7 +2254,7 @@ ${input.slice(result.pos)}
2261
2254
  return result;
2262
2255
  }
2263
2256
  }
2264
- var NonNullAssertion$0 = $T($EXPECT($L11, fail, 'NonNullAssertion "!"'), function(value) {
2257
+ var NonNullAssertion$0 = $T($EXPECT($L10, fail, 'NonNullAssertion "!"'), function(value) {
2265
2258
  return { "ts": true, "children": value };
2266
2259
  });
2267
2260
  function NonNullAssertion(state) {
@@ -2501,7 +2494,7 @@ ${input.slice(result.pos)}
2501
2494
  return result;
2502
2495
  }
2503
2496
  }
2504
- var SuperProperty$0 = $S($EXPECT($L12, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2497
+ var SuperProperty$0 = $S($EXPECT($L11, fail, 'SuperProperty "super["'), ExtendedExpression, __, CloseBracket);
2505
2498
  function SuperProperty(state) {
2506
2499
  if (state.events) {
2507
2500
  const result = state.events.enter?.("SuperProperty", state);
@@ -2521,7 +2514,7 @@ ${input.slice(result.pos)}
2521
2514
  }
2522
2515
  }
2523
2516
  var MetaProperty$0 = $S(New, Dot, Target);
2524
- var MetaProperty$1 = $TV($EXPECT($L13, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2517
+ var MetaProperty$1 = $TV($EXPECT($L12, fail, 'MetaProperty "import.meta"'), function($skip, $loc, $0, $1) {
2525
2518
  return { $loc, token: $1 };
2526
2519
  });
2527
2520
  function MetaProperty(state) {
@@ -2543,7 +2536,7 @@ ${input.slice(result.pos)}
2543
2536
  }
2544
2537
  }
2545
2538
  var Parameters$0 = NonEmptyParameters;
2546
- var Parameters$1 = $TV($EXPECT($L14, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2539
+ var Parameters$1 = $TV($EXPECT($L13, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
2547
2540
  return {
2548
2541
  type: "Parameters",
2549
2542
  children: [{ $loc, token: "()" }],
@@ -2588,8 +2581,7 @@ ${input.slice(result.pos)}
2588
2581
  if (after.length) {
2589
2582
  const spliceRef = module2.getSpliceRef();
2590
2583
  blockPrefix = {
2591
- type: "AssignmentExpression",
2592
- children: ["let [", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
2584
+ children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
2593
2585
  names: after.flatMap((p) => p.names)
2594
2586
  };
2595
2587
  }
@@ -2683,7 +2675,7 @@ ${input.slice(result.pos)}
2683
2675
  }
2684
2676
  }
2685
2677
  var ParameterElementDelimiter$0 = $S($Q(_), Comma);
2686
- var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L15, fail, 'ParameterElementDelimiter ")"')));
2678
+ var ParameterElementDelimiter$1 = $Y($S(__, $EXPECT($L14, fail, 'ParameterElementDelimiter ")"')));
2687
2679
  var ParameterElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
2688
2680
  return { $loc, token: "," };
2689
2681
  });
@@ -2753,7 +2745,7 @@ ${input.slice(result.pos)}
2753
2745
  var BindingPattern$1 = $TS($S(__, ArrayBindingPattern), function($skip, $loc, $0, $1, $2) {
2754
2746
  var p = $2;
2755
2747
  return {
2756
- children: [...$1, p],
2748
+ children: [...$1, p.children],
2757
2749
  names: p.names
2758
2750
  };
2759
2751
  });
@@ -2778,6 +2770,7 @@ ${input.slice(result.pos)}
2778
2770
  var ObjectBindingPattern$0 = $TS($S(OpenBrace, ObjectBindingPatternContent, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
2779
2771
  var c = $2;
2780
2772
  return {
2773
+ type: "ObjectBindingPattern",
2781
2774
  children: [$1, ...c.children, ...$3, $4],
2782
2775
  names: c.names
2783
2776
  };
@@ -2838,6 +2831,7 @@ ${input.slice(result.pos)}
2838
2831
  var ArrayBindingPattern$0 = $TS($S(OpenBracket, ArrayBindingPatternContent, __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
2839
2832
  var c = $2;
2840
2833
  return {
2834
+ type: "ArrayBindingPattern",
2841
2835
  names: c.names,
2842
2836
  children: $0
2843
2837
  };
@@ -2881,8 +2875,7 @@ ${input.slice(result.pos)}
2881
2875
  if (after.length) {
2882
2876
  const spliceRef = module2.getSpliceRef();
2883
2877
  blockPrefix = {
2884
- type: "AssignmentExpression",
2885
- children: ["let [", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
2878
+ children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
2886
2879
  names: after.flatMap((p) => p.names)
2887
2880
  };
2888
2881
  }
@@ -3115,8 +3108,7 @@ ${input.slice(result.pos)}
3115
3108
  if (after.length) {
3116
3109
  const spliceRef = module2.getSpliceRef();
3117
3110
  blockPrefix = {
3118
- type: "AssignmentExpression",
3119
- children: ["let [", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
3111
+ children: ["[", module2.insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
3120
3112
  names: after.flatMap((p) => p.names)
3121
3113
  };
3122
3114
  }
@@ -3234,7 +3226,7 @@ ${input.slice(result.pos)}
3234
3226
  return result;
3235
3227
  }
3236
3228
  }
3237
- var EmptyBindingPattern$0 = $TV($EXPECT($L14, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
3229
+ var EmptyBindingPattern$0 = $TV($EXPECT($L13, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
3238
3230
  const ref = { type: "Ref", base: "ref" };
3239
3231
  return {
3240
3232
  type: "EmptyBinding",
@@ -3403,7 +3395,7 @@ ${input.slice(result.pos)}
3403
3395
  return result;
3404
3396
  }
3405
3397
  }
3406
- var Arrow$0 = $TV($EXPECT($L16, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
3398
+ var Arrow$0 = $TV($EXPECT($L15, fail, 'Arrow "->"'), function($skip, $loc, $0, $1) {
3407
3399
  return { $loc, token: $1 };
3408
3400
  });
3409
3401
  function Arrow(state) {
@@ -3783,7 +3775,7 @@ ${input.slice(result.pos)}
3783
3775
  return result;
3784
3776
  }
3785
3777
  }
3786
- var NullLiteral$0 = $TV($EXPECT($L17, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
3778
+ var NullLiteral$0 = $TV($EXPECT($L16, fail, 'NullLiteral "null"'), function($skip, $loc, $0, $1) {
3787
3779
  return { $loc, token: $1 };
3788
3780
  });
3789
3781
  function NullLiteral(state) {
@@ -3807,7 +3799,7 @@ ${input.slice(result.pos)}
3807
3799
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
3808
3800
  return value[1];
3809
3801
  });
3810
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L18, fail, 'BooleanLiteral "true"'), $EXPECT($L19, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3802
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L17, fail, 'BooleanLiteral "true"'), $EXPECT($L18, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3811
3803
  return { $loc, token: $1 };
3812
3804
  });
3813
3805
  function BooleanLiteral(state) {
@@ -3828,10 +3820,10 @@ ${input.slice(result.pos)}
3828
3820
  return result;
3829
3821
  }
3830
3822
  }
3831
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L20, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L21, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3823
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L19, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L20, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3832
3824
  return { $loc, token: "true" };
3833
3825
  });
3834
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L22, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L23, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3826
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L21, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L22, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3835
3827
  return { $loc, token: "false" };
3836
3828
  });
3837
3829
  function CoffeeScriptBooleanLiteral(state) {
@@ -3852,7 +3844,7 @@ ${input.slice(result.pos)}
3852
3844
  return result;
3853
3845
  }
3854
3846
  }
3855
- var Comma$0 = $TV($EXPECT($L24, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
3847
+ var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
3856
3848
  return { $loc, token: $1 };
3857
3849
  });
3858
3850
  function Comma(state) {
@@ -3942,7 +3934,29 @@ ${input.slice(result.pos)}
3942
3934
  return result;
3943
3935
  }
3944
3936
  }
3945
- var ArrayLiteral$0 = $TS($S(OpenBracket, ArrayLiteralContent, __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
3937
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L24, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L24, fail, 'UpcomingAssignment "="'), $EXPECT($L25, fail, 'UpcomingAssignment ">"')))));
3938
+ function UpcomingAssignment(state) {
3939
+ if (state.events) {
3940
+ const result = state.events.enter?.("UpcomingAssignment", state);
3941
+ if (result)
3942
+ return result.cache;
3943
+ }
3944
+ if (state.tokenize) {
3945
+ const result = $TOKEN("UpcomingAssignment", state, UpcomingAssignment$0(state));
3946
+ if (state.events)
3947
+ state.events.exit?.("UpcomingAssignment", state, result);
3948
+ return result;
3949
+ } else {
3950
+ const result = UpcomingAssignment$0(state);
3951
+ if (state.events)
3952
+ state.events.exit?.("UpcomingAssignment", state, result);
3953
+ return result;
3954
+ }
3955
+ }
3956
+ var ArrayLiteral$0 = $T($S(ArrayBindingPattern, UpcomingAssignment), function(value) {
3957
+ return value[0];
3958
+ });
3959
+ var ArrayLiteral$1 = $TS($S(OpenBracket, ArrayLiteralContent, __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
3946
3960
  var content = $2;
3947
3961
  var ws = $3;
3948
3962
  if (content.type === "RangeExpression") {
@@ -3973,12 +3987,12 @@ ${input.slice(result.pos)}
3973
3987
  return result.cache;
3974
3988
  }
3975
3989
  if (state.tokenize) {
3976
- const result = $TOKEN("ArrayLiteral", state, ArrayLiteral$0(state));
3990
+ const result = $TOKEN("ArrayLiteral", state, ArrayLiteral$0(state) || ArrayLiteral$1(state));
3977
3991
  if (state.events)
3978
3992
  state.events.exit?.("ArrayLiteral", state, result);
3979
3993
  return result;
3980
3994
  } else {
3981
- const result = ArrayLiteral$0(state);
3995
+ const result = ArrayLiteral$0(state) || ArrayLiteral$1(state);
3982
3996
  if (state.events)
3983
3997
  state.events.exit?.("ArrayLiteral", state, result);
3984
3998
  return result;
@@ -4159,7 +4173,7 @@ ${input.slice(result.pos)}
4159
4173
  }
4160
4174
  }
4161
4175
  var ArrayElementDelimiter$0 = $S($Q(_), Comma);
4162
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L25, fail, 'ArrayElementDelimiter "]"')));
4176
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ArrayElementDelimiter "]"')));
4163
4177
  var ArrayElementDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
4164
4178
  return { $loc, token: "," };
4165
4179
  });
@@ -4235,10 +4249,17 @@ ${input.slice(result.pos)}
4235
4249
  return result;
4236
4250
  }
4237
4251
  }
4238
- var ArrayElementExpression$0 = $TS($S(ExtendedExpression, __, DotDotDot), function($skip, $loc, $0, $1, $2, $3) {
4252
+ var ArrayElementExpression$0 = $TS($S($E(ExtendedExpression), __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
4239
4253
  var exp = $1;
4240
4254
  var ws = $2;
4241
4255
  var dots = $3;
4256
+ if (!exp) {
4257
+ exp = {
4258
+ type: "Ref",
4259
+ base: "ref",
4260
+ names: []
4261
+ };
4262
+ }
4242
4263
  return {
4243
4264
  type: "SpreadElement",
4244
4265
  children: [...ws, dots, exp],
@@ -4286,9 +4307,12 @@ ${input.slice(result.pos)}
4286
4307
  return result;
4287
4308
  }
4288
4309
  }
4289
- var ObjectLiteral$0 = BracedObjectLiteral;
4290
- var ObjectLiteral$1 = NestedImplicitObjectLiteral;
4291
- var ObjectLiteral$2 = InlineObjectLiteral;
4310
+ var ObjectLiteral$0 = $T($S(ObjectBindingPattern, UpcomingAssignment), function(value) {
4311
+ return value[0];
4312
+ });
4313
+ var ObjectLiteral$1 = BracedObjectLiteral;
4314
+ var ObjectLiteral$2 = NestedImplicitObjectLiteral;
4315
+ var ObjectLiteral$3 = InlineObjectLiteral;
4292
4316
  function ObjectLiteral(state) {
4293
4317
  if (state.events) {
4294
4318
  const result = state.events.enter?.("ObjectLiteral", state);
@@ -4296,12 +4320,12 @@ ${input.slice(result.pos)}
4296
4320
  return result.cache;
4297
4321
  }
4298
4322
  if (state.tokenize) {
4299
- const result = $TOKEN("ObjectLiteral", state, ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state));
4323
+ const result = $TOKEN("ObjectLiteral", state, ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state) || ObjectLiteral$3(state));
4300
4324
  if (state.events)
4301
4325
  state.events.exit?.("ObjectLiteral", state, result);
4302
4326
  return result;
4303
4327
  } else {
4304
- const result = ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state);
4328
+ const result = ObjectLiteral$0(state) || ObjectLiteral$1(state) || ObjectLiteral$2(state) || ObjectLiteral$3(state);
4305
4329
  if (state.events)
4306
4330
  state.events.exit?.("ObjectLiteral", state, result);
4307
4331
  return result;
@@ -4464,14 +4488,13 @@ ${input.slice(result.pos)}
4464
4488
  return result;
4465
4489
  }
4466
4490
  }
4467
- var NestedPropertyDefinition$0 = $TS($S(Nested, PropertyDefinition, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
4491
+ var NestedPropertyDefinition$0 = $TS($S(Nested, $P($S(PropertyDefinition, ObjectPropertyDelimiter))), function($skip, $loc, $0, $1, $2) {
4468
4492
  var ws = $1;
4469
- var prop = $2;
4470
- var delimiter = $3;
4471
- return {
4493
+ var inlineProps = $2;
4494
+ return inlineProps.map(([prop, delimiter], i) => ({
4472
4495
  ...prop,
4473
- children: [...ws, ...prop.children, delimiter]
4474
- };
4496
+ children: [...i === 0 ? ws : [], ...prop.children, delimiter]
4497
+ }));
4475
4498
  });
4476
4499
  function NestedPropertyDefinition(state) {
4477
4500
  if (state.events) {
@@ -4514,13 +4537,14 @@ ${input.slice(result.pos)}
4514
4537
  return result;
4515
4538
  }
4516
4539
  }
4517
- var ImplicitInlineObjectPropertyDelimiter$0 = $T($Y($S(EOS, NamedProperty)), function(value) {
4540
+ var ImplicitInlineObjectPropertyDelimiter$0 = $S($Q(TrailingComment), $EXPECT($L23, fail, 'ImplicitInlineObjectPropertyDelimiter ","'));
4541
+ var ImplicitInlineObjectPropertyDelimiter$1 = $T($Y($S(EOS, NamedProperty)), function(value) {
4518
4542
  return ",";
4519
4543
  });
4520
- var ImplicitInlineObjectPropertyDelimiter$1 = $T($Y($S(__, $EXPECT($L26, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'))), function(value) {
4544
+ var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L27, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L14, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L26, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L28, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
4521
4545
  return "";
4522
4546
  });
4523
- var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y(EOS), function(value) {
4547
+ var ImplicitInlineObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
4524
4548
  return "";
4525
4549
  });
4526
4550
  function ImplicitInlineObjectPropertyDelimiter(state) {
@@ -4530,19 +4554,19 @@ ${input.slice(result.pos)}
4530
4554
  return result.cache;
4531
4555
  }
4532
4556
  if (state.tokenize) {
4533
- const result = $TOKEN("ImplicitInlineObjectPropertyDelimiter", state, ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state));
4557
+ const result = $TOKEN("ImplicitInlineObjectPropertyDelimiter", state, ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state) || ImplicitInlineObjectPropertyDelimiter$3(state));
4534
4558
  if (state.events)
4535
4559
  state.events.exit?.("ImplicitInlineObjectPropertyDelimiter", state, result);
4536
4560
  return result;
4537
4561
  } else {
4538
- const result = ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state);
4562
+ const result = ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state) || ImplicitInlineObjectPropertyDelimiter$3(state);
4539
4563
  if (state.events)
4540
4564
  state.events.exit?.("ImplicitInlineObjectPropertyDelimiter", state, result);
4541
4565
  return result;
4542
4566
  }
4543
4567
  }
4544
4568
  var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
4545
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L27, fail, 'ObjectPropertyDelimiter "}"')));
4569
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, fail, 'ObjectPropertyDelimiter "}"')));
4546
4570
  var ObjectPropertyDelimiter$2 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
4547
4571
  return { $loc, token: "," };
4548
4572
  });
@@ -4819,7 +4843,7 @@ ${input.slice(result.pos)}
4819
4843
  return result;
4820
4844
  }
4821
4845
  }
4822
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L7, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4846
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L6, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
4823
4847
  return {
4824
4848
  type: "Identifier",
4825
4849
  name: $0,
@@ -4875,25 +4899,25 @@ ${input.slice(result.pos)}
4875
4899
  return result;
4876
4900
  }
4877
4901
  }
4878
- var AssignmentOpSymbol$0 = $EXPECT($L28, fail, 'AssignmentOpSymbol "**="');
4879
- var AssignmentOpSymbol$1 = $EXPECT($L29, fail, 'AssignmentOpSymbol "*="');
4880
- var AssignmentOpSymbol$2 = $EXPECT($L30, fail, 'AssignmentOpSymbol "/="');
4881
- var AssignmentOpSymbol$3 = $EXPECT($L31, fail, 'AssignmentOpSymbol "%="');
4882
- var AssignmentOpSymbol$4 = $EXPECT($L32, fail, 'AssignmentOpSymbol "+="');
4883
- var AssignmentOpSymbol$5 = $EXPECT($L33, fail, 'AssignmentOpSymbol "-="');
4884
- var AssignmentOpSymbol$6 = $EXPECT($L34, fail, 'AssignmentOpSymbol "<<="');
4885
- var AssignmentOpSymbol$7 = $EXPECT($L35, fail, 'AssignmentOpSymbol ">>>="');
4886
- var AssignmentOpSymbol$8 = $EXPECT($L36, fail, 'AssignmentOpSymbol ">>="');
4887
- var AssignmentOpSymbol$9 = $EXPECT($L37, fail, 'AssignmentOpSymbol "&&="');
4888
- var AssignmentOpSymbol$10 = $EXPECT($L38, fail, 'AssignmentOpSymbol "&="');
4889
- var AssignmentOpSymbol$11 = $EXPECT($L39, fail, 'AssignmentOpSymbol "^="');
4890
- var AssignmentOpSymbol$12 = $EXPECT($L40, fail, 'AssignmentOpSymbol "||="');
4891
- var AssignmentOpSymbol$13 = $EXPECT($L41, fail, 'AssignmentOpSymbol "|="');
4892
- var AssignmentOpSymbol$14 = $EXPECT($L42, fail, 'AssignmentOpSymbol "??="');
4893
- var AssignmentOpSymbol$15 = $T($EXPECT($L43, fail, 'AssignmentOpSymbol "?="'), function(value) {
4902
+ var AssignmentOpSymbol$0 = $EXPECT($L29, fail, 'AssignmentOpSymbol "**="');
4903
+ var AssignmentOpSymbol$1 = $EXPECT($L30, fail, 'AssignmentOpSymbol "*="');
4904
+ var AssignmentOpSymbol$2 = $EXPECT($L31, fail, 'AssignmentOpSymbol "/="');
4905
+ var AssignmentOpSymbol$3 = $EXPECT($L32, fail, 'AssignmentOpSymbol "%="');
4906
+ var AssignmentOpSymbol$4 = $EXPECT($L33, fail, 'AssignmentOpSymbol "+="');
4907
+ var AssignmentOpSymbol$5 = $EXPECT($L34, fail, 'AssignmentOpSymbol "-="');
4908
+ var AssignmentOpSymbol$6 = $EXPECT($L35, fail, 'AssignmentOpSymbol "<<="');
4909
+ var AssignmentOpSymbol$7 = $EXPECT($L36, fail, 'AssignmentOpSymbol ">>>="');
4910
+ var AssignmentOpSymbol$8 = $EXPECT($L37, fail, 'AssignmentOpSymbol ">>="');
4911
+ var AssignmentOpSymbol$9 = $EXPECT($L38, fail, 'AssignmentOpSymbol "&&="');
4912
+ var AssignmentOpSymbol$10 = $EXPECT($L39, fail, 'AssignmentOpSymbol "&="');
4913
+ var AssignmentOpSymbol$11 = $EXPECT($L40, fail, 'AssignmentOpSymbol "^="');
4914
+ var AssignmentOpSymbol$12 = $EXPECT($L41, fail, 'AssignmentOpSymbol "||="');
4915
+ var AssignmentOpSymbol$13 = $EXPECT($L42, fail, 'AssignmentOpSymbol "|="');
4916
+ var AssignmentOpSymbol$14 = $EXPECT($L43, fail, 'AssignmentOpSymbol "??="');
4917
+ var AssignmentOpSymbol$15 = $T($EXPECT($L44, fail, 'AssignmentOpSymbol "?="'), function(value) {
4894
4918
  return "??=";
4895
4919
  });
4896
- var AssignmentOpSymbol$16 = $EXPECT($L44, fail, 'AssignmentOpSymbol "="');
4920
+ var AssignmentOpSymbol$16 = $EXPECT($L24, fail, 'AssignmentOpSymbol "="');
4897
4921
  var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
4898
4922
  return value[0];
4899
4923
  });
@@ -4974,63 +4998,72 @@ ${input.slice(result.pos)}
4974
4998
  var BinaryOpSymbol$9 = $EXPECT($L4, fail, 'BinaryOpSymbol "<"');
4975
4999
  var BinaryOpSymbol$10 = $EXPECT($L56, fail, 'BinaryOpSymbol ">>>"');
4976
5000
  var BinaryOpSymbol$11 = $EXPECT($L57, fail, 'BinaryOpSymbol ">>"');
4977
- var BinaryOpSymbol$12 = $EXPECT($L58, fail, 'BinaryOpSymbol ">"');
4978
- var BinaryOpSymbol$13 = $EXPECT($L59, fail, 'BinaryOpSymbol "!=="');
4979
- var BinaryOpSymbol$14 = $TV($EXPECT($L60, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
5001
+ var BinaryOpSymbol$12 = $EXPECT($L25, fail, 'BinaryOpSymbol ">"');
5002
+ var BinaryOpSymbol$13 = $EXPECT($L58, fail, 'BinaryOpSymbol "!=="');
5003
+ var BinaryOpSymbol$14 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
4980
5004
  if (module2.config.coffeeEq)
4981
5005
  return "!==";
4982
5006
  return $1;
4983
5007
  });
4984
- var BinaryOpSymbol$15 = $TS($S($EXPECT($L61, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5008
+ var BinaryOpSymbol$15 = $TS($S($EXPECT($L60, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4985
5009
  if (module2.config.coffeeIsnt)
4986
5010
  return "!==";
4987
5011
  return $skip;
4988
5012
  });
4989
- var BinaryOpSymbol$16 = $T($S($EXPECT($L62, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
5013
+ var BinaryOpSymbol$16 = $T($S($EXPECT($L61, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
4990
5014
  return "===";
4991
5015
  });
4992
- var BinaryOpSymbol$17 = $EXPECT($L63, fail, 'BinaryOpSymbol "==="');
4993
- var BinaryOpSymbol$18 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
5016
+ var BinaryOpSymbol$17 = $EXPECT($L62, fail, 'BinaryOpSymbol "==="');
5017
+ var BinaryOpSymbol$18 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
4994
5018
  if (module2.config.coffeeEq)
4995
5019
  return "===";
4996
5020
  return $1;
4997
5021
  });
4998
- var BinaryOpSymbol$19 = $T($S($EXPECT($L65, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
5022
+ var BinaryOpSymbol$19 = $T($S($EXPECT($L64, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
4999
5023
  return "&&";
5000
5024
  });
5001
- var BinaryOpSymbol$20 = $EXPECT($L66, fail, 'BinaryOpSymbol "&&"');
5002
- var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L67, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
5025
+ var BinaryOpSymbol$20 = $EXPECT($L65, fail, 'BinaryOpSymbol "&&"');
5026
+ var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L66, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
5003
5027
  return "in";
5004
5028
  });
5005
- var BinaryOpSymbol$22 = $T($S($EXPECT($L68, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
5029
+ var BinaryOpSymbol$22 = $T($S($EXPECT($L67, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
5006
5030
  return "||";
5007
5031
  });
5008
- var BinaryOpSymbol$23 = $EXPECT($L69, fail, 'BinaryOpSymbol "||"');
5009
- var BinaryOpSymbol$24 = $EXPECT($L70, fail, 'BinaryOpSymbol "??"');
5010
- var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L71, fail, 'BinaryOpSymbol "?"')), function(value) {
5032
+ var BinaryOpSymbol$23 = $EXPECT($L68, fail, 'BinaryOpSymbol "||"');
5033
+ var BinaryOpSymbol$24 = $EXPECT($L69, fail, 'BinaryOpSymbol "??"');
5034
+ var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L70, fail, 'BinaryOpSymbol "?"')), function(value) {
5011
5035
  return "??";
5012
5036
  });
5013
- var BinaryOpSymbol$26 = $TS($S($EXPECT($L72, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5037
+ var BinaryOpSymbol$26 = $TS($S($EXPECT($L71, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5014
5038
  return $1;
5015
5039
  });
5016
- var BinaryOpSymbol$27 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5040
+ var BinaryOpSymbol$27 = $TS($S(CoffeeNotEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L71, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5041
+ return {
5042
+ $loc,
5043
+ token: "instanceof",
5044
+ special: true
5045
+ };
5046
+ });
5047
+ var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5017
5048
  return {
5018
5049
  ref: module2.getIndexOfRef(),
5019
- suffix: " >= 0"
5050
+ suffix: " >= 0",
5051
+ special: true
5020
5052
  };
5021
5053
  });
5022
- var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L74, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5054
+ var BinaryOpSymbol$29 = $TS($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
5023
5055
  return {
5024
5056
  ref: module2.getIndexOfRef(),
5025
- suffix: " < 0"
5057
+ suffix: " < 0",
5058
+ special: true
5026
5059
  };
5027
5060
  });
5028
- var BinaryOpSymbol$29 = $TS($S($EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5061
+ var BinaryOpSymbol$30 = $TS($S($EXPECT($L73, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5029
5062
  return $1;
5030
5063
  });
5031
- var BinaryOpSymbol$30 = $EXPECT($L75, fail, 'BinaryOpSymbol "&"');
5032
- var BinaryOpSymbol$31 = $EXPECT($L76, fail, 'BinaryOpSymbol "^"');
5033
- var BinaryOpSymbol$32 = $EXPECT($L77, fail, 'BinaryOpSymbol "|"');
5064
+ var BinaryOpSymbol$31 = $EXPECT($L74, fail, 'BinaryOpSymbol "&"');
5065
+ var BinaryOpSymbol$32 = $EXPECT($L75, fail, 'BinaryOpSymbol "^"');
5066
+ var BinaryOpSymbol$33 = $EXPECT($L76, fail, 'BinaryOpSymbol "|"');
5034
5067
  function BinaryOpSymbol(state) {
5035
5068
  if (state.events) {
5036
5069
  const result = state.events.enter?.("BinaryOpSymbol", state);
@@ -5038,12 +5071,12 @@ ${input.slice(result.pos)}
5038
5071
  return result.cache;
5039
5072
  }
5040
5073
  if (state.tokenize) {
5041
- const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state));
5074
+ const result = $TOKEN("BinaryOpSymbol", state, BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state));
5042
5075
  if (state.events)
5043
5076
  state.events.exit?.("BinaryOpSymbol", state, result);
5044
5077
  return result;
5045
5078
  } else {
5046
- const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state);
5079
+ const result = BinaryOpSymbol$0(state) || BinaryOpSymbol$1(state) || BinaryOpSymbol$2(state) || BinaryOpSymbol$3(state) || BinaryOpSymbol$4(state) || BinaryOpSymbol$5(state) || BinaryOpSymbol$6(state) || BinaryOpSymbol$7(state) || BinaryOpSymbol$8(state) || BinaryOpSymbol$9(state) || BinaryOpSymbol$10(state) || BinaryOpSymbol$11(state) || BinaryOpSymbol$12(state) || BinaryOpSymbol$13(state) || BinaryOpSymbol$14(state) || BinaryOpSymbol$15(state) || BinaryOpSymbol$16(state) || BinaryOpSymbol$17(state) || BinaryOpSymbol$18(state) || BinaryOpSymbol$19(state) || BinaryOpSymbol$20(state) || BinaryOpSymbol$21(state) || BinaryOpSymbol$22(state) || BinaryOpSymbol$23(state) || BinaryOpSymbol$24(state) || BinaryOpSymbol$25(state) || BinaryOpSymbol$26(state) || BinaryOpSymbol$27(state) || BinaryOpSymbol$28(state) || BinaryOpSymbol$29(state) || BinaryOpSymbol$30(state) || BinaryOpSymbol$31(state) || BinaryOpSymbol$32(state) || BinaryOpSymbol$33(state);
5047
5080
  if (state.events)
5048
5081
  state.events.exit?.("BinaryOpSymbol", state, result);
5049
5082
  return result;
@@ -5169,7 +5202,7 @@ ${input.slice(result.pos)}
5169
5202
  return result;
5170
5203
  }
5171
5204
  }
5172
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L78, fail, 'EmptyStatement ";"'))), function(value) {
5205
+ var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L77, fail, 'EmptyStatement ";"'))), function(value) {
5173
5206
  return { "type": "EmptyStatement", "children": value[0] };
5174
5207
  });
5175
5208
  function EmptyStatement(state) {
@@ -5190,7 +5223,7 @@ ${input.slice(result.pos)}
5190
5223
  return result;
5191
5224
  }
5192
5225
  }
5193
- var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L44, fail, 'BlockStatement "="')))), function(value) {
5226
+ var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L24, fail, 'BlockStatement "="')))), function(value) {
5194
5227
  return value[0];
5195
5228
  });
5196
5229
  function BlockStatement(state) {
@@ -5488,7 +5521,16 @@ ${input.slice(result.pos)}
5488
5521
  return result;
5489
5522
  }
5490
5523
  }
5491
- var NestedBlockExpression$0 = $S(Nested, ExtendedExpression, ExpressionDelimiter);
5524
+ var NestedBlockExpression$0 = $TS($S(Nested, ExtendedExpression, $E($S($Q(TrailingComment), PostfixStatement)), ExpressionDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
5525
+ var ws = $1;
5526
+ var exp = $2;
5527
+ var post = $3;
5528
+ var d = $4;
5529
+ if (post) {
5530
+ return [ws, module2.attachPostfixStatementAsExpression(exp, post), d];
5531
+ }
5532
+ return [ws, exp, d];
5533
+ });
5492
5534
  function NestedBlockExpression(state) {
5493
5535
  if (state.events) {
5494
5536
  const result = state.events.enter?.("NestedBlockExpression", state);
@@ -5983,7 +6025,7 @@ ${input.slice(result.pos)}
5983
6025
  return result;
5984
6026
  }
5985
6027
  }
5986
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L79, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
6028
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L78, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
5987
6029
  var own = $1;
5988
6030
  var binding = $2;
5989
6031
  if (own) {
@@ -6404,7 +6446,7 @@ ${input.slice(result.pos)}
6404
6446
  return result;
6405
6447
  }
6406
6448
  }
6407
- var NoExpressions$0 = $T($EXPECT($L14, fail, 'NoExpressions ""'), function(value) {
6449
+ var NoExpressions$0 = $T($EXPECT($L13, fail, 'NoExpressions ""'), function(value) {
6408
6450
  return [];
6409
6451
  });
6410
6452
  function NoExpressions(state) {
@@ -6426,7 +6468,7 @@ ${input.slice(result.pos)}
6426
6468
  }
6427
6469
  }
6428
6470
  var ImpliedColon$0 = $S(__, Colon);
6429
- var ImpliedColon$1 = $TV($EXPECT($L14, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6471
+ var ImpliedColon$1 = $TV($EXPECT($L13, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
6430
6472
  return { $loc, token: ":" };
6431
6473
  });
6432
6474
  function ImpliedColon(state) {
@@ -6520,7 +6562,7 @@ ${input.slice(result.pos)}
6520
6562
  return result;
6521
6563
  }
6522
6564
  }
6523
- var Finally$0 = $S(__, $EXPECT($L80, fail, 'Finally "finally"'), BracedBlock);
6565
+ var Finally$0 = $S(__, $EXPECT($L79, fail, 'Finally "finally"'), BracedBlock);
6524
6566
  function Finally(state) {
6525
6567
  if (state.events) {
6526
6568
  const result = state.events.enter?.("Finally", state);
@@ -6559,7 +6601,7 @@ ${input.slice(result.pos)}
6559
6601
  return result;
6560
6602
  }
6561
6603
  }
6562
- var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp)))), function(value) {
6604
+ var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp, Dot, QuestionMark)))), function(value) {
6563
6605
  return value[0];
6564
6606
  });
6565
6607
  var Condition$1 = $TS($S(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
@@ -6610,13 +6652,13 @@ ${input.slice(result.pos)}
6610
6652
  return result;
6611
6653
  }
6612
6654
  }
6613
- var KeywordStatement$0 = $T($S($EXPECT($L81, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6655
+ var KeywordStatement$0 = $T($S($EXPECT($L80, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6614
6656
  return { "type": "BreakStatement", "children": value };
6615
6657
  });
6616
- var KeywordStatement$1 = $T($S($EXPECT($L82, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6658
+ var KeywordStatement$1 = $T($S($EXPECT($L81, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6617
6659
  return { "type": "ContinueStatement", "children": value };
6618
6660
  });
6619
- var KeywordStatement$2 = $T($S($EXPECT($L83, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6661
+ var KeywordStatement$2 = $T($S($EXPECT($L82, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6620
6662
  return { "type": "DebuggerStatement", "children": value };
6621
6663
  });
6622
6664
  var KeywordStatement$3 = $T($S(Return, $E(MaybeNestedExpression)), function(value) {
@@ -6643,7 +6685,7 @@ ${input.slice(result.pos)}
6643
6685
  return result;
6644
6686
  }
6645
6687
  }
6646
- var DebuggerExpression$0 = $TS($S($EXPECT($L83, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6688
+ var DebuggerExpression$0 = $TS($S($EXPECT($L82, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6647
6689
  return {
6648
6690
  type: "DebuggerExpression",
6649
6691
  children: ["(()=>{", $1, "})()"]
@@ -6715,7 +6757,7 @@ ${input.slice(result.pos)}
6715
6757
  return result;
6716
6758
  }
6717
6759
  }
6718
- var ImportDeclaration$0 = $T($S($EXPECT($L84, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6760
+ var ImportDeclaration$0 = $T($S($EXPECT($L83, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6719
6761
  return { "ts": true, "children": value };
6720
6762
  });
6721
6763
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
@@ -6749,7 +6791,7 @@ ${input.slice(result.pos)}
6749
6791
  return result;
6750
6792
  }
6751
6793
  }
6752
- var ImpliedImport$0 = $TV($EXPECT($L14, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6794
+ var ImpliedImport$0 = $TV($EXPECT($L13, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
6753
6795
  return { $loc, token: "import " };
6754
6796
  });
6755
6797
  function ImpliedImport(state) {
@@ -7015,7 +7057,7 @@ ${input.slice(result.pos)}
7015
7057
  return result;
7016
7058
  }
7017
7059
  }
7018
- var ExportDeclaration$0 = $S(Export, __, $EXPECT($L85, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
7060
+ var ExportDeclaration$0 = $S(Export, __, $EXPECT($L84, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
7019
7061
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
7020
7062
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
7021
7063
  function ExportDeclaration(state) {
@@ -7147,6 +7189,8 @@ ${input.slice(result.pos)}
7147
7189
  var LexicalDeclaration$1 = $TS($S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
7148
7190
  var c = $1;
7149
7191
  var id = $2;
7192
+ var suffix = $3;
7193
+ var ws = $4;
7150
7194
  var ca = $5;
7151
7195
  var e = $6;
7152
7196
  c = {
@@ -7176,10 +7220,14 @@ ${input.slice(result.pos)}
7176
7220
  names: id.names
7177
7221
  };
7178
7222
  }
7223
+ let [splices, thisAssignments] = module2.gatherBindingCode(id);
7224
+ splices = splices.map((s) => [", ", s]);
7225
+ thisAssignments = thisAssignments.map((a) => [";", a]);
7226
+ const children = [c, id, suffix, ...ws, ca, e, ...splices, ...thisAssignments];
7179
7227
  return {
7180
7228
  type: "Declaration",
7181
7229
  names: id.names,
7182
- children: $0
7230
+ children
7183
7231
  };
7184
7232
  });
7185
7233
  function LexicalDeclaration(state) {
@@ -7200,7 +7248,7 @@ ${input.slice(result.pos)}
7200
7248
  return result;
7201
7249
  }
7202
7250
  }
7203
- var ConstAssignment$0 = $TV($EXPECT($L86, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
7251
+ var ConstAssignment$0 = $TV($EXPECT($L85, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
7204
7252
  return { $loc, token: "=" };
7205
7253
  });
7206
7254
  function ConstAssignment(state) {
@@ -8204,7 +8252,7 @@ ${input.slice(result.pos)}
8204
8252
  return result;
8205
8253
  }
8206
8254
  }
8207
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L87, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L88, fail, 'JSMultiLineComment "*/"')), $EXPECT($R35, fail, "JSMultiLineComment /./"))), $EXPECT($L88, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8255
+ 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) {
8208
8256
  return { $loc, token: $1 };
8209
8257
  });
8210
8258
  function JSMultiLineComment(state) {
@@ -8225,7 +8273,7 @@ ${input.slice(result.pos)}
8225
8273
  return result;
8226
8274
  }
8227
8275
  }
8228
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R36, fail, "CoffeeSingleLineComment /#(?!##)([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8276
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R36, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8229
8277
  return { $loc, token: `//${$1}` };
8230
8278
  });
8231
8279
  function CoffeeSingleLineComment(state) {
@@ -8246,7 +8294,7 @@ ${input.slice(result.pos)}
8246
8294
  return result;
8247
8295
  }
8248
8296
  }
8249
- var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L89, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L89, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L88, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L89, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
8297
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8250
8298
  return { $loc, token: `/*${$2}*/` };
8251
8299
  });
8252
8300
  function CoffeeMultiLineComment(state) {
@@ -8267,7 +8315,26 @@ ${input.slice(result.pos)}
8267
8315
  return result;
8268
8316
  }
8269
8317
  }
8270
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L87, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L88, fail, 'InlineComment "*/"')), $EXPECT($R37, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L88, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8318
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R37, fail, "CoffeeHereCommentStart /###(?!#)/"));
8319
+ function CoffeeHereCommentStart(state) {
8320
+ if (state.events) {
8321
+ const result = state.events.enter?.("CoffeeHereCommentStart", state);
8322
+ if (result)
8323
+ return result.cache;
8324
+ }
8325
+ if (state.tokenize) {
8326
+ const result = $TOKEN("CoffeeHereCommentStart", state, CoffeeHereCommentStart$0(state));
8327
+ if (state.events)
8328
+ state.events.exit?.("CoffeeHereCommentStart", state, result);
8329
+ return result;
8330
+ } else {
8331
+ const result = CoffeeHereCommentStart$0(state);
8332
+ if (state.events)
8333
+ state.events.exit?.("CoffeeHereCommentStart", state, result);
8334
+ return result;
8335
+ }
8336
+ }
8337
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R38, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8271
8338
  return { $loc, token: $1 };
8272
8339
  });
8273
8340
  function InlineComment(state) {
@@ -8347,10 +8414,10 @@ ${input.slice(result.pos)}
8347
8414
  return result;
8348
8415
  }
8349
8416
  }
8350
- var NonNewlineWhitespace$0 = $TR($EXPECT($R38, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8417
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R39, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8351
8418
  return { $loc, token: $0 };
8352
8419
  });
8353
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L90, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8420
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L88, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8354
8421
  return "";
8355
8422
  });
8356
8423
  function NonNewlineWhitespace(state) {
@@ -8456,7 +8523,7 @@ ${input.slice(result.pos)}
8456
8523
  return result;
8457
8524
  }
8458
8525
  }
8459
- var NonIdContinue$0 = $R$0($EXPECT($R39, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8526
+ var NonIdContinue$0 = $R$0($EXPECT($R40, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8460
8527
  function NonIdContinue(state) {
8461
8528
  if (state.events) {
8462
8529
  const result = state.events.enter?.("NonIdContinue", state);
@@ -8475,7 +8542,7 @@ ${input.slice(result.pos)}
8475
8542
  return result;
8476
8543
  }
8477
8544
  }
8478
- var Loc$0 = $TV($EXPECT($L14, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
8545
+ var Loc$0 = $TV($EXPECT($L13, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
8479
8546
  return { $loc, token: "" };
8480
8547
  });
8481
8548
  function Loc(state) {
@@ -8496,7 +8563,7 @@ ${input.slice(result.pos)}
8496
8563
  return result;
8497
8564
  }
8498
8565
  }
8499
- var Ampersand$0 = $TV($EXPECT($L75, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
8566
+ var Ampersand$0 = $TV($EXPECT($L74, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
8500
8567
  return { $loc, token: $1 };
8501
8568
  });
8502
8569
  function Ampersand(state) {
@@ -8517,7 +8584,7 @@ ${input.slice(result.pos)}
8517
8584
  return result;
8518
8585
  }
8519
8586
  }
8520
- var As$0 = $TS($S($EXPECT($L91, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8587
+ var As$0 = $TS($S($EXPECT($L89, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8521
8588
  return { $loc, token: $1 };
8522
8589
  });
8523
8590
  function As(state) {
@@ -8538,7 +8605,7 @@ ${input.slice(result.pos)}
8538
8605
  return result;
8539
8606
  }
8540
8607
  }
8541
- var At$0 = $TV($EXPECT($L92, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8608
+ var At$0 = $TV($EXPECT($L90, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8542
8609
  return { $loc, token: $1 };
8543
8610
  });
8544
8611
  function At(state) {
@@ -8559,7 +8626,7 @@ ${input.slice(result.pos)}
8559
8626
  return result;
8560
8627
  }
8561
8628
  }
8562
- var Async$0 = $TV($EXPECT($L93, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8629
+ var Async$0 = $TV($EXPECT($L91, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8563
8630
  return { $loc, token: $1 };
8564
8631
  });
8565
8632
  function Async(state) {
@@ -8580,7 +8647,7 @@ ${input.slice(result.pos)}
8580
8647
  return result;
8581
8648
  }
8582
8649
  }
8583
- var Await$0 = $TS($S($EXPECT($L94, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8650
+ var Await$0 = $TS($S($EXPECT($L92, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8584
8651
  return { $loc, token: $1 };
8585
8652
  });
8586
8653
  function Await(state) {
@@ -8601,7 +8668,7 @@ ${input.slice(result.pos)}
8601
8668
  return result;
8602
8669
  }
8603
8670
  }
8604
- var Backtick$0 = $TV($EXPECT($L95, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8671
+ var Backtick$0 = $TV($EXPECT($L93, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8605
8672
  return { $loc, token: $1 };
8606
8673
  });
8607
8674
  function Backtick(state) {
@@ -8622,7 +8689,7 @@ ${input.slice(result.pos)}
8622
8689
  return result;
8623
8690
  }
8624
8691
  }
8625
- var By$0 = $TS($S($EXPECT($L96, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8692
+ var By$0 = $TS($S($EXPECT($L94, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8626
8693
  return { $loc, token: $1 };
8627
8694
  });
8628
8695
  function By(state) {
@@ -8643,7 +8710,7 @@ ${input.slice(result.pos)}
8643
8710
  return result;
8644
8711
  }
8645
8712
  }
8646
- var Case$0 = $TS($S($EXPECT($L97, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8713
+ var Case$0 = $TS($S($EXPECT($L95, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8647
8714
  return { $loc, token: $1 };
8648
8715
  });
8649
8716
  function Case(state) {
@@ -8664,7 +8731,7 @@ ${input.slice(result.pos)}
8664
8731
  return result;
8665
8732
  }
8666
8733
  }
8667
- var Catch$0 = $TV($EXPECT($L98, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8734
+ var Catch$0 = $TV($EXPECT($L96, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8668
8735
  return { $loc, token: $1 };
8669
8736
  });
8670
8737
  function Catch(state) {
@@ -8685,7 +8752,7 @@ ${input.slice(result.pos)}
8685
8752
  return result;
8686
8753
  }
8687
8754
  }
8688
- var Class$0 = $TV($EXPECT($L99, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8755
+ var Class$0 = $TV($EXPECT($L97, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8689
8756
  return { $loc, token: $1 };
8690
8757
  });
8691
8758
  function Class(state) {
@@ -8706,7 +8773,7 @@ ${input.slice(result.pos)}
8706
8773
  return result;
8707
8774
  }
8708
8775
  }
8709
- var CloseBrace$0 = $TV($EXPECT($L27, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
8776
+ var CloseBrace$0 = $TV($EXPECT($L28, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
8710
8777
  return { $loc, token: $1 };
8711
8778
  });
8712
8779
  function CloseBrace(state) {
@@ -8727,7 +8794,7 @@ ${input.slice(result.pos)}
8727
8794
  return result;
8728
8795
  }
8729
8796
  }
8730
- var CloseBracket$0 = $TV($EXPECT($L25, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
8797
+ var CloseBracket$0 = $TV($EXPECT($L26, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
8731
8798
  return { $loc, token: $1 };
8732
8799
  });
8733
8800
  function CloseBracket(state) {
@@ -8748,7 +8815,7 @@ ${input.slice(result.pos)}
8748
8815
  return result;
8749
8816
  }
8750
8817
  }
8751
- var CloseParen$0 = $TV($EXPECT($L15, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
8818
+ var CloseParen$0 = $TV($EXPECT($L14, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
8752
8819
  return { $loc, token: $1 };
8753
8820
  });
8754
8821
  function CloseParen(state) {
@@ -8769,7 +8836,7 @@ ${input.slice(result.pos)}
8769
8836
  return result;
8770
8837
  }
8771
8838
  }
8772
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L100, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8839
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L98, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8773
8840
  return { $loc, token: "${" };
8774
8841
  });
8775
8842
  function CoffeeSubstitutionStart(state) {
@@ -8790,7 +8857,7 @@ ${input.slice(result.pos)}
8790
8857
  return result;
8791
8858
  }
8792
8859
  }
8793
- var Colon$0 = $TV($EXPECT($L26, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8860
+ var Colon$0 = $TV($EXPECT($L27, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8794
8861
  return { $loc, token: $1 };
8795
8862
  });
8796
8863
  function Colon(state) {
@@ -8811,7 +8878,7 @@ ${input.slice(result.pos)}
8811
8878
  return result;
8812
8879
  }
8813
8880
  }
8814
- var ConstructorShorthand$0 = $TV($EXPECT($L92, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8881
+ var ConstructorShorthand$0 = $TV($EXPECT($L90, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8815
8882
  return { $loc, token: "constructor" };
8816
8883
  });
8817
8884
  function ConstructorShorthand(state) {
@@ -8832,7 +8899,7 @@ ${input.slice(result.pos)}
8832
8899
  return result;
8833
8900
  }
8834
8901
  }
8835
- var Default$0 = $TS($S($EXPECT($L85, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8902
+ var Default$0 = $TS($S($EXPECT($L84, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8836
8903
  return { $loc, token: $1 };
8837
8904
  });
8838
8905
  function Default(state) {
@@ -8853,7 +8920,7 @@ ${input.slice(result.pos)}
8853
8920
  return result;
8854
8921
  }
8855
8922
  }
8856
- var Delete$0 = $TS($S($EXPECT($L101, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8923
+ var Delete$0 = $TS($S($EXPECT($L99, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8857
8924
  return { $loc, token: $1 };
8858
8925
  });
8859
8926
  function Delete(state) {
@@ -8874,7 +8941,7 @@ ${input.slice(result.pos)}
8874
8941
  return result;
8875
8942
  }
8876
8943
  }
8877
- var Do$0 = $TS($S($EXPECT($L102, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8944
+ var Do$0 = $TS($S($EXPECT($L100, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8878
8945
  return { $loc, token: $1 };
8879
8946
  });
8880
8947
  function Do(state) {
@@ -8895,7 +8962,7 @@ ${input.slice(result.pos)}
8895
8962
  return result;
8896
8963
  }
8897
8964
  }
8898
- var Dot$0 = $TV($EXPECT($L8, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
8965
+ var Dot$0 = $TV($EXPECT($L7, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
8899
8966
  return { $loc, token: $1 };
8900
8967
  });
8901
8968
  function Dot(state) {
@@ -8916,7 +8983,7 @@ ${input.slice(result.pos)}
8916
8983
  return result;
8917
8984
  }
8918
8985
  }
8919
- var DotDot$0 = $TV($EXPECT($L103, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8986
+ var DotDot$0 = $TV($EXPECT($L101, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8920
8987
  return { $loc, token: $1 };
8921
8988
  });
8922
8989
  function DotDot(state) {
@@ -8937,7 +9004,7 @@ ${input.slice(result.pos)}
8937
9004
  return result;
8938
9005
  }
8939
9006
  }
8940
- var DotDotDot$0 = $TV($EXPECT($L104, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
9007
+ var DotDotDot$0 = $TV($EXPECT($L102, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
8941
9008
  return { $loc, token: $1 };
8942
9009
  });
8943
9010
  function DotDotDot(state) {
@@ -8958,7 +9025,7 @@ ${input.slice(result.pos)}
8958
9025
  return result;
8959
9026
  }
8960
9027
  }
8961
- var DoubleColon$0 = $TV($EXPECT($L105, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
9028
+ var DoubleColon$0 = $TV($EXPECT($L103, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
8962
9029
  return { $loc, token: $1 };
8963
9030
  });
8964
9031
  function DoubleColon(state) {
@@ -8979,7 +9046,7 @@ ${input.slice(result.pos)}
8979
9046
  return result;
8980
9047
  }
8981
9048
  }
8982
- var DoubleQuote$0 = $TV($EXPECT($L106, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
9049
+ var DoubleQuote$0 = $TV($EXPECT($L104, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
8983
9050
  return { $loc, token: $1 };
8984
9051
  });
8985
9052
  function DoubleQuote(state) {
@@ -9000,7 +9067,7 @@ ${input.slice(result.pos)}
9000
9067
  return result;
9001
9068
  }
9002
9069
  }
9003
- var Else$0 = $TV($EXPECT($L107, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
9070
+ var Else$0 = $TV($EXPECT($L105, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
9004
9071
  return { $loc, token: $1 };
9005
9072
  });
9006
9073
  function Else(state) {
@@ -9021,7 +9088,7 @@ ${input.slice(result.pos)}
9021
9088
  return result;
9022
9089
  }
9023
9090
  }
9024
- var Equals$0 = $TV($EXPECT($L44, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
9091
+ var Equals$0 = $TV($EXPECT($L24, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
9025
9092
  return { $loc, token: $1 };
9026
9093
  });
9027
9094
  function Equals(state) {
@@ -9042,7 +9109,7 @@ ${input.slice(result.pos)}
9042
9109
  return result;
9043
9110
  }
9044
9111
  }
9045
- var Export$0 = $TS($S($EXPECT($L108, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9112
+ var Export$0 = $TS($S($EXPECT($L106, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9046
9113
  return { $loc, token: $1 };
9047
9114
  });
9048
9115
  function Export(state) {
@@ -9063,7 +9130,7 @@ ${input.slice(result.pos)}
9063
9130
  return result;
9064
9131
  }
9065
9132
  }
9066
- var For$0 = $TS($S($EXPECT($L109, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9133
+ var For$0 = $TS($S($EXPECT($L107, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9067
9134
  return { $loc, token: $1 };
9068
9135
  });
9069
9136
  function For(state) {
@@ -9084,7 +9151,7 @@ ${input.slice(result.pos)}
9084
9151
  return result;
9085
9152
  }
9086
9153
  }
9087
- var From$0 = $TS($S($EXPECT($L110, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9154
+ var From$0 = $TS($S($EXPECT($L108, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9088
9155
  return { $loc, token: $1 };
9089
9156
  });
9090
9157
  function From(state) {
@@ -9105,7 +9172,7 @@ ${input.slice(result.pos)}
9105
9172
  return result;
9106
9173
  }
9107
9174
  }
9108
- var Function$0 = $TV($EXPECT($L111, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
9175
+ var Function$0 = $TV($EXPECT($L109, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
9109
9176
  return { $loc, token: $1 };
9110
9177
  });
9111
9178
  function Function(state) {
@@ -9126,7 +9193,7 @@ ${input.slice(result.pos)}
9126
9193
  return result;
9127
9194
  }
9128
9195
  }
9129
- var GetOrSet$0 = $TS($S($C($EXPECT($L112, fail, 'GetOrSet "get"'), $EXPECT($L113, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9196
+ var GetOrSet$0 = $TS($S($C($EXPECT($L110, fail, 'GetOrSet "get"'), $EXPECT($L111, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9130
9197
  return { $loc, token: $1 };
9131
9198
  });
9132
9199
  function GetOrSet(state) {
@@ -9147,7 +9214,7 @@ ${input.slice(result.pos)}
9147
9214
  return result;
9148
9215
  }
9149
9216
  }
9150
- var If$0 = $TV($TEXT($S($EXPECT($L114, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9217
+ var If$0 = $TV($TEXT($S($EXPECT($L112, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
9151
9218
  return { $loc, token: $1 };
9152
9219
  });
9153
9220
  function If(state) {
@@ -9168,7 +9235,7 @@ ${input.slice(result.pos)}
9168
9235
  return result;
9169
9236
  }
9170
9237
  }
9171
- var Import$0 = $TS($S($EXPECT($L10, fail, 'Import "import"'), $Y($EXPECT($R40, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9238
+ var Import$0 = $TS($S($EXPECT($L9, fail, 'Import "import"'), $Y($EXPECT($R41, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9172
9239
  return { $loc, token: $1 };
9173
9240
  });
9174
9241
  function Import(state) {
@@ -9210,7 +9277,7 @@ ${input.slice(result.pos)}
9210
9277
  return result;
9211
9278
  }
9212
9279
  }
9213
- var LetOrConst$0 = $TV($C($EXPECT($L115, fail, 'LetOrConst "let"'), $EXPECT($L116, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
9280
+ var LetOrConst$0 = $TV($C($EXPECT($L113, fail, 'LetOrConst "let"'), $EXPECT($L114, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
9214
9281
  return { $loc, token: $1 };
9215
9282
  });
9216
9283
  function LetOrConst(state) {
@@ -9231,7 +9298,7 @@ ${input.slice(result.pos)}
9231
9298
  return result;
9232
9299
  }
9233
9300
  }
9234
- var Loop$0 = $TS($S($EXPECT($L117, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9301
+ var Loop$0 = $TS($S($EXPECT($L115, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9235
9302
  return { $loc, token: "while(true)" };
9236
9303
  });
9237
9304
  function Loop(state) {
@@ -9252,7 +9319,7 @@ ${input.slice(result.pos)}
9252
9319
  return result;
9253
9320
  }
9254
9321
  }
9255
- var New$0 = $TV($EXPECT($L118, fail, 'New "new"'), function($skip, $loc, $0, $1) {
9322
+ var New$0 = $TV($EXPECT($L116, fail, 'New "new"'), function($skip, $loc, $0, $1) {
9256
9323
  return { $loc, token: $1 };
9257
9324
  });
9258
9325
  function New(state) {
@@ -9273,7 +9340,7 @@ ${input.slice(result.pos)}
9273
9340
  return result;
9274
9341
  }
9275
9342
  }
9276
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L74, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9343
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L72, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9277
9344
  return { $loc, token: "!" };
9278
9345
  });
9279
9346
  function Not(state) {
@@ -9294,7 +9361,7 @@ ${input.slice(result.pos)}
9294
9361
  return result;
9295
9362
  }
9296
9363
  }
9297
- var Of$0 = $TV($EXPECT($L67, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
9364
+ var Of$0 = $TV($EXPECT($L66, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
9298
9365
  return { $loc, token: $1 };
9299
9366
  });
9300
9367
  function Of(state) {
@@ -9315,7 +9382,7 @@ ${input.slice(result.pos)}
9315
9382
  return result;
9316
9383
  }
9317
9384
  }
9318
- var OpenBrace$0 = $TV($EXPECT($L119, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9385
+ var OpenBrace$0 = $TV($EXPECT($L117, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9319
9386
  return { $loc, token: $1 };
9320
9387
  });
9321
9388
  function OpenBrace(state) {
@@ -9336,7 +9403,7 @@ ${input.slice(result.pos)}
9336
9403
  return result;
9337
9404
  }
9338
9405
  }
9339
- var OpenBracket$0 = $TV($EXPECT($L120, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9406
+ var OpenBracket$0 = $TV($EXPECT($L118, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9340
9407
  return { $loc, token: $1 };
9341
9408
  });
9342
9409
  function OpenBracket(state) {
@@ -9357,7 +9424,7 @@ ${input.slice(result.pos)}
9357
9424
  return result;
9358
9425
  }
9359
9426
  }
9360
- var OpenParen$0 = $TV($EXPECT($L121, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9427
+ var OpenParen$0 = $TV($EXPECT($L119, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9361
9428
  return { $loc, token: $1 };
9362
9429
  });
9363
9430
  function OpenParen(state) {
@@ -9378,7 +9445,7 @@ ${input.slice(result.pos)}
9378
9445
  return result;
9379
9446
  }
9380
9447
  }
9381
- var QuestionMark$0 = $TV($EXPECT($L71, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
9448
+ var QuestionMark$0 = $TV($EXPECT($L70, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
9382
9449
  return { $loc, token: $1 };
9383
9450
  });
9384
9451
  function QuestionMark(state) {
@@ -9399,7 +9466,7 @@ ${input.slice(result.pos)}
9399
9466
  return result;
9400
9467
  }
9401
9468
  }
9402
- var Return$0 = $TS($S($EXPECT($L122, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9469
+ var Return$0 = $TS($S($EXPECT($L120, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9403
9470
  return { $loc, token: $1 };
9404
9471
  });
9405
9472
  function Return(state) {
@@ -9420,7 +9487,7 @@ ${input.slice(result.pos)}
9420
9487
  return result;
9421
9488
  }
9422
9489
  }
9423
- var Semicolon$0 = $TV($EXPECT($L78, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
9490
+ var Semicolon$0 = $TV($EXPECT($L77, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
9424
9491
  return { $loc, token: $1 };
9425
9492
  });
9426
9493
  function Semicolon(state) {
@@ -9441,7 +9508,7 @@ ${input.slice(result.pos)}
9441
9508
  return result;
9442
9509
  }
9443
9510
  }
9444
- var SingleQuote$0 = $TV($EXPECT($L123, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
9511
+ var SingleQuote$0 = $TV($EXPECT($L121, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
9445
9512
  return { $loc, token: $1 };
9446
9513
  });
9447
9514
  function SingleQuote(state) {
@@ -9483,10 +9550,10 @@ ${input.slice(result.pos)}
9483
9550
  return result;
9484
9551
  }
9485
9552
  }
9486
- var Static$0 = $TV($EXPECT($L124, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
9553
+ var Static$0 = $TV($EXPECT($L122, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
9487
9554
  return { $loc, token: $1 };
9488
9555
  });
9489
- var Static$1 = $TS($S($EXPECT($L92, fail, 'Static "@"'), $N($EXPECT($L121, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
9556
+ var Static$1 = $TS($S($EXPECT($L90, fail, 'Static "@"'), $N($EXPECT($L119, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
9490
9557
  return { $loc, token: "static " };
9491
9558
  });
9492
9559
  function Static(state) {
@@ -9507,7 +9574,7 @@ ${input.slice(result.pos)}
9507
9574
  return result;
9508
9575
  }
9509
9576
  }
9510
- var SubstitutionStart$0 = $TV($EXPECT($L125, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
9577
+ var SubstitutionStart$0 = $TV($EXPECT($L123, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
9511
9578
  return { $loc, token: $1 };
9512
9579
  });
9513
9580
  function SubstitutionStart(state) {
@@ -9528,7 +9595,7 @@ ${input.slice(result.pos)}
9528
9595
  return result;
9529
9596
  }
9530
9597
  }
9531
- var Switch$0 = $TS($S($EXPECT($L126, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9598
+ var Switch$0 = $TS($S($EXPECT($L124, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9532
9599
  return { $loc, token: $1 };
9533
9600
  });
9534
9601
  function Switch(state) {
@@ -9549,7 +9616,7 @@ ${input.slice(result.pos)}
9549
9616
  return result;
9550
9617
  }
9551
9618
  }
9552
- var Target$0 = $TV($EXPECT($L127, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9619
+ var Target$0 = $TV($EXPECT($L125, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9553
9620
  return { $loc, token: $1 };
9554
9621
  });
9555
9622
  function Target(state) {
@@ -9570,7 +9637,7 @@ ${input.slice(result.pos)}
9570
9637
  return result;
9571
9638
  }
9572
9639
  }
9573
- var Then$0 = $TS($S(__, $EXPECT($L128, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9640
+ var Then$0 = $TS($S(__, $EXPECT($L126, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9574
9641
  return { $loc, token: "" };
9575
9642
  });
9576
9643
  function Then(state) {
@@ -9591,7 +9658,28 @@ ${input.slice(result.pos)}
9591
9658
  return result;
9592
9659
  }
9593
9660
  }
9594
- var Throw$0 = $TS($S($EXPECT($L129, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9661
+ var This$0 = $TS($S($EXPECT($L127, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9662
+ return { $loc, token: $1 };
9663
+ });
9664
+ function This(state) {
9665
+ if (state.events) {
9666
+ const result = state.events.enter?.("This", state);
9667
+ if (result)
9668
+ return result.cache;
9669
+ }
9670
+ if (state.tokenize) {
9671
+ const result = $TOKEN("This", state, This$0(state));
9672
+ if (state.events)
9673
+ state.events.exit?.("This", state, result);
9674
+ return result;
9675
+ } else {
9676
+ const result = This$0(state);
9677
+ if (state.events)
9678
+ state.events.exit?.("This", state, result);
9679
+ return result;
9680
+ }
9681
+ }
9682
+ var Throw$0 = $TS($S($EXPECT($L128, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9595
9683
  return { $loc, token: $1 };
9596
9684
  });
9597
9685
  function Throw(state) {
@@ -9612,7 +9700,7 @@ ${input.slice(result.pos)}
9612
9700
  return result;
9613
9701
  }
9614
9702
  }
9615
- var TripleDoubleQuote$0 = $TV($EXPECT($L130, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9703
+ var TripleDoubleQuote$0 = $TV($EXPECT($L129, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9616
9704
  return { $loc, token: "`" };
9617
9705
  });
9618
9706
  function TripleDoubleQuote(state) {
@@ -9633,7 +9721,7 @@ ${input.slice(result.pos)}
9633
9721
  return result;
9634
9722
  }
9635
9723
  }
9636
- var TripleSingleQuote$0 = $TV($EXPECT($L131, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9724
+ var TripleSingleQuote$0 = $TV($EXPECT($L130, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9637
9725
  return { $loc, token: "`" };
9638
9726
  });
9639
9727
  function TripleSingleQuote(state) {
@@ -9654,7 +9742,7 @@ ${input.slice(result.pos)}
9654
9742
  return result;
9655
9743
  }
9656
9744
  }
9657
- var TripleSlash$0 = $TV($EXPECT($L132, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
9745
+ var TripleSlash$0 = $TV($EXPECT($L131, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
9658
9746
  return { $loc, token: "/" };
9659
9747
  });
9660
9748
  function TripleSlash(state) {
@@ -9675,7 +9763,7 @@ ${input.slice(result.pos)}
9675
9763
  return result;
9676
9764
  }
9677
9765
  }
9678
- var TripleTick$0 = $TV($EXPECT($L133, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9766
+ var TripleTick$0 = $TV($EXPECT($L132, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9679
9767
  return { $loc, token: "`" };
9680
9768
  });
9681
9769
  function TripleTick(state) {
@@ -9696,7 +9784,7 @@ ${input.slice(result.pos)}
9696
9784
  return result;
9697
9785
  }
9698
9786
  }
9699
- var Try$0 = $TV($EXPECT($L134, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9787
+ var Try$0 = $TV($EXPECT($L133, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9700
9788
  return { $loc, token: $1 };
9701
9789
  });
9702
9790
  function Try(state) {
@@ -9717,7 +9805,7 @@ ${input.slice(result.pos)}
9717
9805
  return result;
9718
9806
  }
9719
9807
  }
9720
- var Typeof$0 = $TS($S($EXPECT($L135, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9808
+ var Typeof$0 = $TS($S($EXPECT($L134, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9721
9809
  return { $loc, token: $1 };
9722
9810
  });
9723
9811
  function Typeof(state) {
@@ -9738,7 +9826,7 @@ ${input.slice(result.pos)}
9738
9826
  return result;
9739
9827
  }
9740
9828
  }
9741
- var Unless$0 = $TV($EXPECT($L136, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9829
+ var Unless$0 = $TV($EXPECT($L135, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9742
9830
  return { $loc, token: $1 };
9743
9831
  });
9744
9832
  function Unless(state) {
@@ -9759,7 +9847,7 @@ ${input.slice(result.pos)}
9759
9847
  return result;
9760
9848
  }
9761
9849
  }
9762
- var Until$0 = $TS($S($EXPECT($L137, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9850
+ var Until$0 = $TS($S($EXPECT($L136, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9763
9851
  return { $loc, token: $1 };
9764
9852
  });
9765
9853
  function Until(state) {
@@ -9780,7 +9868,7 @@ ${input.slice(result.pos)}
9780
9868
  return result;
9781
9869
  }
9782
9870
  }
9783
- var Var$0 = $TV($EXPECT($L138, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9871
+ var Var$0 = $TV($EXPECT($L137, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9784
9872
  return { $loc, token: $1 };
9785
9873
  });
9786
9874
  function Var(state) {
@@ -9801,7 +9889,7 @@ ${input.slice(result.pos)}
9801
9889
  return result;
9802
9890
  }
9803
9891
  }
9804
- var Void$0 = $TS($S($EXPECT($L139, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9892
+ var Void$0 = $TS($S($EXPECT($L138, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9805
9893
  return { $loc, token: $1 };
9806
9894
  });
9807
9895
  function Void(state) {
@@ -9822,7 +9910,7 @@ ${input.slice(result.pos)}
9822
9910
  return result;
9823
9911
  }
9824
9912
  }
9825
- var When$0 = $TS($S($EXPECT($L140, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9913
+ var When$0 = $TS($S($EXPECT($L139, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9826
9914
  return { $loc, token: "case" };
9827
9915
  });
9828
9916
  function When(state) {
@@ -9843,7 +9931,7 @@ ${input.slice(result.pos)}
9843
9931
  return result;
9844
9932
  }
9845
9933
  }
9846
- var While$0 = $TS($S($EXPECT($L141, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9934
+ var While$0 = $TS($S($EXPECT($L140, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9847
9935
  return { $loc, token: $1 };
9848
9936
  });
9849
9937
  function While(state) {
@@ -9864,7 +9952,7 @@ ${input.slice(result.pos)}
9864
9952
  return result;
9865
9953
  }
9866
9954
  }
9867
- var Yield$0 = $TS($S($EXPECT($L142, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9955
+ var Yield$0 = $TS($S($EXPECT($L141, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9868
9956
  return { $loc, token: $1 };
9869
9957
  });
9870
9958
  function Yield(state) {
@@ -9910,7 +9998,7 @@ ${input.slice(result.pos)}
9910
9998
  return result;
9911
9999
  }
9912
10000
  }
9913
- var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L143, fail, 'JSXSelfClosingElement "/>"'));
10001
+ var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L142, fail, 'JSXSelfClosingElement "/>"'));
9914
10002
  function JSXSelfClosingElement(state) {
9915
10003
  if (state.events) {
9916
10004
  const result = state.events.enter?.("JSXSelfClosingElement", state);
@@ -9929,7 +10017,7 @@ ${input.slice(result.pos)}
9929
10017
  return result;
9930
10018
  }
9931
10019
  }
9932
- var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L58, fail, 'JSXOpeningElement ">"'));
10020
+ var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L25, fail, 'JSXOpeningElement ">"'));
9933
10021
  function JSXOpeningElement(state) {
9934
10022
  if (state.events) {
9935
10023
  const result = state.events.enter?.("JSXOpeningElement", state);
@@ -9948,7 +10036,7 @@ ${input.slice(result.pos)}
9948
10036
  return result;
9949
10037
  }
9950
10038
  }
9951
- var JSXClosingElement$0 = $S($EXPECT($L144, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L58, fail, 'JSXClosingElement ">"'));
10039
+ var JSXClosingElement$0 = $S($EXPECT($L143, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L25, fail, 'JSXClosingElement ">"'));
9952
10040
  function JSXClosingElement(state) {
9953
10041
  if (state.events) {
9954
10042
  const result = state.events.enter?.("JSXClosingElement", state);
@@ -9967,7 +10055,7 @@ ${input.slice(result.pos)}
9967
10055
  return result;
9968
10056
  }
9969
10057
  }
9970
- var JSXFragment$0 = $S($EXPECT($L145, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L146, fail, 'JSXFragment "</>"'));
10058
+ var JSXFragment$0 = $S($EXPECT($L144, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L145, fail, 'JSXFragment "</>"'));
9971
10059
  function JSXFragment(state) {
9972
10060
  if (state.events) {
9973
10061
  const result = state.events.enter?.("JSXFragment", state);
@@ -10005,7 +10093,7 @@ ${input.slice(result.pos)}
10005
10093
  return result;
10006
10094
  }
10007
10095
  }
10008
- var JSXIdentifierName$0 = $R$0($EXPECT($R41, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10096
+ var JSXIdentifierName$0 = $R$0($EXPECT($R42, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10009
10097
  function JSXIdentifierName(state) {
10010
10098
  if (state.events) {
10011
10099
  const result = state.events.enter?.("JSXIdentifierName", state);
@@ -10101,8 +10189,8 @@ ${input.slice(result.pos)}
10101
10189
  return result;
10102
10190
  }
10103
10191
  }
10104
- var JSXAttributeValue$0 = $R$0($EXPECT($R42, fail, 'JSXAttributeValue /"[^"]*"/'));
10105
- var JSXAttributeValue$1 = $R$0($EXPECT($R43, fail, "JSXAttributeValue /'[^']*'/"));
10192
+ var JSXAttributeValue$0 = $R$0($EXPECT($R43, fail, 'JSXAttributeValue /"[^"]*"/'));
10193
+ var JSXAttributeValue$1 = $R$0($EXPECT($R44, fail, "JSXAttributeValue /'[^']*'/"));
10106
10194
  var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
10107
10195
  var JSXAttributeValue$3 = JSXElement;
10108
10196
  var JSXAttributeValue$4 = JSXFragment;
@@ -10165,7 +10253,7 @@ ${input.slice(result.pos)}
10165
10253
  return result;
10166
10254
  }
10167
10255
  }
10168
- var JSXText$0 = $R$0($EXPECT($R44, fail, "JSXText /[^{}<>]+/"));
10256
+ var JSXText$0 = $R$0($EXPECT($R45, fail, "JSXText /[^{}<>]+/"));
10169
10257
  function JSXText(state) {
10170
10258
  if (state.events) {
10171
10259
  const result = state.events.enter?.("JSXText", state);
@@ -10224,7 +10312,7 @@ ${input.slice(result.pos)}
10224
10312
  return result;
10225
10313
  }
10226
10314
  }
10227
- var TypeDeclarationModifier$0 = $S($EXPECT($L147, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
10315
+ var TypeDeclarationModifier$0 = $S($EXPECT($L146, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
10228
10316
  var TypeDeclarationModifier$1 = Export;
10229
10317
  function TypeDeclarationModifier(state) {
10230
10318
  if (state.events) {
@@ -10266,7 +10354,7 @@ ${input.slice(result.pos)}
10266
10354
  return result;
10267
10355
  }
10268
10356
  }
10269
- var TypeKeyword$0 = $S($EXPECT($L148, fail, 'TypeKeyword "type"'), NonIdContinue);
10357
+ var TypeKeyword$0 = $S($EXPECT($L147, fail, 'TypeKeyword "type"'), NonIdContinue);
10270
10358
  function TypeKeyword(state) {
10271
10359
  if (state.events) {
10272
10360
  const result = state.events.enter?.("TypeKeyword", state);
@@ -10285,7 +10373,7 @@ ${input.slice(result.pos)}
10285
10373
  return result;
10286
10374
  }
10287
10375
  }
10288
- var Interface$0 = $S($EXPECT($L149, fail, 'Interface "interface"'), NonIdContinue);
10376
+ var Interface$0 = $S($EXPECT($L148, fail, 'Interface "interface"'), NonIdContinue);
10289
10377
  function Interface(state) {
10290
10378
  if (state.events) {
10291
10379
  const result = state.events.enter?.("Interface", state);
@@ -10304,7 +10392,7 @@ ${input.slice(result.pos)}
10304
10392
  return result;
10305
10393
  }
10306
10394
  }
10307
- var Namespace$0 = $S($EXPECT($L150, fail, 'Namespace "namespace"'), NonIdContinue);
10395
+ var Namespace$0 = $S($EXPECT($L149, fail, 'Namespace "namespace"'), NonIdContinue);
10308
10396
  function Namespace(state) {
10309
10397
  if (state.events) {
10310
10398
  const result = state.events.enter?.("Namespace", state);
@@ -10493,7 +10581,7 @@ ${input.slice(result.pos)}
10493
10581
  return result;
10494
10582
  }
10495
10583
  }
10496
- 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)));
10584
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R46, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L150, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10497
10585
  function TypeIndexSignature(state) {
10498
10586
  if (state.events) {
10499
10587
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -10553,7 +10641,7 @@ ${input.slice(result.pos)}
10553
10641
  return result;
10554
10642
  }
10555
10643
  }
10556
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L152, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10644
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L151, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10557
10645
  const children = [...$1, $2];
10558
10646
  if ($3)
10559
10647
  children.push($3);
@@ -10582,7 +10670,7 @@ ${input.slice(result.pos)}
10582
10670
  return result;
10583
10671
  }
10584
10672
  }
10585
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L62, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10673
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L61, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10586
10674
  if (!$2)
10587
10675
  return $1;
10588
10676
  return $0;
@@ -10688,9 +10776,9 @@ ${input.slice(result.pos)}
10688
10776
  return result;
10689
10777
  }
10690
10778
  }
10691
- var TypeUnaryOp$0 = $EXPECT($L153, fail, 'TypeUnaryOp "keyof"');
10692
- var TypeUnaryOp$1 = $EXPECT($L135, fail, 'TypeUnaryOp "typeof"');
10693
- var TypeUnaryOp$2 = $EXPECT($L154, fail, 'TypeUnaryOp "infer"');
10779
+ var TypeUnaryOp$0 = $EXPECT($L152, fail, 'TypeUnaryOp "keyof"');
10780
+ var TypeUnaryOp$1 = $EXPECT($L134, fail, 'TypeUnaryOp "typeof"');
10781
+ var TypeUnaryOp$2 = $EXPECT($L153, fail, 'TypeUnaryOp "infer"');
10694
10782
  function TypeUnaryOp(state) {
10695
10783
  if (state.events) {
10696
10784
  const result = state.events.enter?.("TypeUnaryOp", state);
@@ -10858,10 +10946,10 @@ ${input.slice(result.pos)}
10858
10946
  }
10859
10947
  }
10860
10948
  var TypeLiteral$0 = Literal;
10861
- var TypeLiteral$1 = $TV($EXPECT($L139, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10949
+ var TypeLiteral$1 = $TV($EXPECT($L138, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10862
10950
  return { $loc, token: "void" };
10863
10951
  });
10864
- var TypeLiteral$2 = $TV($EXPECT($L155, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10952
+ var TypeLiteral$2 = $TV($EXPECT($L154, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10865
10953
  return { $loc, token: "[]" };
10866
10954
  });
10867
10955
  function TypeLiteral(state) {
@@ -10882,10 +10970,10 @@ ${input.slice(result.pos)}
10882
10970
  return result;
10883
10971
  }
10884
10972
  }
10885
- var TypeBinaryOp$0 = $TV($EXPECT($L77, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10973
+ var TypeBinaryOp$0 = $TV($EXPECT($L76, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10886
10974
  return { $loc, token: "|" };
10887
10975
  });
10888
- var TypeBinaryOp$1 = $TV($EXPECT($L75, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10976
+ var TypeBinaryOp$1 = $TV($EXPECT($L74, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10889
10977
  return { $loc, token: "&" };
10890
10978
  });
10891
10979
  function TypeBinaryOp(state) {
@@ -10925,7 +11013,7 @@ ${input.slice(result.pos)}
10925
11013
  return result;
10926
11014
  }
10927
11015
  }
10928
- var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L58, fail, 'TypeArguments ">"'));
11016
+ var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeArguments ">"'));
10929
11017
  function TypeArguments(state) {
10930
11018
  if (state.events) {
10931
11019
  const result = state.events.enter?.("TypeArguments", state);
@@ -10944,7 +11032,7 @@ ${input.slice(result.pos)}
10944
11032
  return result;
10945
11033
  }
10946
11034
  }
10947
- var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L58, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
11035
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L25, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
10948
11036
  return { ts: true, children: $0 };
10949
11037
  });
10950
11038
  function TypeParameters(state) {
@@ -11004,8 +11092,8 @@ ${input.slice(result.pos)}
11004
11092
  }
11005
11093
  }
11006
11094
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
11007
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L58, fail, 'TypeParameterDelimiter ">"')));
11008
- var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L58, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
11095
+ var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L25, fail, 'TypeParameterDelimiter ">"')));
11096
+ var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L25, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
11009
11097
  return { $loc, token: "," };
11010
11098
  });
11011
11099
  var TypeParameterDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
@@ -11029,7 +11117,7 @@ ${input.slice(result.pos)}
11029
11117
  return result;
11030
11118
  }
11031
11119
  }
11032
- var Shebang$0 = $S($R$0($EXPECT($R47, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11120
+ var Shebang$0 = $S($R$0($EXPECT($R48, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11033
11121
  function Shebang(state) {
11034
11122
  if (state.events) {
11035
11123
  const result = state.events.enter?.("Shebang", state);
@@ -11048,11 +11136,11 @@ ${input.slice(result.pos)}
11048
11136
  return result;
11049
11137
  }
11050
11138
  }
11051
- var CivetPrologue$0 = $T($S($EXPECT($R48, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11139
+ var CivetPrologue$0 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11052
11140
  var content = value[2];
11053
11141
  return content;
11054
11142
  });
11055
- var CivetPrologue$1 = $T($S($EXPECT($R48, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11143
+ var CivetPrologue$1 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11056
11144
  var content = value[2];
11057
11145
  return content;
11058
11146
  });
@@ -11074,7 +11162,7 @@ ${input.slice(result.pos)}
11074
11162
  return result;
11075
11163
  }
11076
11164
  }
11077
- var CivetPrologueContent$0 = $TS($S($EXPECT($L156, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R49, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11165
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L155, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R50, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11078
11166
  var options = $2;
11079
11167
  return {
11080
11168
  type: "CivetPrologue",
@@ -11100,7 +11188,7 @@ ${input.slice(result.pos)}
11100
11188
  return result;
11101
11189
  }
11102
11190
  }
11103
- 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) {
11191
+ var CivetOption$0 = $TR($EXPECT($R51, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11104
11192
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
11105
11193
  if (l)
11106
11194
  return l.toUpperCase();
@@ -11127,7 +11215,7 @@ ${input.slice(result.pos)}
11127
11215
  return result;
11128
11216
  }
11129
11217
  }
11130
- var UnknownPrologue$0 = $S($R$0($EXPECT($R48, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11218
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R49, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11131
11219
  function UnknownPrologue(state) {
11132
11220
  if (state.events) {
11133
11221
  const result = state.events.enter?.("UnknownPrologue", state);
@@ -11185,7 +11273,7 @@ ${input.slice(result.pos)}
11185
11273
  return result;
11186
11274
  }
11187
11275
  }
11188
- 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) {
11276
+ var EOL$0 = $TR($EXPECT($R52, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11189
11277
  return { $loc, token: $0 };
11190
11278
  });
11191
11279
  function EOL(state) {
@@ -11206,7 +11294,7 @@ ${input.slice(result.pos)}
11206
11294
  return result;
11207
11295
  }
11208
11296
  }
11209
- var Debugger$0 = $TV($EXPECT($L14, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
11297
+ var Debugger$0 = $TV($EXPECT($L13, fail, 'Debugger ""'), function($skip, $loc, $0, $1) {
11210
11298
  debugger;
11211
11299
  });
11212
11300
  function Debugger(state) {
@@ -11227,7 +11315,7 @@ ${input.slice(result.pos)}
11227
11315
  return result;
11228
11316
  }
11229
11317
  }
11230
- var InsertOpenParen$0 = $TV($EXPECT($L14, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
11318
+ var InsertOpenParen$0 = $TV($EXPECT($L13, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
11231
11319
  return { $loc, token: "(" };
11232
11320
  });
11233
11321
  function InsertOpenParen(state) {
@@ -11248,7 +11336,7 @@ ${input.slice(result.pos)}
11248
11336
  return result;
11249
11337
  }
11250
11338
  }
11251
- var InsertCloseParen$0 = $TV($EXPECT($L14, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
11339
+ var InsertCloseParen$0 = $TV($EXPECT($L13, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
11252
11340
  return { $loc, token: ")" };
11253
11341
  });
11254
11342
  function InsertCloseParen(state) {
@@ -11269,7 +11357,7 @@ ${input.slice(result.pos)}
11269
11357
  return result;
11270
11358
  }
11271
11359
  }
11272
- var InsertOpenBrace$0 = $TV($EXPECT($L14, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
11360
+ var InsertOpenBrace$0 = $TV($EXPECT($L13, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
11273
11361
  return [{ $loc, token: " " }, { $loc, token: "{" }];
11274
11362
  });
11275
11363
  function InsertOpenBrace(state) {
@@ -11290,7 +11378,7 @@ ${input.slice(result.pos)}
11290
11378
  return result;
11291
11379
  }
11292
11380
  }
11293
- var InsertCloseBrace$0 = $TV($EXPECT($L14, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
11381
+ var InsertCloseBrace$0 = $TV($EXPECT($L13, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
11294
11382
  return { $loc, token: "}" };
11295
11383
  });
11296
11384
  function InsertCloseBrace(state) {
@@ -11311,7 +11399,7 @@ ${input.slice(result.pos)}
11311
11399
  return result;
11312
11400
  }
11313
11401
  }
11314
- var InsertConst$0 = $TV($EXPECT($L14, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
11402
+ var InsertConst$0 = $TV($EXPECT($L13, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
11315
11403
  return { $loc, token: "const " };
11316
11404
  });
11317
11405
  function InsertConst(state) {
@@ -11332,7 +11420,7 @@ ${input.slice(result.pos)}
11332
11420
  return result;
11333
11421
  }
11334
11422
  }
11335
- var InsertReadonly$0 = $TV($EXPECT($L14, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
11423
+ var InsertReadonly$0 = $TV($EXPECT($L13, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
11336
11424
  return { ts: true, children: [{ $loc, token: "readonly " }] };
11337
11425
  });
11338
11426
  function InsertReadonly(state) {
@@ -11353,7 +11441,7 @@ ${input.slice(result.pos)}
11353
11441
  return result;
11354
11442
  }
11355
11443
  }
11356
- var InsertNewline$0 = $TV($EXPECT($L14, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
11444
+ var InsertNewline$0 = $TV($EXPECT($L13, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
11357
11445
  return "\n";
11358
11446
  });
11359
11447
  function InsertNewline(state) {
@@ -11374,7 +11462,7 @@ ${input.slice(result.pos)}
11374
11462
  return result;
11375
11463
  }
11376
11464
  }
11377
- var InsertIndent$0 = $TV($EXPECT($L14, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
11465
+ var InsertIndent$0 = $TV($EXPECT($L13, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
11378
11466
  return module2.currentIndent.token;
11379
11467
  });
11380
11468
  function InsertIndent(state) {
@@ -11395,7 +11483,7 @@ ${input.slice(result.pos)}
11395
11483
  return result;
11396
11484
  }
11397
11485
  }
11398
- var InsertSpace$0 = $TV($EXPECT($L14, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
11486
+ var InsertSpace$0 = $TV($EXPECT($L13, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
11399
11487
  return { $loc, token: " " };
11400
11488
  });
11401
11489
  function InsertSpace(state) {
@@ -11416,7 +11504,7 @@ ${input.slice(result.pos)}
11416
11504
  return result;
11417
11505
  }
11418
11506
  }
11419
- var InsertDot$0 = $TV($EXPECT($L14, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
11507
+ var InsertDot$0 = $TV($EXPECT($L13, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
11420
11508
  return { $loc, token: "." };
11421
11509
  });
11422
11510
  function InsertDot(state) {
@@ -11437,7 +11525,7 @@ ${input.slice(result.pos)}
11437
11525
  return result;
11438
11526
  }
11439
11527
  }
11440
- var InsertBreak$0 = $TV($EXPECT($L14, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
11528
+ var InsertBreak$0 = $TV($EXPECT($L13, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
11441
11529
  return { $loc, token: ";break;" };
11442
11530
  });
11443
11531
  function InsertBreak(state) {
@@ -11458,7 +11546,7 @@ ${input.slice(result.pos)}
11458
11546
  return result;
11459
11547
  }
11460
11548
  }
11461
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
11549
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
11462
11550
  if (module2.config.coffeeBinaryExistential)
11463
11551
  return;
11464
11552
  return $skip;
@@ -11481,7 +11569,7 @@ ${input.slice(result.pos)}
11481
11569
  return result;
11482
11570
  }
11483
11571
  }
11484
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
11572
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
11485
11573
  if (module2.config.coffeeBooleans)
11486
11574
  return;
11487
11575
  return $skip;
@@ -11504,7 +11592,7 @@ ${input.slice(result.pos)}
11504
11592
  return result;
11505
11593
  }
11506
11594
  }
11507
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
11595
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
11508
11596
  if (module2.config.coffeeClasses)
11509
11597
  return;
11510
11598
  return $skip;
@@ -11527,7 +11615,7 @@ ${input.slice(result.pos)}
11527
11615
  return result;
11528
11616
  }
11529
11617
  }
11530
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
11618
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
11531
11619
  if (module2.config.coffeeComment)
11532
11620
  return;
11533
11621
  return $skip;
@@ -11550,7 +11638,7 @@ ${input.slice(result.pos)}
11550
11638
  return result;
11551
11639
  }
11552
11640
  }
11553
- var CoffeeDoEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11641
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
11554
11642
  if (module2.config.coffeeDo)
11555
11643
  return;
11556
11644
  return $skip;
@@ -11573,7 +11661,7 @@ ${input.slice(result.pos)}
11573
11661
  return result;
11574
11662
  }
11575
11663
  }
11576
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11664
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
11577
11665
  if (module2.config.coffeeForLoops)
11578
11666
  return;
11579
11667
  return $skip;
@@ -11596,7 +11684,7 @@ ${input.slice(result.pos)}
11596
11684
  return result;
11597
11685
  }
11598
11686
  }
11599
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11687
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
11600
11688
  if (module2.config.coffeeInterpolation)
11601
11689
  return;
11602
11690
  return $skip;
@@ -11619,7 +11707,7 @@ ${input.slice(result.pos)}
11619
11707
  return result;
11620
11708
  }
11621
11709
  }
11622
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11710
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
11623
11711
  if (module2.config.coffeeIsnt)
11624
11712
  return;
11625
11713
  return $skip;
@@ -11642,7 +11730,7 @@ ${input.slice(result.pos)}
11642
11730
  return result;
11643
11731
  }
11644
11732
  }
11645
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11733
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
11646
11734
  if (module2.config.coffeeLineContinuation)
11647
11735
  return;
11648
11736
  return $skip;
@@ -11665,7 +11753,7 @@ ${input.slice(result.pos)}
11665
11753
  return result;
11666
11754
  }
11667
11755
  }
11668
- var CoffeeNotEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11756
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
11669
11757
  if (module2.config.coffeeNot)
11670
11758
  return;
11671
11759
  return $skip;
@@ -11688,7 +11776,7 @@ ${input.slice(result.pos)}
11688
11776
  return result;
11689
11777
  }
11690
11778
  }
11691
- var CoffeeOfEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
11779
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L13, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
11692
11780
  if (module2.config.coffeeOf)
11693
11781
  return;
11694
11782
  return $skip;
@@ -11711,7 +11799,7 @@ ${input.slice(result.pos)}
11711
11799
  return result;
11712
11800
  }
11713
11801
  }
11714
- var Reset$0 = $TV($EXPECT($L14, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11802
+ var Reset$0 = $TV($EXPECT($L13, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11715
11803
  module2.indentLevels = [{
11716
11804
  level: 0,
11717
11805
  token: ""
@@ -11841,7 +11929,7 @@ ${input.slice(result.pos)}
11841
11929
  return result;
11842
11930
  }
11843
11931
  }
11844
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L14, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
11932
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L13, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
11845
11933
  var directives = $2;
11846
11934
  directives.forEach((directive) => {
11847
11935
  if (directive.type === "CivetPrologue") {
@@ -11925,6 +12013,7 @@ ${input.slice(result.pos)}
11925
12013
  case "BlockStatement":
11926
12014
  insertPush(node.expressions[node.expressions.length - 1], ref);
11927
12015
  return;
12016
+ case "ObjectBindingPattern":
11928
12017
  case "ObjectExpression":
11929
12018
  module2.insertTrimmingSpace(node.children[0], "");
11930
12019
  node.children.unshift(ref, ".push(");
@@ -11999,6 +12088,7 @@ ${input.slice(result.pos)}
11999
12088
  case "BlockStatement":
12000
12089
  insertReturn(node.expressions[node.expressions.length - 1]);
12001
12090
  return;
12091
+ case "ObjectBindingPattern":
12002
12092
  case "ObjectExpression":
12003
12093
  module2.insertTrimmingSpace(node.children[0], "");
12004
12094
  node.children.unshift("return ");
@@ -12074,13 +12164,20 @@ ${input.slice(result.pos)}
12074
12164
  let i = 2;
12075
12165
  while (i < expandedOps.length) {
12076
12166
  const op = expandedOps[i];
12077
- if (op.ref) {
12167
+ if (op.special) {
12078
12168
  let [a, wsOp, op2, wsB, b] = expandedOps.slice(i - 2, i + 3);
12079
- wsOp = module2.insertTrimmingSpace(wsOp, "");
12080
- wsB = module2.insertTrimmingSpace(wsB, "");
12169
+ let children;
12170
+ if (op2.ref) {
12171
+ wsOp = module2.insertTrimmingSpace(wsOp, "");
12172
+ wsB = module2.insertTrimmingSpace(wsB, "");
12173
+ children = [wsOp, op2.ref, ".call(", wsB, b, ", ", a, ")", op2.suffix];
12174
+ } else if (op2.token === "instanceof") {
12175
+ children = ["!(", a, wsOp, op2, wsB, b, ")"];
12176
+ } else {
12177
+ throw new Error("Unknown operator: " + JSON.stringify(op2));
12178
+ }
12081
12179
  expandedOps.splice(i - 2, 5, {
12082
- type: "Call",
12083
- children: [wsOp, op2.ref, ".call(", wsB, b, ", ", a, ")", op2.suffix]
12180
+ children
12084
12181
  });
12085
12182
  } else {
12086
12183
  i += 4;
@@ -12287,7 +12384,6 @@ ${input.slice(result.pos)}
12287
12384
  return nodes;
12288
12385
  }
12289
12386
  function processParams(f) {
12290
- processAtParams(f);
12291
12387
  const { parameters, block } = f;
12292
12388
  if (!block)
12293
12389
  return;
@@ -12301,44 +12397,22 @@ ${input.slice(result.pos)}
12301
12397
  } else {
12302
12398
  indent = expressions[0][0];
12303
12399
  }
12304
- const thisAssignments = [];
12305
- const splices = [];
12306
- function insertRestSplices(s, p, thisAssignments2) {
12307
- gatherRecursiveAll(s, (n) => n.blockPrefix).forEach(({ blockPrefix: blockPrefix2 }) => {
12308
- p.push([indent, blockPrefix2, ";\n"]);
12309
- gatherRecursiveAll(blockPrefix2, (n) => n.type === "AtBinding").map(({ ref }) => {
12310
- const { base: name } = ref;
12311
- thisAssignments2.push([indent, [`this.${name} = `, ref], ";\n"]);
12312
- });
12313
- insertRestSplices(blockPrefix2, p, thisAssignments2);
12314
- });
12315
- return p;
12316
- }
12317
- insertRestSplices(parameters, splices, thisAssignments);
12318
- expressions.unshift(...splices, ...thisAssignments);
12400
+ const [splices, thisAssignments] = gatherBindingCode(parameters);
12401
+ const prefix = splices.map((s) => ["let ", s]).concat(thisAssignments).map((s) => [indent, s, ";\n"]);
12402
+ expressions.unshift(...prefix);
12319
12403
  }
12320
- function processAtParams(f) {
12321
- const { parameters, block } = f;
12322
- if (!block)
12323
- return;
12324
- const { expressions } = block;
12325
- if (!expressions)
12326
- return;
12327
- let indent;
12328
- if (expressions.length === 0) {
12329
- indent = "";
12330
- } else {
12331
- indent = expressions[0][0];
12332
- }
12333
- const thisAssignments = gatherRecursiveAll(parameters, (n) => n.type === "AtBinding").map(({ ref }) => {
12334
- const { base: name } = ref;
12335
- return [indent, [`this.${name} = `, ref], ";\n"];
12336
- });
12337
- block.expressions.unshift(...thisAssignments);
12338
- }
12339
- function adjustAtBindings(statements) {
12404
+ function adjustAtBindings(statements, asThis = false) {
12340
12405
  gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
12341
12406
  const { ref } = binding;
12407
+ if (asThis) {
12408
+ const atBinding = binding.children[0];
12409
+ atBinding.children.pop();
12410
+ atBinding.type = void 0;
12411
+ binding.children.unshift(ref.base, ": this.", ref.base);
12412
+ binding.type = "Property";
12413
+ binding.ref = void 0;
12414
+ return;
12415
+ }
12342
12416
  if (ref.names[0] !== ref.base) {
12343
12417
  binding.children.unshift(ref.base, ": ");
12344
12418
  }
@@ -12378,16 +12452,21 @@ ${input.slice(result.pos)}
12378
12452
  });
12379
12453
  }
12380
12454
  }
12455
+ function processBindingPatternLHS(lhs, tail) {
12456
+ adjustAtBindings(lhs, true);
12457
+ const [splices, thisAssignments] = module2.gatherBindingCode(lhs);
12458
+ tail.push(...splices.map((s) => [", ", s]), ...thisAssignments.map((a) => [", ", a]));
12459
+ }
12381
12460
  function processAssignments(statements) {
12382
12461
  gatherRecursiveAll(statements, (n) => n.type === "AssignmentExpression" && n.names === null).forEach((exp) => {
12383
- let $02 = exp.children, [$12, $22] = $02, tail = [], i = 0, len = $12.length;
12462
+ let { lhs: $12, exp: $22 } = exp, tail = [], i = 0, len = $12.length;
12384
12463
  let wrapped = false;
12385
12464
  while (i < len) {
12386
12465
  const lastAssignment = $12[i++];
12387
12466
  const [, lhs, , op] = lastAssignment;
12388
12467
  if (op.token !== "=")
12389
12468
  continue;
12390
- if (lhs.type === "ObjectExpression") {
12469
+ if (lhs.type === "ObjectExpression" || lhs.type === "ObjectBindingPattern") {
12391
12470
  if (!wrapped) {
12392
12471
  wrapped = true;
12393
12472
  lhs.children.splice(0, 0, "(");
@@ -12426,33 +12505,8 @@ ${input.slice(result.pos)}
12426
12505
  return;
12427
12506
  }
12428
12507
  }
12429
- } else if (lhs.type === "ObjectExpression") {
12430
- const spreadIndex = lhs.children.findIndex((child) => child.type === "SpreadProperty"), hasSpread = spreadIndex >= 0;
12431
- if (hasSpread) {
12432
- const len2 = lhs.children.length, after = lhs.children.splice(spreadIndex + 1, len2 - spreadIndex - 2);
12433
- if (after.length) {
12434
- if (after.some((child) => child.type === "SpreadProperty")) {
12435
- throw new Error("Cannot have multiple spread properties in object destructuring");
12436
- }
12437
- const lastAfterChildren = after[after.length - 1].children, afterDelimiter = lastAfterChildren.pop(), spread = lhs.children[spreadIndex], spreadDelimiter = spread.children.pop();
12438
- spread.children.push(afterDelimiter);
12439
- lastAfterChildren.push(spreadDelimiter);
12440
- lhs.children.splice(spreadIndex, 0, ...after);
12441
- }
12442
- }
12443
- } else if (lhs.type === "ArrayExpression") {
12444
- const spreadIndex = lhs.children.findIndex((child) => child.type === "SpreadElement"), hasSpread = spreadIndex >= 0;
12445
- if (hasSpread) {
12446
- const len2 = lhs.children.length, after = lhs.children.splice(spreadIndex + 1, len2 - spreadIndex - 2);
12447
- if (after.length) {
12448
- if (after.some((child) => child.type === "SpreadElement")) {
12449
- throw new Error("Cannot have multiple spread elements in array destructuring");
12450
- }
12451
- const spread = lhs.children[spreadIndex], spreadDelimiter = spread.children.pop();
12452
- const spliceRef = module2.getSpliceRef();
12453
- tail.push(["\n[", after, "] = ", spliceRef, ".call(", spread.names[0], ", -", after.length.toString(), ")"]);
12454
- }
12455
- }
12508
+ } else if (lhs.type === "ObjectBindingPattern" || lhs.type === "ArrayBindingPattern") {
12509
+ processBindingPatternLHS(lhs, tail);
12456
12510
  }
12457
12511
  }
12458
12512
  i--;
@@ -12476,6 +12530,24 @@ ${input.slice(result.pos)}
12476
12530
  module2.prelude.push(["", ["const ", spliceRef, typeSuffix, " = [].splice", asAny, "\n"]]);
12477
12531
  }
12478
12532
  }
12533
+ module2.attachPostfixStatementAsExpression = function(exp, post) {
12534
+ let clause;
12535
+ switch (post[1].type) {
12536
+ case "IterationStatement":
12537
+ case "ForStatement":
12538
+ clause = module2.addPostfixStatement(exp, ...post);
12539
+ return {
12540
+ type: "IterationExpression",
12541
+ children: [clause],
12542
+ block: clause.block
12543
+ };
12544
+ case "IfStatement":
12545
+ clause = module2.expressionizeIfClause(post[1], exp);
12546
+ return clause;
12547
+ default:
12548
+ throw new Error("Unknown postfix statement");
12549
+ }
12550
+ };
12479
12551
  module2.processProgram = function(statements) {
12480
12552
  processAssignments(statements);
12481
12553
  processFunctions(statements);
@@ -12534,16 +12606,13 @@ ${input.slice(result.pos)}
12534
12606
  return scopes.some((s) => s.has(name));
12535
12607
  }
12536
12608
  function findAssignments(statements2, decs2) {
12537
- const assignmentStatements = gatherNodes(statements2, (node) => {
12609
+ let assignmentStatements2 = gatherNodes(statements2, (node) => {
12538
12610
  return node.type === "AssignmentExpression";
12539
12611
  });
12540
- const undeclaredIdentifiers = assignmentStatements.flatMap((a) => {
12541
- return a.names;
12542
- });
12543
- return undeclaredIdentifiers.filter((x, i, a) => {
12544
- if (!hasDec(x))
12545
- return a.indexOf(x) === i;
12546
- });
12612
+ if (assignmentStatements2.length) {
12613
+ assignmentStatements2 = assignmentStatements2.concat(findAssignments(assignmentStatements2.map((s) => s.children), decs2));
12614
+ }
12615
+ return assignmentStatements2;
12547
12616
  }
12548
12617
  if (!pushVar) {
12549
12618
  pushVar = function(name) {
@@ -12554,7 +12623,14 @@ ${input.slice(result.pos)}
12554
12623
  const decs = findDecs(statements);
12555
12624
  scopes.push(decs);
12556
12625
  const varIds = [];
12557
- findAssignments(statements, scopes).forEach(pushVar);
12626
+ const assignmentStatements = findAssignments(statements, scopes);
12627
+ const undeclaredIdentifiers = assignmentStatements.flatMap((a) => {
12628
+ return a.names;
12629
+ });
12630
+ undeclaredIdentifiers.filter((x, i, a) => {
12631
+ if (!hasDec(x))
12632
+ return a.indexOf(x) === i;
12633
+ }).forEach(pushVar);
12558
12634
  const fnNodes = gatherNodes(statements, (s) => s.type === "FunctionExpression");
12559
12635
  const forNodes = gatherNodes(statements, (s) => s.type === "ForStatement");
12560
12636
  const blockNodes = new Set(gatherNodes(statements, (s) => s.type === "BlockStatement"));
@@ -12580,6 +12656,25 @@ ${input.slice(result.pos)}
12580
12656
  statements.unshift([indent, "var ", varIds.join(", "), "\n"]);
12581
12657
  }
12582
12658
  }
12659
+ function gatherBindingCode(statements) {
12660
+ const thisAssignments = [];
12661
+ const splices = [];
12662
+ function insertRestSplices(s, p, thisAssignments2) {
12663
+ gatherRecursiveAll(s, (n) => n.blockPrefix || n.type === "AtBinding").forEach((n) => {
12664
+ if (n.type === "AtBinding") {
12665
+ const { ref } = n, { base: name } = ref;
12666
+ thisAssignments2.push([`this.${name} = `, ref]);
12667
+ return;
12668
+ }
12669
+ const { blockPrefix } = n;
12670
+ p.push(blockPrefix);
12671
+ insertRestSplices(blockPrefix, p, thisAssignments2);
12672
+ });
12673
+ }
12674
+ insertRestSplices(statements, splices, thisAssignments);
12675
+ return [splices, thisAssignments];
12676
+ }
12677
+ module2.gatherBindingCode = gatherBindingCode;
12583
12678
  return $0;
12584
12679
  });
12585
12680
  function Init(state) {
@@ -12600,7 +12695,7 @@ ${input.slice(result.pos)}
12600
12695
  return result;
12601
12696
  }
12602
12697
  }
12603
- var Indent$0 = $TV($Q($C($EXPECT($L157, fail, 'Indent " "'), $EXPECT($L158, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
12698
+ var Indent$0 = $TV($Q($C($EXPECT($L156, fail, 'Indent " "'), $EXPECT($L157, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
12604
12699
  const level = $1.length;
12605
12700
  return {
12606
12701
  $loc,
@@ -12725,7 +12820,7 @@ ${input.slice(result.pos)}
12725
12820
  return result;
12726
12821
  }
12727
12822
  }
12728
- var PopIndent$0 = $TV($EXPECT($L14, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
12823
+ var PopIndent$0 = $TV($EXPECT($L13, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
12729
12824
  if (module2.verbose) {
12730
12825
  console.log("popping indent", module2.indentLevels[module2.indentLevels.length - 1], "->", module2.indentLevels[module2.indentLevels.length - 2]);
12731
12826
  }