@danielx/civet 0.6.12 → 0.6.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -209,7 +209,7 @@ var Civet = (() => {
209
209
  ref.children = [makeLeftHandSideExpression(arg)];
210
210
  return {
211
211
  type: "UnwrappedExpression",
212
- children: [skipIfOnlyWS(fn.leadingComment), ...body, skipIfOnlyWS(fn.trailingComment)]
212
+ children: [skipIfOnlyWS(fn.leadingComment), body, skipIfOnlyWS(fn.trailingComment)]
213
213
  };
214
214
  }
215
215
  expr = fn.expr;
@@ -631,12 +631,20 @@ var Civet = (() => {
631
631
  children
632
632
  };
633
633
  }
634
+ function isExistence(exp) {
635
+ if (exp.type === "ParenthesizedExpression" && exp.implicit) {
636
+ exp = exp.expression;
637
+ }
638
+ if (exp.type === "Existence") {
639
+ return exp;
640
+ }
641
+ }
634
642
  function expandChainedComparisons([first, binops]) {
635
643
  const relationalOps = ["==", "===", "!=", "!==", "<", "<=", ">", ">=", "in"];
636
644
  const lowerPrecedenceOps = ["??", "&&", "||", "&", "|", "^"];
637
645
  let results = [];
638
646
  let i = 0;
639
- let l = binops.length;
647
+ const l = binops.length;
640
648
  let start = 0;
641
649
  let chains = [];
642
650
  while (i < l) {
@@ -652,12 +660,15 @@ var Civet = (() => {
652
660
  processChains();
653
661
  return results;
654
662
  function processChains() {
663
+ first = expandExistence(first);
655
664
  if (chains.length > 1) {
656
665
  chains.forEach((index, k) => {
657
666
  if (k > 0) {
658
667
  results.push(" ", "&&", " ");
659
668
  }
660
- const [pre, op, post, exp] = binops[index];
669
+ const binop = binops[index];
670
+ let [pre, op, post, exp] = binop;
671
+ exp = binop[3] = expandExistence(exp);
661
672
  let endIndex;
662
673
  if (k < chains.length - 1) {
663
674
  endIndex = chains[k + 1];
@@ -674,6 +685,14 @@ var Civet = (() => {
674
685
  }
675
686
  chains.length = 0;
676
687
  }
688
+ function expandExistence(exp) {
689
+ const existence = isExistence(exp);
690
+ if (existence) {
691
+ results.push(existence, " ", "&&", " ");
692
+ return existence.expression;
693
+ }
694
+ return exp;
695
+ }
677
696
  }
678
697
  function processParams(f) {
679
698
  const { type, parameters, block } = f;
@@ -1126,6 +1145,7 @@ var Civet = (() => {
1126
1145
  function makeLeftHandSideExpression(expression) {
1127
1146
  switch (expression.type) {
1128
1147
  case "Ref":
1148
+ case "AmpersandRef":
1129
1149
  case "Identifier":
1130
1150
  case "Literal":
1131
1151
  case "CallExpression":
@@ -1140,7 +1160,8 @@ var Civet = (() => {
1140
1160
  return {
1141
1161
  type: "ParenthesizedExpression",
1142
1162
  children: ["(", expression, ")"],
1143
- expression
1163
+ expression,
1164
+ implicit: true
1144
1165
  };
1145
1166
  }
1146
1167
  }
@@ -2248,27 +2269,20 @@ var Civet = (() => {
2248
2269
  if (post?.token === "?") {
2249
2270
  post = {
2250
2271
  $loc: post.$loc,
2251
- token: " != null"
2272
+ token: "!="
2252
2273
  };
2253
- switch (exp.type) {
2254
- case "Identifier":
2255
- case "Literal":
2256
- case "AmpersandRef":
2257
- return {
2258
- ...exp,
2259
- children: [...pre, ...exp.children, post]
2260
- };
2261
- default:
2262
- const expression = {
2263
- ...exp,
2264
- children: [...pre, "(", exp.children, ")", post]
2265
- };
2266
- return {
2267
- type: "ParenthesizedExpression",
2268
- children: ["(", expression, ")"],
2269
- expression
2270
- };
2274
+ if (pre.length) {
2275
+ exp = {
2276
+ type: "UnaryExpression",
2277
+ children: [...pre, exp, void 0]
2278
+ };
2271
2279
  }
2280
+ const existence = {
2281
+ type: "Existence",
2282
+ expression: exp,
2283
+ children: [exp, " ", post, " ", "null"]
2284
+ };
2285
+ return makeLeftHandSideExpression(existence);
2272
2286
  }
2273
2287
  if (exp.type === "Literal") {
2274
2288
  if (pre.length === 1 && pre[0].token === "-") {
@@ -3141,6 +3155,7 @@ ${input.slice(result.pos)}
3141
3155
  OperatorAssignmentOp,
3142
3156
  AssignmentOpSymbol,
3143
3157
  CoffeeWordAssignmentOp,
3158
+ NotDedentedBinaryOp,
3144
3159
  BinaryOp,
3145
3160
  BinaryOpSymbol,
3146
3161
  Xor,
@@ -3211,10 +3226,15 @@ ${input.slice(result.pos)}
3211
3226
  Condition,
3212
3227
  DeclarationCondition,
3213
3228
  ExpressionWithIndentedApplicationForbidden,
3229
+ ExpressionWithObjectApplicationForbidden,
3214
3230
  ForbidClassImplicitCall,
3215
3231
  AllowClassImplicitCall,
3216
3232
  RestoreClassImplicitCall,
3217
3233
  ClassImplicitCallForbidden,
3234
+ ForbidBracedApplication,
3235
+ AllowBracedApplication,
3236
+ RestoreBracedApplication,
3237
+ BracedApplicationAllowed,
3218
3238
  ForbidIndentedApplication,
3219
3239
  AllowIndentedApplication,
3220
3240
  RestoreIndentedApplication,
@@ -3494,6 +3514,7 @@ ${input.slice(result.pos)}
3494
3514
  TypeIndex,
3495
3515
  TypeSuffix,
3496
3516
  ReturnTypeSuffix,
3517
+ ReturnType,
3497
3518
  TypePredicate,
3498
3519
  Type,
3499
3520
  TypeBinary,
@@ -3583,161 +3604,161 @@ ${input.slice(result.pos)}
3583
3604
  Nested
3584
3605
  });
3585
3606
  var $L0 = $L("");
3586
- var $L1 = $L("/ ");
3587
- var $L2 = $L("=");
3588
- var $L3 = $L("(");
3589
- var $L4 = $L("?");
3590
- var $L5 = $L(".");
3591
- var $L6 = $L("++");
3592
- var $L7 = $L("--");
3593
- var $L8 = $L("=>");
3594
- var $L9 = $L("\u21D2");
3595
- var $L10 = $L(" ");
3596
- var $L11 = $L(":");
3597
- var $L12 = $L("implements");
3598
- var $L13 = $L("<:");
3599
- var $L14 = $L("#");
3600
- var $L15 = $L("super");
3601
- var $L16 = $L("import");
3602
- var $L17 = $L("!");
3603
- var $L18 = $L("^");
3604
- var $L19 = $L("-");
3605
- var $L20 = $L("import.meta");
3606
- var $L21 = $L("return.value");
3607
- var $L22 = $L(",");
3608
- var $L23 = $L("->");
3609
- var $L24 = $L("\u2192");
3610
- var $L25 = $L("}");
3611
- var $L26 = $L("null");
3612
- var $L27 = $L("true");
3613
- var $L28 = $L("false");
3614
- var $L29 = $L("yes");
3615
- var $L30 = $L("on");
3616
- var $L31 = $L("no");
3617
- var $L32 = $L("off");
3618
- var $L33 = $L(">");
3619
- var $L34 = $L("]");
3620
- var $L35 = $L("**=");
3621
- var $L36 = $L("*=");
3622
- var $L37 = $L("/=");
3623
- var $L38 = $L("%=");
3624
- var $L39 = $L("+=");
3625
- var $L40 = $L("-=");
3626
- var $L41 = $L("<<=");
3627
- var $L42 = $L(">>>=");
3628
- var $L43 = $L(">>=");
3629
- var $L44 = $L("&&=");
3630
- var $L45 = $L("&=");
3631
- var $L46 = $L("^=");
3632
- var $L47 = $L("||=");
3633
- var $L48 = $L("|=");
3634
- var $L49 = $L("??=");
3635
- var $L50 = $L("?=");
3636
- var $L51 = $L("and=");
3637
- var $L52 = $L("or=");
3638
- var $L53 = $L("**");
3639
- var $L54 = $L("*");
3640
- var $L55 = $L("/");
3641
- var $L56 = $L("%%");
3642
- var $L57 = $L("%");
3643
- var $L58 = $L("+");
3644
- var $L59 = $L("<=");
3645
- var $L60 = $L("\u2264");
3646
- var $L61 = $L(">=");
3647
- var $L62 = $L("\u2265");
3648
- var $L63 = $L("<?");
3649
- var $L64 = $L("!<?");
3650
- var $L65 = $L("<<");
3651
- var $L66 = $L("\xAB");
3652
- var $L67 = $L(">>>");
3653
- var $L68 = $L("\u22D9");
3654
- var $L69 = $L(">>");
3655
- var $L70 = $L("\xBB");
3656
- var $L71 = $L("!==");
3657
- var $L72 = $L("\u2262");
3658
- var $L73 = $L("!=");
3659
- var $L74 = $L("\u2260");
3660
- var $L75 = $L("isnt");
3661
- var $L76 = $L("===");
3662
- var $L77 = $L("\u2263");
3663
- var $L78 = $L("\u2A76");
3664
- var $L79 = $L("==");
3665
- var $L80 = $L("\u2261");
3666
- var $L81 = $L("\u2A75");
3667
- var $L82 = $L("and");
3668
- var $L83 = $L("&&");
3669
- var $L84 = $L("of");
3670
- var $L85 = $L("or");
3671
- var $L86 = $L("||");
3672
- var $L87 = $L("\u2016");
3673
- var $L88 = $L("^^");
3674
- var $L89 = $L("xor");
3675
- var $L90 = $L("xnor");
3676
- var $L91 = $L("??");
3677
- var $L92 = $L("\u2047");
3678
- var $L93 = $L("instanceof");
3679
- var $L94 = $L("\u2208");
3680
- var $L95 = $L("\u220B");
3681
- var $L96 = $L("\u220C");
3682
- var $L97 = $L("\u2209");
3683
- var $L98 = $L("&");
3684
- var $L99 = $L("|");
3685
- var $L100 = $L(";");
3686
- var $L101 = $L("$:");
3687
- var $L102 = $L("own");
3688
- var $L103 = $L("break");
3689
- var $L104 = $L("continue");
3690
- var $L105 = $L("debugger");
3691
- var $L106 = $L("assert");
3692
- var $L107 = $L(":=");
3693
- var $L108 = $L("\u2254");
3694
- var $L109 = $L(".=");
3695
- var $L110 = $L("/*");
3696
- var $L111 = $L("*/");
3697
- var $L112 = $L("\\");
3698
- var $L113 = $L("[");
3699
- var $L114 = $L("`");
3700
- var $L115 = $L("abstract");
3701
- var $L116 = $L("as");
3702
- var $L117 = $L("@");
3703
- var $L118 = $L("@@");
3704
- var $L119 = $L("async");
3705
- var $L120 = $L("await");
3706
- var $L121 = $L("by");
3707
- var $L122 = $L("case");
3708
- var $L123 = $L("catch");
3709
- var $L124 = $L("class");
3710
- var $L125 = $L(")");
3711
- var $L126 = $L("#{");
3712
- var $L127 = $L("declare");
3713
- var $L128 = $L("default");
3714
- var $L129 = $L("delete");
3715
- var $L130 = $L("do");
3716
- var $L131 = $L("..");
3717
- var $L132 = $L("\u2025");
3718
- var $L133 = $L("...");
3719
- var $L134 = $L("\u2026");
3720
- var $L135 = $L("::");
3721
- var $L136 = $L('"');
3722
- var $L137 = $L("else");
3723
- var $L138 = $L("export");
3724
- var $L139 = $L("extends");
3725
- var $L140 = $L("finally");
3726
- var $L141 = $L("for");
3727
- var $L142 = $L("from");
3728
- var $L143 = $L("function");
3729
- var $L144 = $L("get");
3730
- var $L145 = $L("set");
3731
- var $L146 = $L("if");
3732
- var $L147 = $L("in");
3733
- var $L148 = $L("let");
3734
- var $L149 = $L("const");
3735
- var $L150 = $L("is");
3736
- var $L151 = $L("loop");
3737
- var $L152 = $L("new");
3738
- var $L153 = $L("not");
3739
- var $L154 = $L("<");
3740
- var $L155 = $L("{");
3607
+ var $L1 = $L("{");
3608
+ var $L2 = $L("/ ");
3609
+ var $L3 = $L("=");
3610
+ var $L4 = $L("(");
3611
+ var $L5 = $L("?");
3612
+ var $L6 = $L(".");
3613
+ var $L7 = $L("++");
3614
+ var $L8 = $L("--");
3615
+ var $L9 = $L("=>");
3616
+ var $L10 = $L("\u21D2");
3617
+ var $L11 = $L(" ");
3618
+ var $L12 = $L(":");
3619
+ var $L13 = $L("implements");
3620
+ var $L14 = $L("<:");
3621
+ var $L15 = $L("#");
3622
+ var $L16 = $L("super");
3623
+ var $L17 = $L("import");
3624
+ var $L18 = $L("!");
3625
+ var $L19 = $L("^");
3626
+ var $L20 = $L("-");
3627
+ var $L21 = $L("import.meta");
3628
+ var $L22 = $L("return.value");
3629
+ var $L23 = $L(",");
3630
+ var $L24 = $L("->");
3631
+ var $L25 = $L("\u2192");
3632
+ var $L26 = $L("}");
3633
+ var $L27 = $L("null");
3634
+ var $L28 = $L("true");
3635
+ var $L29 = $L("false");
3636
+ var $L30 = $L("yes");
3637
+ var $L31 = $L("on");
3638
+ var $L32 = $L("no");
3639
+ var $L33 = $L("off");
3640
+ var $L34 = $L(">");
3641
+ var $L35 = $L("]");
3642
+ var $L36 = $L("**=");
3643
+ var $L37 = $L("*=");
3644
+ var $L38 = $L("/=");
3645
+ var $L39 = $L("%=");
3646
+ var $L40 = $L("+=");
3647
+ var $L41 = $L("-=");
3648
+ var $L42 = $L("<<=");
3649
+ var $L43 = $L(">>>=");
3650
+ var $L44 = $L(">>=");
3651
+ var $L45 = $L("&&=");
3652
+ var $L46 = $L("&=");
3653
+ var $L47 = $L("^=");
3654
+ var $L48 = $L("||=");
3655
+ var $L49 = $L("|=");
3656
+ var $L50 = $L("??=");
3657
+ var $L51 = $L("?=");
3658
+ var $L52 = $L("and=");
3659
+ var $L53 = $L("or=");
3660
+ var $L54 = $L("**");
3661
+ var $L55 = $L("*");
3662
+ var $L56 = $L("/");
3663
+ var $L57 = $L("%%");
3664
+ var $L58 = $L("%");
3665
+ var $L59 = $L("+");
3666
+ var $L60 = $L("<=");
3667
+ var $L61 = $L("\u2264");
3668
+ var $L62 = $L(">=");
3669
+ var $L63 = $L("\u2265");
3670
+ var $L64 = $L("<?");
3671
+ var $L65 = $L("!<?");
3672
+ var $L66 = $L("<<");
3673
+ var $L67 = $L("\xAB");
3674
+ var $L68 = $L(">>>");
3675
+ var $L69 = $L("\u22D9");
3676
+ var $L70 = $L(">>");
3677
+ var $L71 = $L("\xBB");
3678
+ var $L72 = $L("!==");
3679
+ var $L73 = $L("\u2262");
3680
+ var $L74 = $L("!=");
3681
+ var $L75 = $L("\u2260");
3682
+ var $L76 = $L("isnt");
3683
+ var $L77 = $L("===");
3684
+ var $L78 = $L("\u2263");
3685
+ var $L79 = $L("\u2A76");
3686
+ var $L80 = $L("==");
3687
+ var $L81 = $L("\u2261");
3688
+ var $L82 = $L("\u2A75");
3689
+ var $L83 = $L("and");
3690
+ var $L84 = $L("&&");
3691
+ var $L85 = $L("of");
3692
+ var $L86 = $L("or");
3693
+ var $L87 = $L("||");
3694
+ var $L88 = $L("\u2016");
3695
+ var $L89 = $L("^^");
3696
+ var $L90 = $L("xor");
3697
+ var $L91 = $L("xnor");
3698
+ var $L92 = $L("??");
3699
+ var $L93 = $L("\u2047");
3700
+ var $L94 = $L("instanceof");
3701
+ var $L95 = $L("\u2208");
3702
+ var $L96 = $L("\u220B");
3703
+ var $L97 = $L("\u220C");
3704
+ var $L98 = $L("\u2209");
3705
+ var $L99 = $L("&");
3706
+ var $L100 = $L("|");
3707
+ var $L101 = $L(";");
3708
+ var $L102 = $L("$:");
3709
+ var $L103 = $L("own");
3710
+ var $L104 = $L("break");
3711
+ var $L105 = $L("continue");
3712
+ var $L106 = $L("debugger");
3713
+ var $L107 = $L("assert");
3714
+ var $L108 = $L(":=");
3715
+ var $L109 = $L("\u2254");
3716
+ var $L110 = $L(".=");
3717
+ var $L111 = $L("/*");
3718
+ var $L112 = $L("*/");
3719
+ var $L113 = $L("\\");
3720
+ var $L114 = $L("[");
3721
+ var $L115 = $L("`");
3722
+ var $L116 = $L("abstract");
3723
+ var $L117 = $L("as");
3724
+ var $L118 = $L("@");
3725
+ var $L119 = $L("@@");
3726
+ var $L120 = $L("async");
3727
+ var $L121 = $L("await");
3728
+ var $L122 = $L("by");
3729
+ var $L123 = $L("case");
3730
+ var $L124 = $L("catch");
3731
+ var $L125 = $L("class");
3732
+ var $L126 = $L(")");
3733
+ var $L127 = $L("#{");
3734
+ var $L128 = $L("declare");
3735
+ var $L129 = $L("default");
3736
+ var $L130 = $L("delete");
3737
+ var $L131 = $L("do");
3738
+ var $L132 = $L("..");
3739
+ var $L133 = $L("\u2025");
3740
+ var $L134 = $L("...");
3741
+ var $L135 = $L("\u2026");
3742
+ var $L136 = $L("::");
3743
+ var $L137 = $L('"');
3744
+ var $L138 = $L("else");
3745
+ var $L139 = $L("export");
3746
+ var $L140 = $L("extends");
3747
+ var $L141 = $L("finally");
3748
+ var $L142 = $L("for");
3749
+ var $L143 = $L("from");
3750
+ var $L144 = $L("function");
3751
+ var $L145 = $L("get");
3752
+ var $L146 = $L("set");
3753
+ var $L147 = $L("if");
3754
+ var $L148 = $L("in");
3755
+ var $L149 = $L("let");
3756
+ var $L150 = $L("const");
3757
+ var $L151 = $L("is");
3758
+ var $L152 = $L("loop");
3759
+ var $L153 = $L("new");
3760
+ var $L154 = $L("not");
3761
+ var $L155 = $L("<");
3741
3762
  var $L156 = $L("operator");
3742
3763
  var $L157 = $L("public");
3743
3764
  var $L158 = $L("private");
@@ -3798,7 +3819,7 @@ ${input.slice(result.pos)}
3798
3819
  var $R6 = $R(new RegExp("[!+-]", "suy"));
3799
3820
  var $R7 = $R(new RegExp("<(?!\\p{ID_Start}|[_$])", "suy"));
3800
3821
  var $R8 = $R(new RegExp("!\\^\\^?", "suy"));
3801
- var $R9 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*&)", "suy"));
3822
+ var $R9 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*[&.])", "suy"));
3802
3823
  var $R10 = $R(new RegExp("(?=[\\s\\)])", "suy"));
3803
3824
  var $R11 = $R(new RegExp('[^;"\\s]+', "suy"));
3804
3825
  var $R12 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
@@ -4289,7 +4310,7 @@ ${input.slice(result.pos)}
4289
4310
  }
4290
4311
  }
4291
4312
  var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
4292
- var ApplicationStart$1 = $S($N(EOS), $Y($S(_, $N(ForbiddenImplicitCalls))));
4313
+ var ApplicationStart$1 = $S($N(EOS), $Y($S(_, $C(BracedApplicationAllowed, $N($EXPECT($L1, fail, 'ApplicationStart "{"'))), $N(ForbiddenImplicitCalls))));
4293
4314
  function ApplicationStart(state) {
4294
4315
  let eventData;
4295
4316
  if (state.events) {
@@ -4313,10 +4334,10 @@ ${input.slice(result.pos)}
4313
4334
  }
4314
4335
  }
4315
4336
  var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R0, fail, "ForbiddenImplicitCalls /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
4316
- var ForbiddenImplicitCalls$1 = $EXPECT($L1, fail, 'ForbiddenImplicitCalls "/ "');
4337
+ var ForbiddenImplicitCalls$1 = $EXPECT($L2, fail, 'ForbiddenImplicitCalls "/ "');
4317
4338
  var ForbiddenImplicitCalls$2 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
4318
- var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L2, fail, 'ForbiddenImplicitCalls "="'), Whitespace);
4319
- var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L3, fail, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
4339
+ var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L3, fail, 'ForbiddenImplicitCalls "="'), Whitespace);
4340
+ var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L4, fail, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
4320
4341
  var id = $1;
4321
4342
  if (module.operators.has(id.name))
4322
4343
  return $0;
@@ -4381,7 +4402,7 @@ ${input.slice(result.pos)}
4381
4402
  return result;
4382
4403
  }
4383
4404
  }
4384
- var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S($C(Samedent, IndentedFurther), $Y($S($E($EXPECT($L4, fail, 'TrailingMemberExpressions "?"')), $EXPECT($L5, fail, 'TrailingMemberExpressions "."'), $N($EXPECT($R1, fail, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
4405
+ var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S($C(Samedent, IndentedFurther), $Y($S($E($EXPECT($L5, fail, 'TrailingMemberExpressions "?"')), $EXPECT($L6, fail, 'TrailingMemberExpressions "."'), $N($EXPECT($R1, fail, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
4385
4406
  return $1.concat($2);
4386
4407
  });
4387
4408
  function TrailingMemberExpressions(state) {
@@ -4679,9 +4700,9 @@ ${input.slice(result.pos)}
4679
4700
  var rhs = $2;
4680
4701
  return [[], op, [], rhs];
4681
4702
  });
4682
- var BinaryOpRHS$1 = $T($S(NewlineBinaryOpAllowed, $S(NotDedented, BinaryOp, $C(_, $S(EOS, __)), RHS)), function(value) {
4683
- var rhs = value[1];
4684
- return rhs;
4703
+ var BinaryOpRHS$1 = $TS($S(NewlineBinaryOpAllowed, $S(NotDedentedBinaryOp, $C(_, $S(EOS, __)), RHS)), function($skip, $loc, $0, $1, $2) {
4704
+ var rhs = $2;
4705
+ return [...rhs[0], ...rhs.slice(1)];
4685
4706
  });
4686
4707
  var BinaryOpRHS$2 = $T($S($N(NewlineBinaryOpAllowed), SingleLineBinaryOpRHS), function(value) {
4687
4708
  return value[1];
@@ -4820,10 +4841,7 @@ ${input.slice(result.pos)}
4820
4841
  }
4821
4842
  }
4822
4843
  var UnaryPostfix$0 = QuestionMark;
4823
- var UnaryPostfix$1 = $T($P($S(__, As, Type)), function(value) {
4824
- return { "ts": true, "children": value };
4825
- });
4826
- var UnaryPostfix$2 = $T($P($S(__, Satisfies, Type)), function(value) {
4844
+ var UnaryPostfix$1 = $T($P($S(__, $C(As, Satisfies), Type)), function(value) {
4827
4845
  return { "ts": true, "children": value };
4828
4846
  });
4829
4847
  function UnaryPostfix(state) {
@@ -4837,12 +4855,12 @@ ${input.slice(result.pos)}
4837
4855
  }
4838
4856
  }
4839
4857
  if (state.tokenize) {
4840
- const result = $TOKEN("UnaryPostfix", state, UnaryPostfix$0(state) || UnaryPostfix$1(state) || UnaryPostfix$2(state));
4858
+ const result = $TOKEN("UnaryPostfix", state, UnaryPostfix$0(state) || UnaryPostfix$1(state));
4841
4859
  if (state.events)
4842
4860
  state.events.exit?.("UnaryPostfix", state, result, eventData);
4843
4861
  return result;
4844
4862
  } else {
4845
- const result = UnaryPostfix$0(state) || UnaryPostfix$1(state) || UnaryPostfix$2(state);
4863
+ const result = UnaryPostfix$0(state) || UnaryPostfix$1(state);
4846
4864
  if (state.events)
4847
4865
  state.events.exit?.("UnaryPostfix", state, result, eventData);
4848
4866
  return result;
@@ -4886,7 +4904,7 @@ ${input.slice(result.pos)}
4886
4904
  return result;
4887
4905
  }
4888
4906
  }
4889
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L6, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L7, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
4907
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L7, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L8, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
4890
4908
  return { $loc, token: $1 };
4891
4909
  });
4892
4910
  function UpdateExpressionSymbol(state) {
@@ -5022,7 +5040,7 @@ ${input.slice(result.pos)}
5022
5040
  return result;
5023
5041
  }
5024
5042
  }
5025
- var ActualAssignment$0 = $TS($S($P($S(__, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
5043
+ var ActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
5026
5044
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
5027
5045
  $0 = [$1, $2];
5028
5046
  return {
@@ -5151,7 +5169,7 @@ ${input.slice(result.pos)}
5151
5169
  return result;
5152
5170
  }
5153
5171
  }
5154
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L8, fail, 'FatArrow "=>"'), $EXPECT($L9, fail, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5172
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L9, fail, 'FatArrow "=>"'), $EXPECT($L10, fail, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5155
5173
  var ws = $1;
5156
5174
  if (!ws)
5157
5175
  return " =>";
@@ -5235,7 +5253,7 @@ ${input.slice(result.pos)}
5235
5253
  }
5236
5254
  }
5237
5255
  var TernaryRest$0 = NestedTernaryRest;
5238
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L10, fail, 'TernaryRest " "')), $E(_), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5256
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L11, fail, 'TernaryRest " "')), $E(_), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5239
5257
  return $0.slice(2);
5240
5258
  });
5241
5259
  function TernaryRest(state) {
@@ -5453,6 +5471,15 @@ ${input.slice(result.pos)}
5453
5471
  switch (exp.type) {
5454
5472
  case "IterationExpression":
5455
5473
  return exp;
5474
+ case "ParenthesizedExpression":
5475
+ if (exp.implicit) {
5476
+ return {
5477
+ ...exp,
5478
+ children: [open, exp.expression, ws, close],
5479
+ implicit: false
5480
+ };
5481
+ }
5482
+ break;
5456
5483
  }
5457
5484
  return {
5458
5485
  type: "ParenthesizedExpression",
@@ -5505,7 +5532,7 @@ ${input.slice(result.pos)}
5505
5532
  return result;
5506
5533
  }
5507
5534
  }
5508
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L11, fail, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5535
+ var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L12, fail, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5509
5536
  function ClassExpression(state) {
5510
5537
  let eventData;
5511
5538
  if (state.events) {
@@ -5600,7 +5627,7 @@ ${input.slice(result.pos)}
5600
5627
  return result;
5601
5628
  }
5602
5629
  }
5603
- var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L10, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5630
+ var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L11, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5604
5631
  var l = $1;
5605
5632
  var ws = $2;
5606
5633
  var lt = $3;
@@ -5636,7 +5663,7 @@ ${input.slice(result.pos)}
5636
5663
  return result;
5637
5664
  }
5638
5665
  }
5639
- var ExtendsTarget$0 = $TS($S(ExpressionWithIndentedApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5666
+ var ExtendsTarget$0 = $TS($S(ExpressionWithObjectApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5640
5667
  var exp = $1;
5641
5668
  var ta = $2;
5642
5669
  exp = makeLeftHandSideExpression(exp);
@@ -5694,7 +5721,7 @@ ${input.slice(result.pos)}
5694
5721
  return result;
5695
5722
  }
5696
5723
  }
5697
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L10, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5724
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L11, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5698
5725
  var l = $1;
5699
5726
  var ws = $2;
5700
5727
  var token = $3;
@@ -5704,7 +5731,7 @@ ${input.slice(result.pos)}
5704
5731
  }
5705
5732
  return { children };
5706
5733
  });
5707
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L12, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5734
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L13, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5708
5735
  $2 = { $loc, token: $2 };
5709
5736
  return [$1, $2];
5710
5737
  });
@@ -5730,7 +5757,7 @@ ${input.slice(result.pos)}
5730
5757
  return result;
5731
5758
  }
5732
5759
  }
5733
- var ImplementsShorthand$0 = $TV($EXPECT($L13, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5760
+ var ImplementsShorthand$0 = $TV($EXPECT($L14, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5734
5761
  return { $loc, token: "implements " };
5735
5762
  });
5736
5763
  function ImplementsShorthand(state) {
@@ -6144,7 +6171,7 @@ ${input.slice(result.pos)}
6144
6171
  }
6145
6172
  }
6146
6173
  var ThisLiteral$0 = This;
6147
- var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L14, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6174
+ var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L15, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6148
6175
  var at = $1;
6149
6176
  var id = $2;
6150
6177
  return [at, ".", id];
@@ -6198,7 +6225,7 @@ ${input.slice(result.pos)}
6198
6225
  return result;
6199
6226
  }
6200
6227
  }
6201
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L5, fail, 'LeftHandSideExpression "."'), $EXPECT($L11, fail, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6228
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L6, fail, 'LeftHandSideExpression "."'), $EXPECT($L12, fail, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6202
6229
  var LeftHandSideExpression$1 = CallExpression;
6203
6230
  function LeftHandSideExpression(state) {
6204
6231
  let eventData;
@@ -6222,14 +6249,14 @@ ${input.slice(result.pos)}
6222
6249
  return result;
6223
6250
  }
6224
6251
  }
6225
- var CallExpression$0 = $TS($S($EXPECT($L15, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6252
+ var CallExpression$0 = $TS($S($EXPECT($L16, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6226
6253
  var rest = $3;
6227
6254
  return processCallMemberExpression({
6228
6255
  type: "CallExpression",
6229
6256
  children: [$1, ...$2, ...rest.flat()]
6230
6257
  });
6231
6258
  });
6232
- var CallExpression$1 = $TS($S($EXPECT($L16, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6259
+ var CallExpression$1 = $TS($S($EXPECT($L17, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6233
6260
  var rest = $3;
6234
6261
  return processCallMemberExpression({
6235
6262
  type: "CallExpression",
@@ -6357,7 +6384,7 @@ ${input.slice(result.pos)}
6357
6384
  return result;
6358
6385
  }
6359
6386
  }
6360
- var NonNullAssertion$0 = $T($S($EXPECT($L17, fail, 'NonNullAssertion "!"'), $N($EXPECT($L18, fail, 'NonNullAssertion "^"'))), function(value) {
6387
+ var NonNullAssertion$0 = $T($S($EXPECT($L18, fail, 'NonNullAssertion "!"'), $N($EXPECT($L19, fail, 'NonNullAssertion "^"'))), function(value) {
6361
6388
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6362
6389
  });
6363
6390
  function NonNullAssertion(state) {
@@ -6497,7 +6524,7 @@ ${input.slice(result.pos)}
6497
6524
  ]
6498
6525
  };
6499
6526
  });
6500
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L19, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6527
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L20, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6501
6528
  var dot = $1;
6502
6529
  var neg = $2;
6503
6530
  var num = $3;
@@ -6717,8 +6744,8 @@ ${input.slice(result.pos)}
6717
6744
  return result;
6718
6745
  }
6719
6746
  }
6720
- var SuperProperty$0 = $S($EXPECT($L15, fail, 'SuperProperty "super"'), MemberBracketContent);
6721
- var SuperProperty$1 = $S($EXPECT($L15, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
6747
+ var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), MemberBracketContent);
6748
+ var SuperProperty$1 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
6722
6749
  function SuperProperty(state) {
6723
6750
  let eventData;
6724
6751
  if (state.events) {
@@ -6742,7 +6769,7 @@ ${input.slice(result.pos)}
6742
6769
  }
6743
6770
  }
6744
6771
  var MetaProperty$0 = $S(New, Dot, Target);
6745
- var MetaProperty$1 = $TS($S($EXPECT($L20, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6772
+ var MetaProperty$1 = $TS($S($EXPECT($L21, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6746
6773
  return { $loc, token: $1 };
6747
6774
  });
6748
6775
  var MetaProperty$2 = ReturnValue;
@@ -6768,7 +6795,7 @@ ${input.slice(result.pos)}
6768
6795
  return result;
6769
6796
  }
6770
6797
  }
6771
- var ReturnValue$0 = $TV($C($S($EXPECT($L21, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6798
+ var ReturnValue$0 = $TV($C($S($EXPECT($L22, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6772
6799
  return { type: "ReturnValue", children: [$1[0]] };
6773
6800
  });
6774
6801
  function ReturnValue(state) {
@@ -7104,7 +7131,7 @@ ${input.slice(result.pos)}
7104
7131
  return result;
7105
7132
  }
7106
7133
  }
7107
- var PinPattern$0 = $TS($S($EXPECT($L18, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7134
+ var PinPattern$0 = $TS($S($EXPECT($L19, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7108
7135
  var identifier = $2;
7109
7136
  return {
7110
7137
  type: "PinPattern",
@@ -7477,7 +7504,7 @@ ${input.slice(result.pos)}
7477
7504
  names: value.names
7478
7505
  };
7479
7506
  });
7480
- var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L18, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7507
+ var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L19, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7481
7508
  var ws = $1;
7482
7509
  var pin = $2;
7483
7510
  var binding = $3;
@@ -7651,7 +7678,7 @@ ${input.slice(result.pos)}
7651
7678
  children: [ws, binding]
7652
7679
  };
7653
7680
  });
7654
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L22, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7681
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7655
7682
  return {
7656
7683
  children: [{
7657
7684
  type: "ElisionElement",
@@ -7893,17 +7920,29 @@ ${input.slice(result.pos)}
7893
7920
  return $skip;
7894
7921
  let body, ref;
7895
7922
  if (!rhs) {
7896
- ref = {
7923
+ body = ref = {
7897
7924
  type: "Ref",
7898
7925
  base: "$",
7899
7926
  id: "$"
7900
7927
  };
7901
- body = [prefix, ref];
7902
7928
  } else {
7903
- ({ ref } = rhs);
7904
- body = [prefix, rhs];
7929
+ let exp = rhs;
7930
+ while (!exp.ref && exp.expression) {
7931
+ exp = exp.expression;
7932
+ }
7933
+ ({ ref } = exp);
7934
+ if (!ref) {
7935
+ throw new Error("Could not find ref in ampersand shorthand block");
7936
+ }
7937
+ body = rhs;
7905
7938
  }
7906
- const children = [ref, " => ", ...body];
7939
+ if (prefix) {
7940
+ body = {
7941
+ type: "UnaryExpression",
7942
+ children: [prefix, body, void 0]
7943
+ };
7944
+ }
7945
+ const children = [ref, " => ", body];
7907
7946
  if (hasAwait(body)) {
7908
7947
  children.unshift("async ");
7909
7948
  }
@@ -8063,7 +8102,7 @@ ${input.slice(result.pos)}
8063
8102
  var callExpRest = $1;
8064
8103
  var unaryPostfix = $2;
8065
8104
  var binopRHS = $3;
8066
- if (!callExpRest && !binopRHS)
8105
+ if (!callExpRest && !binopRHS && !unaryPostfix)
8067
8106
  return $skip;
8068
8107
  const ref = {
8069
8108
  type: "Ref",
@@ -8189,7 +8228,7 @@ ${input.slice(result.pos)}
8189
8228
  return result;
8190
8229
  }
8191
8230
  }
8192
- var Arrow$0 = $TV($C($EXPECT($L23, fail, 'Arrow "->"'), $EXPECT($L24, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8231
+ var Arrow$0 = $TV($C($EXPECT($L24, fail, 'Arrow "->"'), $EXPECT($L25, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8193
8232
  return { $loc, token: "->" };
8194
8233
  });
8195
8234
  function Arrow(state) {
@@ -8655,7 +8694,7 @@ ${input.slice(result.pos)}
8655
8694
  children: [$1, expressions]
8656
8695
  };
8657
8696
  });
8658
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L25, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8697
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L26, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8659
8698
  const expressions = [];
8660
8699
  return {
8661
8700
  type: "BlockStatement",
@@ -8836,7 +8875,7 @@ ${input.slice(result.pos)}
8836
8875
  return result;
8837
8876
  }
8838
8877
  }
8839
- var NullLiteral$0 = $TS($S($EXPECT($L26, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8878
+ var NullLiteral$0 = $TS($S($EXPECT($L27, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8840
8879
  return { $loc, token: $1 };
8841
8880
  });
8842
8881
  function NullLiteral(state) {
@@ -8864,7 +8903,7 @@ ${input.slice(result.pos)}
8864
8903
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
8865
8904
  return value[1];
8866
8905
  });
8867
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L27, fail, 'BooleanLiteral "true"'), $EXPECT($L28, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8906
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'BooleanLiteral "true"'), $EXPECT($L29, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8868
8907
  return { $loc, token: $1 };
8869
8908
  });
8870
8909
  function BooleanLiteral(state) {
@@ -8889,10 +8928,10 @@ ${input.slice(result.pos)}
8889
8928
  return result;
8890
8929
  }
8891
8930
  }
8892
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8931
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8893
8932
  return { $loc, token: "true" };
8894
8933
  });
8895
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8934
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L33, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8896
8935
  return { $loc, token: "false" };
8897
8936
  });
8898
8937
  function CoffeeScriptBooleanLiteral(state) {
@@ -8998,7 +9037,7 @@ ${input.slice(result.pos)}
8998
9037
  return result;
8999
9038
  }
9000
9039
  }
9001
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L2, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L2, fail, 'UpcomingAssignment "="'), $EXPECT($L33, fail, 'UpcomingAssignment ">"')))));
9040
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L34, fail, 'UpcomingAssignment ">"')))));
9002
9041
  function UpcomingAssignment(state) {
9003
9042
  let eventData;
9004
9043
  if (state.events) {
@@ -9264,7 +9303,7 @@ ${input.slice(result.pos)}
9264
9303
  }
9265
9304
  }
9266
9305
  var ArrayElementDelimiter$0 = $S(__, Comma);
9267
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'ArrayElementDelimiter "]"')));
9306
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L35, fail, 'ArrayElementDelimiter "]"')));
9268
9307
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9269
9308
  return value[1];
9270
9309
  });
@@ -9744,7 +9783,7 @@ ${input.slice(result.pos)}
9744
9783
  }
9745
9784
  }
9746
9785
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
9747
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L25, fail, 'ObjectPropertyDelimiter "}"')));
9786
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
9748
9787
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9749
9788
  return value[1];
9750
9789
  });
@@ -10076,7 +10115,7 @@ ${input.slice(result.pos)}
10076
10115
  expression
10077
10116
  };
10078
10117
  });
10079
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L19, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10118
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10080
10119
  return {
10081
10120
  type: "ComputedPropertyName",
10082
10121
  children: $0
@@ -10362,7 +10401,7 @@ ${input.slice(result.pos)}
10362
10401
  return result;
10363
10402
  }
10364
10403
  }
10365
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L14, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
10404
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L15, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
10366
10405
  return {
10367
10406
  type: "Identifier",
10368
10407
  name: $0,
@@ -10450,21 +10489,21 @@ ${input.slice(result.pos)}
10450
10489
  return result;
10451
10490
  }
10452
10491
  }
10453
- var OperatorAssignmentOp$0 = $TS($S(Xor, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10492
+ var OperatorAssignmentOp$0 = $TS($S(Xor, $EXPECT($L3, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10454
10493
  return {
10455
10494
  special: true,
10456
10495
  call: module.getRef("xor"),
10457
10496
  children: [$2, ...$4]
10458
10497
  };
10459
10498
  });
10460
- var OperatorAssignmentOp$1 = $TS($S(Xnor, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10499
+ var OperatorAssignmentOp$1 = $TS($S(Xnor, $EXPECT($L3, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10461
10500
  return {
10462
10501
  special: true,
10463
10502
  call: module.getRef("xnor"),
10464
10503
  children: [$2, ...$4]
10465
10504
  };
10466
10505
  });
10467
- var OperatorAssignmentOp$2 = $TS($S(Identifier, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10506
+ var OperatorAssignmentOp$2 = $TS($S(Identifier, $EXPECT($L3, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
10468
10507
  return {
10469
10508
  special: true,
10470
10509
  call: $1,
@@ -10493,25 +10532,25 @@ ${input.slice(result.pos)}
10493
10532
  return result;
10494
10533
  }
10495
10534
  }
10496
- var AssignmentOpSymbol$0 = $EXPECT($L35, fail, 'AssignmentOpSymbol "**="');
10497
- var AssignmentOpSymbol$1 = $EXPECT($L36, fail, 'AssignmentOpSymbol "*="');
10498
- var AssignmentOpSymbol$2 = $EXPECT($L37, fail, 'AssignmentOpSymbol "/="');
10499
- var AssignmentOpSymbol$3 = $EXPECT($L38, fail, 'AssignmentOpSymbol "%="');
10500
- var AssignmentOpSymbol$4 = $EXPECT($L39, fail, 'AssignmentOpSymbol "+="');
10501
- var AssignmentOpSymbol$5 = $EXPECT($L40, fail, 'AssignmentOpSymbol "-="');
10502
- var AssignmentOpSymbol$6 = $EXPECT($L41, fail, 'AssignmentOpSymbol "<<="');
10503
- var AssignmentOpSymbol$7 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>>="');
10504
- var AssignmentOpSymbol$8 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>="');
10505
- var AssignmentOpSymbol$9 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&&="');
10506
- var AssignmentOpSymbol$10 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&="');
10507
- var AssignmentOpSymbol$11 = $EXPECT($L46, fail, 'AssignmentOpSymbol "^="');
10508
- var AssignmentOpSymbol$12 = $EXPECT($L47, fail, 'AssignmentOpSymbol "||="');
10509
- var AssignmentOpSymbol$13 = $EXPECT($L48, fail, 'AssignmentOpSymbol "|="');
10510
- var AssignmentOpSymbol$14 = $EXPECT($L49, fail, 'AssignmentOpSymbol "??="');
10511
- var AssignmentOpSymbol$15 = $T($EXPECT($L50, fail, 'AssignmentOpSymbol "?="'), function(value) {
10535
+ var AssignmentOpSymbol$0 = $EXPECT($L36, fail, 'AssignmentOpSymbol "**="');
10536
+ var AssignmentOpSymbol$1 = $EXPECT($L37, fail, 'AssignmentOpSymbol "*="');
10537
+ var AssignmentOpSymbol$2 = $EXPECT($L38, fail, 'AssignmentOpSymbol "/="');
10538
+ var AssignmentOpSymbol$3 = $EXPECT($L39, fail, 'AssignmentOpSymbol "%="');
10539
+ var AssignmentOpSymbol$4 = $EXPECT($L40, fail, 'AssignmentOpSymbol "+="');
10540
+ var AssignmentOpSymbol$5 = $EXPECT($L41, fail, 'AssignmentOpSymbol "-="');
10541
+ var AssignmentOpSymbol$6 = $EXPECT($L42, fail, 'AssignmentOpSymbol "<<="');
10542
+ var AssignmentOpSymbol$7 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>>="');
10543
+ var AssignmentOpSymbol$8 = $EXPECT($L44, fail, 'AssignmentOpSymbol ">>="');
10544
+ var AssignmentOpSymbol$9 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&&="');
10545
+ var AssignmentOpSymbol$10 = $EXPECT($L46, fail, 'AssignmentOpSymbol "&="');
10546
+ var AssignmentOpSymbol$11 = $EXPECT($L47, fail, 'AssignmentOpSymbol "^="');
10547
+ var AssignmentOpSymbol$12 = $EXPECT($L48, fail, 'AssignmentOpSymbol "||="');
10548
+ var AssignmentOpSymbol$13 = $EXPECT($L49, fail, 'AssignmentOpSymbol "|="');
10549
+ var AssignmentOpSymbol$14 = $EXPECT($L50, fail, 'AssignmentOpSymbol "??="');
10550
+ var AssignmentOpSymbol$15 = $T($EXPECT($L51, fail, 'AssignmentOpSymbol "?="'), function(value) {
10512
10551
  return "??=";
10513
10552
  });
10514
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L2, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L2, fail, 'AssignmentOpSymbol "="'))), function(value) {
10553
+ var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, fail, 'AssignmentOpSymbol "="'))), function(value) {
10515
10554
  return value[0];
10516
10555
  });
10517
10556
  var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
@@ -10539,10 +10578,10 @@ ${input.slice(result.pos)}
10539
10578
  return result;
10540
10579
  }
10541
10580
  }
10542
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10581
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10543
10582
  return "&&=";
10544
10583
  });
10545
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10584
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L53, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10546
10585
  return "||=";
10547
10586
  });
10548
10587
  function CoffeeWordAssignmentOp(state) {
@@ -10567,6 +10606,42 @@ ${input.slice(result.pos)}
10567
10606
  return result;
10568
10607
  }
10569
10608
  }
10609
+ var NotDedentedBinaryOp$0 = $TS($S($E(IndentedFurther), $E(_), BinaryOp), function($skip, $loc, $0, $1, $2, $3) {
10610
+ const ws = [];
10611
+ if ($1)
10612
+ ws.push(...$1);
10613
+ if ($2)
10614
+ ws.push(...$2);
10615
+ return [ws, $3];
10616
+ });
10617
+ var NotDedentedBinaryOp$1 = $TS($S(Samedent, $E(_), $N(Identifier), BinaryOp), function($skip, $loc, $0, $1, $2, $3, $4) {
10618
+ const ws = [...$1];
10619
+ if ($2)
10620
+ ws.push(...$2);
10621
+ return [ws, $4];
10622
+ });
10623
+ function NotDedentedBinaryOp(state) {
10624
+ let eventData;
10625
+ if (state.events) {
10626
+ const result = state.events.enter?.("NotDedentedBinaryOp", state);
10627
+ if (result) {
10628
+ if (result.cache)
10629
+ return result.cache;
10630
+ eventData = result.data;
10631
+ }
10632
+ }
10633
+ if (state.tokenize) {
10634
+ const result = $TOKEN("NotDedentedBinaryOp", state, NotDedentedBinaryOp$0(state) || NotDedentedBinaryOp$1(state));
10635
+ if (state.events)
10636
+ state.events.exit?.("NotDedentedBinaryOp", state, result, eventData);
10637
+ return result;
10638
+ } else {
10639
+ const result = NotDedentedBinaryOp$0(state) || NotDedentedBinaryOp$1(state);
10640
+ if (state.events)
10641
+ state.events.exit?.("NotDedentedBinaryOp", state, result, eventData);
10642
+ return result;
10643
+ }
10644
+ }
10570
10645
  var BinaryOp$0 = $TS($S(BinaryOpSymbol), function($skip, $loc, $0, $1) {
10571
10646
  if (typeof $1 === "string")
10572
10647
  return { $loc, token: $1 };
@@ -10613,27 +10688,27 @@ ${input.slice(result.pos)}
10613
10688
  return result;
10614
10689
  }
10615
10690
  }
10616
- var BinaryOpSymbol$0 = $EXPECT($L53, fail, 'BinaryOpSymbol "**"');
10617
- var BinaryOpSymbol$1 = $EXPECT($L54, fail, 'BinaryOpSymbol "*"');
10618
- var BinaryOpSymbol$2 = $EXPECT($L55, fail, 'BinaryOpSymbol "/"');
10619
- var BinaryOpSymbol$3 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10691
+ var BinaryOpSymbol$0 = $EXPECT($L54, fail, 'BinaryOpSymbol "**"');
10692
+ var BinaryOpSymbol$1 = $EXPECT($L55, fail, 'BinaryOpSymbol "*"');
10693
+ var BinaryOpSymbol$2 = $EXPECT($L56, fail, 'BinaryOpSymbol "/"');
10694
+ var BinaryOpSymbol$3 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10620
10695
  return {
10621
10696
  call: module.getRef("modulo"),
10622
10697
  special: true
10623
10698
  };
10624
10699
  });
10625
- var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
10626
- var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
10627
- var BinaryOpSymbol$6 = $EXPECT($L19, fail, 'BinaryOpSymbol "-"');
10628
- var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
10629
- var BinaryOpSymbol$8 = $T($EXPECT($L60, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10700
+ var BinaryOpSymbol$4 = $EXPECT($L58, fail, 'BinaryOpSymbol "%"');
10701
+ var BinaryOpSymbol$5 = $EXPECT($L59, fail, 'BinaryOpSymbol "+"');
10702
+ var BinaryOpSymbol$6 = $EXPECT($L20, fail, 'BinaryOpSymbol "-"');
10703
+ var BinaryOpSymbol$7 = $EXPECT($L60, fail, 'BinaryOpSymbol "<="');
10704
+ var BinaryOpSymbol$8 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10630
10705
  return "<=";
10631
10706
  });
10632
- var BinaryOpSymbol$9 = $EXPECT($L61, fail, 'BinaryOpSymbol ">="');
10633
- var BinaryOpSymbol$10 = $T($EXPECT($L62, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10707
+ var BinaryOpSymbol$9 = $EXPECT($L62, fail, 'BinaryOpSymbol ">="');
10708
+ var BinaryOpSymbol$10 = $T($EXPECT($L63, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10634
10709
  return ">=";
10635
10710
  });
10636
- var BinaryOpSymbol$11 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10711
+ var BinaryOpSymbol$11 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10637
10712
  return {
10638
10713
  $loc,
10639
10714
  token: "instanceof",
@@ -10641,7 +10716,7 @@ ${input.slice(result.pos)}
10641
10716
  special: true
10642
10717
  };
10643
10718
  });
10644
- var BinaryOpSymbol$12 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10719
+ var BinaryOpSymbol$12 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10645
10720
  return {
10646
10721
  $loc,
10647
10722
  token: "instanceof",
@@ -10650,79 +10725,79 @@ ${input.slice(result.pos)}
10650
10725
  negated: true
10651
10726
  };
10652
10727
  });
10653
- var BinaryOpSymbol$13 = $EXPECT($L65, fail, 'BinaryOpSymbol "<<"');
10654
- var BinaryOpSymbol$14 = $T($EXPECT($L66, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10728
+ var BinaryOpSymbol$13 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
10729
+ var BinaryOpSymbol$14 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10655
10730
  return "<<";
10656
10731
  });
10657
10732
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10658
10733
  return "<";
10659
10734
  });
10660
- var BinaryOpSymbol$16 = $EXPECT($L67, fail, 'BinaryOpSymbol ">>>"');
10661
- var BinaryOpSymbol$17 = $T($EXPECT($L68, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10735
+ var BinaryOpSymbol$16 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>>"');
10736
+ var BinaryOpSymbol$17 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10662
10737
  return ">>>";
10663
10738
  });
10664
- var BinaryOpSymbol$18 = $EXPECT($L69, fail, 'BinaryOpSymbol ">>"');
10665
- var BinaryOpSymbol$19 = $T($EXPECT($L70, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
10739
+ var BinaryOpSymbol$18 = $EXPECT($L70, fail, 'BinaryOpSymbol ">>"');
10740
+ var BinaryOpSymbol$19 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
10666
10741
  return ">>";
10667
10742
  });
10668
- var BinaryOpSymbol$20 = $EXPECT($L33, fail, 'BinaryOpSymbol ">"');
10669
- var BinaryOpSymbol$21 = $EXPECT($L71, fail, 'BinaryOpSymbol "!=="');
10670
- var BinaryOpSymbol$22 = $T($EXPECT($L72, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
10743
+ var BinaryOpSymbol$20 = $EXPECT($L34, fail, 'BinaryOpSymbol ">"');
10744
+ var BinaryOpSymbol$21 = $EXPECT($L72, fail, 'BinaryOpSymbol "!=="');
10745
+ var BinaryOpSymbol$22 = $T($EXPECT($L73, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
10671
10746
  return "!==";
10672
10747
  });
10673
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L73, fail, 'BinaryOpSymbol "!="'), $EXPECT($L74, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10748
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "!="'), $EXPECT($L75, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10674
10749
  if (module.config.coffeeEq)
10675
10750
  return "!==";
10676
10751
  return "!=";
10677
10752
  });
10678
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L75, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10753
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10679
10754
  if (module.config.coffeeIsnt)
10680
10755
  return "!==";
10681
10756
  return $skip;
10682
10757
  });
10683
- var BinaryOpSymbol$25 = $EXPECT($L76, fail, 'BinaryOpSymbol "==="');
10684
- var BinaryOpSymbol$26 = $T($C($EXPECT($L77, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L78, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
10758
+ var BinaryOpSymbol$25 = $EXPECT($L77, fail, 'BinaryOpSymbol "==="');
10759
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L78, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
10685
10760
  return "===";
10686
10761
  });
10687
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L79, fail, 'BinaryOpSymbol "=="'), $EXPECT($L80, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10762
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L80, fail, 'BinaryOpSymbol "=="'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L82, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10688
10763
  if (module.config.coffeeEq)
10689
10764
  return "===";
10690
10765
  return "==";
10691
10766
  });
10692
- var BinaryOpSymbol$28 = $T($S($EXPECT($L82, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10767
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L83, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10693
10768
  return "&&";
10694
10769
  });
10695
- var BinaryOpSymbol$29 = $EXPECT($L83, fail, 'BinaryOpSymbol "&&"');
10696
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
10770
+ var BinaryOpSymbol$29 = $EXPECT($L84, fail, 'BinaryOpSymbol "&&"');
10771
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
10697
10772
  return "in";
10698
10773
  });
10699
- var BinaryOpSymbol$31 = $T($S($EXPECT($L85, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10774
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L86, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10700
10775
  return "||";
10701
10776
  });
10702
- var BinaryOpSymbol$32 = $EXPECT($L86, fail, 'BinaryOpSymbol "||"');
10703
- var BinaryOpSymbol$33 = $T($EXPECT($L87, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
10777
+ var BinaryOpSymbol$32 = $EXPECT($L87, fail, 'BinaryOpSymbol "||"');
10778
+ var BinaryOpSymbol$33 = $T($EXPECT($L88, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
10704
10779
  return "||";
10705
10780
  });
10706
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L88, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L89, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10781
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L89, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10707
10782
  return {
10708
10783
  call: module.getRef("xor"),
10709
10784
  special: true
10710
10785
  };
10711
10786
  });
10712
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10787
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10713
10788
  return {
10714
10789
  call: module.getRef("xnor"),
10715
10790
  special: true
10716
10791
  };
10717
10792
  });
10718
- var BinaryOpSymbol$36 = $EXPECT($L91, fail, 'BinaryOpSymbol "??"');
10719
- var BinaryOpSymbol$37 = $T($EXPECT($L92, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
10793
+ var BinaryOpSymbol$36 = $EXPECT($L92, fail, 'BinaryOpSymbol "??"');
10794
+ var BinaryOpSymbol$37 = $T($EXPECT($L93, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
10720
10795
  return "??";
10721
10796
  });
10722
- var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L4, fail, 'BinaryOpSymbol "?"')), function(value) {
10797
+ var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, fail, 'BinaryOpSymbol "?"')), function(value) {
10723
10798
  return "??";
10724
10799
  });
10725
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10800
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10726
10801
  return {
10727
10802
  $loc,
10728
10803
  token: $1,
@@ -10730,7 +10805,7 @@ ${input.slice(result.pos)}
10730
10805
  special: true
10731
10806
  };
10732
10807
  });
10733
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L93, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
10808
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
10734
10809
  return {
10735
10810
  $loc,
10736
10811
  token: "instanceof",
@@ -10739,7 +10814,7 @@ ${input.slice(result.pos)}
10739
10814
  negated: true
10740
10815
  };
10741
10816
  });
10742
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L84, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10817
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10743
10818
  return {
10744
10819
  $loc,
10745
10820
  token: "in",
@@ -10747,7 +10822,7 @@ ${input.slice(result.pos)}
10747
10822
  negated: true
10748
10823
  };
10749
10824
  });
10750
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L94, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10825
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L95, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10751
10826
  return {
10752
10827
  method: "includes",
10753
10828
  relational: true,
@@ -10755,14 +10830,14 @@ ${input.slice(result.pos)}
10755
10830
  special: true
10756
10831
  };
10757
10832
  });
10758
- var BinaryOpSymbol$43 = $TV($EXPECT($L95, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10833
+ var BinaryOpSymbol$43 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10759
10834
  return {
10760
10835
  method: "includes",
10761
10836
  relational: true,
10762
10837
  special: true
10763
10838
  };
10764
10839
  });
10765
- var BinaryOpSymbol$44 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10840
+ var BinaryOpSymbol$44 = $TV($EXPECT($L97, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10766
10841
  return {
10767
10842
  method: "includes",
10768
10843
  relational: true,
@@ -10779,7 +10854,7 @@ ${input.slice(result.pos)}
10779
10854
  special: true
10780
10855
  };
10781
10856
  });
10782
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L97, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10857
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10783
10858
  return {
10784
10859
  method: "includes",
10785
10860
  relational: true,
@@ -10823,9 +10898,9 @@ ${input.slice(result.pos)}
10823
10898
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
10824
10899
  return "in";
10825
10900
  });
10826
- var BinaryOpSymbol$51 = $EXPECT($L98, fail, 'BinaryOpSymbol "&"');
10827
- var BinaryOpSymbol$52 = $EXPECT($L18, fail, 'BinaryOpSymbol "^"');
10828
- var BinaryOpSymbol$53 = $EXPECT($L99, fail, 'BinaryOpSymbol "|"');
10901
+ var BinaryOpSymbol$51 = $EXPECT($L99, fail, 'BinaryOpSymbol "&"');
10902
+ var BinaryOpSymbol$52 = $EXPECT($L19, fail, 'BinaryOpSymbol "^"');
10903
+ var BinaryOpSymbol$53 = $EXPECT($L100, fail, 'BinaryOpSymbol "|"');
10829
10904
  function BinaryOpSymbol(state) {
10830
10905
  let eventData;
10831
10906
  if (state.events) {
@@ -10848,8 +10923,8 @@ ${input.slice(result.pos)}
10848
10923
  return result;
10849
10924
  }
10850
10925
  }
10851
- var Xor$0 = $EXPECT($L88, fail, 'Xor "^^"');
10852
- var Xor$1 = $S($EXPECT($L89, fail, 'Xor "xor"'), NonIdContinue);
10926
+ var Xor$0 = $EXPECT($L89, fail, 'Xor "^^"');
10927
+ var Xor$1 = $S($EXPECT($L90, fail, 'Xor "xor"'), NonIdContinue);
10853
10928
  function Xor(state) {
10854
10929
  let eventData;
10855
10930
  if (state.events) {
@@ -10873,7 +10948,7 @@ ${input.slice(result.pos)}
10873
10948
  }
10874
10949
  }
10875
10950
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
10876
- var Xnor$1 = $EXPECT($L90, fail, 'Xnor "xnor"');
10951
+ var Xnor$1 = $EXPECT($L91, fail, 'Xnor "xnor"');
10877
10952
  function Xnor(state) {
10878
10953
  let eventData;
10879
10954
  if (state.events) {
@@ -10896,12 +10971,12 @@ ${input.slice(result.pos)}
10896
10971
  return result;
10897
10972
  }
10898
10973
  }
10899
- var UnaryOp$0 = $TR($EXPECT($R9, fail, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10974
+ var UnaryOp$0 = $TR($EXPECT($R9, fail, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*[&.])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10900
10975
  return { $loc, token: $0 };
10901
10976
  });
10902
10977
  var UnaryOp$1 = AwaitOp;
10903
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($EXPECT($L11, fail, 'UnaryOp ":"')), $E(_));
10904
- var UnaryOp$3 = $T($S(Not, $E($EXPECT($L10, fail, 'UnaryOp " "')), $E(_)), function(value) {
10978
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($EXPECT($L12, fail, 'UnaryOp ":"')), $E(_));
10979
+ var UnaryOp$3 = $T($S(Not, $E($EXPECT($L11, fail, 'UnaryOp " "')), $E(_)), function(value) {
10905
10980
  return [value[0], value[2]];
10906
10981
  });
10907
10982
  function UnaryOp(state) {
@@ -11161,7 +11236,7 @@ ${input.slice(result.pos)}
11161
11236
  return result;
11162
11237
  }
11163
11238
  }
11164
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L100, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11239
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11165
11240
  return { type: "EmptyStatement", children: $1 || [] };
11166
11241
  });
11167
11242
  function EmptyStatement(state) {
@@ -11186,7 +11261,7 @@ ${input.slice(result.pos)}
11186
11261
  return result;
11187
11262
  }
11188
11263
  }
11189
- var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L2, fail, 'BlockStatement "="')))), function(value) {
11264
+ var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L3, fail, 'BlockStatement "="')))), function(value) {
11190
11265
  return value[0];
11191
11266
  });
11192
11267
  function BlockStatement(state) {
@@ -11240,7 +11315,7 @@ ${input.slice(result.pos)}
11240
11315
  var w = $3;
11241
11316
  return [id, colon, w];
11242
11317
  });
11243
- var Label$1 = $S($EXPECT($L101, fail, 'Label "$:"'), Whitespace);
11318
+ var Label$1 = $S($EXPECT($L102, fail, 'Label "$:"'), Whitespace);
11244
11319
  function Label(state) {
11245
11320
  let eventData;
11246
11321
  if (state.events) {
@@ -11385,6 +11460,8 @@ ${input.slice(result.pos)}
11385
11460
  var kind = $1;
11386
11461
  var condition = $2;
11387
11462
  kind = { ...kind, token: "if" };
11463
+ kind.token += getTrimmingSpace(condition);
11464
+ condition = insertTrimmingSpace(condition, "");
11388
11465
  return {
11389
11466
  type: "IfStatement",
11390
11467
  children: [kind, ["(!", condition, ")"]],
@@ -11563,7 +11640,7 @@ ${input.slice(result.pos)}
11563
11640
  children: [$1, exps, $3, $4, $5]
11564
11641
  };
11565
11642
  });
11566
- var ElseExpressionBlock$1 = $T($S($N(EOS), ExpressionWithIndentedApplicationForbidden), function(value) {
11643
+ var ElseExpressionBlock$1 = $T($S($N(EOS), ExpressionWithObjectApplicationForbidden), function(value) {
11567
11644
  return value[1];
11568
11645
  });
11569
11646
  function ElseExpressionBlock(state) {
@@ -12033,7 +12110,7 @@ ${input.slice(result.pos)}
12033
12110
  return result;
12034
12111
  }
12035
12112
  }
12036
- var WhenCondition$0 = $T($S(__, When, ExpressionWithIndentedApplicationForbidden), function(value) {
12113
+ var WhenCondition$0 = $T($S(__, When, ExpressionWithObjectApplicationForbidden), function(value) {
12037
12114
  var exp = value[2];
12038
12115
  return exp;
12039
12116
  });
@@ -12059,7 +12136,7 @@ ${input.slice(result.pos)}
12059
12136
  return result;
12060
12137
  }
12061
12138
  }
12062
- var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, $E(CoffeeForIndex), __, $C(In, Of, From), ExpressionWithIndentedApplicationForbidden, $E($S($E(_), By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12139
+ var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, $E(CoffeeForIndex), __, $C(In, Of, From), ExpressionWithObjectApplicationForbidden, $E($S($E(_), By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12063
12140
  var open = $2;
12064
12141
  var declaration = $3;
12065
12142
  var index = $4;
@@ -12224,7 +12301,7 @@ ${input.slice(result.pos)}
12224
12301
  return result;
12225
12302
  }
12226
12303
  }
12227
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L102, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12304
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L103, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12228
12305
  var own = $1;
12229
12306
  var binding = $2;
12230
12307
  return {
@@ -12270,7 +12347,7 @@ ${input.slice(result.pos)}
12270
12347
  children: $0
12271
12348
  };
12272
12349
  });
12273
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12350
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12274
12351
  var open = $2;
12275
12352
  var declaration = $4;
12276
12353
  var op = $6;
@@ -12287,7 +12364,7 @@ ${input.slice(result.pos)}
12287
12364
  children: $0
12288
12365
  };
12289
12366
  });
12290
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
12367
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
12291
12368
  var open = $2;
12292
12369
  var declaration = $3;
12293
12370
  var op = $5;
@@ -12327,14 +12404,14 @@ ${input.slice(result.pos)}
12327
12404
  return result;
12328
12405
  }
12329
12406
  }
12330
- var ForRangeParameters$0 = $TS($S($E($S(Await, __)), OpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
12407
+ var ForRangeParameters$0 = $TS($S($E($S(Await, __)), OpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
12331
12408
  var open = $2;
12332
12409
  var exp = $4;
12333
12410
  var step = $6;
12334
12411
  var close = $7;
12335
12412
  return forRange(open, null, exp, step, close);
12336
12413
  });
12337
- var ForRangeParameters$1 = $TS($S($E($S(Await, __)), InsertOpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
12414
+ var ForRangeParameters$1 = $TS($S($E($S(Await, __)), InsertOpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
12338
12415
  var open = $2;
12339
12416
  var exp = $4;
12340
12417
  var step = $6;
@@ -12790,7 +12867,7 @@ ${input.slice(result.pos)}
12790
12867
  return result;
12791
12868
  }
12792
12869
  }
12793
- var CaseExpressionList$0 = $TS($S(ForbidMultiLineImplicitObjectLiteral, $E($S($Q(_), ExpressionWithIndentedApplicationForbidden, ImpliedColon)), $Q($S(__, Comma, ExpressionWithIndentedApplicationForbidden, ImpliedColon)), RestoreMultiLineImplicitObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4) {
12870
+ var CaseExpressionList$0 = $TS($S(ForbidMultiLineImplicitObjectLiteral, $E($S($Q(_), ExpressionWithObjectApplicationForbidden, ImpliedColon)), $Q($S(__, Comma, ExpressionWithObjectApplicationForbidden, ImpliedColon)), RestoreMultiLineImplicitObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4) {
12794
12871
  var first = $2;
12795
12872
  var rest = $3;
12796
12873
  if (!first)
@@ -12852,7 +12929,7 @@ ${input.slice(result.pos)}
12852
12929
  return result;
12853
12930
  }
12854
12931
  }
12855
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L11, fail, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12932
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L12, fail, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12856
12933
  var t = $1;
12857
12934
  var b = $3;
12858
12935
  var c = $4;
@@ -13056,7 +13133,7 @@ ${input.slice(result.pos)}
13056
13133
  expression
13057
13134
  };
13058
13135
  });
13059
- var Condition$3 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationForbidden, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13136
+ var Condition$3 = $TS($S(InsertOpenParen, ExpressionWithObjectApplicationForbidden, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13060
13137
  var open = $1;
13061
13138
  var expression = $2;
13062
13139
  var close = $3;
@@ -13163,6 +13240,34 @@ ${input.slice(result.pos)}
13163
13240
  return result;
13164
13241
  }
13165
13242
  }
13243
+ var ExpressionWithObjectApplicationForbidden$0 = $TS($S(ForbidBracedApplication, ForbidIndentedApplication, ForbidNewlineBinaryOp, $E(ExtendedExpression), RestoreNewlineBinaryOp, RestoreBracedApplication, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13244
+ var exp = $4;
13245
+ if (exp)
13246
+ return exp;
13247
+ return $skip;
13248
+ });
13249
+ function ExpressionWithObjectApplicationForbidden(state) {
13250
+ let eventData;
13251
+ if (state.events) {
13252
+ const result = state.events.enter?.("ExpressionWithObjectApplicationForbidden", state);
13253
+ if (result) {
13254
+ if (result.cache)
13255
+ return result.cache;
13256
+ eventData = result.data;
13257
+ }
13258
+ }
13259
+ if (state.tokenize) {
13260
+ const result = $TOKEN("ExpressionWithObjectApplicationForbidden", state, ExpressionWithObjectApplicationForbidden$0(state));
13261
+ if (state.events)
13262
+ state.events.exit?.("ExpressionWithObjectApplicationForbidden", state, result, eventData);
13263
+ return result;
13264
+ } else {
13265
+ const result = ExpressionWithObjectApplicationForbidden$0(state);
13266
+ if (state.events)
13267
+ state.events.exit?.("ExpressionWithObjectApplicationForbidden", state, result, eventData);
13268
+ return result;
13269
+ }
13270
+ }
13166
13271
  var ForbidClassImplicitCall$0 = $TV($EXPECT($L0, fail, 'ForbidClassImplicitCall ""'), function($skip, $loc, $0, $1) {
13167
13272
  module.forbidClassImplicitCall.push(true);
13168
13273
  });
@@ -13265,6 +13370,111 @@ ${input.slice(result.pos)}
13265
13370
  return result;
13266
13371
  }
13267
13372
  }
13373
+ var ForbidBracedApplication$0 = $TV($EXPECT($L0, fail, 'ForbidBracedApplication ""'), function($skip, $loc, $0, $1) {
13374
+ module.forbidBracedApplication.push(true);
13375
+ });
13376
+ function ForbidBracedApplication(state) {
13377
+ let eventData;
13378
+ if (state.events) {
13379
+ const result = state.events.enter?.("ForbidBracedApplication", state);
13380
+ if (result) {
13381
+ if (result.cache)
13382
+ return result.cache;
13383
+ eventData = result.data;
13384
+ }
13385
+ }
13386
+ if (state.tokenize) {
13387
+ const result = $TOKEN("ForbidBracedApplication", state, ForbidBracedApplication$0(state));
13388
+ if (state.events)
13389
+ state.events.exit?.("ForbidBracedApplication", state, result, eventData);
13390
+ return result;
13391
+ } else {
13392
+ const result = ForbidBracedApplication$0(state);
13393
+ if (state.events)
13394
+ state.events.exit?.("ForbidBracedApplication", state, result, eventData);
13395
+ return result;
13396
+ }
13397
+ }
13398
+ var AllowBracedApplication$0 = $TV($EXPECT($L0, fail, 'AllowBracedApplication ""'), function($skip, $loc, $0, $1) {
13399
+ module.forbidBracedApplication.push(false);
13400
+ });
13401
+ function AllowBracedApplication(state) {
13402
+ let eventData;
13403
+ if (state.events) {
13404
+ const result = state.events.enter?.("AllowBracedApplication", state);
13405
+ if (result) {
13406
+ if (result.cache)
13407
+ return result.cache;
13408
+ eventData = result.data;
13409
+ }
13410
+ }
13411
+ if (state.tokenize) {
13412
+ const result = $TOKEN("AllowBracedApplication", state, AllowBracedApplication$0(state));
13413
+ if (state.events)
13414
+ state.events.exit?.("AllowBracedApplication", state, result, eventData);
13415
+ return result;
13416
+ } else {
13417
+ const result = AllowBracedApplication$0(state);
13418
+ if (state.events)
13419
+ state.events.exit?.("AllowBracedApplication", state, result, eventData);
13420
+ return result;
13421
+ }
13422
+ }
13423
+ var RestoreBracedApplication$0 = $TV($EXPECT($L0, fail, 'RestoreBracedApplication ""'), function($skip, $loc, $0, $1) {
13424
+ module.forbidBracedApplication.pop();
13425
+ });
13426
+ function RestoreBracedApplication(state) {
13427
+ let eventData;
13428
+ if (state.events) {
13429
+ const result = state.events.enter?.("RestoreBracedApplication", state);
13430
+ if (result) {
13431
+ if (result.cache)
13432
+ return result.cache;
13433
+ eventData = result.data;
13434
+ }
13435
+ }
13436
+ if (state.tokenize) {
13437
+ const result = $TOKEN("RestoreBracedApplication", state, RestoreBracedApplication$0(state));
13438
+ if (state.events)
13439
+ state.events.exit?.("RestoreBracedApplication", state, result, eventData);
13440
+ return result;
13441
+ } else {
13442
+ const result = RestoreBracedApplication$0(state);
13443
+ if (state.events)
13444
+ state.events.exit?.("RestoreBracedApplication", state, result, eventData);
13445
+ return result;
13446
+ }
13447
+ }
13448
+ var BracedApplicationAllowed$0 = $TV($EXPECT($L0, fail, 'BracedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
13449
+ if (module.config.verbose) {
13450
+ console.log("forbidBracedApplication:", module.forbidBracedApplication);
13451
+ }
13452
+ if (module.bracedApplicationForbidden)
13453
+ return $skip;
13454
+ return;
13455
+ });
13456
+ function BracedApplicationAllowed(state) {
13457
+ let eventData;
13458
+ if (state.events) {
13459
+ const result = state.events.enter?.("BracedApplicationAllowed", state);
13460
+ if (result) {
13461
+ if (result.cache)
13462
+ return result.cache;
13463
+ eventData = result.data;
13464
+ }
13465
+ }
13466
+ if (state.tokenize) {
13467
+ const result = $TOKEN("BracedApplicationAllowed", state, BracedApplicationAllowed$0(state));
13468
+ if (state.events)
13469
+ state.events.exit?.("BracedApplicationAllowed", state, result, eventData);
13470
+ return result;
13471
+ } else {
13472
+ const result = BracedApplicationAllowed$0(state);
13473
+ if (state.events)
13474
+ state.events.exit?.("BracedApplicationAllowed", state, result, eventData);
13475
+ return result;
13476
+ }
13477
+ }
13268
13478
  var ForbidIndentedApplication$0 = $TV($EXPECT($L0, fail, 'ForbidIndentedApplication ""'), function($skip, $loc, $0, $1) {
13269
13479
  module.forbidIndentedApplication.push(true);
13270
13480
  });
@@ -13682,7 +13892,7 @@ ${input.slice(result.pos)}
13682
13892
  return result;
13683
13893
  }
13684
13894
  }
13685
- var AllowAll$0 = $S(AllowTrailingMemberProperty, AllowIndentedApplication, AllowMultiLineImplicitObjectLiteral, AllowClassImplicitCall, AllowNewlineBinaryOp);
13895
+ var AllowAll$0 = $S(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowMultiLineImplicitObjectLiteral, AllowClassImplicitCall, AllowNewlineBinaryOp);
13686
13896
  function AllowAll(state) {
13687
13897
  let eventData;
13688
13898
  if (state.events) {
@@ -13705,7 +13915,7 @@ ${input.slice(result.pos)}
13705
13915
  return result;
13706
13916
  }
13707
13917
  }
13708
- var RestoreAll$0 = $S(RestoreTrailingMemberProperty, RestoreIndentedApplication, RestoreMultiLineImplicitObjectLiteral, RestoreClassImplicitCall, RestoreNewlineBinaryOp);
13918
+ var RestoreAll$0 = $S(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreMultiLineImplicitObjectLiteral, RestoreClassImplicitCall, RestoreNewlineBinaryOp);
13709
13919
  function RestoreAll(state) {
13710
13920
  let eventData;
13711
13921
  if (state.events) {
@@ -13767,7 +13977,7 @@ ${input.slice(result.pos)}
13767
13977
  var KeywordStatement$2 = $T($S(Debugger), function(value) {
13768
13978
  return { "type": "DebuggerStatement", "children": value };
13769
13979
  });
13770
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L11, fail, 'KeywordStatement ":"'), $EXPECT($L5, fail, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
13980
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L12, fail, 'KeywordStatement ":"'), $EXPECT($L6, fail, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
13771
13981
  var expression = value[2];
13772
13982
  return { "type": "ReturnStatement", "expression": expression, "children": value };
13773
13983
  });
@@ -13796,7 +14006,7 @@ ${input.slice(result.pos)}
13796
14006
  return result;
13797
14007
  }
13798
14008
  }
13799
- var Break$0 = $TS($S($EXPECT($L103, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14009
+ var Break$0 = $TS($S($EXPECT($L104, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13800
14010
  return { $loc, token: $1 };
13801
14011
  });
13802
14012
  function Break(state) {
@@ -13821,7 +14031,7 @@ ${input.slice(result.pos)}
13821
14031
  return result;
13822
14032
  }
13823
14033
  }
13824
- var Continue$0 = $TS($S($EXPECT($L104, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14034
+ var Continue$0 = $TS($S($EXPECT($L105, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13825
14035
  return { $loc, token: $1 };
13826
14036
  });
13827
14037
  function Continue(state) {
@@ -13846,7 +14056,7 @@ ${input.slice(result.pos)}
13846
14056
  return result;
13847
14057
  }
13848
14058
  }
13849
- var Debugger$0 = $TS($S($EXPECT($L105, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14059
+ var Debugger$0 = $TS($S($EXPECT($L106, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13850
14060
  return { $loc, token: $1 };
13851
14061
  });
13852
14062
  function Debugger(state) {
@@ -14152,7 +14362,7 @@ ${input.slice(result.pos)}
14152
14362
  return result;
14153
14363
  }
14154
14364
  }
14155
- var ImportAssertion$0 = $S($E(_), $EXPECT($L106, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14365
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L107, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14156
14366
  function ImportAssertion(state) {
14157
14367
  let eventData;
14158
14368
  if (state.events) {
@@ -14255,7 +14465,7 @@ ${input.slice(result.pos)}
14255
14465
  }
14256
14466
  }
14257
14467
  var ImportAsToken$0 = $S(__, As);
14258
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L10, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
14468
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L11, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
14259
14469
  var l = $1;
14260
14470
  var ws = $2;
14261
14471
  var c = $3;
@@ -14724,7 +14934,7 @@ ${input.slice(result.pos)}
14724
14934
  return result;
14725
14935
  }
14726
14936
  }
14727
- var ConstAssignment$0 = $TV($C($EXPECT($L107, fail, 'ConstAssignment ":="'), $EXPECT($L108, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
14937
+ var ConstAssignment$0 = $TV($C($EXPECT($L108, fail, 'ConstAssignment ":="'), $EXPECT($L109, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
14728
14938
  return { $loc, token: "=" };
14729
14939
  });
14730
14940
  function ConstAssignment(state) {
@@ -14749,7 +14959,7 @@ ${input.slice(result.pos)}
14749
14959
  return result;
14750
14960
  }
14751
14961
  }
14752
- var LetAssignment$0 = $TV($EXPECT($L109, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
14962
+ var LetAssignment$0 = $TV($EXPECT($L110, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
14753
14963
  return { $loc, token: "=" };
14754
14964
  });
14755
14965
  function LetAssignment(state) {
@@ -15456,7 +15666,7 @@ ${input.slice(result.pos)}
15456
15666
  }
15457
15667
  }
15458
15668
  var RegularExpressionLiteral$0 = HeregexLiteral;
15459
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15669
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15460
15670
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
15461
15671
  });
15462
15672
  function RegularExpressionLiteral(state) {
@@ -16023,7 +16233,7 @@ ${input.slice(result.pos)}
16023
16233
  return result;
16024
16234
  }
16025
16235
  }
16026
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L110, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L111, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L111, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16236
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L112, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16027
16237
  return { type: "Comment", $loc, token: $1 };
16028
16238
  });
16029
16239
  function JSMultiLineComment(state) {
@@ -16122,7 +16332,7 @@ ${input.slice(result.pos)}
16122
16332
  return result;
16123
16333
  }
16124
16334
  }
16125
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L110, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L111, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L111, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16335
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L112, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L112, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16126
16336
  return { $loc, token: $1 };
16127
16337
  });
16128
16338
  function InlineComment(state) {
@@ -16219,7 +16429,7 @@ ${input.slice(result.pos)}
16219
16429
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16220
16430
  return { $loc, token: $0 };
16221
16431
  });
16222
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L112, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16432
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L113, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16223
16433
  return "";
16224
16434
  });
16225
16435
  function NonNewlineWhitespace(state) {
@@ -16371,7 +16581,7 @@ ${input.slice(result.pos)}
16371
16581
  }
16372
16582
  }
16373
16583
  var StatementDelimiter$0 = SemicolonDelimiter;
16374
- var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L3, fail, 'StatementDelimiter "("'), $EXPECT($L113, fail, 'StatementDelimiter "["'), $EXPECT($L114, fail, 'StatementDelimiter "`"'), $EXPECT($L58, fail, 'StatementDelimiter "+"'), $EXPECT($L19, fail, 'StatementDelimiter "-"'), $EXPECT($L54, fail, 'StatementDelimiter "*"'), $EXPECT($L55, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L3, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16584
+ var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L4, fail, 'StatementDelimiter "("'), $EXPECT($L114, fail, 'StatementDelimiter "["'), $EXPECT($L115, fail, 'StatementDelimiter "`"'), $EXPECT($L59, fail, 'StatementDelimiter "+"'), $EXPECT($L20, fail, 'StatementDelimiter "-"'), $EXPECT($L55, fail, 'StatementDelimiter "*"'), $EXPECT($L56, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16375
16585
  var StatementDelimiter$2 = $Y(EOS);
16376
16586
  function StatementDelimiter(state) {
16377
16587
  let eventData;
@@ -16471,7 +16681,7 @@ ${input.slice(result.pos)}
16471
16681
  return result;
16472
16682
  }
16473
16683
  }
16474
- var Abstract$0 = $TV($TEXT($S($EXPECT($L115, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L10, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16684
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L116, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16475
16685
  return { $loc, token: $1, ts: true };
16476
16686
  });
16477
16687
  function Abstract(state) {
@@ -16496,7 +16706,7 @@ ${input.slice(result.pos)}
16496
16706
  return result;
16497
16707
  }
16498
16708
  }
16499
- var Ampersand$0 = $TV($EXPECT($L98, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16709
+ var Ampersand$0 = $TV($EXPECT($L99, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16500
16710
  return { $loc, token: $1 };
16501
16711
  });
16502
16712
  function Ampersand(state) {
@@ -16521,7 +16731,7 @@ ${input.slice(result.pos)}
16521
16731
  return result;
16522
16732
  }
16523
16733
  }
16524
- var As$0 = $TS($S($EXPECT($L116, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16734
+ var As$0 = $TS($S($EXPECT($L117, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16525
16735
  return { $loc, token: $1 };
16526
16736
  });
16527
16737
  function As(state) {
@@ -16546,7 +16756,7 @@ ${input.slice(result.pos)}
16546
16756
  return result;
16547
16757
  }
16548
16758
  }
16549
- var At$0 = $TV($EXPECT($L117, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16759
+ var At$0 = $TV($EXPECT($L118, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16550
16760
  return { $loc, token: $1 };
16551
16761
  });
16552
16762
  function At(state) {
@@ -16571,7 +16781,7 @@ ${input.slice(result.pos)}
16571
16781
  return result;
16572
16782
  }
16573
16783
  }
16574
- var AtAt$0 = $TV($EXPECT($L118, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16784
+ var AtAt$0 = $TV($EXPECT($L119, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16575
16785
  return { $loc, token: "@" };
16576
16786
  });
16577
16787
  function AtAt(state) {
@@ -16596,7 +16806,7 @@ ${input.slice(result.pos)}
16596
16806
  return result;
16597
16807
  }
16598
16808
  }
16599
- var Async$0 = $TS($S($EXPECT($L119, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16809
+ var Async$0 = $TS($S($EXPECT($L120, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16600
16810
  return { $loc, token: $1, type: "Async" };
16601
16811
  });
16602
16812
  function Async(state) {
@@ -16621,7 +16831,7 @@ ${input.slice(result.pos)}
16621
16831
  return result;
16622
16832
  }
16623
16833
  }
16624
- var Await$0 = $TS($S($EXPECT($L120, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16834
+ var Await$0 = $TS($S($EXPECT($L121, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16625
16835
  return { $loc, token: $1, type: "Await" };
16626
16836
  });
16627
16837
  function Await(state) {
@@ -16646,7 +16856,7 @@ ${input.slice(result.pos)}
16646
16856
  return result;
16647
16857
  }
16648
16858
  }
16649
- var Backtick$0 = $TV($EXPECT($L114, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16859
+ var Backtick$0 = $TV($EXPECT($L115, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16650
16860
  return { $loc, token: $1 };
16651
16861
  });
16652
16862
  function Backtick(state) {
@@ -16671,7 +16881,7 @@ ${input.slice(result.pos)}
16671
16881
  return result;
16672
16882
  }
16673
16883
  }
16674
- var By$0 = $TS($S($EXPECT($L121, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16884
+ var By$0 = $TS($S($EXPECT($L122, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16675
16885
  return { $loc, token: $1 };
16676
16886
  });
16677
16887
  function By(state) {
@@ -16696,7 +16906,7 @@ ${input.slice(result.pos)}
16696
16906
  return result;
16697
16907
  }
16698
16908
  }
16699
- var Case$0 = $TS($S($EXPECT($L122, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16909
+ var Case$0 = $TS($S($EXPECT($L123, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16700
16910
  return { $loc, token: $1 };
16701
16911
  });
16702
16912
  function Case(state) {
@@ -16721,7 +16931,7 @@ ${input.slice(result.pos)}
16721
16931
  return result;
16722
16932
  }
16723
16933
  }
16724
- var Catch$0 = $TS($S($EXPECT($L123, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16934
+ var Catch$0 = $TS($S($EXPECT($L124, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16725
16935
  return { $loc, token: $1 };
16726
16936
  });
16727
16937
  function Catch(state) {
@@ -16746,7 +16956,7 @@ ${input.slice(result.pos)}
16746
16956
  return result;
16747
16957
  }
16748
16958
  }
16749
- var Class$0 = $TS($S($EXPECT($L124, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16959
+ var Class$0 = $TS($S($EXPECT($L125, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16750
16960
  return { $loc, token: $1 };
16751
16961
  });
16752
16962
  function Class(state) {
@@ -16771,7 +16981,7 @@ ${input.slice(result.pos)}
16771
16981
  return result;
16772
16982
  }
16773
16983
  }
16774
- var CloseBrace$0 = $TV($EXPECT($L25, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
16984
+ var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
16775
16985
  return { $loc, token: $1 };
16776
16986
  });
16777
16987
  function CloseBrace(state) {
@@ -16796,7 +17006,7 @@ ${input.slice(result.pos)}
16796
17006
  return result;
16797
17007
  }
16798
17008
  }
16799
- var CloseBracket$0 = $TV($EXPECT($L34, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17009
+ var CloseBracket$0 = $TV($EXPECT($L35, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
16800
17010
  return { $loc, token: $1 };
16801
17011
  });
16802
17012
  function CloseBracket(state) {
@@ -16821,7 +17031,7 @@ ${input.slice(result.pos)}
16821
17031
  return result;
16822
17032
  }
16823
17033
  }
16824
- var CloseParen$0 = $TV($EXPECT($L125, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17034
+ var CloseParen$0 = $TV($EXPECT($L126, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
16825
17035
  return { $loc, token: $1 };
16826
17036
  });
16827
17037
  function CloseParen(state) {
@@ -16846,7 +17056,7 @@ ${input.slice(result.pos)}
16846
17056
  return result;
16847
17057
  }
16848
17058
  }
16849
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17059
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
16850
17060
  return { $loc, token: "${" };
16851
17061
  });
16852
17062
  function CoffeeSubstitutionStart(state) {
@@ -16871,7 +17081,7 @@ ${input.slice(result.pos)}
16871
17081
  return result;
16872
17082
  }
16873
17083
  }
16874
- var Colon$0 = $TS($S($EXPECT($L11, fail, 'Colon ":"'), $N($EXPECT($L2, fail, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
17084
+ var Colon$0 = $TS($S($EXPECT($L12, fail, 'Colon ":"'), $N($EXPECT($L3, fail, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
16875
17085
  return { $loc, token: $1 };
16876
17086
  });
16877
17087
  function Colon(state) {
@@ -16896,7 +17106,7 @@ ${input.slice(result.pos)}
16896
17106
  return result;
16897
17107
  }
16898
17108
  }
16899
- var Comma$0 = $TV($EXPECT($L22, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17109
+ var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
16900
17110
  return { $loc, token: $1 };
16901
17111
  });
16902
17112
  function Comma(state) {
@@ -16921,7 +17131,7 @@ ${input.slice(result.pos)}
16921
17131
  return result;
16922
17132
  }
16923
17133
  }
16924
- var ConstructorShorthand$0 = $TV($EXPECT($L117, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17134
+ var ConstructorShorthand$0 = $TV($EXPECT($L118, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
16925
17135
  return { $loc, token: "constructor" };
16926
17136
  });
16927
17137
  function ConstructorShorthand(state) {
@@ -16946,7 +17156,7 @@ ${input.slice(result.pos)}
16946
17156
  return result;
16947
17157
  }
16948
17158
  }
16949
- var Declare$0 = $TS($S($EXPECT($L127, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17159
+ var Declare$0 = $TS($S($EXPECT($L128, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16950
17160
  return { $loc, token: $1 };
16951
17161
  });
16952
17162
  function Declare(state) {
@@ -16971,7 +17181,7 @@ ${input.slice(result.pos)}
16971
17181
  return result;
16972
17182
  }
16973
17183
  }
16974
- var Default$0 = $TS($S($EXPECT($L128, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17184
+ var Default$0 = $TS($S($EXPECT($L129, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16975
17185
  return { $loc, token: $1 };
16976
17186
  });
16977
17187
  function Default(state) {
@@ -16996,7 +17206,7 @@ ${input.slice(result.pos)}
16996
17206
  return result;
16997
17207
  }
16998
17208
  }
16999
- var Delete$0 = $TS($S($EXPECT($L129, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17209
+ var Delete$0 = $TS($S($EXPECT($L130, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17000
17210
  return { $loc, token: $1 };
17001
17211
  });
17002
17212
  function Delete(state) {
@@ -17021,7 +17231,7 @@ ${input.slice(result.pos)}
17021
17231
  return result;
17022
17232
  }
17023
17233
  }
17024
- var Do$0 = $TS($S($EXPECT($L130, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17234
+ var Do$0 = $TS($S($EXPECT($L131, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17025
17235
  return { $loc, token: $1 };
17026
17236
  });
17027
17237
  function Do(state) {
@@ -17046,7 +17256,7 @@ ${input.slice(result.pos)}
17046
17256
  return result;
17047
17257
  }
17048
17258
  }
17049
- var Dot$0 = $TV($EXPECT($L5, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
17259
+ var Dot$0 = $TV($EXPECT($L6, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
17050
17260
  return { $loc, token: $1 };
17051
17261
  });
17052
17262
  function Dot(state) {
@@ -17071,10 +17281,10 @@ ${input.slice(result.pos)}
17071
17281
  return result;
17072
17282
  }
17073
17283
  }
17074
- var DotDot$0 = $TS($S($EXPECT($L131, fail, 'DotDot ".."'), $N($EXPECT($L5, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17284
+ var DotDot$0 = $TS($S($EXPECT($L132, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17075
17285
  return { $loc, token: $1 };
17076
17286
  });
17077
- var DotDot$1 = $TV($EXPECT($L132, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17287
+ var DotDot$1 = $TV($EXPECT($L133, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17078
17288
  return { $loc, token: ".." };
17079
17289
  });
17080
17290
  function DotDot(state) {
@@ -17099,10 +17309,10 @@ ${input.slice(result.pos)}
17099
17309
  return result;
17100
17310
  }
17101
17311
  }
17102
- var DotDotDot$0 = $TV($EXPECT($L133, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17312
+ var DotDotDot$0 = $TV($EXPECT($L134, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17103
17313
  return { $loc, token: $1 };
17104
17314
  });
17105
- var DotDotDot$1 = $TV($EXPECT($L134, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17315
+ var DotDotDot$1 = $TV($EXPECT($L135, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17106
17316
  return { $loc, token: "..." };
17107
17317
  });
17108
17318
  function DotDotDot(state) {
@@ -17127,7 +17337,7 @@ ${input.slice(result.pos)}
17127
17337
  return result;
17128
17338
  }
17129
17339
  }
17130
- var DoubleColon$0 = $TV($EXPECT($L135, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17340
+ var DoubleColon$0 = $TV($EXPECT($L136, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17131
17341
  return { $loc, token: $1 };
17132
17342
  });
17133
17343
  function DoubleColon(state) {
@@ -17152,7 +17362,7 @@ ${input.slice(result.pos)}
17152
17362
  return result;
17153
17363
  }
17154
17364
  }
17155
- var DoubleQuote$0 = $TV($EXPECT($L136, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17365
+ var DoubleQuote$0 = $TV($EXPECT($L137, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17156
17366
  return { $loc, token: $1 };
17157
17367
  });
17158
17368
  function DoubleQuote(state) {
@@ -17177,7 +17387,7 @@ ${input.slice(result.pos)}
17177
17387
  return result;
17178
17388
  }
17179
17389
  }
17180
- var Else$0 = $TS($S($EXPECT($L137, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17390
+ var Else$0 = $TS($S($EXPECT($L138, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17181
17391
  return { $loc, token: $1 };
17182
17392
  });
17183
17393
  function Else(state) {
@@ -17202,7 +17412,7 @@ ${input.slice(result.pos)}
17202
17412
  return result;
17203
17413
  }
17204
17414
  }
17205
- var Equals$0 = $TV($EXPECT($L2, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
17415
+ var Equals$0 = $TV($EXPECT($L3, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
17206
17416
  return { $loc, token: $1 };
17207
17417
  });
17208
17418
  function Equals(state) {
@@ -17227,7 +17437,7 @@ ${input.slice(result.pos)}
17227
17437
  return result;
17228
17438
  }
17229
17439
  }
17230
- var Export$0 = $TS($S($EXPECT($L138, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17440
+ var Export$0 = $TS($S($EXPECT($L139, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17231
17441
  return { $loc, token: $1 };
17232
17442
  });
17233
17443
  function Export(state) {
@@ -17252,7 +17462,7 @@ ${input.slice(result.pos)}
17252
17462
  return result;
17253
17463
  }
17254
17464
  }
17255
- var Extends$0 = $TS($S($EXPECT($L139, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17465
+ var Extends$0 = $TS($S($EXPECT($L140, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17256
17466
  return { $loc, token: $1 };
17257
17467
  });
17258
17468
  function Extends(state) {
@@ -17277,7 +17487,7 @@ ${input.slice(result.pos)}
17277
17487
  return result;
17278
17488
  }
17279
17489
  }
17280
- var Finally$0 = $TS($S($EXPECT($L140, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17490
+ var Finally$0 = $TS($S($EXPECT($L141, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17281
17491
  return { $loc, token: $1 };
17282
17492
  });
17283
17493
  function Finally(state) {
@@ -17302,7 +17512,7 @@ ${input.slice(result.pos)}
17302
17512
  return result;
17303
17513
  }
17304
17514
  }
17305
- var For$0 = $TS($S($EXPECT($L141, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17515
+ var For$0 = $TS($S($EXPECT($L142, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17306
17516
  return { $loc, token: $1 };
17307
17517
  });
17308
17518
  function For(state) {
@@ -17327,7 +17537,7 @@ ${input.slice(result.pos)}
17327
17537
  return result;
17328
17538
  }
17329
17539
  }
17330
- var From$0 = $TS($S($EXPECT($L142, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17540
+ var From$0 = $TS($S($EXPECT($L143, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17331
17541
  return { $loc, token: $1 };
17332
17542
  });
17333
17543
  function From(state) {
@@ -17352,7 +17562,7 @@ ${input.slice(result.pos)}
17352
17562
  return result;
17353
17563
  }
17354
17564
  }
17355
- var Function$0 = $TS($S($EXPECT($L143, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17565
+ var Function$0 = $TS($S($EXPECT($L144, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17356
17566
  return { $loc, token: $1 };
17357
17567
  });
17358
17568
  function Function(state) {
@@ -17377,7 +17587,7 @@ ${input.slice(result.pos)}
17377
17587
  return result;
17378
17588
  }
17379
17589
  }
17380
- var GetOrSet$0 = $TS($S($C($EXPECT($L144, fail, 'GetOrSet "get"'), $EXPECT($L145, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17590
+ var GetOrSet$0 = $TS($S($C($EXPECT($L145, fail, 'GetOrSet "get"'), $EXPECT($L146, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17381
17591
  return { $loc, token: $1, type: "GetOrSet" };
17382
17592
  });
17383
17593
  function GetOrSet(state) {
@@ -17402,7 +17612,7 @@ ${input.slice(result.pos)}
17402
17612
  return result;
17403
17613
  }
17404
17614
  }
17405
- var If$0 = $TV($TEXT($S($EXPECT($L146, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L10, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17615
+ var If$0 = $TV($TEXT($S($EXPECT($L147, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17406
17616
  return { $loc, token: $1 };
17407
17617
  });
17408
17618
  function If(state) {
@@ -17427,7 +17637,7 @@ ${input.slice(result.pos)}
17427
17637
  return result;
17428
17638
  }
17429
17639
  }
17430
- var Import$0 = $TS($S($EXPECT($L16, fail, 'Import "import"'), $Y($EXPECT($R49, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17640
+ var Import$0 = $TS($S($EXPECT($L17, fail, 'Import "import"'), $Y($EXPECT($R49, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17431
17641
  return { $loc, token: $1 };
17432
17642
  });
17433
17643
  function Import(state) {
@@ -17452,7 +17662,7 @@ ${input.slice(result.pos)}
17452
17662
  return result;
17453
17663
  }
17454
17664
  }
17455
- var In$0 = $TS($S($EXPECT($L147, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17665
+ var In$0 = $TS($S($EXPECT($L148, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17456
17666
  return { $loc, token: $1 };
17457
17667
  });
17458
17668
  function In(state) {
@@ -17477,7 +17687,7 @@ ${input.slice(result.pos)}
17477
17687
  return result;
17478
17688
  }
17479
17689
  }
17480
- var LetOrConst$0 = $TS($S($C($EXPECT($L148, fail, 'LetOrConst "let"'), $EXPECT($L149, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17690
+ var LetOrConst$0 = $TS($S($C($EXPECT($L149, fail, 'LetOrConst "let"'), $EXPECT($L150, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17481
17691
  return { $loc, token: $1 };
17482
17692
  });
17483
17693
  function LetOrConst(state) {
@@ -17502,7 +17712,7 @@ ${input.slice(result.pos)}
17502
17712
  return result;
17503
17713
  }
17504
17714
  }
17505
- var Const$0 = $TS($S($EXPECT($L149, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17715
+ var Const$0 = $TS($S($EXPECT($L150, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17506
17716
  return { $loc, token: $1 };
17507
17717
  });
17508
17718
  function Const(state) {
@@ -17527,7 +17737,7 @@ ${input.slice(result.pos)}
17527
17737
  return result;
17528
17738
  }
17529
17739
  }
17530
- var Is$0 = $TS($S($EXPECT($L150, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17740
+ var Is$0 = $TS($S($EXPECT($L151, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17531
17741
  return { $loc, token: $1 };
17532
17742
  });
17533
17743
  function Is(state) {
@@ -17576,7 +17786,7 @@ ${input.slice(result.pos)}
17576
17786
  return result;
17577
17787
  }
17578
17788
  }
17579
- var Loop$0 = $TS($S($EXPECT($L151, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17789
+ var Loop$0 = $TS($S($EXPECT($L152, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17580
17790
  return { $loc, token: "while(true)" };
17581
17791
  });
17582
17792
  function Loop(state) {
@@ -17601,7 +17811,7 @@ ${input.slice(result.pos)}
17601
17811
  return result;
17602
17812
  }
17603
17813
  }
17604
- var New$0 = $TS($S($EXPECT($L152, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17814
+ var New$0 = $TS($S($EXPECT($L153, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17605
17815
  return { $loc, token: $1 };
17606
17816
  });
17607
17817
  function New(state) {
@@ -17626,7 +17836,7 @@ ${input.slice(result.pos)}
17626
17836
  return result;
17627
17837
  }
17628
17838
  }
17629
- var Not$0 = $TS($S($EXPECT($L153, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L11, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17839
+ var Not$0 = $TS($S($EXPECT($L154, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17630
17840
  return { $loc, token: "!" };
17631
17841
  });
17632
17842
  function Not(state) {
@@ -17651,7 +17861,7 @@ ${input.slice(result.pos)}
17651
17861
  return result;
17652
17862
  }
17653
17863
  }
17654
- var Of$0 = $TS($S($EXPECT($L84, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17864
+ var Of$0 = $TS($S($EXPECT($L85, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17655
17865
  return { $loc, token: $1 };
17656
17866
  });
17657
17867
  function Of(state) {
@@ -17676,7 +17886,7 @@ ${input.slice(result.pos)}
17676
17886
  return result;
17677
17887
  }
17678
17888
  }
17679
- var OpenAngleBracket$0 = $TV($EXPECT($L154, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
17889
+ var OpenAngleBracket$0 = $TV($EXPECT($L155, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
17680
17890
  return { $loc, token: $1 };
17681
17891
  });
17682
17892
  function OpenAngleBracket(state) {
@@ -17701,7 +17911,7 @@ ${input.slice(result.pos)}
17701
17911
  return result;
17702
17912
  }
17703
17913
  }
17704
- var OpenBrace$0 = $TV($EXPECT($L155, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
17914
+ var OpenBrace$0 = $TV($EXPECT($L1, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
17705
17915
  return { $loc, token: $1 };
17706
17916
  });
17707
17917
  function OpenBrace(state) {
@@ -17726,7 +17936,7 @@ ${input.slice(result.pos)}
17726
17936
  return result;
17727
17937
  }
17728
17938
  }
17729
- var OpenBracket$0 = $TV($EXPECT($L113, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
17939
+ var OpenBracket$0 = $TV($EXPECT($L114, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
17730
17940
  return { $loc, token: $1 };
17731
17941
  });
17732
17942
  function OpenBracket(state) {
@@ -17751,7 +17961,7 @@ ${input.slice(result.pos)}
17751
17961
  return result;
17752
17962
  }
17753
17963
  }
17754
- var OpenParen$0 = $TV($EXPECT($L3, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
17964
+ var OpenParen$0 = $TV($EXPECT($L4, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
17755
17965
  return { $loc, token: $1 };
17756
17966
  });
17757
17967
  function OpenParen(state) {
@@ -17907,7 +18117,7 @@ ${input.slice(result.pos)}
17907
18117
  return result;
17908
18118
  }
17909
18119
  }
17910
- var QuestionMark$0 = $TV($EXPECT($L4, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
18120
+ var QuestionMark$0 = $TV($EXPECT($L5, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
17911
18121
  return { $loc, token: $1 };
17912
18122
  });
17913
18123
  function QuestionMark(state) {
@@ -18007,7 +18217,7 @@ ${input.slice(result.pos)}
18007
18217
  return result;
18008
18218
  }
18009
18219
  }
18010
- var Semicolon$0 = $TV($EXPECT($L100, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18220
+ var Semicolon$0 = $TV($EXPECT($L101, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18011
18221
  return { $loc, token: $1 };
18012
18222
  });
18013
18223
  function Semicolon(state) {
@@ -18057,7 +18267,7 @@ ${input.slice(result.pos)}
18057
18267
  return result;
18058
18268
  }
18059
18269
  }
18060
- var Star$0 = $TV($EXPECT($L54, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18270
+ var Star$0 = $TV($EXPECT($L55, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18061
18271
  return { $loc, token: $1 };
18062
18272
  });
18063
18273
  function Star(state) {
@@ -18085,7 +18295,7 @@ ${input.slice(result.pos)}
18085
18295
  var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18086
18296
  return { $loc, token: $1 };
18087
18297
  });
18088
- var Static$1 = $TS($S($EXPECT($L117, fail, 'Static "@"'), $N($C($EXPECT($L3, fail, 'Static "("'), $EXPECT($L117, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18298
+ var Static$1 = $TS($S($EXPECT($L118, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L118, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18089
18299
  return { $loc, token: "static " };
18090
18300
  });
18091
18301
  function Static(state) {
@@ -18705,7 +18915,7 @@ ${input.slice(result.pos)}
18705
18915
  return result;
18706
18916
  }
18707
18917
  }
18708
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L154, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L190, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
18918
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L155, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L190, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
18709
18919
  return { type: "JSXElement", children: $0, tag: $2 };
18710
18920
  });
18711
18921
  function JSXSelfClosingElement(state) {
@@ -18781,7 +18991,7 @@ ${input.slice(result.pos)}
18781
18991
  return result;
18782
18992
  }
18783
18993
  }
18784
- var JSXOpeningElement$0 = $S($EXPECT($L154, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L33, fail, 'JSXOpeningElement ">"'));
18994
+ var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
18785
18995
  function JSXOpeningElement(state) {
18786
18996
  let eventData;
18787
18997
  if (state.events) {
@@ -18833,7 +19043,7 @@ ${input.slice(result.pos)}
18833
19043
  return result;
18834
19044
  }
18835
19045
  }
18836
- var JSXClosingElement$0 = $S($EXPECT($L191, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L33, fail, 'JSXClosingElement ">"'));
19046
+ var JSXClosingElement$0 = $S($EXPECT($L191, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
18837
19047
  function JSXClosingElement(state) {
18838
19048
  let eventData;
18839
19049
  if (state.events) {
@@ -18979,7 +19189,7 @@ ${input.slice(result.pos)}
18979
19189
  return result;
18980
19190
  }
18981
19191
  }
18982
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L14, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
19192
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L15, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
18983
19193
  return module.config.defaultElement;
18984
19194
  });
18985
19195
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -19206,7 +19416,7 @@ ${input.slice(result.pos)}
19206
19416
  }
19207
19417
  return $skip;
19208
19418
  });
19209
- var JSXAttribute$5 = $TS($S($EXPECT($L14, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19419
+ var JSXAttribute$5 = $TS($S($EXPECT($L15, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19210
19420
  return [" ", "id=", $2];
19211
19421
  });
19212
19422
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -19536,7 +19746,7 @@ ${input.slice(result.pos)}
19536
19746
  return result;
19537
19747
  }
19538
19748
  }
19539
- var InlineJSXCallExpression$0 = $TS($S($EXPECT($L15, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19749
+ var InlineJSXCallExpression$0 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19540
19750
  var args = $2;
19541
19751
  var rest = $3;
19542
19752
  return processCallMemberExpression({
@@ -19548,7 +19758,7 @@ ${input.slice(result.pos)}
19548
19758
  ]
19549
19759
  });
19550
19760
  });
19551
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19761
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19552
19762
  var args = $2;
19553
19763
  var rest = $3;
19554
19764
  return processCallMemberExpression({
@@ -19796,7 +20006,7 @@ ${input.slice(result.pos)}
19796
20006
  }
19797
20007
  return $skip;
19798
20008
  });
19799
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L25, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20009
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L26, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
19800
20010
  return { children: [], jsxChildren: [] };
19801
20011
  });
19802
20012
  function JSXNestedChildren(state) {
@@ -21021,27 +21231,54 @@ ${input.slice(result.pos)}
21021
21231
  return result;
21022
21232
  }
21023
21233
  }
21024
- var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, $E($S(__, $EXPECT($L202, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
21025
- var asserts = $3;
21026
- var t = $4;
21234
+ var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3) {
21235
+ var t = $3;
21236
+ return { ...t, children: [$1, $2, ...t.children] };
21237
+ });
21238
+ function ReturnTypeSuffix(state) {
21239
+ let eventData;
21240
+ if (state.events) {
21241
+ const result = state.events.enter?.("ReturnTypeSuffix", state);
21242
+ if (result) {
21243
+ if (result.cache)
21244
+ return result.cache;
21245
+ eventData = result.data;
21246
+ }
21247
+ }
21248
+ if (state.tokenize) {
21249
+ const result = $TOKEN("ReturnTypeSuffix", state, ReturnTypeSuffix$0(state));
21250
+ if (state.events)
21251
+ state.events.exit?.("ReturnTypeSuffix", state, result, eventData);
21252
+ return result;
21253
+ } else {
21254
+ const result = ReturnTypeSuffix$0(state);
21255
+ if (state.events)
21256
+ state.events.exit?.("ReturnTypeSuffix", state, result, eventData);
21257
+ return result;
21258
+ }
21259
+ }
21260
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L202, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21261
+ var asserts = $1;
21262
+ var t = $2;
21027
21263
  if (asserts) {
21028
21264
  t = {
21029
21265
  type: "AssertsType",
21030
21266
  t,
21031
- children: [asserts[0], asserts[1], t]
21267
+ children: [asserts[0], asserts[1], t],
21268
+ ts: true
21032
21269
  };
21033
21270
  }
21034
21271
  return {
21035
21272
  type: "ReturnTypeAnnotation",
21036
- children: [$1, $2, t],
21273
+ children: [t],
21037
21274
  t,
21038
21275
  ts: true
21039
21276
  };
21040
21277
  });
21041
- function ReturnTypeSuffix(state) {
21278
+ function ReturnType(state) {
21042
21279
  let eventData;
21043
21280
  if (state.events) {
21044
- const result = state.events.enter?.("ReturnTypeSuffix", state);
21281
+ const result = state.events.enter?.("ReturnType", state);
21045
21282
  if (result) {
21046
21283
  if (result.cache)
21047
21284
  return result.cache;
@@ -21049,18 +21286,18 @@ ${input.slice(result.pos)}
21049
21286
  }
21050
21287
  }
21051
21288
  if (state.tokenize) {
21052
- const result = $TOKEN("ReturnTypeSuffix", state, ReturnTypeSuffix$0(state));
21289
+ const result = $TOKEN("ReturnType", state, ReturnType$0(state));
21053
21290
  if (state.events)
21054
- state.events.exit?.("ReturnTypeSuffix", state, result, eventData);
21291
+ state.events.exit?.("ReturnType", state, result, eventData);
21055
21292
  return result;
21056
21293
  } else {
21057
- const result = ReturnTypeSuffix$0(state);
21294
+ const result = ReturnType$0(state);
21058
21295
  if (state.events)
21059
- state.events.exit?.("ReturnTypeSuffix", state, result, eventData);
21296
+ state.events.exit?.("ReturnType", state, result, eventData);
21060
21297
  return result;
21061
21298
  }
21062
21299
  }
21063
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L150, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21300
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L151, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21064
21301
  var lhs = $1;
21065
21302
  var rhs = $2;
21066
21303
  if (!rhs)
@@ -21296,8 +21533,8 @@ ${input.slice(result.pos)}
21296
21533
  return result;
21297
21534
  }
21298
21535
  }
21299
- var ImportType$0 = $S($EXPECT($L16, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21300
- var ImportType$1 = $S($EXPECT($L16, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21536
+ var ImportType$0 = $S($EXPECT($L17, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21537
+ var ImportType$1 = $S($EXPECT($L17, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21301
21538
  function ImportType(state) {
21302
21539
  let eventData;
21303
21540
  if (state.events) {
@@ -21451,7 +21688,7 @@ ${input.slice(result.pos)}
21451
21688
  return result;
21452
21689
  }
21453
21690
  }
21454
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L139, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
21691
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
21455
21692
  if ($2)
21456
21693
  return $0;
21457
21694
  return $1;
@@ -21661,7 +21898,7 @@ ${input.slice(result.pos)}
21661
21898
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
21662
21899
  return value[1];
21663
21900
  });
21664
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L11, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L34, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L25, fail, 'InlineInterfacePropertyDelimiter "}"'))));
21901
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, fail, 'InlineInterfacePropertyDelimiter "}"'))));
21665
21902
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
21666
21903
  function InlineInterfacePropertyDelimiter(state) {
21667
21904
  let eventData;
@@ -21685,10 +21922,10 @@ ${input.slice(result.pos)}
21685
21922
  return result;
21686
21923
  }
21687
21924
  }
21688
- var TypeBinaryOp$0 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
21925
+ var TypeBinaryOp$0 = $TV($EXPECT($L100, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
21689
21926
  return { $loc, token: "|" };
21690
21927
  });
21691
- var TypeBinaryOp$1 = $TV($EXPECT($L98, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
21928
+ var TypeBinaryOp$1 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
21692
21929
  return { $loc, token: "&" };
21693
21930
  });
21694
21931
  function TypeBinaryOp(state) {
@@ -21713,7 +21950,7 @@ ${input.slice(result.pos)}
21713
21950
  return result;
21714
21951
  }
21715
21952
  }
21716
- var FunctionType$0 = $TS($S($E($S(New, $E(_))), Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21953
+ var FunctionType$0 = $TS($S($E($S($E($S(Abstract, $E(_))), New, $E(_))), Parameters, __, TypeArrowFunction, $E(ReturnType)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21717
21954
  var type = $5;
21718
21955
  if (type) {
21719
21956
  return $0;
@@ -21742,7 +21979,7 @@ ${input.slice(result.pos)}
21742
21979
  return result;
21743
21980
  }
21744
21981
  }
21745
- var TypeArrowFunction$0 = $TV($C($EXPECT($L8, fail, 'TypeArrowFunction "=>"'), $EXPECT($L9, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L23, fail, 'TypeArrowFunction "->"'), $EXPECT($L24, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
21982
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L9, fail, 'TypeArrowFunction "=>"'), $EXPECT($L10, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L24, fail, 'TypeArrowFunction "->"'), $EXPECT($L25, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
21746
21983
  return { $loc, token: "=>" };
21747
21984
  });
21748
21985
  function TypeArrowFunction(state) {
@@ -21767,7 +22004,7 @@ ${input.slice(result.pos)}
21767
22004
  return result;
21768
22005
  }
21769
22006
  }
21770
- var TypeArguments$0 = $TS($S($EXPECT($L154, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L33, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22007
+ var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
21771
22008
  return { ts: true, children: $0 };
21772
22009
  });
21773
22010
  function TypeArguments(state) {
@@ -21838,7 +22075,7 @@ ${input.slice(result.pos)}
21838
22075
  return result;
21839
22076
  }
21840
22077
  }
21841
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L154, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L33, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22078
+ var TypeParameters$0 = $TS($S($E(_), $EXPECT($L155, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L34, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21842
22079
  var parameters = $3;
21843
22080
  return {
21844
22081
  type: "TypeParameters",
@@ -21869,7 +22106,7 @@ ${input.slice(result.pos)}
21869
22106
  return result;
21870
22107
  }
21871
22108
  }
21872
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L149, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22109
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L150, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
21873
22110
  function TypeParameter(state) {
21874
22111
  let eventData;
21875
22112
  if (state.events) {
@@ -21892,7 +22129,7 @@ ${input.slice(result.pos)}
21892
22129
  return result;
21893
22130
  }
21894
22131
  }
21895
- var TypeConstraint$0 = $S(__, $EXPECT($L139, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22132
+ var TypeConstraint$0 = $S(__, $EXPECT($L140, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
21896
22133
  function TypeConstraint(state) {
21897
22134
  let eventData;
21898
22135
  if (state.events) {
@@ -21915,7 +22152,7 @@ ${input.slice(result.pos)}
21915
22152
  return result;
21916
22153
  }
21917
22154
  }
21918
- var TypeInitializer$0 = $S(__, $EXPECT($L2, fail, 'TypeInitializer "="'), Type);
22155
+ var TypeInitializer$0 = $S(__, $EXPECT($L3, fail, 'TypeInitializer "="'), Type);
21919
22156
  function TypeInitializer(state) {
21920
22157
  let eventData;
21921
22158
  if (state.events) {
@@ -21939,7 +22176,7 @@ ${input.slice(result.pos)}
21939
22176
  }
21940
22177
  }
21941
22178
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
21942
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L33, fail, 'TypeParameterDelimiter ">"')));
22179
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'TypeParameterDelimiter ">"')));
21943
22180
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
21944
22181
  return value[1];
21945
22182
  });
@@ -23064,6 +23301,7 @@ ${input.slice(result.pos)}
23064
23301
  }];
23065
23302
  module.forbidClassImplicitCall = [false];
23066
23303
  module.forbidIndentedApplication = [false];
23304
+ module.forbidBracedApplication = [false];
23067
23305
  module.forbidTrailingMemberProperty = [false];
23068
23306
  module.forbidMultiLineImplicitObjectLiteral = [false];
23069
23307
  module.forbidNewlineBinaryOp = [false];
@@ -23090,6 +23328,12 @@ ${input.slice(result.pos)}
23090
23328
  return s[s.length - 1];
23091
23329
  }
23092
23330
  },
23331
+ bracedApplicationForbidden: {
23332
+ get() {
23333
+ const { forbidBracedApplication: s } = module;
23334
+ return s[s.length - 1];
23335
+ }
23336
+ },
23093
23337
  trailingMemberPropertyForbidden: {
23094
23338
  get() {
23095
23339
  const { forbidTrailingMemberProperty: s } = module;
@@ -24084,7 +24328,7 @@ ${input.slice(result.pos)}
24084
24328
  var uncacheable;
24085
24329
  ({ parse } = import_parser.default);
24086
24330
  ({ SourceMap: SourceMap2 } = util_exports);
24087
- uncacheable = /* @__PURE__ */ new Set(["ActualAssignment", "AllowAll", "AllowClassImplicitCall", "AllowIndentedApplication", "AllowMultiLineImplicitObjectLiteral", "AllowNewlineBinaryOp", "AllowTrailingMemberProperty", "AllowedTrailingMemberExpressions", "ApplicationStart", "Arguments", "ArgumentsWithTrailingMemberExpressions", "ArrowFunction", "ArrowFunctionTail", "AssignmentExpression", "AssignmentExpressionTail", "BinaryOpExpression", "BinaryOpRHS", "BracedBlock", "BracedObjectLiteralContent", "BracedOrEmptyBlock", "CallExpression", "CallExpressionRest", "ClassImplicitCallForbidden", "CoffeeCommentEnabled", "CommaDelimiter", "ConditionalExpression", "ConditionFragment", "Declaration", "Debugger", "Dedented", "ElementListWithIndentedApplicationForbidden", "ElseClause", "Expression", "ExpressionStatement", "ExpressionWithIndentedApplicationForbidden", "ExtendedExpression", "FatArrowBody", "ForbidClassImplicitCall", "ForbidIndentedApplication", "ForbidMultiLineImplicitObjectLiteral", "ForbidNewlineBinaryOp", "ForbidTrailingMemberProperty", "FunctionDeclaration", "FunctionExpression", "HoistableDeclaration", "ImplicitArguments", "ImplicitInlineObjectPropertyDelimiter", "ImplicitNestedBlock", "IndentedApplicationAllowed", "IndentedFurther", "IndentedJSXChildExpression", "InlineObjectLiteral", "InsertIndent", "JSXChild", "JSXChildren", "JSXElement", "JSXFragment", "JSXImplicitFragment", "JSXMixedChildren", "JSXNested", "JSXNestedChildren", "JSXOptionalClosingElement", "JSXOptionalClosingFragment", "JSXTag", "LeftHandSideExpression", "MemberExpression", "MemberExpressionRest", "Nested", "NestedBindingElement", "NestedBindingElements", "NestedBlockExpression", "NestedBlockExpression", "NestedBlockStatement", "NestedBlockStatements", "NestedClassSignatureElement", "NestedClassSignatureElements", "NestedDeclareElement", "NestedDeclareElements", "NestedElement", "NestedElementList", "NestedImplicitObjectLiteral", "NestedImplicitPropertyDefinition", "NestedImplicitPropertyDefinitions", "NestedInterfaceProperty", "NestedJSXChildExpression", "NestedModuleItem", "NestedModuleItems", "NestedNonAssignmentExtendedExpression", "NestedObject", "NestedPropertyDefinitions", "NewlineBinaryOpAllowed", "NonSingleBracedBlock", "NotDedented", "ObjectLiteral", "PatternExpressionList", "PopIndent", "PopJSXStack", "PostfixedExpression", "PostfixedStatement", "PrimaryExpression", "PushIndent", "PushJSXOpeningElement", "PushJSXOpeningFragment", "RestoreAll", "RestoreClassImplicitCall", "RestoreMultiLineImplicitObjectLiteral", "RestoreIndentedApplication", "RestoreTrailingMemberProperty", "RestoreNewlineBinaryOp", "RHS", "Samedent", "ShortCircuitExpression", "SingleLineAssignmentExpression", "SingleLineBinaryOpRHS", "SingleLineComment", "SingleLineStatements", "SnugNamedProperty", "Statement", "StatementListItem", "SuffixedExpression", "SuffixedStatement", "ThinArrowFunction", "TrackIndented", "TrailingMemberExpressions", "TrailingMemberPropertyAllowed", "TypedJSXElement", "TypedJSXFragment", "UnaryExpression", "UpdateExpression"]);
24331
+ uncacheable = /* @__PURE__ */ new Set(["ActualAssignment", "AllowAll", "AllowClassImplicitCall", "AllowBracedApplication", "AllowIndentedApplication", "AllowMultiLineImplicitObjectLiteral", "AllowNewlineBinaryOp", "AllowTrailingMemberProperty", "AllowedTrailingMemberExpressions", "ApplicationStart", "Arguments", "ArgumentsWithTrailingMemberExpressions", "ArrowFunction", "ArrowFunctionTail", "AssignmentExpression", "AssignmentExpressionTail", "BinaryOpExpression", "BinaryOpRHS", "BracedApplicationAllowed", "BracedBlock", "BracedObjectLiteralContent", "BracedOrEmptyBlock", "CallExpression", "CallExpressionRest", "ClassImplicitCallForbidden", "CoffeeCommentEnabled", "CommaDelimiter", "ConditionalExpression", "ConditionFragment", "Declaration", "Debugger", "Dedented", "ElementListWithIndentedApplicationForbidden", "ElseClause", "Expression", "ExpressionStatement", "ExpressionWithIndentedApplicationForbidden", "ExpressionWithObjectApplicationForbidden", "ExtendedExpression", "FatArrowBody", "ForbidClassImplicitCall", "ForbidBracedApplication", "ForbidIndentedApplication", "ForbidMultiLineImplicitObjectLiteral", "ForbidNewlineBinaryOp", "ForbidTrailingMemberProperty", "FunctionDeclaration", "FunctionExpression", "HoistableDeclaration", "ImplicitArguments", "ImplicitInlineObjectPropertyDelimiter", "ImplicitNestedBlock", "IndentedApplicationAllowed", "IndentedFurther", "IndentedJSXChildExpression", "InlineObjectLiteral", "InsertIndent", "JSXChild", "JSXChildren", "JSXElement", "JSXFragment", "JSXImplicitFragment", "JSXMixedChildren", "JSXNested", "JSXNestedChildren", "JSXOptionalClosingElement", "JSXOptionalClosingFragment", "JSXTag", "LeftHandSideExpression", "MemberExpression", "MemberExpressionRest", "Nested", "NestedBindingElement", "NestedBindingElements", "NestedBlockExpression", "NestedBlockExpression", "NestedBlockStatement", "NestedBlockStatements", "NestedClassSignatureElement", "NestedClassSignatureElements", "NestedDeclareElement", "NestedDeclareElements", "NestedElement", "NestedElementList", "NestedImplicitObjectLiteral", "NestedImplicitPropertyDefinition", "NestedImplicitPropertyDefinitions", "NestedInterfaceProperty", "NestedJSXChildExpression", "NestedModuleItem", "NestedModuleItems", "NestedNonAssignmentExtendedExpression", "NestedObject", "NestedPropertyDefinitions", "NewlineBinaryOpAllowed", "NonPipelineAssignmentExpression", "NonPipelineExtendedExpression", "NonPipelinePostfixedExpression", "NonSingleBracedBlock", "NotDedented", "ObjectLiteral", "PatternExpressionList", "PopIndent", "PopJSXStack", "PostfixedExpression", "PostfixedStatement", "PrimaryExpression", "PushIndent", "PushJSXOpeningElement", "PushJSXOpeningFragment", "RestoreAll", "RestoreClassImplicitCall", "RestoreMultiLineImplicitObjectLiteral", "RestoreBracedApplication", "RestoreIndentedApplication", "RestoreTrailingMemberProperty", "RestoreNewlineBinaryOp", "RHS", "Samedent", "ShortCircuitExpression", "SingleLineAssignmentExpression", "SingleLineBinaryOpRHS", "SingleLineComment", "SingleLineStatements", "SnugNamedProperty", "Statement", "StatementListItem", "SuffixedExpression", "SuffixedStatement", "ThinArrowFunction", "TrackIndented", "TrailingMemberExpressions", "TrailingMemberPropertyAllowed", "TypedJSXElement", "TypedJSXFragment", "UnaryExpression", "UpdateExpression"]);
24088
24332
  var compile = function(src, options) {
24089
24333
  var ast, code, events, filename, ref, result, sm;
24090
24334
  if (!options) {