@danielx/civet 0.5.89 → 0.5.91

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
@@ -436,16 +436,18 @@ var Civet = (() => {
436
436
  }
437
437
  let [splices, thisAssignments] = gatherBindingCode(id);
438
438
  splices = splices.map((s) => [", ", s]);
439
- thisAssignments = thisAssignments.map((a) => [";", a]);
439
+ thisAssignments = thisAssignments.map((a) => ["", a, ";"]);
440
440
  const binding = [c, id, suffix, ...ws];
441
- const initializer = [ca, e, ...splices, ...thisAssignments];
441
+ const initializer = [ca, e];
442
442
  const children = [binding, initializer];
443
443
  return {
444
444
  type: "Declaration",
445
445
  names: id.names,
446
446
  children,
447
447
  binding,
448
- initializer
448
+ initializer,
449
+ splices,
450
+ thisAssignments
449
451
  };
450
452
  }
451
453
  function processLetAssignmentDeclaration(l, id, suffix, ws, la, e) {
@@ -458,18 +460,87 @@ var Civet = (() => {
458
460
  };
459
461
  let [splices, thisAssignments] = gatherBindingCode(id);
460
462
  splices = splices.map((s) => [", ", s]);
461
- thisAssignments = thisAssignments.map((a) => [";", a]);
463
+ thisAssignments = thisAssignments.map((a) => ["", a, ";"]);
462
464
  const binding = [l, id, suffix, ...ws];
463
- const initializer = [la, e, ...splices, ...thisAssignments];
465
+ const initializer = [la, e];
464
466
  const children = [binding, initializer];
465
467
  return {
466
468
  type: "Declaration",
467
469
  names: id.names,
468
470
  children,
469
471
  binding,
470
- initializer
472
+ initializer,
473
+ splices,
474
+ thisAssignments
471
475
  };
472
476
  }
477
+ function processUnaryExpression(pre, exp, post) {
478
+ if (post?.token === "?") {
479
+ post = {
480
+ $loc: post.$loc,
481
+ token: " != null"
482
+ };
483
+ switch (exp.type) {
484
+ case "Identifier":
485
+ case "Literal":
486
+ return {
487
+ ...exp,
488
+ children: [...pre, ...exp.children, post]
489
+ };
490
+ default:
491
+ const expression = {
492
+ ...exp,
493
+ children: [...pre, "(", exp.children, ")", post]
494
+ };
495
+ return {
496
+ type: "ParenthesizedExpression",
497
+ children: ["(", expression, ")"],
498
+ expression
499
+ };
500
+ }
501
+ }
502
+ if (exp.type === "Literal") {
503
+ if (pre.length === 1 && pre[0].token === "-") {
504
+ const children = [pre[0], ...exp.children];
505
+ if (post)
506
+ exp.children.push(post);
507
+ return {
508
+ type: "Literal",
509
+ children,
510
+ raw: `-${exp.raw}`
511
+ };
512
+ }
513
+ }
514
+ const l = pre.length;
515
+ if (l) {
516
+ const last = pre[l - 1];
517
+ if (last.type === "Await" && last.op) {
518
+ if (exp.type !== "ParenthesizedExpression") {
519
+ exp = ["(", exp, ")"];
520
+ }
521
+ exp = {
522
+ type: "CallExpression",
523
+ children: [" Promise", last.op, exp]
524
+ };
525
+ }
526
+ }
527
+ if (exp.children) {
528
+ const children = [...pre, ...exp.children];
529
+ if (post)
530
+ children.push(post);
531
+ return Object.assign({}, exp, { children });
532
+ } else if (Array.isArray(exp)) {
533
+ const children = [...pre, ...exp];
534
+ if (post)
535
+ children.push(post);
536
+ return { children };
537
+ } else {
538
+ const children = [...pre, exp];
539
+ if (post)
540
+ children.push(post);
541
+ return { children };
542
+ }
543
+ }
473
544
  module.exports = {
474
545
  blockWithPrefix,
475
546
  clone,
@@ -493,6 +564,7 @@ var Civet = (() => {
493
564
  processCoffeeInterpolation,
494
565
  processConstAssignmentDeclaration,
495
566
  processLetAssignmentDeclaration,
567
+ processUnaryExpression,
496
568
  quoteString,
497
569
  removeParentPointers
498
570
  };
@@ -907,6 +979,7 @@ ${input.slice(result.pos)}
907
979
  SingleLineExtendedExpression,
908
980
  NonPipelineExtendedExpression,
909
981
  NonAssignmentExtendedExpression,
982
+ NestedNonAssignmentExtendedExpression,
910
983
  ExpressionizedStatement,
911
984
  Expression,
912
985
  Arguments,
@@ -1116,6 +1189,7 @@ ${input.slice(result.pos)}
1116
1189
  Xor,
1117
1190
  Xnor,
1118
1191
  UnaryOp,
1192
+ AwaitOp,
1119
1193
  ModuleItem,
1120
1194
  StatementListItem,
1121
1195
  PostfixedStatement,
@@ -1537,6 +1611,7 @@ ${input.slice(result.pos)}
1537
1611
  Samedent,
1538
1612
  IndentedFurther,
1539
1613
  NotDedented,
1614
+ Dedented,
1540
1615
  PushIndent,
1541
1616
  PopIndent,
1542
1617
  Nested
@@ -1573,84 +1648,84 @@ ${input.slice(result.pos)}
1573
1648
  var $L29 = $L("off");
1574
1649
  var $L30 = $L(">");
1575
1650
  var $L31 = $L("]");
1576
- var $L32 = $L(":");
1577
- var $L33 = $L(")");
1578
- var $L34 = $L("**=");
1579
- var $L35 = $L("*=");
1580
- var $L36 = $L("/=");
1581
- var $L37 = $L("%=");
1582
- var $L38 = $L("+=");
1583
- var $L39 = $L("-=");
1584
- var $L40 = $L("<<=");
1585
- var $L41 = $L(">>>=");
1586
- var $L42 = $L(">>=");
1587
- var $L43 = $L("&&=");
1588
- var $L44 = $L("&=");
1589
- var $L45 = $L("^=");
1590
- var $L46 = $L("||=");
1591
- var $L47 = $L("|=");
1592
- var $L48 = $L("??=");
1593
- var $L49 = $L("?=");
1594
- var $L50 = $L("and=");
1595
- var $L51 = $L("or=");
1596
- var $L52 = $L("not");
1597
- var $L53 = $L("**");
1598
- var $L54 = $L("*");
1599
- var $L55 = $L("/");
1600
- var $L56 = $L("%%");
1601
- var $L57 = $L("%");
1602
- var $L58 = $L("+");
1603
- var $L59 = $L("<=");
1604
- var $L60 = $L(">=");
1605
- var $L61 = $L("<?");
1606
- var $L62 = $L("!<?");
1607
- var $L63 = $L("<<");
1608
- var $L64 = $L(">>>");
1609
- var $L65 = $L(">>");
1610
- var $L66 = $L("!==");
1611
- var $L67 = $L("!=");
1612
- var $L68 = $L("isnt");
1613
- var $L69 = $L("===");
1614
- var $L70 = $L("==");
1615
- var $L71 = $L("and");
1616
- var $L72 = $L("&&");
1617
- var $L73 = $L("of");
1618
- var $L74 = $L("or");
1619
- var $L75 = $L("||");
1620
- var $L76 = $L("^^");
1621
- var $L77 = $L("xor");
1622
- var $L78 = $L("xnor");
1623
- var $L79 = $L("??");
1624
- var $L80 = $L("instanceof");
1625
- var $L81 = $L("in");
1626
- var $L82 = $L("is");
1627
- var $L83 = $L("&");
1628
- var $L84 = $L("|");
1629
- var $L85 = $L(";");
1630
- var $L86 = $L("$:");
1631
- var $L87 = $L("own");
1632
- var $L88 = $L("break");
1633
- var $L89 = $L("continue");
1634
- var $L90 = $L("debugger");
1635
- var $L91 = $L("assert");
1636
- var $L92 = $L(":=");
1637
- var $L93 = $L(".=");
1638
- var $L94 = $L("/*");
1639
- var $L95 = $L("*/");
1640
- var $L96 = $L("\\");
1641
- var $L97 = $L("[");
1642
- var $L98 = $L("`");
1643
- var $L99 = $L("abstract");
1644
- var $L100 = $L("as");
1645
- var $L101 = $L("@");
1646
- var $L102 = $L("@@");
1647
- var $L103 = $L("async");
1648
- var $L104 = $L("await");
1649
- var $L105 = $L("by");
1650
- var $L106 = $L("case");
1651
- var $L107 = $L("catch");
1652
- var $L108 = $L("class");
1653
- var $L109 = $L("#{");
1651
+ var $L32 = $L("**=");
1652
+ var $L33 = $L("*=");
1653
+ var $L34 = $L("/=");
1654
+ var $L35 = $L("%=");
1655
+ var $L36 = $L("+=");
1656
+ var $L37 = $L("-=");
1657
+ var $L38 = $L("<<=");
1658
+ var $L39 = $L(">>>=");
1659
+ var $L40 = $L(">>=");
1660
+ var $L41 = $L("&&=");
1661
+ var $L42 = $L("&=");
1662
+ var $L43 = $L("^=");
1663
+ var $L44 = $L("||=");
1664
+ var $L45 = $L("|=");
1665
+ var $L46 = $L("??=");
1666
+ var $L47 = $L("?=");
1667
+ var $L48 = $L("and=");
1668
+ var $L49 = $L("or=");
1669
+ var $L50 = $L("not");
1670
+ var $L51 = $L("**");
1671
+ var $L52 = $L("*");
1672
+ var $L53 = $L("/");
1673
+ var $L54 = $L("%%");
1674
+ var $L55 = $L("%");
1675
+ var $L56 = $L("+");
1676
+ var $L57 = $L("<=");
1677
+ var $L58 = $L(">=");
1678
+ var $L59 = $L("<?");
1679
+ var $L60 = $L("!<?");
1680
+ var $L61 = $L("<<");
1681
+ var $L62 = $L(">>>");
1682
+ var $L63 = $L(">>");
1683
+ var $L64 = $L("!==");
1684
+ var $L65 = $L("!=");
1685
+ var $L66 = $L("isnt");
1686
+ var $L67 = $L("===");
1687
+ var $L68 = $L("==");
1688
+ var $L69 = $L("and");
1689
+ var $L70 = $L("&&");
1690
+ var $L71 = $L("of");
1691
+ var $L72 = $L("or");
1692
+ var $L73 = $L("||");
1693
+ var $L74 = $L("^^");
1694
+ var $L75 = $L("xor");
1695
+ var $L76 = $L("xnor");
1696
+ var $L77 = $L("??");
1697
+ var $L78 = $L("instanceof");
1698
+ var $L79 = $L("in");
1699
+ var $L80 = $L("is");
1700
+ var $L81 = $L("&");
1701
+ var $L82 = $L("|");
1702
+ var $L83 = $L(";");
1703
+ var $L84 = $L("$:");
1704
+ var $L85 = $L("own");
1705
+ var $L86 = $L("break");
1706
+ var $L87 = $L("continue");
1707
+ var $L88 = $L("debugger");
1708
+ var $L89 = $L("assert");
1709
+ var $L90 = $L(":=");
1710
+ var $L91 = $L(".=");
1711
+ var $L92 = $L("/*");
1712
+ var $L93 = $L("*/");
1713
+ var $L94 = $L("\\");
1714
+ var $L95 = $L("[");
1715
+ var $L96 = $L("`");
1716
+ var $L97 = $L("abstract");
1717
+ var $L98 = $L("as");
1718
+ var $L99 = $L("@");
1719
+ var $L100 = $L("@@");
1720
+ var $L101 = $L("async");
1721
+ var $L102 = $L("await");
1722
+ var $L103 = $L("by");
1723
+ var $L104 = $L("case");
1724
+ var $L105 = $L("catch");
1725
+ var $L106 = $L("class");
1726
+ var $L107 = $L(")");
1727
+ var $L108 = $L("#{");
1728
+ var $L109 = $L(":");
1654
1729
  var $L110 = $L("declare");
1655
1730
  var $L111 = $L("default");
1656
1731
  var $L112 = $L("delete");
@@ -2024,12 +2099,7 @@ ${input.slice(result.pos)}
2024
2099
  return result;
2025
2100
  }
2026
2101
  }
2027
- var NonAssignmentExtendedExpression$0 = $TS($S($Y(EOS), PushIndent, $E($S(Nested, ExpressionizedStatement)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
2028
- var expression = $3;
2029
- if (expression)
2030
- return expression;
2031
- return $skip;
2032
- });
2102
+ var NonAssignmentExtendedExpression$0 = NestedNonAssignmentExtendedExpression;
2033
2103
  var NonAssignmentExtendedExpression$1 = $TS($S(__, ExpressionizedStatement), function($skip, $loc, $0, $1, $2) {
2034
2104
  return {
2035
2105
  ...$2,
@@ -2058,6 +2128,34 @@ ${input.slice(result.pos)}
2058
2128
  return result;
2059
2129
  }
2060
2130
  }
2131
+ var NestedNonAssignmentExtendedExpression$0 = $TS($S($Y(EOS), PushIndent, $E($S(Nested, ExpressionizedStatement)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
2132
+ var expression = $3;
2133
+ if (expression)
2134
+ return expression;
2135
+ return $skip;
2136
+ });
2137
+ function NestedNonAssignmentExtendedExpression(state) {
2138
+ let eventData;
2139
+ if (state.events) {
2140
+ const result = state.events.enter?.("NestedNonAssignmentExtendedExpression", state);
2141
+ if (result) {
2142
+ if (result.cache)
2143
+ return result.cache;
2144
+ eventData = result.data;
2145
+ }
2146
+ }
2147
+ if (state.tokenize) {
2148
+ const result = $TOKEN("NestedNonAssignmentExtendedExpression", state, NestedNonAssignmentExtendedExpression$0(state));
2149
+ if (state.events)
2150
+ state.events.exit?.("NestedNonAssignmentExtendedExpression", state, result, eventData);
2151
+ return result;
2152
+ } else {
2153
+ const result = NestedNonAssignmentExtendedExpression$0(state);
2154
+ if (state.events)
2155
+ state.events.exit?.("NestedNonAssignmentExtendedExpression", state, result, eventData);
2156
+ return result;
2157
+ }
2158
+ }
2061
2159
  var ExpressionizedStatement$0 = DebuggerExpression;
2062
2160
  var ExpressionizedStatement$1 = IfExpression;
2063
2161
  var ExpressionizedStatement$2 = UnlessExpression;
@@ -2655,11 +2753,11 @@ ${input.slice(result.pos)}
2655
2753
  return result;
2656
2754
  }
2657
2755
  }
2658
- var UnaryExpression$0 = $TS($S($Q(UnaryOp), UpdateExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
2756
+ var UnaryExpression$0 = $TS($S($Q(UnaryOp), $C(UpdateExpression, NestedNonAssignmentExtendedExpression), $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
2659
2757
  var pre = $1;
2660
2758
  var exp = $2;
2661
2759
  var post = $3;
2662
- return module.processUnaryExpression(pre, exp, post);
2760
+ return processUnaryExpression(pre, exp, post);
2663
2761
  });
2664
2762
  var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
2665
2763
  var ws = $3;
@@ -7921,12 +8019,15 @@ ${input.slice(result.pos)}
7921
8019
  return result;
7922
8020
  }
7923
8021
  }
7924
- var InlineObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, ImplicitInlineObjectPropertyDelimiter, $Q($S($C(Samedent, $Q(_)), ImplicitNamedProperty, ImplicitInlineObjectPropertyDelimiter)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8022
+ var InlineObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, $Q($S(ImplicitInlineObjectPropertyDelimiter, ImplicitNamedProperty)), $E($S($E(_), Comma, $Y(Dedented))), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7925
8023
  var open = $1;
8024
+ var first = $2;
8025
+ var rest = $3;
8026
+ var trailing = $4;
7926
8027
  var close = $5;
7927
8028
  return {
7928
8029
  type: "ObjectExpression",
7929
- children: [open, $2, $3, ...$4, close]
8030
+ children: [open, first, ...rest, trailing, close]
7930
8031
  };
7931
8032
  });
7932
8033
  function InlineObjectLiteral(state) {
@@ -7951,15 +8052,9 @@ ${input.slice(result.pos)}
7951
8052
  return result;
7952
8053
  }
7953
8054
  }
7954
- var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma);
7955
- var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S($C(Samedent, $Q(_)), NamedProperty)), InsertComma), function(value) {
7956
- return value[1];
7957
- });
7958
- var ImplicitInlineObjectPropertyDelimiter$2 = $T($Y($S(__, $C($EXPECT($L32, fail, 'ImplicitInlineObjectPropertyDelimiter ":"'), $EXPECT($L33, fail, 'ImplicitInlineObjectPropertyDelimiter ")"'), $EXPECT($L31, fail, 'ImplicitInlineObjectPropertyDelimiter "]"'), $EXPECT($L22, fail, 'ImplicitInlineObjectPropertyDelimiter "}"'), ReservedWord))), function(value) {
7959
- return "";
7960
- });
7961
- var ImplicitInlineObjectPropertyDelimiter$3 = $T($Y(EOS), function(value) {
7962
- return "";
8055
+ var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8056
+ var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S(Samedent, ImplicitNamedProperty)), InsertComma, $C(Samedent, $E(_))), function(value) {
8057
+ return [value[1], value[2]];
7963
8058
  });
7964
8059
  function ImplicitInlineObjectPropertyDelimiter(state) {
7965
8060
  let eventData;
@@ -7972,18 +8067,18 @@ ${input.slice(result.pos)}
7972
8067
  }
7973
8068
  }
7974
8069
  if (state.tokenize) {
7975
- const result = $TOKEN("ImplicitInlineObjectPropertyDelimiter", state, ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state) || ImplicitInlineObjectPropertyDelimiter$3(state));
8070
+ const result = $TOKEN("ImplicitInlineObjectPropertyDelimiter", state, ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state));
7976
8071
  if (state.events)
7977
8072
  state.events.exit?.("ImplicitInlineObjectPropertyDelimiter", state, result, eventData);
7978
8073
  return result;
7979
8074
  } else {
7980
- const result = ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state) || ImplicitInlineObjectPropertyDelimiter$2(state) || ImplicitInlineObjectPropertyDelimiter$3(state);
8075
+ const result = ImplicitInlineObjectPropertyDelimiter$0(state) || ImplicitInlineObjectPropertyDelimiter$1(state);
7981
8076
  if (state.events)
7982
8077
  state.events.exit?.("ImplicitInlineObjectPropertyDelimiter", state, result, eventData);
7983
8078
  return result;
7984
8079
  }
7985
8080
  }
7986
- var ObjectPropertyDelimiter$0 = $S($Q(_), Comma);
8081
+ var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
7987
8082
  var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L22, fail, 'ObjectPropertyDelimiter "}"')));
7988
8083
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7989
8084
  return value[1];
@@ -8706,22 +8801,22 @@ ${input.slice(result.pos)}
8706
8801
  return result;
8707
8802
  }
8708
8803
  }
8709
- var AssignmentOpSymbol$0 = $EXPECT($L34, fail, 'AssignmentOpSymbol "**="');
8710
- var AssignmentOpSymbol$1 = $EXPECT($L35, fail, 'AssignmentOpSymbol "*="');
8711
- var AssignmentOpSymbol$2 = $EXPECT($L36, fail, 'AssignmentOpSymbol "/="');
8712
- var AssignmentOpSymbol$3 = $EXPECT($L37, fail, 'AssignmentOpSymbol "%="');
8713
- var AssignmentOpSymbol$4 = $EXPECT($L38, fail, 'AssignmentOpSymbol "+="');
8714
- var AssignmentOpSymbol$5 = $EXPECT($L39, fail, 'AssignmentOpSymbol "-="');
8715
- var AssignmentOpSymbol$6 = $EXPECT($L40, fail, 'AssignmentOpSymbol "<<="');
8716
- var AssignmentOpSymbol$7 = $EXPECT($L41, fail, 'AssignmentOpSymbol ">>>="');
8717
- var AssignmentOpSymbol$8 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>="');
8718
- var AssignmentOpSymbol$9 = $EXPECT($L43, fail, 'AssignmentOpSymbol "&&="');
8719
- var AssignmentOpSymbol$10 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&="');
8720
- var AssignmentOpSymbol$11 = $EXPECT($L45, fail, 'AssignmentOpSymbol "^="');
8721
- var AssignmentOpSymbol$12 = $EXPECT($L46, fail, 'AssignmentOpSymbol "||="');
8722
- var AssignmentOpSymbol$13 = $EXPECT($L47, fail, 'AssignmentOpSymbol "|="');
8723
- var AssignmentOpSymbol$14 = $EXPECT($L48, fail, 'AssignmentOpSymbol "??="');
8724
- var AssignmentOpSymbol$15 = $T($EXPECT($L49, fail, 'AssignmentOpSymbol "?="'), function(value) {
8804
+ var AssignmentOpSymbol$0 = $EXPECT($L32, fail, 'AssignmentOpSymbol "**="');
8805
+ var AssignmentOpSymbol$1 = $EXPECT($L33, fail, 'AssignmentOpSymbol "*="');
8806
+ var AssignmentOpSymbol$2 = $EXPECT($L34, fail, 'AssignmentOpSymbol "/="');
8807
+ var AssignmentOpSymbol$3 = $EXPECT($L35, fail, 'AssignmentOpSymbol "%="');
8808
+ var AssignmentOpSymbol$4 = $EXPECT($L36, fail, 'AssignmentOpSymbol "+="');
8809
+ var AssignmentOpSymbol$5 = $EXPECT($L37, fail, 'AssignmentOpSymbol "-="');
8810
+ var AssignmentOpSymbol$6 = $EXPECT($L38, fail, 'AssignmentOpSymbol "<<="');
8811
+ var AssignmentOpSymbol$7 = $EXPECT($L39, fail, 'AssignmentOpSymbol ">>>="');
8812
+ var AssignmentOpSymbol$8 = $EXPECT($L40, fail, 'AssignmentOpSymbol ">>="');
8813
+ var AssignmentOpSymbol$9 = $EXPECT($L41, fail, 'AssignmentOpSymbol "&&="');
8814
+ var AssignmentOpSymbol$10 = $EXPECT($L42, fail, 'AssignmentOpSymbol "&="');
8815
+ var AssignmentOpSymbol$11 = $EXPECT($L43, fail, 'AssignmentOpSymbol "^="');
8816
+ var AssignmentOpSymbol$12 = $EXPECT($L44, fail, 'AssignmentOpSymbol "||="');
8817
+ var AssignmentOpSymbol$13 = $EXPECT($L45, fail, 'AssignmentOpSymbol "|="');
8818
+ var AssignmentOpSymbol$14 = $EXPECT($L46, fail, 'AssignmentOpSymbol "??="');
8819
+ var AssignmentOpSymbol$15 = $T($EXPECT($L47, fail, 'AssignmentOpSymbol "?="'), function(value) {
8725
8820
  return "??=";
8726
8821
  });
8727
8822
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L2, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L2, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -8752,10 +8847,10 @@ ${input.slice(result.pos)}
8752
8847
  return result;
8753
8848
  }
8754
8849
  }
8755
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L50, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
8850
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L48, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
8756
8851
  return "&&=";
8757
8852
  });
8758
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
8853
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L49, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
8759
8854
  return "||=";
8760
8855
  });
8761
8856
  function CoffeeWordAssignmentOp(state) {
@@ -8794,7 +8889,7 @@ ${input.slice(result.pos)}
8794
8889
  special: true
8795
8890
  };
8796
8891
  });
8797
- var BinaryOp$2 = $TS($S($EXPECT($L52, fail, 'BinaryOp "not"'), NonIdContinue, __, Identifier), function($skip, $loc, $0, $1, $2, $3, $4) {
8892
+ var BinaryOp$2 = $TS($S($EXPECT($L50, fail, 'BinaryOp "not"'), NonIdContinue, __, Identifier), function($skip, $loc, $0, $1, $2, $3, $4) {
8798
8893
  var id = $4;
8799
8894
  if (!module.operators.has(id.name))
8800
8895
  return $skip;
@@ -8826,21 +8921,21 @@ ${input.slice(result.pos)}
8826
8921
  return result;
8827
8922
  }
8828
8923
  }
8829
- var BinaryOpSymbol$0 = $EXPECT($L53, fail, 'BinaryOpSymbol "**"');
8830
- var BinaryOpSymbol$1 = $EXPECT($L54, fail, 'BinaryOpSymbol "*"');
8831
- var BinaryOpSymbol$2 = $EXPECT($L55, fail, 'BinaryOpSymbol "/"');
8832
- var BinaryOpSymbol$3 = $TV($EXPECT($L56, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8924
+ var BinaryOpSymbol$0 = $EXPECT($L51, fail, 'BinaryOpSymbol "**"');
8925
+ var BinaryOpSymbol$1 = $EXPECT($L52, fail, 'BinaryOpSymbol "*"');
8926
+ var BinaryOpSymbol$2 = $EXPECT($L53, fail, 'BinaryOpSymbol "/"');
8927
+ var BinaryOpSymbol$3 = $TV($EXPECT($L54, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8833
8928
  return {
8834
8929
  call: module.getRef("modulo"),
8835
8930
  special: true
8836
8931
  };
8837
8932
  });
8838
- var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
8839
- var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
8933
+ var BinaryOpSymbol$4 = $EXPECT($L55, fail, 'BinaryOpSymbol "%"');
8934
+ var BinaryOpSymbol$5 = $EXPECT($L56, fail, 'BinaryOpSymbol "+"');
8840
8935
  var BinaryOpSymbol$6 = $EXPECT($L18, fail, 'BinaryOpSymbol "-"');
8841
- var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
8842
- var BinaryOpSymbol$8 = $EXPECT($L60, fail, 'BinaryOpSymbol ">="');
8843
- var BinaryOpSymbol$9 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8936
+ var BinaryOpSymbol$7 = $EXPECT($L57, fail, 'BinaryOpSymbol "<="');
8937
+ var BinaryOpSymbol$8 = $EXPECT($L58, fail, 'BinaryOpSymbol ">="');
8938
+ var BinaryOpSymbol$9 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8844
8939
  return {
8845
8940
  $loc,
8846
8941
  token: "instanceof",
@@ -8848,7 +8943,7 @@ ${input.slice(result.pos)}
8848
8943
  special: true
8849
8944
  };
8850
8945
  });
8851
- var BinaryOpSymbol$10 = $TV($EXPECT($L62, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8946
+ var BinaryOpSymbol$10 = $TV($EXPECT($L60, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8852
8947
  return {
8853
8948
  $loc,
8854
8949
  token: "instanceof",
@@ -8857,58 +8952,58 @@ ${input.slice(result.pos)}
8857
8952
  negated: true
8858
8953
  };
8859
8954
  });
8860
- var BinaryOpSymbol$11 = $EXPECT($L63, fail, 'BinaryOpSymbol "<<"');
8955
+ var BinaryOpSymbol$11 = $EXPECT($L61, fail, 'BinaryOpSymbol "<<"');
8861
8956
  var BinaryOpSymbol$12 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8862
8957
  return "<";
8863
8958
  });
8864
- var BinaryOpSymbol$13 = $EXPECT($L64, fail, 'BinaryOpSymbol ">>>"');
8865
- var BinaryOpSymbol$14 = $EXPECT($L65, fail, 'BinaryOpSymbol ">>"');
8959
+ var BinaryOpSymbol$13 = $EXPECT($L62, fail, 'BinaryOpSymbol ">>>"');
8960
+ var BinaryOpSymbol$14 = $EXPECT($L63, fail, 'BinaryOpSymbol ">>"');
8866
8961
  var BinaryOpSymbol$15 = $EXPECT($L30, fail, 'BinaryOpSymbol ">"');
8867
- var BinaryOpSymbol$16 = $EXPECT($L66, fail, 'BinaryOpSymbol "!=="');
8868
- var BinaryOpSymbol$17 = $TV($EXPECT($L67, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
8962
+ var BinaryOpSymbol$16 = $EXPECT($L64, fail, 'BinaryOpSymbol "!=="');
8963
+ var BinaryOpSymbol$17 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
8869
8964
  if (module.config.coffeeEq)
8870
8965
  return "!==";
8871
8966
  return $1;
8872
8967
  });
8873
- var BinaryOpSymbol$18 = $TS($S($EXPECT($L68, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8968
+ var BinaryOpSymbol$18 = $TS($S($EXPECT($L66, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8874
8969
  if (module.config.coffeeIsnt)
8875
8970
  return "!==";
8876
8971
  return $skip;
8877
8972
  });
8878
- var BinaryOpSymbol$19 = $EXPECT($L69, fail, 'BinaryOpSymbol "==="');
8879
- var BinaryOpSymbol$20 = $TV($EXPECT($L70, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
8973
+ var BinaryOpSymbol$19 = $EXPECT($L67, fail, 'BinaryOpSymbol "==="');
8974
+ var BinaryOpSymbol$20 = $TV($EXPECT($L68, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
8880
8975
  if (module.config.coffeeEq)
8881
8976
  return "===";
8882
8977
  return $1;
8883
8978
  });
8884
- var BinaryOpSymbol$21 = $T($S($EXPECT($L71, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8979
+ var BinaryOpSymbol$21 = $T($S($EXPECT($L69, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8885
8980
  return "&&";
8886
8981
  });
8887
- var BinaryOpSymbol$22 = $EXPECT($L72, fail, 'BinaryOpSymbol "&&"');
8888
- var BinaryOpSymbol$23 = $T($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
8982
+ var BinaryOpSymbol$22 = $EXPECT($L70, fail, 'BinaryOpSymbol "&&"');
8983
+ var BinaryOpSymbol$23 = $T($S(CoffeeOfEnabled, $EXPECT($L71, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
8889
8984
  return "in";
8890
8985
  });
8891
- var BinaryOpSymbol$24 = $T($S($EXPECT($L74, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8986
+ var BinaryOpSymbol$24 = $T($S($EXPECT($L72, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8892
8987
  return "||";
8893
8988
  });
8894
- var BinaryOpSymbol$25 = $EXPECT($L75, fail, 'BinaryOpSymbol "||"');
8895
- var BinaryOpSymbol$26 = $TV($C($EXPECT($L76, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L77, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8989
+ var BinaryOpSymbol$25 = $EXPECT($L73, fail, 'BinaryOpSymbol "||"');
8990
+ var BinaryOpSymbol$26 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L75, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8896
8991
  return {
8897
8992
  call: module.getRef("xor"),
8898
8993
  special: true
8899
8994
  };
8900
8995
  });
8901
- var BinaryOpSymbol$27 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L78, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8996
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L76, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8902
8997
  return {
8903
8998
  call: module.getRef("xnor"),
8904
8999
  special: true
8905
9000
  };
8906
9001
  });
8907
- var BinaryOpSymbol$28 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
9002
+ var BinaryOpSymbol$28 = $EXPECT($L77, fail, 'BinaryOpSymbol "??"');
8908
9003
  var BinaryOpSymbol$29 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L4, fail, 'BinaryOpSymbol "?"')), function(value) {
8909
9004
  return "??";
8910
9005
  });
8911
- var BinaryOpSymbol$30 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9006
+ var BinaryOpSymbol$30 = $TS($S($EXPECT($L78, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8912
9007
  return {
8913
9008
  $loc,
8914
9009
  token: $1,
@@ -8916,7 +9011,7 @@ ${input.slice(result.pos)}
8916
9011
  special: true
8917
9012
  };
8918
9013
  });
8919
- var BinaryOpSymbol$31 = $TS($S($EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9014
+ var BinaryOpSymbol$31 = $TS($S($EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L78, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8920
9015
  return {
8921
9016
  $loc,
8922
9017
  token: "instanceof",
@@ -8925,7 +9020,7 @@ ${input.slice(result.pos)}
8925
9020
  negated: true
8926
9021
  };
8927
9022
  });
8928
- var BinaryOpSymbol$32 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L73, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9023
+ var BinaryOpSymbol$32 = $TV($C($S($N(CoffeeOfEnabled), $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), $S(CoffeeOfEnabled, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L71, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8929
9024
  return {
8930
9025
  $loc,
8931
9026
  token: "in",
@@ -8933,7 +9028,7 @@ ${input.slice(result.pos)}
8933
9028
  negated: true
8934
9029
  };
8935
9030
  });
8936
- var BinaryOpSymbol$33 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9031
+ var BinaryOpSymbol$33 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8937
9032
  return {
8938
9033
  method: "includes",
8939
9034
  relational: true,
@@ -8941,7 +9036,7 @@ ${input.slice(result.pos)}
8941
9036
  special: true
8942
9037
  };
8943
9038
  });
8944
- var BinaryOpSymbol$34 = $TS($S(CoffeeOfEnabled, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9039
+ var BinaryOpSymbol$34 = $TS($S(CoffeeOfEnabled, $EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8945
9040
  return {
8946
9041
  call: [module.getRef("indexOf"), ".call"],
8947
9042
  relational: true,
@@ -8950,7 +9045,7 @@ ${input.slice(result.pos)}
8950
9045
  special: true
8951
9046
  };
8952
9047
  });
8953
- var BinaryOpSymbol$35 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9048
+ var BinaryOpSymbol$35 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8954
9049
  return {
8955
9050
  method: "includes",
8956
9051
  relational: true,
@@ -8959,7 +9054,7 @@ ${input.slice(result.pos)}
8959
9054
  negated: true
8960
9055
  };
8961
9056
  });
8962
- var BinaryOpSymbol$36 = $TS($S(CoffeeOfEnabled, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9057
+ var BinaryOpSymbol$36 = $TS($S(CoffeeOfEnabled, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8963
9058
  return {
8964
9059
  call: [module.getRef("indexOf"), ".call"],
8965
9060
  relational: true,
@@ -8968,7 +9063,7 @@ ${input.slice(result.pos)}
8968
9063
  special: true
8969
9064
  };
8970
9065
  });
8971
- var BinaryOpSymbol$37 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L52, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9066
+ var BinaryOpSymbol$37 = $TS($S($N(CoffeeNotEnabled), $EXPECT($L80, fail, 'BinaryOpSymbol "is"'), NonIdContinue, __, $EXPECT($L50, fail, 'BinaryOpSymbol "not"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8972
9067
  if (module.config.objectIs) {
8973
9068
  return {
8974
9069
  call: module.getRef("is"),
@@ -8980,7 +9075,7 @@ ${input.slice(result.pos)}
8980
9075
  }
8981
9076
  return "!==";
8982
9077
  });
8983
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L82, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9078
+ var BinaryOpSymbol$38 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8984
9079
  if (module.config.objectIs) {
8985
9080
  return {
8986
9081
  call: module.getRef("is"),
@@ -8991,12 +9086,12 @@ ${input.slice(result.pos)}
8991
9086
  }
8992
9087
  return "===";
8993
9088
  });
8994
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9089
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L79, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8995
9090
  return $1;
8996
9091
  });
8997
- var BinaryOpSymbol$40 = $EXPECT($L83, fail, 'BinaryOpSymbol "&"');
9092
+ var BinaryOpSymbol$40 = $EXPECT($L81, fail, 'BinaryOpSymbol "&"');
8998
9093
  var BinaryOpSymbol$41 = $EXPECT($L17, fail, 'BinaryOpSymbol "^"');
8999
- var BinaryOpSymbol$42 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
9094
+ var BinaryOpSymbol$42 = $EXPECT($L82, fail, 'BinaryOpSymbol "|"');
9000
9095
  function BinaryOpSymbol(state) {
9001
9096
  let eventData;
9002
9097
  if (state.events) {
@@ -9019,8 +9114,8 @@ ${input.slice(result.pos)}
9019
9114
  return result;
9020
9115
  }
9021
9116
  }
9022
- var Xor$0 = $EXPECT($L76, fail, 'Xor "^^"');
9023
- var Xor$1 = $S($EXPECT($L77, fail, 'Xor "xor"'), NonIdContinue);
9117
+ var Xor$0 = $EXPECT($L74, fail, 'Xor "^^"');
9118
+ var Xor$1 = $S($EXPECT($L75, fail, 'Xor "xor"'), NonIdContinue);
9024
9119
  function Xor(state) {
9025
9120
  let eventData;
9026
9121
  if (state.events) {
@@ -9044,7 +9139,7 @@ ${input.slice(result.pos)}
9044
9139
  }
9045
9140
  }
9046
9141
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
9047
- var Xnor$1 = $EXPECT($L78, fail, 'Xnor "xnor"');
9142
+ var Xnor$1 = $EXPECT($L76, fail, 'Xnor "xnor"');
9048
9143
  function Xnor(state) {
9049
9144
  let eventData;
9050
9145
  if (state.events) {
@@ -9070,8 +9165,9 @@ ${input.slice(result.pos)}
9070
9165
  var UnaryOp$0 = $TR($EXPECT($R9, fail, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9071
9166
  return { $loc, token: $0 };
9072
9167
  });
9073
- var UnaryOp$1 = $S($C(Await, Delete, Void, Typeof), __);
9074
- var UnaryOp$2 = Not;
9168
+ var UnaryOp$1 = AwaitOp;
9169
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $E(_));
9170
+ var UnaryOp$3 = Not;
9075
9171
  function UnaryOp(state) {
9076
9172
  let eventData;
9077
9173
  if (state.events) {
@@ -9083,17 +9179,52 @@ ${input.slice(result.pos)}
9083
9179
  }
9084
9180
  }
9085
9181
  if (state.tokenize) {
9086
- const result = $TOKEN("UnaryOp", state, UnaryOp$0(state) || UnaryOp$1(state) || UnaryOp$2(state));
9182
+ const result = $TOKEN("UnaryOp", state, UnaryOp$0(state) || UnaryOp$1(state) || UnaryOp$2(state) || UnaryOp$3(state));
9087
9183
  if (state.events)
9088
9184
  state.events.exit?.("UnaryOp", state, result, eventData);
9089
9185
  return result;
9090
9186
  } else {
9091
- const result = UnaryOp$0(state) || UnaryOp$1(state) || UnaryOp$2(state);
9187
+ const result = UnaryOp$0(state) || UnaryOp$1(state) || UnaryOp$2(state) || UnaryOp$3(state);
9092
9188
  if (state.events)
9093
9189
  state.events.exit?.("UnaryOp", state, result, eventData);
9094
9190
  return result;
9095
9191
  }
9096
9192
  }
9193
+ var AwaitOp$0 = $TS($S(Await, $E($S(Dot, IdentifierName)), $C($Y(OpenParen), _, $Y(EOS))), function($skip, $loc, $0, $1, $2, $3) {
9194
+ var a = $1;
9195
+ var op = $2;
9196
+ var ws = $3;
9197
+ if (op) {
9198
+ return {
9199
+ ...a,
9200
+ op,
9201
+ children: [a, ...ws || []]
9202
+ };
9203
+ }
9204
+ return [a, ...ws || []];
9205
+ });
9206
+ function AwaitOp(state) {
9207
+ let eventData;
9208
+ if (state.events) {
9209
+ const result = state.events.enter?.("AwaitOp", state);
9210
+ if (result) {
9211
+ if (result.cache)
9212
+ return result.cache;
9213
+ eventData = result.data;
9214
+ }
9215
+ }
9216
+ if (state.tokenize) {
9217
+ const result = $TOKEN("AwaitOp", state, AwaitOp$0(state));
9218
+ if (state.events)
9219
+ state.events.exit?.("AwaitOp", state, result, eventData);
9220
+ return result;
9221
+ } else {
9222
+ const result = AwaitOp$0(state);
9223
+ if (state.events)
9224
+ state.events.exit?.("AwaitOp", state, result, eventData);
9225
+ return result;
9226
+ }
9227
+ }
9097
9228
  var ModuleItem$0 = ImportDeclaration;
9098
9229
  var ModuleItem$1 = ExportDeclaration;
9099
9230
  var ModuleItem$2 = StatementListItem;
@@ -9294,7 +9425,7 @@ ${input.slice(result.pos)}
9294
9425
  return result;
9295
9426
  }
9296
9427
  }
9297
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L85, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9428
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L83, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9298
9429
  return { type: "EmptyStatement", children: $1 || [] };
9299
9430
  });
9300
9431
  function EmptyStatement(state) {
@@ -9373,7 +9504,7 @@ ${input.slice(result.pos)}
9373
9504
  var w = $3;
9374
9505
  return [id, colon, w];
9375
9506
  });
9376
- var Label$1 = $S($EXPECT($L86, fail, 'Label "$:"'), Whitespace);
9507
+ var Label$1 = $S($EXPECT($L84, fail, 'Label "$:"'), Whitespace);
9377
9508
  function Label(state) {
9378
9509
  let eventData;
9379
9510
  if (state.events) {
@@ -10357,7 +10488,7 @@ ${input.slice(result.pos)}
10357
10488
  return result;
10358
10489
  }
10359
10490
  }
10360
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L87, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
10491
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L85, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
10361
10492
  var own = $1;
10362
10493
  var binding = $2;
10363
10494
  return {
@@ -11180,12 +11311,15 @@ ${input.slice(result.pos)}
11180
11311
  type: "Ref",
11181
11312
  base: "ref"
11182
11313
  };
11183
- const { binding, initializer } = dec;
11314
+ const { binding, initializer, splices, thisAssignments } = dec;
11184
11315
  const initCondition = {
11185
11316
  type: "AssignmentExpression",
11186
11317
  children: [ref, " ", initializer],
11187
11318
  hoistDec: [["", ["let ", ref], ";"]],
11188
- blockPrefix: [["", [binding, "= ", ref], ";"]]
11319
+ blockPrefix: [
11320
+ ["", [binding, "= ", ref, ...splices], ";"],
11321
+ ...thisAssignments
11322
+ ]
11189
11323
  };
11190
11324
  return initCondition;
11191
11325
  });
@@ -11768,7 +11902,7 @@ ${input.slice(result.pos)}
11768
11902
  return result;
11769
11903
  }
11770
11904
  }
11771
- var Break$0 = $TS($S($EXPECT($L88, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11905
+ var Break$0 = $TS($S($EXPECT($L86, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11772
11906
  return { $loc, token: $1 };
11773
11907
  });
11774
11908
  function Break(state) {
@@ -11793,7 +11927,7 @@ ${input.slice(result.pos)}
11793
11927
  return result;
11794
11928
  }
11795
11929
  }
11796
- var Continue$0 = $TS($S($EXPECT($L89, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11930
+ var Continue$0 = $TS($S($EXPECT($L87, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11797
11931
  return { $loc, token: $1 };
11798
11932
  });
11799
11933
  function Continue(state) {
@@ -11818,7 +11952,7 @@ ${input.slice(result.pos)}
11818
11952
  return result;
11819
11953
  }
11820
11954
  }
11821
- var Debugger$0 = $TS($S($EXPECT($L90, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11955
+ var Debugger$0 = $TS($S($EXPECT($L88, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11822
11956
  return { $loc, token: $1 };
11823
11957
  });
11824
11958
  function Debugger(state) {
@@ -12124,7 +12258,7 @@ ${input.slice(result.pos)}
12124
12258
  return result;
12125
12259
  }
12126
12260
  }
12127
- var ImportAssertion$0 = $S($E(_), $EXPECT($L91, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
12261
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L89, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
12128
12262
  function ImportAssertion(state) {
12129
12263
  let eventData;
12130
12264
  if (state.events) {
@@ -12501,10 +12635,12 @@ ${input.slice(result.pos)}
12501
12635
  }
12502
12636
  }
12503
12637
  var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
12504
- var NamedExports$1 = $TS($S(InsertInlineOpenBrace, ImplicitExportSpecifier, $Q($S(_, ImplicitExportSpecifier)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
12638
+ var NamedExports$1 = $TS($S(InsertInlineOpenBrace, ImplicitExportSpecifier, $Q($S(ImplicitInlineObjectPropertyDelimiter, ImplicitExportSpecifier)), InsertCloseBrace, $Y($C(StatementDelimiter, $S(__, From)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12505
12639
  var open = $1;
12640
+ var first = $2;
12641
+ var rest = $3;
12506
12642
  var close = $4;
12507
- return [open, $2, ...$3, close];
12643
+ return [open, first, ...rest, close];
12508
12644
  });
12509
12645
  function NamedExports(state) {
12510
12646
  let eventData;
@@ -12555,7 +12691,7 @@ ${input.slice(result.pos)}
12555
12691
  return result;
12556
12692
  }
12557
12693
  }
12558
- var ImplicitExportSpecifier$0 = $S($N(Default), ModuleExportName, $E($S(__, As, __, ModuleExportName)), $C($Y($S(__, From)), ImplicitInlineObjectPropertyDelimiter));
12694
+ var ImplicitExportSpecifier$0 = $S($N(Default), ModuleExportName, $E($S(__, As, __, ModuleExportName)));
12559
12695
  function ImplicitExportSpecifier(state) {
12560
12696
  let eventData;
12561
12697
  if (state.events) {
@@ -12580,7 +12716,20 @@ ${input.slice(result.pos)}
12580
12716
  }
12581
12717
  var Declaration$0 = HoistableDeclaration;
12582
12718
  var Declaration$1 = ClassDeclaration;
12583
- var Declaration$2 = LexicalDeclaration;
12719
+ var Declaration$2 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
12720
+ var d = $0;
12721
+ if (d.thisAssignments?.length)
12722
+ return {
12723
+ ...d,
12724
+ children: [...d.children, ...d.splices, ";", ...d.thisAssignments]
12725
+ };
12726
+ if (d.splices?.length)
12727
+ return {
12728
+ ...d,
12729
+ children: [...d.children, ...d.splices]
12730
+ };
12731
+ return d;
12732
+ });
12584
12733
  var Declaration$3 = TypeDeclaration;
12585
12734
  var Declaration$4 = EnumDeclaration;
12586
12735
  var Declaration$5 = OperatorDeclaration;
@@ -12630,12 +12779,21 @@ ${input.slice(result.pos)}
12630
12779
  }
12631
12780
  }
12632
12781
  var LexicalDeclaration$0 = $TS($S(LetOrConst, LexicalBinding, $Q($S(__, Comma, LexicalBinding))), function($skip, $loc, $0, $1, $2, $3) {
12782
+ var d = $1;
12633
12783
  var binding = $2;
12634
12784
  var tail = $3;
12785
+ const { splices, thisAssignments } = binding;
12635
12786
  return {
12636
12787
  type: "Declaration",
12637
12788
  children: $0,
12638
- names: [...binding.names].concat(tail.flatMap(([, , b]) => b.names))
12789
+ names: [...binding.names].concat(tail.flatMap(([, , b]) => b.names)),
12790
+ binding: {
12791
+ ...binding.binding,
12792
+ children: [d, ...binding.binding.children]
12793
+ },
12794
+ initializer: binding.initializer,
12795
+ splices,
12796
+ thisAssignments
12639
12797
  };
12640
12798
  });
12641
12799
  var LexicalDeclaration$1 = $TS($S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
@@ -12672,7 +12830,7 @@ ${input.slice(result.pos)}
12672
12830
  return result;
12673
12831
  }
12674
12832
  }
12675
- var ConstAssignment$0 = $TV($EXPECT($L92, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
12833
+ var ConstAssignment$0 = $TV($EXPECT($L90, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
12676
12834
  return { $loc, token: "=" };
12677
12835
  });
12678
12836
  function ConstAssignment(state) {
@@ -12697,7 +12855,7 @@ ${input.slice(result.pos)}
12697
12855
  return result;
12698
12856
  }
12699
12857
  }
12700
- var LetAssignment$0 = $TV($EXPECT($L93, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12858
+ var LetAssignment$0 = $TV($EXPECT($L91, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12701
12859
  return { $loc, token: "=" };
12702
12860
  });
12703
12861
  function LetAssignment(state) {
@@ -12722,25 +12880,51 @@ ${input.slice(result.pos)}
12722
12880
  return result;
12723
12881
  }
12724
12882
  }
12725
- var LexicalBinding$0 = $TS($S(BindingPattern, $E(TypeSuffix), Initializer), function($skip, $loc, $0, $1, $2, $3) {
12726
- const children = [...$1.children];
12727
- if ($2)
12728
- children.push($2);
12729
- children.push($3);
12883
+ var LexicalBinding$0 = $TS($S(BindingPattern, $E(TypeSuffix), $E(_), Initializer), function($skip, $loc, $0, $1, $2, $3, $4) {
12884
+ var binding = $1;
12885
+ var suffix = $2;
12886
+ var ws = $3;
12887
+ var initializer = $4;
12888
+ const bindingChildren = [...binding.children];
12889
+ if (suffix)
12890
+ bindingChildren.push(suffix);
12891
+ if (ws)
12892
+ bindingChildren.push(...ws);
12893
+ binding = {
12894
+ ...binding,
12895
+ children: bindingChildren
12896
+ };
12897
+ const [splices, thisAssignments] = gatherBindingCode(binding.children);
12730
12898
  return {
12731
- children,
12732
- names: $1.names
12899
+ children: [binding, initializer],
12900
+ names: binding.names,
12901
+ binding,
12902
+ initializer,
12903
+ splices: splices.map((s) => [",", s]),
12904
+ thisAssignments: thisAssignments.map((s) => ["", s, ";"])
12733
12905
  };
12734
12906
  });
12735
- var LexicalBinding$1 = $TS($S(BindingIdentifier, $E(TypeSuffix), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3) {
12736
- const children = [...$1.children];
12737
- if ($2)
12738
- children.push($2);
12739
- if ($3)
12740
- children.push($3);
12907
+ var LexicalBinding$1 = $TS($S(BindingIdentifier, $E(TypeSuffix), $E(_), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
12908
+ var binding = $1;
12909
+ var suffix = $2;
12910
+ var ws = $3;
12911
+ var initializer = $4;
12912
+ const bindingChildren = [...binding.children];
12913
+ if (suffix)
12914
+ bindingChildren.push(suffix);
12915
+ if (ws)
12916
+ bindingChildren.push(...ws);
12917
+ binding = {
12918
+ ...binding,
12919
+ children: bindingChildren
12920
+ };
12741
12921
  return {
12742
- children,
12743
- names: $1.names
12922
+ children: [binding, initializer],
12923
+ names: binding.names,
12924
+ binding,
12925
+ initializer,
12926
+ splices: [],
12927
+ thisAssignments: []
12744
12928
  };
12745
12929
  });
12746
12930
  function LexicalBinding(state) {
@@ -13378,7 +13562,7 @@ ${input.slice(result.pos)}
13378
13562
  }
13379
13563
  }
13380
13564
  var RegularExpressionLiteral$0 = HeregexLiteral;
13381
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
13565
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L53, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L53, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
13382
13566
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
13383
13567
  });
13384
13568
  function RegularExpressionLiteral(state) {
@@ -13945,7 +14129,7 @@ ${input.slice(result.pos)}
13945
14129
  return result;
13946
14130
  }
13947
14131
  }
13948
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L94, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L95, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L95, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
14132
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L93, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L93, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
13949
14133
  return { type: "Comment", $loc, token: $1 };
13950
14134
  });
13951
14135
  function JSMultiLineComment(state) {
@@ -14044,7 +14228,7 @@ ${input.slice(result.pos)}
14044
14228
  return result;
14045
14229
  }
14046
14230
  }
14047
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L94, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L95, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L95, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
14231
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L92, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L93, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L93, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
14048
14232
  return { $loc, token: $1 };
14049
14233
  });
14050
14234
  function InlineComment(state) {
@@ -14141,7 +14325,7 @@ ${input.slice(result.pos)}
14141
14325
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14142
14326
  return { $loc, token: $0 };
14143
14327
  });
14144
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L96, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
14328
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L94, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
14145
14329
  return "";
14146
14330
  });
14147
14331
  function NonNewlineWhitespace(state) {
@@ -14293,7 +14477,7 @@ ${input.slice(result.pos)}
14293
14477
  }
14294
14478
  }
14295
14479
  var StatementDelimiter$0 = SemicolonDelimiter;
14296
- var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L3, fail, 'StatementDelimiter "("'), $EXPECT($L97, fail, 'StatementDelimiter "["'), $EXPECT($L98, fail, 'StatementDelimiter "`"'), $EXPECT($L58, fail, 'StatementDelimiter "+"'), $EXPECT($L18, 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);
14480
+ var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L3, fail, 'StatementDelimiter "("'), $EXPECT($L95, fail, 'StatementDelimiter "["'), $EXPECT($L96, fail, 'StatementDelimiter "`"'), $EXPECT($L56, fail, 'StatementDelimiter "+"'), $EXPECT($L18, fail, 'StatementDelimiter "-"'), $EXPECT($L52, fail, 'StatementDelimiter "*"'), $EXPECT($L53, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L3, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
14297
14481
  var StatementDelimiter$2 = $Y(EOS);
14298
14482
  function StatementDelimiter(state) {
14299
14483
  let eventData;
@@ -14393,7 +14577,7 @@ ${input.slice(result.pos)}
14393
14577
  return result;
14394
14578
  }
14395
14579
  }
14396
- var Abstract$0 = $TV($TEXT($S($EXPECT($L99, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L9, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
14580
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L97, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L9, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
14397
14581
  return { $loc, token: $1, ts: true };
14398
14582
  });
14399
14583
  function Abstract(state) {
@@ -14418,7 +14602,7 @@ ${input.slice(result.pos)}
14418
14602
  return result;
14419
14603
  }
14420
14604
  }
14421
- var Ampersand$0 = $TV($EXPECT($L83, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
14605
+ var Ampersand$0 = $TV($EXPECT($L81, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
14422
14606
  return { $loc, token: $1 };
14423
14607
  });
14424
14608
  function Ampersand(state) {
@@ -14443,7 +14627,7 @@ ${input.slice(result.pos)}
14443
14627
  return result;
14444
14628
  }
14445
14629
  }
14446
- var As$0 = $TS($S($EXPECT($L100, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14630
+ var As$0 = $TS($S($EXPECT($L98, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14447
14631
  return { $loc, token: $1 };
14448
14632
  });
14449
14633
  function As(state) {
@@ -14468,7 +14652,7 @@ ${input.slice(result.pos)}
14468
14652
  return result;
14469
14653
  }
14470
14654
  }
14471
- var At$0 = $TV($EXPECT($L101, fail, 'At "@"'), function($skip, $loc, $0, $1) {
14655
+ var At$0 = $TV($EXPECT($L99, fail, 'At "@"'), function($skip, $loc, $0, $1) {
14472
14656
  return { $loc, token: $1 };
14473
14657
  });
14474
14658
  function At(state) {
@@ -14493,7 +14677,7 @@ ${input.slice(result.pos)}
14493
14677
  return result;
14494
14678
  }
14495
14679
  }
14496
- var AtAt$0 = $TV($EXPECT($L102, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
14680
+ var AtAt$0 = $TV($EXPECT($L100, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
14497
14681
  return { $loc, token: "@" };
14498
14682
  });
14499
14683
  function AtAt(state) {
@@ -14518,7 +14702,7 @@ ${input.slice(result.pos)}
14518
14702
  return result;
14519
14703
  }
14520
14704
  }
14521
- var Async$0 = $TS($S($EXPECT($L103, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14705
+ var Async$0 = $TS($S($EXPECT($L101, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14522
14706
  return { $loc, token: $1, type: "Async" };
14523
14707
  });
14524
14708
  function Async(state) {
@@ -14543,7 +14727,7 @@ ${input.slice(result.pos)}
14543
14727
  return result;
14544
14728
  }
14545
14729
  }
14546
- var Await$0 = $TS($S($EXPECT($L104, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14730
+ var Await$0 = $TS($S($EXPECT($L102, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14547
14731
  return { $loc, token: $1, type: "Await" };
14548
14732
  });
14549
14733
  function Await(state) {
@@ -14568,7 +14752,7 @@ ${input.slice(result.pos)}
14568
14752
  return result;
14569
14753
  }
14570
14754
  }
14571
- var Backtick$0 = $TV($EXPECT($L98, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
14755
+ var Backtick$0 = $TV($EXPECT($L96, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
14572
14756
  return { $loc, token: $1 };
14573
14757
  });
14574
14758
  function Backtick(state) {
@@ -14593,7 +14777,7 @@ ${input.slice(result.pos)}
14593
14777
  return result;
14594
14778
  }
14595
14779
  }
14596
- var By$0 = $TS($S($EXPECT($L105, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14780
+ var By$0 = $TS($S($EXPECT($L103, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14597
14781
  return { $loc, token: $1 };
14598
14782
  });
14599
14783
  function By(state) {
@@ -14618,7 +14802,7 @@ ${input.slice(result.pos)}
14618
14802
  return result;
14619
14803
  }
14620
14804
  }
14621
- var Case$0 = $TS($S($EXPECT($L106, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14805
+ var Case$0 = $TS($S($EXPECT($L104, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14622
14806
  return { $loc, token: $1 };
14623
14807
  });
14624
14808
  function Case(state) {
@@ -14643,7 +14827,7 @@ ${input.slice(result.pos)}
14643
14827
  return result;
14644
14828
  }
14645
14829
  }
14646
- var Catch$0 = $TS($S($EXPECT($L107, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14830
+ var Catch$0 = $TS($S($EXPECT($L105, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14647
14831
  return { $loc, token: $1 };
14648
14832
  });
14649
14833
  function Catch(state) {
@@ -14668,7 +14852,7 @@ ${input.slice(result.pos)}
14668
14852
  return result;
14669
14853
  }
14670
14854
  }
14671
- var Class$0 = $TS($S($EXPECT($L108, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14855
+ var Class$0 = $TS($S($EXPECT($L106, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14672
14856
  return { $loc, token: $1 };
14673
14857
  });
14674
14858
  function Class(state) {
@@ -14743,7 +14927,7 @@ ${input.slice(result.pos)}
14743
14927
  return result;
14744
14928
  }
14745
14929
  }
14746
- var CloseParen$0 = $TV($EXPECT($L33, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
14930
+ var CloseParen$0 = $TV($EXPECT($L107, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
14747
14931
  return { $loc, token: $1 };
14748
14932
  });
14749
14933
  function CloseParen(state) {
@@ -14768,7 +14952,7 @@ ${input.slice(result.pos)}
14768
14952
  return result;
14769
14953
  }
14770
14954
  }
14771
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L109, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
14955
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L108, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
14772
14956
  return { $loc, token: "${" };
14773
14957
  });
14774
14958
  function CoffeeSubstitutionStart(state) {
@@ -14793,7 +14977,7 @@ ${input.slice(result.pos)}
14793
14977
  return result;
14794
14978
  }
14795
14979
  }
14796
- var Colon$0 = $TS($S($EXPECT($L32, fail, 'Colon ":"'), $N($EXPECT($L2, fail, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
14980
+ var Colon$0 = $TS($S($EXPECT($L109, fail, 'Colon ":"'), $N($EXPECT($L2, fail, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
14797
14981
  return { $loc, token: $1 };
14798
14982
  });
14799
14983
  function Colon(state) {
@@ -14843,7 +15027,7 @@ ${input.slice(result.pos)}
14843
15027
  return result;
14844
15028
  }
14845
15029
  }
14846
- var ConstructorShorthand$0 = $TV($EXPECT($L101, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
15030
+ var ConstructorShorthand$0 = $TV($EXPECT($L99, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
14847
15031
  return { $loc, token: "constructor" };
14848
15032
  });
14849
15033
  function ConstructorShorthand(state) {
@@ -15368,7 +15552,7 @@ ${input.slice(result.pos)}
15368
15552
  return result;
15369
15553
  }
15370
15554
  }
15371
- var In$0 = $TS($S($EXPECT($L81, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15555
+ var In$0 = $TS($S($EXPECT($L79, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15372
15556
  return { $loc, token: $1 };
15373
15557
  });
15374
15558
  function In(state) {
@@ -15517,7 +15701,7 @@ ${input.slice(result.pos)}
15517
15701
  return result;
15518
15702
  }
15519
15703
  }
15520
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L52, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L9, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
15704
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L50, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L9, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
15521
15705
  return { $loc, token: "!" };
15522
15706
  });
15523
15707
  function Not(state) {
@@ -15542,7 +15726,7 @@ ${input.slice(result.pos)}
15542
15726
  return result;
15543
15727
  }
15544
15728
  }
15545
- var Of$0 = $TS($S($EXPECT($L73, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15729
+ var Of$0 = $TS($S($EXPECT($L71, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15546
15730
  return { $loc, token: $1 };
15547
15731
  });
15548
15732
  function Of(state) {
@@ -15617,7 +15801,7 @@ ${input.slice(result.pos)}
15617
15801
  return result;
15618
15802
  }
15619
15803
  }
15620
- var OpenBracket$0 = $TV($EXPECT($L97, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
15804
+ var OpenBracket$0 = $TV($EXPECT($L95, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
15621
15805
  return { $loc, token: $1 };
15622
15806
  });
15623
15807
  function OpenBracket(state) {
@@ -15898,7 +16082,7 @@ ${input.slice(result.pos)}
15898
16082
  return result;
15899
16083
  }
15900
16084
  }
15901
- var Semicolon$0 = $TV($EXPECT($L85, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
16085
+ var Semicolon$0 = $TV($EXPECT($L83, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
15902
16086
  return { $loc, token: $1 };
15903
16087
  });
15904
16088
  function Semicolon(state) {
@@ -15948,7 +16132,7 @@ ${input.slice(result.pos)}
15948
16132
  return result;
15949
16133
  }
15950
16134
  }
15951
- var Star$0 = $TV($EXPECT($L54, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
16135
+ var Star$0 = $TV($EXPECT($L52, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
15952
16136
  return { $loc, token: $1 };
15953
16137
  });
15954
16138
  function Star(state) {
@@ -15976,7 +16160,7 @@ ${input.slice(result.pos)}
15976
16160
  var Static$0 = $TS($S($EXPECT($L145, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15977
16161
  return { $loc, token: $1 };
15978
16162
  });
15979
- var Static$1 = $TS($S($EXPECT($L101, fail, 'Static "@"'), $N($C($EXPECT($L3, fail, 'Static "("'), $EXPECT($L101, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
16163
+ var Static$1 = $TS($S($EXPECT($L99, fail, 'Static "@"'), $N($C($EXPECT($L3, fail, 'Static "("'), $EXPECT($L99, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
15980
16164
  return { $loc, token: "static " };
15981
16165
  });
15982
16166
  function Static(state) {
@@ -16596,7 +16780,7 @@ ${input.slice(result.pos)}
16596
16780
  return result;
16597
16781
  }
16598
16782
  }
16599
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L132, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L165, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
16783
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L132, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L165, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
16600
16784
  return { type: "JSXElement", children: $0, tag: $2 };
16601
16785
  });
16602
16786
  function JSXSelfClosingElement(state) {
@@ -16672,7 +16856,7 @@ ${input.slice(result.pos)}
16672
16856
  return result;
16673
16857
  }
16674
16858
  }
16675
- var JSXOpeningElement$0 = $S($EXPECT($L132, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L30, fail, 'JSXOpeningElement ">"'));
16859
+ var JSXOpeningElement$0 = $S($EXPECT($L132, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L30, fail, 'JSXOpeningElement ">"'));
16676
16860
  function JSXOpeningElement(state) {
16677
16861
  let eventData;
16678
16862
  if (state.events) {
@@ -16724,7 +16908,7 @@ ${input.slice(result.pos)}
16724
16908
  return result;
16725
16909
  }
16726
16910
  }
16727
- var JSXClosingElement$0 = $S($EXPECT($L166, fail, 'JSXClosingElement "</"'), $E(Whitespace), $TEXT(JSXElementName), $E(Whitespace), $EXPECT($L30, fail, 'JSXClosingElement ">"'));
16911
+ var JSXClosingElement$0 = $S($EXPECT($L166, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L30, fail, 'JSXClosingElement ">"'));
16728
16912
  function JSXClosingElement(state) {
16729
16913
  let eventData;
16730
16914
  if (state.events) {
@@ -16870,7 +17054,10 @@ ${input.slice(result.pos)}
16870
17054
  return result;
16871
17055
  }
16872
17056
  }
16873
- var JSXElementName$0 = $S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName))));
17057
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L12, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
17058
+ return module.config.defaultElement;
17059
+ });
17060
+ var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
16874
17061
  function JSXElementName(state) {
16875
17062
  let eventData;
16876
17063
  if (state.events) {
@@ -16882,12 +17069,12 @@ ${input.slice(result.pos)}
16882
17069
  }
16883
17070
  }
16884
17071
  if (state.tokenize) {
16885
- const result = $TOKEN("JSXElementName", state, JSXElementName$0(state));
17072
+ const result = $TOKEN("JSXElementName", state, JSXElementName$0(state) || JSXElementName$1(state));
16886
17073
  if (state.events)
16887
17074
  state.events.exit?.("JSXElementName", state, result, eventData);
16888
17075
  return result;
16889
17076
  } else {
16890
- const result = JSXElementName$0(state);
17077
+ const result = JSXElementName$0(state) || JSXElementName$1(state);
16891
17078
  if (state.events)
16892
17079
  state.events.exit?.("JSXElementName", state, result, eventData);
16893
17080
  return result;
@@ -17299,7 +17486,7 @@ ${input.slice(result.pos)}
17299
17486
  var pre = $1;
17300
17487
  var exp = $2;
17301
17488
  var post = $3;
17302
- return module.processUnaryExpression(pre, exp, post);
17489
+ return processUnaryExpression(pre, exp, post);
17303
17490
  });
17304
17491
  function InlineJSXUnaryExpression(state) {
17305
17492
  let eventData;
@@ -18855,7 +19042,7 @@ ${input.slice(result.pos)}
18855
19042
  return result;
18856
19043
  }
18857
19044
  }
18858
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L82, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
19045
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L80, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
18859
19046
  var lhs = $1;
18860
19047
  var rhs = $2;
18861
19048
  if (!rhs)
@@ -19416,7 +19603,7 @@ ${input.slice(result.pos)}
19416
19603
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
19417
19604
  return value[1];
19418
19605
  });
19419
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L32, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L33, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L22, fail, 'InlineInterfacePropertyDelimiter "}"'))));
19606
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L109, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L107, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L31, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L22, fail, 'InlineInterfacePropertyDelimiter "}"'))));
19420
19607
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
19421
19608
  function InlineInterfacePropertyDelimiter(state) {
19422
19609
  let eventData;
@@ -19440,10 +19627,10 @@ ${input.slice(result.pos)}
19440
19627
  return result;
19441
19628
  }
19442
19629
  }
19443
- var TypeBinaryOp$0 = $TV($EXPECT($L84, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
19630
+ var TypeBinaryOp$0 = $TV($EXPECT($L82, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
19444
19631
  return { $loc, token: "|" };
19445
19632
  });
19446
- var TypeBinaryOp$1 = $TV($EXPECT($L83, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
19633
+ var TypeBinaryOp$1 = $TV($EXPECT($L81, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
19447
19634
  return { $loc, token: "&" };
19448
19635
  });
19449
19636
  function TypeBinaryOp(state) {
@@ -20884,6 +21071,7 @@ ${input.slice(result.pos)}
20884
21071
  coffeeNot: false,
20885
21072
  coffeeOf: false,
20886
21073
  coffeePrototype: false,
21074
+ defaultElement: "div",
20887
21075
  implicitReturns: true,
20888
21076
  objectIs: false,
20889
21077
  react: false,
@@ -21189,60 +21377,6 @@ ${input.slice(result.pos)}
21189
21377
  }
21190
21378
  return node;
21191
21379
  };
21192
- module.processUnaryExpression = (pre, exp, post) => {
21193
- if (post?.token === "?") {
21194
- post = {
21195
- $loc: post.$loc,
21196
- token: " != null"
21197
- };
21198
- switch (exp.type) {
21199
- case "Identifier":
21200
- case "Literal":
21201
- return {
21202
- ...exp,
21203
- children: [...pre, ...exp.children, post]
21204
- };
21205
- default:
21206
- const expression = {
21207
- ...exp,
21208
- children: [...pre, "(", exp.children, ")", post]
21209
- };
21210
- return {
21211
- type: "ParenthesizedExpression",
21212
- children: ["(", expression, ")"],
21213
- expression
21214
- };
21215
- }
21216
- }
21217
- if (exp.type === "Literal") {
21218
- if (pre.length === 1 && pre[0].token === "-") {
21219
- const children = [pre[0], ...exp.children];
21220
- if (post)
21221
- exp.children.push(post);
21222
- return {
21223
- type: "Literal",
21224
- children,
21225
- raw: `-${exp.raw}`
21226
- };
21227
- }
21228
- }
21229
- if (exp.children) {
21230
- const children = [...pre, ...exp.children];
21231
- if (post)
21232
- children.push(post);
21233
- return Object.assign({}, exp, { children });
21234
- } else if (Array.isArray(exp)) {
21235
- const children = [...pre, ...exp];
21236
- if (post)
21237
- children.push(post);
21238
- return { children };
21239
- } else {
21240
- const children = [...pre, exp];
21241
- if (post)
21242
- children.push(post);
21243
- return { children };
21244
- }
21245
- };
21246
21380
  module.needsRef = function(expression, base = "ref") {
21247
21381
  switch (expression.type) {
21248
21382
  case "Ref":
@@ -23072,6 +23206,31 @@ ${input.slice(result.pos)}
23072
23206
  return result;
23073
23207
  }
23074
23208
  }
23209
+ var Dedented$0 = $T($S($N($C(Samedent, IndentedFurther)), EOS), function(value) {
23210
+ return value[1];
23211
+ });
23212
+ function Dedented(state) {
23213
+ let eventData;
23214
+ if (state.events) {
23215
+ const result = state.events.enter?.("Dedented", state);
23216
+ if (result) {
23217
+ if (result.cache)
23218
+ return result.cache;
23219
+ eventData = result.data;
23220
+ }
23221
+ }
23222
+ if (state.tokenize) {
23223
+ const result = $TOKEN("Dedented", state, Dedented$0(state));
23224
+ if (state.events)
23225
+ state.events.exit?.("Dedented", state, result, eventData);
23226
+ return result;
23227
+ } else {
23228
+ const result = Dedented$0(state);
23229
+ if (state.events)
23230
+ state.events.exit?.("Dedented", state, result, eventData);
23231
+ return result;
23232
+ }
23233
+ }
23075
23234
  var PushIndent$0 = $Y($S(EOS, TrackIndented));
23076
23235
  function PushIndent(state) {
23077
23236
  let eventData;
@@ -23186,6 +23345,7 @@ ${input.slice(result.pos)}
23186
23345
  processCoffeeInterpolation,
23187
23346
  processConstAssignmentDeclaration,
23188
23347
  processLetAssignmentDeclaration,
23348
+ processUnaryExpression,
23189
23349
  quoteString,
23190
23350
  removeParentPointers
23191
23351
  } = require_lib();
@@ -23632,7 +23792,7 @@ ${input.slice(result.pos)}
23632
23792
  var uncacheable;
23633
23793
  ({ parse } = import_parser.default);
23634
23794
  ({ SourceMap: SourceMap2, base64Encode: base64Encode2 } = util_exports);
23635
- uncacheable = /* @__PURE__ */ new Set(["ActualAssignment", "AllowAll", "AllowClassImplicitCall", "AllowIndentedApplication", "AllowMultiLineImplicitObjectLiteral", "AllowTrailingMemberProperty", "AllowedTrailingMemberExpressions", "ApplicationStart", "Arguments", "ArgumentsWithTrailingMemberExpressions", "ArrowFunction", "ArrowFunctionTail", "AssignmentExpression", "AssignmentExpressionTail", "BinaryOpExpression", "BinaryOpRHS", "BracedBlock", "BracedObjectLiteralContent", "BracedOrEmptyBlock", "CallExpression", "CallExpressionRest", "ClassImplicitCallForbidden", "CoffeeCommentEnabled", "CommaDelimiter", "ConditionalExpression", "Declaration", "Debugger", "ElementListWithIndentedApplicationForbidden", "ElseClause", "Expression", "ExpressionStatement", "ExpressionWithIndentedApplicationForbidden", "ExtendedExpression", "FatArrowBody", "ForbidClassImplicitCall", "ForbidIndentedApplication", "ForbidMultiLineImplicitObjectLiteral", "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", "NestedObject", "NestedPropertyDefinitions", "NonSingleBracedBlock", "NotDedented", "ObjectLiteral", "PopIndent", "PopJSXStack", "PostfixedExpression", "PostfixedStatement", "PrimaryExpression", "PushIndent", "PushJSXOpeningElement", "PushJSXOpeningFragment", "RestoreAll", "RestoreClassImplicitCall", "RestoreMultiLineImplicitObjectLiteral", "RestoreIndentedApplication", "RestoreTrailingMemberProperty", "RHS", "Samedent", "ShortCircuitExpression", "SingleLineAssignmentExpression", "SingleLineComment", "SingleLineStatements", "SnugNamedProperty", "Statement", "StatementListItem", "SuffixedExpression", "SuffixedStatement", "ThinArrowFunction", "TrackIndented", "TrailingMemberExpressions", "TrailingMemberPropertyAllowed", "TypedJSXElement", "TypedJSXFragment", "UnaryExpression", "UpdateExpression"]);
23795
+ uncacheable = /* @__PURE__ */ new Set(["ActualAssignment", "AllowAll", "AllowClassImplicitCall", "AllowIndentedApplication", "AllowMultiLineImplicitObjectLiteral", "AllowTrailingMemberProperty", "AllowedTrailingMemberExpressions", "ApplicationStart", "Arguments", "ArgumentsWithTrailingMemberExpressions", "ArrowFunction", "ArrowFunctionTail", "AssignmentExpression", "AssignmentExpressionTail", "BinaryOpExpression", "BinaryOpRHS", "BracedBlock", "BracedObjectLiteralContent", "BracedOrEmptyBlock", "CallExpression", "CallExpressionRest", "ClassImplicitCallForbidden", "CoffeeCommentEnabled", "CommaDelimiter", "ConditionalExpression", "Declaration", "Debugger", "Dedented", "ElementListWithIndentedApplicationForbidden", "ElseClause", "Expression", "ExpressionStatement", "ExpressionWithIndentedApplicationForbidden", "ExtendedExpression", "FatArrowBody", "ForbidClassImplicitCall", "ForbidIndentedApplication", "ForbidMultiLineImplicitObjectLiteral", "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", "NonSingleBracedBlock", "NotDedented", "ObjectLiteral", "PopIndent", "PopJSXStack", "PostfixedExpression", "PostfixedStatement", "PrimaryExpression", "PushIndent", "PushJSXOpeningElement", "PushJSXOpeningFragment", "RestoreAll", "RestoreClassImplicitCall", "RestoreMultiLineImplicitObjectLiteral", "RestoreIndentedApplication", "RestoreTrailingMemberProperty", "RHS", "Samedent", "ShortCircuitExpression", "SingleLineAssignmentExpression", "SingleLineComment", "SingleLineStatements", "SnugNamedProperty", "Statement", "StatementListItem", "SuffixedExpression", "SuffixedStatement", "ThinArrowFunction", "TrackIndented", "TrailingMemberExpressions", "TrailingMemberPropertyAllowed", "TypedJSXElement", "TypedJSXFragment", "UnaryExpression", "UpdateExpression"]);
23636
23796
  var compile = function(src, options) {
23637
23797
  var ast, code, events, filename, ref, result, sm, srcMapJSON;
23638
23798
  if (!options) {