@danielx/civet 0.5.79 → 0.5.81

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
@@ -27,6 +27,106 @@ var Civet = (() => {
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
+ // source/lib.js
31
+ var require_lib = __commonJS({
32
+ "source/lib.js"(exports, module) {
33
+ "use strict";
34
+ function clone(node) {
35
+ removeParentPointers(node);
36
+ return deepCopy(node);
37
+ }
38
+ function deepCopy(node) {
39
+ if (node == null)
40
+ return node;
41
+ if (typeof node !== "object")
42
+ return node;
43
+ if (Array.isArray(node)) {
44
+ return node.map(deepCopy);
45
+ }
46
+ return Object.fromEntries(
47
+ Object.entries(node).map(([key, value]) => {
48
+ return [key, deepCopy(value)];
49
+ })
50
+ );
51
+ }
52
+ function removeParentPointers(node) {
53
+ if (node == null)
54
+ return;
55
+ if (typeof node !== "object")
56
+ return;
57
+ if (Array.isArray(node)) {
58
+ for (const child of node) {
59
+ removeParentPointers(child);
60
+ }
61
+ return;
62
+ }
63
+ node.parent = null;
64
+ if (node.children) {
65
+ for (const child of node.children) {
66
+ removeParentPointers(child);
67
+ }
68
+ }
69
+ }
70
+ function gatherNodes(node, predicate) {
71
+ if (node == null)
72
+ return [];
73
+ if (Array.isArray(node)) {
74
+ return node.flatMap((n) => gatherNodes(n, predicate));
75
+ }
76
+ if (predicate(node)) {
77
+ return [node];
78
+ }
79
+ switch (node.type) {
80
+ case "BlockStatement":
81
+ return [];
82
+ case "ForStatement":
83
+ const isDec = node.declaration?.type === "Declaration";
84
+ return node.children.flatMap((n) => {
85
+ if (isDec && n === node.declaration)
86
+ return [];
87
+ return gatherNodes(n, predicate);
88
+ });
89
+ default:
90
+ return gatherNodes(node.children, predicate);
91
+ }
92
+ return [];
93
+ }
94
+ function gatherRecursive(node, predicate, skipPredicate) {
95
+ if (node == null)
96
+ return [];
97
+ if (Array.isArray(node)) {
98
+ return node.flatMap((n) => gatherRecursive(n, predicate, skipPredicate));
99
+ }
100
+ if (skipPredicate?.(node))
101
+ return [];
102
+ if (predicate(node)) {
103
+ return [node];
104
+ }
105
+ return gatherRecursive(node.children, predicate, skipPredicate);
106
+ }
107
+ function gatherRecursiveAll(node, predicate) {
108
+ if (node == null)
109
+ return [];
110
+ if (Array.isArray(node)) {
111
+ return node.flatMap((n) => gatherRecursiveAll(n, predicate));
112
+ }
113
+ const nodes = gatherRecursiveAll(node.children, predicate);
114
+ if (predicate(node)) {
115
+ nodes.push(node);
116
+ }
117
+ return nodes;
118
+ }
119
+ module.exports = {
120
+ clone,
121
+ deepCopy,
122
+ gatherNodes,
123
+ gatherRecursive,
124
+ gatherRecursiveAll,
125
+ removeParentPointers
126
+ };
127
+ }
128
+ });
129
+
30
130
  // source/parser.hera
31
131
  var require_parser = __commonJS({
32
132
  "source/parser.hera"(exports, module) {
@@ -427,6 +527,9 @@ ${input.slice(result.pos)}
427
527
  exports.parserState = parserState;
428
528
  var { parse: parse2 } = parserState({
429
529
  Program,
530
+ TopLevelStatements,
531
+ NestedTopLevelStatements,
532
+ TopLevelSingleLineStatements,
430
533
  TopLevelStatement,
431
534
  ExtendedExpression,
432
535
  SingleLineExtendedExpression,
@@ -563,6 +666,7 @@ ${input.slice(result.pos)}
563
666
  FunctionDeclaration,
564
667
  FunctionSignature,
565
668
  FunctionExpression,
669
+ AmpersandFunctionExpression,
566
670
  OperatorDeclaration,
567
671
  OperatorSignature,
568
672
  AmpersandBlockRHS,
@@ -698,6 +802,9 @@ ${input.slice(result.pos)}
698
802
  CatchParameter,
699
803
  Condition,
700
804
  ExpressionWithIndentedApplicationForbidden,
805
+ ForbidClassImplicitCall,
806
+ AllowClassImplicitCall,
807
+ RestoreClassImplicitCall,
701
808
  ForbidIndentedApplication,
702
809
  AllowIndentedApplication,
703
810
  RestoreIndentedApplication,
@@ -1053,26 +1160,26 @@ ${input.slice(result.pos)}
1053
1160
  PopIndent,
1054
1161
  Nested
1055
1162
  });
1056
- var $L0 = $L("/ ");
1057
- var $L1 = $L("=");
1058
- var $L2 = $L("(");
1059
- var $L3 = $L("?");
1060
- var $L4 = $L(".");
1061
- var $L5 = $L("++");
1062
- var $L6 = $L("--");
1063
- var $L7 = $L("=>");
1064
- var $L8 = $L(" ");
1065
- var $L9 = $L("implements");
1066
- var $L10 = $L("<:");
1067
- var $L11 = $L("#");
1068
- var $L12 = $L("super");
1069
- var $L13 = $L("import");
1070
- var $L14 = $L("return.value");
1071
- var $L15 = $L("!");
1072
- var $L16 = $L("^");
1073
- var $L17 = $L("-");
1074
- var $L18 = $L("import.meta");
1075
- var $L19 = $L("");
1163
+ var $L0 = $L("");
1164
+ var $L1 = $L("/ ");
1165
+ var $L2 = $L("=");
1166
+ var $L3 = $L("(");
1167
+ var $L4 = $L("?");
1168
+ var $L5 = $L(".");
1169
+ var $L6 = $L("++");
1170
+ var $L7 = $L("--");
1171
+ var $L8 = $L("=>");
1172
+ var $L9 = $L(" ");
1173
+ var $L10 = $L("implements");
1174
+ var $L11 = $L("<:");
1175
+ var $L12 = $L("#");
1176
+ var $L13 = $L("super");
1177
+ var $L14 = $L("import");
1178
+ var $L15 = $L("return.value");
1179
+ var $L16 = $L("!");
1180
+ var $L17 = $L("^");
1181
+ var $L18 = $L("-");
1182
+ var $L19 = $L("import.meta");
1076
1183
  var $L20 = $L(",");
1077
1184
  var $L21 = $L("->");
1078
1185
  var $L22 = $L("}");
@@ -1301,7 +1408,7 @@ ${input.slice(result.pos)}
1301
1408
  var $R63 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1302
1409
  var $R64 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1303
1410
  var $R65 = $R(new RegExp("[ \\t]*", "suy"));
1304
- var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1411
+ var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1305
1412
  var statements = $4;
1306
1413
  module.processProgram(statements);
1307
1414
  return $0;
@@ -1328,7 +1435,117 @@ ${input.slice(result.pos)}
1328
1435
  return result;
1329
1436
  }
1330
1437
  }
1331
- var TopLevelStatement$0 = $S($E(EOS), ModuleItem, StatementDelimiter);
1438
+ var TopLevelStatements$0 = $TS($S(TrackIndented, TopLevelSingleLineStatements, $Q(NestedTopLevelStatements), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
1439
+ var indent = $1;
1440
+ var first = $2;
1441
+ var rest = $3;
1442
+ return [
1443
+ [indent, ...first[0]],
1444
+ ...first.slice(1).map((s) => ["", ...s]),
1445
+ ...rest.flat()
1446
+ ];
1447
+ });
1448
+ var TopLevelStatements$1 = $TS($S(TopLevelSingleLineStatements, $Q(NestedTopLevelStatements)), function($skip, $loc, $0, $1, $2) {
1449
+ var first = $1;
1450
+ var rest = $2;
1451
+ return [
1452
+ ...first.map((s) => ["", ...s]),
1453
+ ...rest.flat()
1454
+ ];
1455
+ });
1456
+ var TopLevelStatements$2 = $T($EXPECT($L0, fail, 'TopLevelStatements ""'), function(value) {
1457
+ return [];
1458
+ });
1459
+ function TopLevelStatements(state) {
1460
+ let eventData;
1461
+ if (state.events) {
1462
+ const result = state.events.enter?.("TopLevelStatements", state);
1463
+ if (result) {
1464
+ if (result.cache)
1465
+ return result.cache;
1466
+ eventData = result.data;
1467
+ }
1468
+ }
1469
+ if (state.tokenize) {
1470
+ const result = $TOKEN("TopLevelStatements", state, TopLevelStatements$0(state) || TopLevelStatements$1(state) || TopLevelStatements$2(state));
1471
+ if (state.events)
1472
+ state.events.exit?.("TopLevelStatements", state, result, eventData);
1473
+ return result;
1474
+ } else {
1475
+ const result = TopLevelStatements$0(state) || TopLevelStatements$1(state) || TopLevelStatements$2(state);
1476
+ if (state.events)
1477
+ state.events.exit?.("TopLevelStatements", state, result, eventData);
1478
+ return result;
1479
+ }
1480
+ }
1481
+ var NestedTopLevelStatements$0 = $TS($S(Nested, TopLevelSingleLineStatements), function($skip, $loc, $0, $1, $2) {
1482
+ var nested = $1;
1483
+ var statements = $2;
1484
+ return [
1485
+ [nested, ...statements[0]],
1486
+ ...statements.slice(1).map((s) => ["", ...s])
1487
+ ];
1488
+ });
1489
+ function NestedTopLevelStatements(state) {
1490
+ let eventData;
1491
+ if (state.events) {
1492
+ const result = state.events.enter?.("NestedTopLevelStatements", state);
1493
+ if (result) {
1494
+ if (result.cache)
1495
+ return result.cache;
1496
+ eventData = result.data;
1497
+ }
1498
+ }
1499
+ if (state.tokenize) {
1500
+ const result = $TOKEN("NestedTopLevelStatements", state, NestedTopLevelStatements$0(state));
1501
+ if (state.events)
1502
+ state.events.exit?.("NestedTopLevelStatements", state, result, eventData);
1503
+ return result;
1504
+ } else {
1505
+ const result = NestedTopLevelStatements$0(state);
1506
+ if (state.events)
1507
+ state.events.exit?.("NestedTopLevelStatements", state, result, eventData);
1508
+ return result;
1509
+ }
1510
+ }
1511
+ var TopLevelSingleLineStatements$0 = $TV($P($S($N(EOS), TopLevelStatement)), function($skip, $loc, $0, $1) {
1512
+ var statements = $0;
1513
+ return statements.map(([, statement]) => statement);
1514
+ });
1515
+ function TopLevelSingleLineStatements(state) {
1516
+ let eventData;
1517
+ if (state.events) {
1518
+ const result = state.events.enter?.("TopLevelSingleLineStatements", state);
1519
+ if (result) {
1520
+ if (result.cache)
1521
+ return result.cache;
1522
+ eventData = result.data;
1523
+ }
1524
+ }
1525
+ if (state.tokenize) {
1526
+ const result = $TOKEN("TopLevelSingleLineStatements", state, TopLevelSingleLineStatements$0(state));
1527
+ if (state.events)
1528
+ state.events.exit?.("TopLevelSingleLineStatements", state, result, eventData);
1529
+ return result;
1530
+ } else {
1531
+ const result = TopLevelSingleLineStatements$0(state);
1532
+ if (state.events)
1533
+ state.events.exit?.("TopLevelSingleLineStatements", state, result, eventData);
1534
+ return result;
1535
+ }
1536
+ }
1537
+ var TopLevelStatement$0 = $TS($S($E(_), ModuleItem, StatementDelimiter), function($skip, $loc, $0, $1, $2, $3) {
1538
+ var ws = $1;
1539
+ var statement = $2;
1540
+ var delimiter = $3;
1541
+ if (ws) {
1542
+ statement = {
1543
+ ...statement,
1544
+ children: [ws, ...statement.children]
1545
+ };
1546
+ }
1547
+ return [statement, delimiter];
1548
+ });
1332
1549
  function TopLevelStatement(state) {
1333
1550
  let eventData;
1334
1551
  if (state.events) {
@@ -1623,10 +1840,11 @@ ${input.slice(result.pos)}
1623
1840
  }
1624
1841
  }
1625
1842
  var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R0, fail, "ForbiddenImplicitCalls /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
1626
- var ForbiddenImplicitCalls$1 = $EXPECT($L0, fail, 'ForbiddenImplicitCalls "/ "');
1627
- var ForbiddenImplicitCalls$2 = AtAt;
1628
- var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L1, fail, 'ForbiddenImplicitCalls "="'), Whitespace);
1629
- var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L2, fail, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
1843
+ var ForbiddenImplicitCalls$1 = $EXPECT($L1, fail, 'ForbiddenImplicitCalls "/ "');
1844
+ var ForbiddenImplicitCalls$2 = $S(ForbidClassImplicitCall, Class);
1845
+ var ForbiddenImplicitCalls$3 = AtAt;
1846
+ var ForbiddenImplicitCalls$4 = $S(Identifier, $EXPECT($L2, fail, 'ForbiddenImplicitCalls "="'), Whitespace);
1847
+ var ForbiddenImplicitCalls$5 = $TS($S(Identifier, $N($EXPECT($L3, fail, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
1630
1848
  if (module.operators.has($1.name))
1631
1849
  return $1;
1632
1850
  return $skip;
@@ -1642,12 +1860,12 @@ ${input.slice(result.pos)}
1642
1860
  }
1643
1861
  }
1644
1862
  if (state.tokenize) {
1645
- const result = $TOKEN("ForbiddenImplicitCalls", state, ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state) || ForbiddenImplicitCalls$4(state));
1863
+ const result = $TOKEN("ForbiddenImplicitCalls", state, ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state) || ForbiddenImplicitCalls$4(state) || ForbiddenImplicitCalls$5(state));
1646
1864
  if (state.events)
1647
1865
  state.events.exit?.("ForbiddenImplicitCalls", state, result, eventData);
1648
1866
  return result;
1649
1867
  } else {
1650
- const result = ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state) || ForbiddenImplicitCalls$4(state);
1868
+ const result = ForbiddenImplicitCalls$0(state) || ForbiddenImplicitCalls$1(state) || ForbiddenImplicitCalls$2(state) || ForbiddenImplicitCalls$3(state) || ForbiddenImplicitCalls$4(state) || ForbiddenImplicitCalls$5(state);
1651
1869
  if (state.events)
1652
1870
  state.events.exit?.("ForbiddenImplicitCalls", state, result, eventData);
1653
1871
  return result;
@@ -1684,7 +1902,7 @@ ${input.slice(result.pos)}
1684
1902
  return result;
1685
1903
  }
1686
1904
  }
1687
- var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S($C(Samedent, IndentedFurther), $Y($S($E($EXPECT($L3, fail, 'TrailingMemberExpressions "?"')), $EXPECT($L4, fail, 'TrailingMemberExpressions "."'), $N($EXPECT($R1, fail, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
1905
+ 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) {
1688
1906
  return $1.concat($2);
1689
1907
  });
1690
1908
  function TrailingMemberExpressions(state) {
@@ -1763,8 +1981,8 @@ ${input.slice(result.pos)}
1763
1981
  return module.insertTrimmingSpace($1, "");
1764
1982
  });
1765
1983
  var ArgumentList$2 = NestedArgumentList;
1766
- var ArgumentList$3 = $TS($S($Q(TrailingComment), ArgumentPart, $Q($S(CommaDelimiter, $Q(TrailingComment), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
1767
- return [...$1, $2, ...$3];
1984
+ var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
1985
+ return [...$1 || [], $2, ...$3];
1768
1986
  });
1769
1987
  function ArgumentList(state) {
1770
1988
  let eventData;
@@ -1793,8 +2011,8 @@ ${input.slice(result.pos)}
1793
2011
  return module.insertTrimmingSpace($1, "");
1794
2012
  });
1795
2013
  var NonPipelineArgumentList$2 = NestedArgumentList;
1796
- var NonPipelineArgumentList$3 = $TS($S($Q(TrailingComment), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $Q(TrailingComment), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
1797
- return [...$1, $2, ...$3];
2014
+ var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
2015
+ return [...$1 || [], $2, ...$3];
1798
2016
  });
1799
2017
  function NonPipelineArgumentList(state) {
1800
2018
  let eventData;
@@ -1869,7 +2087,7 @@ ${input.slice(result.pos)}
1869
2087
  return result;
1870
2088
  }
1871
2089
  }
1872
- var SingleLineArgumentExpressions$0 = $S($Q(TrailingComment), ArgumentPart, $Q($S($Q(TrailingComment), Comma, $Q(TrailingComment), ArgumentPart)));
2090
+ var SingleLineArgumentExpressions$0 = $S($E(_), ArgumentPart, $Q($S($E(_), Comma, $E(_), ArgumentPart)));
1873
2091
  function SingleLineArgumentExpressions(state) {
1874
2092
  let eventData;
1875
2093
  if (state.events) {
@@ -2154,7 +2372,7 @@ ${input.slice(result.pos)}
2154
2372
  return result;
2155
2373
  }
2156
2374
  }
2157
- var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L5, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L6, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
2375
+ var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L6, fail, 'UpdateExpressionSymbol "++"'), $EXPECT($L7, fail, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
2158
2376
  return { $loc, token: $1 };
2159
2377
  });
2160
2378
  function UpdateExpressionSymbol(state) {
@@ -2228,10 +2446,10 @@ ${input.slice(result.pos)}
2228
2446
  return result;
2229
2447
  }
2230
2448
  }
2231
- var SingleLineAssignmentExpression$0 = $TS($S($Q(TrailingComment), AssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
2449
+ var SingleLineAssignmentExpression$0 = $TS($S($E(_), AssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
2232
2450
  var ws = $1;
2233
2451
  var tail = $2;
2234
- if (ws.length) {
2452
+ if (ws?.length) {
2235
2453
  if (tail.children && tail.type !== "IterationExpression") {
2236
2454
  return {
2237
2455
  ...tail,
@@ -2348,7 +2566,7 @@ ${input.slice(result.pos)}
2348
2566
  }
2349
2567
  }
2350
2568
  var YieldTail$0 = $Y(EOS);
2351
- var YieldTail$1 = $S($E($S($Q(TrailingComment), Star)), AssignmentExpression);
2569
+ var YieldTail$1 = $S($E($S($E(_), Star)), AssignmentExpression);
2352
2570
  function YieldTail(state) {
2353
2571
  let eventData;
2354
2572
  if (state.events) {
@@ -2436,7 +2654,7 @@ ${input.slice(result.pos)}
2436
2654
  return result;
2437
2655
  }
2438
2656
  }
2439
- var FatArrow$0 = $TS($S(__, $EXPECT($L7, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
2657
+ var FatArrow$0 = $TS($S(__, $EXPECT($L8, fail, 'FatArrow "=>"')), function($skip, $loc, $0, $1, $2) {
2440
2658
  var ws = $1;
2441
2659
  if (!ws.length)
2442
2660
  return " =>";
@@ -2520,7 +2738,7 @@ ${input.slice(result.pos)}
2520
2738
  }
2521
2739
  }
2522
2740
  var TernaryRest$0 = NestedTernaryRest;
2523
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L8, fail, 'TernaryRest " "')), $Q(TrailingComment), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
2741
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($L9, fail, 'TernaryRest " "')), $E(_), QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
2524
2742
  return $0.slice(2);
2525
2743
  });
2526
2744
  function TernaryRest(state) {
@@ -2599,6 +2817,23 @@ ${input.slice(result.pos)}
2599
2817
  var ws = $1;
2600
2818
  var head = $2;
2601
2819
  var body = $3;
2820
+ if (head.token === "&") {
2821
+ const ref = {
2822
+ type: "Ref",
2823
+ base: "$"
2824
+ };
2825
+ const arrowBody = {
2826
+ type: "PipelineExpression",
2827
+ children: [ws, ref, body]
2828
+ };
2829
+ return {
2830
+ type: "ArrowFunction",
2831
+ children: [ref, " => ", arrowBody],
2832
+ ref,
2833
+ body: [arrowBody],
2834
+ ampersandBlock: true
2835
+ };
2836
+ }
2602
2837
  return {
2603
2838
  type: "PipelineExpression",
2604
2839
  children: [ws, head, body]
@@ -2628,6 +2863,7 @@ ${input.slice(result.pos)}
2628
2863
  }
2629
2864
  var PipelineHeadItem$0 = NonPipelineExtendedExpression;
2630
2865
  var PipelineHeadItem$1 = ParenthesizedExpression;
2866
+ var PipelineHeadItem$2 = Ampersand;
2631
2867
  function PipelineHeadItem(state) {
2632
2868
  let eventData;
2633
2869
  if (state.events) {
@@ -2639,12 +2875,12 @@ ${input.slice(result.pos)}
2639
2875
  }
2640
2876
  }
2641
2877
  if (state.tokenize) {
2642
- const result = $TOKEN("PipelineHeadItem", state, PipelineHeadItem$0(state) || PipelineHeadItem$1(state));
2878
+ const result = $TOKEN("PipelineHeadItem", state, PipelineHeadItem$0(state) || PipelineHeadItem$1(state) || PipelineHeadItem$2(state));
2643
2879
  if (state.events)
2644
2880
  state.events.exit?.("PipelineHeadItem", state, result, eventData);
2645
2881
  return result;
2646
2882
  } else {
2647
- const result = PipelineHeadItem$0(state) || PipelineHeadItem$1(state);
2883
+ const result = PipelineHeadItem$0(state) || PipelineHeadItem$1(state) || PipelineHeadItem$2(state);
2648
2884
  if (state.events)
2649
2885
  state.events.exit?.("PipelineHeadItem", state, result, eventData);
2650
2886
  return result;
@@ -2653,7 +2889,10 @@ ${input.slice(result.pos)}
2653
2889
  var PipelineTailItem$0 = Await;
2654
2890
  var PipelineTailItem$1 = Yield;
2655
2891
  var PipelineTailItem$2 = Return;
2656
- var PipelineTailItem$3 = PipelineHeadItem;
2892
+ var PipelineTailItem$3 = AmpersandFunctionExpression;
2893
+ var PipelineTailItem$4 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
2894
+ return value[1];
2895
+ });
2657
2896
  function PipelineTailItem(state) {
2658
2897
  let eventData;
2659
2898
  if (state.events) {
@@ -2665,12 +2904,12 @@ ${input.slice(result.pos)}
2665
2904
  }
2666
2905
  }
2667
2906
  if (state.tokenize) {
2668
- const result = $TOKEN("PipelineTailItem", state, PipelineTailItem$0(state) || PipelineTailItem$1(state) || PipelineTailItem$2(state) || PipelineTailItem$3(state));
2907
+ const result = $TOKEN("PipelineTailItem", state, PipelineTailItem$0(state) || PipelineTailItem$1(state) || PipelineTailItem$2(state) || PipelineTailItem$3(state) || PipelineTailItem$4(state));
2669
2908
  if (state.events)
2670
2909
  state.events.exit?.("PipelineTailItem", state, result, eventData);
2671
2910
  return result;
2672
2911
  } else {
2673
- const result = PipelineTailItem$0(state) || PipelineTailItem$1(state) || PipelineTailItem$2(state) || PipelineTailItem$3(state);
2912
+ const result = PipelineTailItem$0(state) || PipelineTailItem$1(state) || PipelineTailItem$2(state) || PipelineTailItem$3(state) || PipelineTailItem$4(state);
2674
2913
  if (state.events)
2675
2914
  state.events.exit?.("PipelineTailItem", state, result, eventData);
2676
2915
  return result;
@@ -2864,7 +3103,7 @@ ${input.slice(result.pos)}
2864
3103
  return result;
2865
3104
  }
2866
3105
  }
2867
- var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L8, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
3106
+ var ExtendsToken$0 = $TS($S(Loc, __, OpenAngleBracket, $E($EXPECT($L9, fail, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2868
3107
  var l = $1;
2869
3108
  var ws = $2;
2870
3109
  var lt = $3;
@@ -2958,7 +3197,7 @@ ${input.slice(result.pos)}
2958
3197
  return result;
2959
3198
  }
2960
3199
  }
2961
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L8, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
3200
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L9, fail, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
2962
3201
  var l = $1;
2963
3202
  var ws = $2;
2964
3203
  var token = $3;
@@ -2968,7 +3207,7 @@ ${input.slice(result.pos)}
2968
3207
  }
2969
3208
  return { children };
2970
3209
  });
2971
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L9, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
3210
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L10, fail, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
2972
3211
  $2 = { $loc, token: $2 };
2973
3212
  return [$1, $2];
2974
3213
  });
@@ -2994,7 +3233,7 @@ ${input.slice(result.pos)}
2994
3233
  return result;
2995
3234
  }
2996
3235
  }
2997
- var ImplementsShorthand$0 = $TV($EXPECT($L10, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
3236
+ var ImplementsShorthand$0 = $TV($EXPECT($L11, fail, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
2998
3237
  return { $loc, token: "implements " };
2999
3238
  });
3000
3239
  function ImplementsShorthand(state) {
@@ -3117,7 +3356,7 @@ ${input.slice(result.pos)}
3117
3356
  return result;
3118
3357
  }
3119
3358
  }
3120
- var ClassElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $Q(TrailingComment))), ClassElementDefinition);
3359
+ var ClassElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), ClassElementDefinition);
3121
3360
  var ClassElement$1 = $S(Static, BracedBlock);
3122
3361
  function ClassElement(state) {
3123
3362
  let eventData;
@@ -3263,7 +3502,7 @@ ${input.slice(result.pos)}
3263
3502
  return result;
3264
3503
  }
3265
3504
  }
3266
- var ClassSignatureElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $Q(TrailingComment))), $C(MethodSignature, FieldDefinition));
3505
+ var ClassSignatureElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), $C(MethodSignature, FieldDefinition));
3267
3506
  var ClassSignatureElement$1 = $S(Static, ClassSignatureBody);
3268
3507
  function ClassSignatureElement(state) {
3269
3508
  let eventData;
@@ -3339,7 +3578,7 @@ ${input.slice(result.pos)}
3339
3578
  };
3340
3579
  return $0;
3341
3580
  });
3342
- var FieldDefinition$2 = $TS($S($E($S(Abstract, $Q(TrailingComment))), $E($S(Readonly, $Q(TrailingComment))), ClassElementName, $E(TypeSuffix), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
3581
+ var FieldDefinition$2 = $TS($S($E($S(Abstract, $E(_))), $E($S(Readonly, $E(_))), ClassElementName, $E(TypeSuffix), $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
3343
3582
  if ($1)
3344
3583
  return { children: $0, ts: true };
3345
3584
  return $0;
@@ -3367,7 +3606,7 @@ ${input.slice(result.pos)}
3367
3606
  }
3368
3607
  }
3369
3608
  var ThisLiteral$0 = This;
3370
- var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L11, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
3609
+ var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L12, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
3371
3610
  var at = $1;
3372
3611
  var id = $2;
3373
3612
  return [at, ".", id];
@@ -3421,7 +3660,7 @@ ${input.slice(result.pos)}
3421
3660
  return result;
3422
3661
  }
3423
3662
  }
3424
- var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L4, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
3663
+ var LeftHandSideExpression$0 = $TS($S($Q($S(New, $N($EXPECT($L5, fail, 'LeftHandSideExpression "."')), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
3425
3664
  if ($1.length)
3426
3665
  return $0;
3427
3666
  return $2;
@@ -3448,14 +3687,14 @@ ${input.slice(result.pos)}
3448
3687
  return result;
3449
3688
  }
3450
3689
  }
3451
- var CallExpression$0 = $TS($S($EXPECT($L12, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3690
+ var CallExpression$0 = $TS($S($EXPECT($L13, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3452
3691
  var rest = $3;
3453
3692
  return module.processGlob({
3454
3693
  type: "CallExpression",
3455
3694
  children: [$1, ...$2, ...rest.flat()]
3456
3695
  });
3457
3696
  });
3458
- var CallExpression$1 = $TS($S($EXPECT($L13, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3697
+ var CallExpression$1 = $TS($S($EXPECT($L14, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
3459
3698
  var rest = $3;
3460
3699
  return module.processGlob({
3461
3700
  type: "CallExpression",
@@ -3498,7 +3737,7 @@ ${input.slice(result.pos)}
3498
3737
  return result;
3499
3738
  }
3500
3739
  }
3501
- var ReturnValue$0 = $TV($C($S($EXPECT($L14, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
3740
+ var ReturnValue$0 = $TV($C($S($EXPECT($L15, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
3502
3741
  return { type: "ReturnValue", children: [$1[0]] };
3503
3742
  });
3504
3743
  function ReturnValue(state) {
@@ -3636,7 +3875,7 @@ ${input.slice(result.pos)}
3636
3875
  return result;
3637
3876
  }
3638
3877
  }
3639
- var NonNullAssertion$0 = $T($S($EXPECT($L15, fail, 'NonNullAssertion "!"'), $N($EXPECT($L16, fail, 'NonNullAssertion "^"'))), function(value) {
3878
+ var NonNullAssertion$0 = $T($S($EXPECT($L16, fail, 'NonNullAssertion "!"'), $N($EXPECT($L17, fail, 'NonNullAssertion "^"'))), function(value) {
3640
3879
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
3641
3880
  });
3642
3881
  function NonNullAssertion(state) {
@@ -3774,7 +4013,7 @@ ${input.slice(result.pos)}
3774
4013
  ]
3775
4014
  };
3776
4015
  });
3777
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L17, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
4016
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L18, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
3778
4017
  var dot = $1;
3779
4018
  var neg = $2;
3780
4019
  var num = $3;
@@ -3960,8 +4199,8 @@ ${input.slice(result.pos)}
3960
4199
  return result;
3961
4200
  }
3962
4201
  }
3963
- var SuperProperty$0 = $S($EXPECT($L12, fail, 'SuperProperty "super"'), MemberBracketContent);
3964
- var SuperProperty$1 = $S($EXPECT($L12, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
4202
+ var SuperProperty$0 = $S($EXPECT($L13, fail, 'SuperProperty "super"'), MemberBracketContent);
4203
+ var SuperProperty$1 = $S($EXPECT($L13, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
3965
4204
  function SuperProperty(state) {
3966
4205
  let eventData;
3967
4206
  if (state.events) {
@@ -3985,7 +4224,7 @@ ${input.slice(result.pos)}
3985
4224
  }
3986
4225
  }
3987
4226
  var MetaProperty$0 = $S(New, Dot, Target);
3988
- var MetaProperty$1 = $TS($S($EXPECT($L18, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4227
+ var MetaProperty$1 = $TS($S($EXPECT($L19, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
3989
4228
  return { $loc, token: $1 };
3990
4229
  });
3991
4230
  function MetaProperty(state) {
@@ -4011,7 +4250,7 @@ ${input.slice(result.pos)}
4011
4250
  }
4012
4251
  }
4013
4252
  var Parameters$0 = NonEmptyParameters;
4014
- var Parameters$1 = $TV($EXPECT($L19, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
4253
+ var Parameters$1 = $TV($EXPECT($L0, fail, 'Parameters ""'), function($skip, $loc, $0, $1) {
4015
4254
  return {
4016
4255
  type: "Parameters",
4017
4256
  children: [{ $loc, token: "()" }],
@@ -4868,7 +5107,7 @@ ${input.slice(result.pos)}
4868
5107
  return result;
4869
5108
  }
4870
5109
  }
4871
- var EmptyBindingPattern$0 = $TV($EXPECT($L19, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
5110
+ var EmptyBindingPattern$0 = $TV($EXPECT($L0, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
4872
5111
  const ref = {
4873
5112
  type: "Ref",
4874
5113
  base: "ref",
@@ -5479,7 +5718,30 @@ ${input.slice(result.pos)}
5479
5718
  block
5480
5719
  };
5481
5720
  });
5482
- var FunctionExpression$1 = $TS($S($E(AmpersandUnaryPrefix), $C(Ampersand, $S($N(NumericLiteral), $Y($S($E(QuestionMark), Dot)))), $E(AmpersandBlockRHS)), function($skip, $loc, $0, $1, $2, $3) {
5721
+ var FunctionExpression$1 = AmpersandFunctionExpression;
5722
+ function FunctionExpression(state) {
5723
+ let eventData;
5724
+ if (state.events) {
5725
+ const result = state.events.enter?.("FunctionExpression", state);
5726
+ if (result) {
5727
+ if (result.cache)
5728
+ return result.cache;
5729
+ eventData = result.data;
5730
+ }
5731
+ }
5732
+ if (state.tokenize) {
5733
+ const result = $TOKEN("FunctionExpression", state, FunctionExpression$0(state) || FunctionExpression$1(state));
5734
+ if (state.events)
5735
+ state.events.exit?.("FunctionExpression", state, result, eventData);
5736
+ return result;
5737
+ } else {
5738
+ const result = FunctionExpression$0(state) || FunctionExpression$1(state);
5739
+ if (state.events)
5740
+ state.events.exit?.("FunctionExpression", state, result, eventData);
5741
+ return result;
5742
+ }
5743
+ }
5744
+ var AmpersandFunctionExpression$0 = $TS($S($E(AmpersandUnaryPrefix), $C(Ampersand, $S($N(NumericLiteral), $Y($S($E(QuestionMark), Dot)))), $E(AmpersandBlockRHS)), function($skip, $loc, $0, $1, $2, $3) {
5483
5745
  var prefix = $1;
5484
5746
  var rhs = $3;
5485
5747
  if (!prefix && !rhs)
@@ -5508,10 +5770,10 @@ ${input.slice(result.pos)}
5508
5770
  ampersandBlock: true
5509
5771
  };
5510
5772
  });
5511
- function FunctionExpression(state) {
5773
+ function AmpersandFunctionExpression(state) {
5512
5774
  let eventData;
5513
5775
  if (state.events) {
5514
- const result = state.events.enter?.("FunctionExpression", state);
5776
+ const result = state.events.enter?.("AmpersandFunctionExpression", state);
5515
5777
  if (result) {
5516
5778
  if (result.cache)
5517
5779
  return result.cache;
@@ -5519,14 +5781,14 @@ ${input.slice(result.pos)}
5519
5781
  }
5520
5782
  }
5521
5783
  if (state.tokenize) {
5522
- const result = $TOKEN("FunctionExpression", state, FunctionExpression$0(state) || FunctionExpression$1(state));
5784
+ const result = $TOKEN("AmpersandFunctionExpression", state, AmpersandFunctionExpression$0(state));
5523
5785
  if (state.events)
5524
- state.events.exit?.("FunctionExpression", state, result, eventData);
5786
+ state.events.exit?.("AmpersandFunctionExpression", state, result, eventData);
5525
5787
  return result;
5526
5788
  } else {
5527
- const result = FunctionExpression$0(state) || FunctionExpression$1(state);
5789
+ const result = AmpersandFunctionExpression$0(state);
5528
5790
  if (state.events)
5529
- state.events.exit?.("FunctionExpression", state, result, eventData);
5791
+ state.events.exit?.("AmpersandFunctionExpression", state, result, eventData);
5530
5792
  return result;
5531
5793
  }
5532
5794
  }
@@ -5776,10 +6038,11 @@ ${input.slice(result.pos)}
5776
6038
  });
5777
6039
  var ExplicitBlock$1 = $TS($S(__, OpenBrace, NestedBlockStatements, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5778
6040
  var block = $3;
5779
- return Object.assign({}, block, {
6041
+ return {
6042
+ ...block,
5780
6043
  children: [$1, $2, ...block.children, $4, $5],
5781
6044
  bare: false
5782
- });
6045
+ };
5783
6046
  });
5784
6047
  function ExplicitBlock(state) {
5785
6048
  let eventData;
@@ -5839,7 +6102,7 @@ ${input.slice(result.pos)}
5839
6102
  var Block$0 = ExplicitBlock;
5840
6103
  var Block$1 = ImplicitNestedBlock;
5841
6104
  var Block$2 = ThenClause;
5842
- var Block$3 = $TS($S($Q(TrailingComment), $N(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
6105
+ var Block$3 = $TS($S($E(_), $N(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
5843
6106
  var ws = $1;
5844
6107
  var s = $3;
5845
6108
  const expressions = [[ws, s]];
@@ -5977,7 +6240,7 @@ ${input.slice(result.pos)}
5977
6240
  return result;
5978
6241
  }
5979
6242
  }
5980
- var EmptyBareBlock$0 = $TV($EXPECT($L19, fail, 'EmptyBareBlock ""'), function($skip, $loc, $0, $1) {
6243
+ var EmptyBareBlock$0 = $TV($EXPECT($L0, fail, 'EmptyBareBlock ""'), function($skip, $loc, $0, $1) {
5981
6244
  const expressions = [];
5982
6245
  return {
5983
6246
  type: "BlockStatement",
@@ -6080,7 +6343,7 @@ ${input.slice(result.pos)}
6080
6343
  return result;
6081
6344
  }
6082
6345
  }
6083
- var NonSingleBracedBlock$0 = $TS($S($Q(TrailingComment), OpenBrace, AllowAll, $E($S(BracedContent, __, CloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6346
+ var NonSingleBracedBlock$0 = $TS($S($E(_), OpenBrace, AllowAll, $E($S(BracedContent, __, CloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6084
6347
  var ws1 = $1;
6085
6348
  var open = $2;
6086
6349
  if (!$4)
@@ -6196,7 +6459,7 @@ ${input.slice(result.pos)}
6196
6459
  }
6197
6460
  }
6198
6461
  var BracedContent$0 = NestedBlockStatements;
6199
- var BracedContent$1 = $TS($S($Q(TrailingComment), Statement), function($skip, $loc, $0, $1, $2) {
6462
+ var BracedContent$1 = $TS($S($E(_), Statement), function($skip, $loc, $0, $1, $2) {
6200
6463
  const expressions = [["", $2]];
6201
6464
  return {
6202
6465
  type: "BlockStatement",
@@ -6240,8 +6503,11 @@ ${input.slice(result.pos)}
6240
6503
  return $skip;
6241
6504
  const first = statements[0];
6242
6505
  const ws = first[0];
6243
- const [indent] = ws.slice(-1);
6244
- first[0] = indent;
6506
+ const indent = ws.at(-1);
6507
+ statements = [
6508
+ [indent, ...first.slice(1)],
6509
+ ...statements.slice(1)
6510
+ ];
6245
6511
  return {
6246
6512
  type: "BlockStatement",
6247
6513
  expressions: statements,
@@ -6271,7 +6537,16 @@ ${input.slice(result.pos)}
6271
6537
  return result;
6272
6538
  }
6273
6539
  }
6274
- var NestedBlockStatement$0 = $S(Nested, StatementListItem, StatementDelimiter);
6540
+ var NestedBlockStatement$0 = $TS($S(Nested, $E(_), StatementListItem, StatementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
6541
+ var nested = $1;
6542
+ var ws = $2;
6543
+ var statement = $3;
6544
+ var delimiter = $4;
6545
+ if (ws) {
6546
+ statement = { ...statement, children: [ws, ...statement.children] };
6547
+ }
6548
+ return [nested, statement, delimiter];
6549
+ });
6275
6550
  function NestedBlockStatement(state) {
6276
6551
  let eventData;
6277
6552
  if (state.events) {
@@ -6512,7 +6787,7 @@ ${input.slice(result.pos)}
6512
6787
  return result;
6513
6788
  }
6514
6789
  }
6515
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L1, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L1, fail, 'UpcomingAssignment "="'), $EXPECT($L30, fail, 'UpcomingAssignment ">"')))));
6790
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L2, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L2, fail, 'UpcomingAssignment "="'), $EXPECT($L30, fail, 'UpcomingAssignment ">"')))));
6516
6791
  function UpcomingAssignment(state) {
6517
6792
  let eventData;
6518
6793
  if (state.events) {
@@ -7228,7 +7503,7 @@ ${input.slice(result.pos)}
7228
7503
  return result;
7229
7504
  }
7230
7505
  }
7231
- var ImplicitInlineObjectPropertyDelimiter$0 = $S($Q(TrailingComment), Comma);
7506
+ var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma);
7232
7507
  var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S($C(Samedent, $Q(_)), NamedProperty)), InsertComma), function(value) {
7233
7508
  return value[1];
7234
7509
  });
@@ -7571,7 +7846,7 @@ ${input.slice(result.pos)}
7571
7846
  expression
7572
7847
  };
7573
7848
  });
7574
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L17, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
7849
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L18, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
7575
7850
  return {
7576
7851
  type: "ComputedPropertyName",
7577
7852
  children: $0
@@ -7622,7 +7897,12 @@ ${input.slice(result.pos)}
7622
7897
  return result;
7623
7898
  }
7624
7899
  }
7625
- var Decorators$0 = $S($P($S(__, Decorator)), __);
7900
+ var Decorators$0 = $TS($S(ForbidClassImplicitCall, $Q($S(__, Decorator)), __, RestoreClassImplicitCall), function($skip, $loc, $0, $1, $2, $3, $4) {
7901
+ var decorators = $2;
7902
+ if (!decorators.length)
7903
+ return $skip;
7904
+ return $0;
7905
+ });
7626
7906
  function Decorators(state) {
7627
7907
  let eventData;
7628
7908
  if (state.events) {
@@ -7690,7 +7970,7 @@ ${input.slice(result.pos)}
7690
7970
  return result;
7691
7971
  }
7692
7972
  }
7693
- var MethodModifier$0 = $S(GetOrSet, $Q(TrailingComment));
7973
+ var MethodModifier$0 = $S(GetOrSet, $E(_));
7694
7974
  var MethodModifier$1 = $S($S(Async, __), $E($S(Star, __)));
7695
7975
  var MethodModifier$2 = $S(Star, __);
7696
7976
  function MethodModifier(state) {
@@ -7789,7 +8069,7 @@ ${input.slice(result.pos)}
7789
8069
  return result;
7790
8070
  }
7791
8071
  }
7792
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L11, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
8072
+ var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L12, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
7793
8073
  return {
7794
8074
  type: "Identifier",
7795
8075
  name: $0,
@@ -7846,8 +8126,8 @@ ${input.slice(result.pos)}
7846
8126
  return result;
7847
8127
  }
7848
8128
  }
7849
- var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $Q(TrailingComment)), function($skip, $loc, $0, $1, $2) {
7850
- if ($2.length) {
8129
+ var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $E(_)), function($skip, $loc, $0, $1, $2) {
8130
+ if ($2?.length) {
7851
8131
  return {
7852
8132
  token: $1,
7853
8133
  children: [$1, ...$2]
@@ -7877,21 +8157,21 @@ ${input.slice(result.pos)}
7877
8157
  return result;
7878
8158
  }
7879
8159
  }
7880
- var OperatorAssignmentOp$0 = $TS($S(Xor, $EXPECT($L1, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $Q(TrailingComment)), function($skip, $loc, $0, $1, $2, $3, $4) {
8160
+ var OperatorAssignmentOp$0 = $TS($S(Xor, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
7881
8161
  return {
7882
8162
  special: true,
7883
8163
  call: module.getRef("xor"),
7884
8164
  children: [$2, ...$4]
7885
8165
  };
7886
8166
  });
7887
- var OperatorAssignmentOp$1 = $TS($S(Xnor, $EXPECT($L1, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $Q(TrailingComment)), function($skip, $loc, $0, $1, $2, $3, $4) {
8167
+ var OperatorAssignmentOp$1 = $TS($S(Xnor, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
7888
8168
  return {
7889
8169
  special: true,
7890
8170
  call: module.getRef("xnor"),
7891
8171
  children: [$2, ...$4]
7892
8172
  };
7893
8173
  });
7894
- var OperatorAssignmentOp$2 = $TS($S(Identifier, $EXPECT($L1, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $Q(TrailingComment)), function($skip, $loc, $0, $1, $2, $3, $4) {
8174
+ var OperatorAssignmentOp$2 = $TS($S(Identifier, $EXPECT($L2, fail, 'OperatorAssignmentOp "="'), $Y(Whitespace), $E(_)), function($skip, $loc, $0, $1, $2, $3, $4) {
7895
8175
  return {
7896
8176
  special: true,
7897
8177
  call: $1,
@@ -7938,7 +8218,7 @@ ${input.slice(result.pos)}
7938
8218
  var AssignmentOpSymbol$15 = $T($EXPECT($L49, fail, 'AssignmentOpSymbol "?="'), function(value) {
7939
8219
  return "??=";
7940
8220
  });
7941
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L1, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L1, fail, 'AssignmentOpSymbol "="'))), function(value) {
8221
+ var AssignmentOpSymbol$16 = $T($S($EXPECT($L2, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L2, fail, 'AssignmentOpSymbol "="'))), function(value) {
7942
8222
  return value[0];
7943
8223
  });
7944
8224
  var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
@@ -8051,7 +8331,7 @@ ${input.slice(result.pos)}
8051
8331
  });
8052
8332
  var BinaryOpSymbol$4 = $EXPECT($L57, fail, 'BinaryOpSymbol "%"');
8053
8333
  var BinaryOpSymbol$5 = $EXPECT($L58, fail, 'BinaryOpSymbol "+"');
8054
- var BinaryOpSymbol$6 = $EXPECT($L17, fail, 'BinaryOpSymbol "-"');
8334
+ var BinaryOpSymbol$6 = $EXPECT($L18, fail, 'BinaryOpSymbol "-"');
8055
8335
  var BinaryOpSymbol$7 = $EXPECT($L59, fail, 'BinaryOpSymbol "<="');
8056
8336
  var BinaryOpSymbol$8 = $EXPECT($L60, fail, 'BinaryOpSymbol ">="');
8057
8337
  var BinaryOpSymbol$9 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
@@ -8119,7 +8399,7 @@ ${input.slice(result.pos)}
8119
8399
  };
8120
8400
  });
8121
8401
  var BinaryOpSymbol$28 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
8122
- var BinaryOpSymbol$29 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L3, fail, 'BinaryOpSymbol "?"')), function(value) {
8402
+ var BinaryOpSymbol$29 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L4, fail, 'BinaryOpSymbol "?"')), function(value) {
8123
8403
  return "??";
8124
8404
  });
8125
8405
  var BinaryOpSymbol$30 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
@@ -8209,7 +8489,7 @@ ${input.slice(result.pos)}
8209
8489
  return $1;
8210
8490
  });
8211
8491
  var BinaryOpSymbol$40 = $EXPECT($L83, fail, 'BinaryOpSymbol "&"');
8212
- var BinaryOpSymbol$41 = $EXPECT($L16, fail, 'BinaryOpSymbol "^"');
8492
+ var BinaryOpSymbol$41 = $EXPECT($L17, fail, 'BinaryOpSymbol "^"');
8213
8493
  var BinaryOpSymbol$42 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
8214
8494
  function BinaryOpSymbol(state) {
8215
8495
  let eventData;
@@ -8357,7 +8637,7 @@ ${input.slice(result.pos)}
8357
8637
  return result;
8358
8638
  }
8359
8639
  }
8360
- var PostfixedStatement$0 = $TS($S(Statement, $E($S($Q(TrailingComment), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8640
+ var PostfixedStatement$0 = $TS($S(Statement, $E($S($E(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8361
8641
  var statement = $1;
8362
8642
  var post = $2;
8363
8643
  if (post)
@@ -8386,7 +8666,7 @@ ${input.slice(result.pos)}
8386
8666
  return result;
8387
8667
  }
8388
8668
  }
8389
- var PostfixedExpression$0 = $TS($S(ExtendedExpression, $E($S($Q(TrailingComment), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8669
+ var PostfixedExpression$0 = $TS($S(ExtendedExpression, $E($S($E(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8390
8670
  var expression = $1;
8391
8671
  var post = $2;
8392
8672
  if (post)
@@ -8415,7 +8695,7 @@ ${input.slice(result.pos)}
8415
8695
  return result;
8416
8696
  }
8417
8697
  }
8418
- var NonPipelinePostfixedExpression$0 = $TS($S(NonPipelineExtendedExpression, $E($S($Q(TrailingComment), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8698
+ var NonPipelinePostfixedExpression$0 = $TS($S(NonPipelineExtendedExpression, $E($S($E(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
8419
8699
  var expression = $1;
8420
8700
  var post = $2;
8421
8701
  if (post)
@@ -8508,8 +8788,8 @@ ${input.slice(result.pos)}
8508
8788
  return result;
8509
8789
  }
8510
8790
  }
8511
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L85, fail, 'EmptyStatement ";"'))), function(value) {
8512
- return { "type": "EmptyStatement", "children": value[0] };
8791
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L85, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
8792
+ return { type: "EmptyStatement", children: $1 || [] };
8513
8793
  });
8514
8794
  function EmptyStatement(state) {
8515
8795
  let eventData;
@@ -8533,7 +8813,7 @@ ${input.slice(result.pos)}
8533
8813
  return result;
8534
8814
  }
8535
8815
  }
8536
- var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L1, fail, 'BlockStatement "="')))), function(value) {
8816
+ var BlockStatement$0 = $T($S(ExplicitBlock, $N($S(__, $EXPECT($L2, fail, 'BlockStatement "="')))), function(value) {
8537
8817
  return value[0];
8538
8818
  });
8539
8819
  function BlockStatement(state) {
@@ -8673,7 +8953,7 @@ ${input.slice(result.pos)}
8673
8953
  }
8674
8954
  }
8675
8955
  var ElseClause$0 = $S(Samedent, Else, Block);
8676
- var ElseClause$1 = $S($Q(TrailingComment), Else, Block);
8956
+ var ElseClause$1 = $S($E(_), Else, Block);
8677
8957
  function ElseClause(state) {
8678
8958
  let eventData;
8679
8959
  if (state.events) {
@@ -8808,7 +9088,7 @@ ${input.slice(result.pos)}
8808
9088
  return result;
8809
9089
  }
8810
9090
  }
8811
- var ElseExpressionClause$0 = $TS($S($C($S(Samedent, Else), $S($Q(TrailingComment), Else)), ElseExpressionBlock), function($skip, $loc, $0, $1, $2) {
9091
+ var ElseExpressionClause$0 = $TS($S($C($S(Samedent, Else), $S($E(_), Else)), ElseExpressionBlock), function($skip, $loc, $0, $1, $2) {
8812
9092
  return [...$1, $2];
8813
9093
  });
8814
9094
  function ElseExpressionClause(state) {
@@ -9184,7 +9464,7 @@ ${input.slice(result.pos)}
9184
9464
  return result;
9185
9465
  }
9186
9466
  }
9187
- var WhileClause$0 = $TS($S($C(While, Until), $Q(TrailingComment), Condition), function($skip, $loc, $0, $1, $2, $3) {
9467
+ var WhileClause$0 = $TS($S($C(While, Until), $E(_), Condition), function($skip, $loc, $0, $1, $2, $3) {
9188
9468
  var kind = $1;
9189
9469
  var ws = $2;
9190
9470
  var cond = $3;
@@ -9296,11 +9576,17 @@ ${input.slice(result.pos)}
9296
9576
  if ($3) {
9297
9577
  const indent = module.currentIndent.token + " ";
9298
9578
  const block = "continue\n";
9299
- $2.blockPrefix.push([indent, {
9300
- type: "IfStatement",
9301
- then: block,
9302
- children: ["if (!(", module.insertTrimmingSpace($3, ""), ")) ", block]
9303
- }]);
9579
+ $2 = {
9580
+ ...$2,
9581
+ blockPrefix: [
9582
+ ...$2.blockPrefix,
9583
+ [indent, {
9584
+ type: "IfStatement",
9585
+ then: block,
9586
+ children: ["if (!(", module.insertTrimmingSpace($3, ""), ")) ", block]
9587
+ }]
9588
+ ]
9589
+ };
9304
9590
  }
9305
9591
  return $2;
9306
9592
  });
@@ -10063,7 +10349,7 @@ ${input.slice(result.pos)}
10063
10349
  }
10064
10350
  }
10065
10351
  var ImpliedColon$0 = $S($E(_), Colon);
10066
- var ImpliedColon$1 = $TV($EXPECT($L19, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
10352
+ var ImpliedColon$1 = $TV($EXPECT($L0, fail, 'ImpliedColon ""'), function($skip, $loc, $0, $1) {
10067
10353
  return { $loc, token: ":" };
10068
10354
  });
10069
10355
  function ImpliedColon(state) {
@@ -10275,7 +10561,7 @@ ${input.slice(result.pos)}
10275
10561
  return result;
10276
10562
  }
10277
10563
  }
10278
- var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp, Dot, QuestionMark))), $N($S(_, OperatorAssignmentOp))), function(value) {
10564
+ var Condition$0 = $T($S(ParenthesizedExpression, $N($S($E(_), $C(BinaryOp, AssignmentOp, Dot, QuestionMark))), $N($S(_, OperatorAssignmentOp))), function(value) {
10279
10565
  return value[0];
10280
10566
  });
10281
10567
  var Condition$1 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationForbidden, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
@@ -10341,7 +10627,82 @@ ${input.slice(result.pos)}
10341
10627
  return result;
10342
10628
  }
10343
10629
  }
10344
- var ForbidIndentedApplication$0 = $TV($EXPECT($L19, fail, 'ForbidIndentedApplication ""'), function($skip, $loc, $0, $1) {
10630
+ var ForbidClassImplicitCall$0 = $TV($EXPECT($L0, fail, 'ForbidClassImplicitCall ""'), function($skip, $loc, $0, $1) {
10631
+ module.forbidIndentedApplication.push(true);
10632
+ });
10633
+ function ForbidClassImplicitCall(state) {
10634
+ let eventData;
10635
+ if (state.events) {
10636
+ const result = state.events.enter?.("ForbidClassImplicitCall", state);
10637
+ if (result) {
10638
+ if (result.cache)
10639
+ return result.cache;
10640
+ eventData = result.data;
10641
+ }
10642
+ }
10643
+ if (state.tokenize) {
10644
+ const result = $TOKEN("ForbidClassImplicitCall", state, ForbidClassImplicitCall$0(state));
10645
+ if (state.events)
10646
+ state.events.exit?.("ForbidClassImplicitCall", state, result, eventData);
10647
+ return result;
10648
+ } else {
10649
+ const result = ForbidClassImplicitCall$0(state);
10650
+ if (state.events)
10651
+ state.events.exit?.("ForbidClassImplicitCall", state, result, eventData);
10652
+ return result;
10653
+ }
10654
+ }
10655
+ var AllowClassImplicitCall$0 = $TV($EXPECT($L0, fail, 'AllowClassImplicitCall ""'), function($skip, $loc, $0, $1) {
10656
+ module.forbidIndentedApplication.push(false);
10657
+ });
10658
+ function AllowClassImplicitCall(state) {
10659
+ let eventData;
10660
+ if (state.events) {
10661
+ const result = state.events.enter?.("AllowClassImplicitCall", state);
10662
+ if (result) {
10663
+ if (result.cache)
10664
+ return result.cache;
10665
+ eventData = result.data;
10666
+ }
10667
+ }
10668
+ if (state.tokenize) {
10669
+ const result = $TOKEN("AllowClassImplicitCall", state, AllowClassImplicitCall$0(state));
10670
+ if (state.events)
10671
+ state.events.exit?.("AllowClassImplicitCall", state, result, eventData);
10672
+ return result;
10673
+ } else {
10674
+ const result = AllowClassImplicitCall$0(state);
10675
+ if (state.events)
10676
+ state.events.exit?.("AllowClassImplicitCall", state, result, eventData);
10677
+ return result;
10678
+ }
10679
+ }
10680
+ var RestoreClassImplicitCall$0 = $TV($EXPECT($L0, fail, 'RestoreClassImplicitCall ""'), function($skip, $loc, $0, $1) {
10681
+ module.forbidIndentedApplication.pop();
10682
+ });
10683
+ function RestoreClassImplicitCall(state) {
10684
+ let eventData;
10685
+ if (state.events) {
10686
+ const result = state.events.enter?.("RestoreClassImplicitCall", state);
10687
+ if (result) {
10688
+ if (result.cache)
10689
+ return result.cache;
10690
+ eventData = result.data;
10691
+ }
10692
+ }
10693
+ if (state.tokenize) {
10694
+ const result = $TOKEN("RestoreClassImplicitCall", state, RestoreClassImplicitCall$0(state));
10695
+ if (state.events)
10696
+ state.events.exit?.("RestoreClassImplicitCall", state, result, eventData);
10697
+ return result;
10698
+ } else {
10699
+ const result = RestoreClassImplicitCall$0(state);
10700
+ if (state.events)
10701
+ state.events.exit?.("RestoreClassImplicitCall", state, result, eventData);
10702
+ return result;
10703
+ }
10704
+ }
10705
+ var ForbidIndentedApplication$0 = $TV($EXPECT($L0, fail, 'ForbidIndentedApplication ""'), function($skip, $loc, $0, $1) {
10345
10706
  module.forbidIndentedApplication.push(true);
10346
10707
  });
10347
10708
  function ForbidIndentedApplication(state) {
@@ -10366,7 +10727,7 @@ ${input.slice(result.pos)}
10366
10727
  return result;
10367
10728
  }
10368
10729
  }
10369
- var AllowIndentedApplication$0 = $TV($EXPECT($L19, fail, 'AllowIndentedApplication ""'), function($skip, $loc, $0, $1) {
10730
+ var AllowIndentedApplication$0 = $TV($EXPECT($L0, fail, 'AllowIndentedApplication ""'), function($skip, $loc, $0, $1) {
10370
10731
  module.forbidIndentedApplication.push(false);
10371
10732
  });
10372
10733
  function AllowIndentedApplication(state) {
@@ -10391,7 +10752,7 @@ ${input.slice(result.pos)}
10391
10752
  return result;
10392
10753
  }
10393
10754
  }
10394
- var RestoreIndentedApplication$0 = $TV($EXPECT($L19, fail, 'RestoreIndentedApplication ""'), function($skip, $loc, $0, $1) {
10755
+ var RestoreIndentedApplication$0 = $TV($EXPECT($L0, fail, 'RestoreIndentedApplication ""'), function($skip, $loc, $0, $1) {
10395
10756
  module.forbidIndentedApplication.pop();
10396
10757
  });
10397
10758
  function RestoreIndentedApplication(state) {
@@ -10416,7 +10777,7 @@ ${input.slice(result.pos)}
10416
10777
  return result;
10417
10778
  }
10418
10779
  }
10419
- var IndentedApplicationAllowed$0 = $TV($EXPECT($L19, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
10780
+ var IndentedApplicationAllowed$0 = $TV($EXPECT($L0, fail, 'IndentedApplicationAllowed ""'), function($skip, $loc, $0, $1) {
10420
10781
  if (module.config.verbose) {
10421
10782
  console.log("forbidIndentedApplication:", module.forbidIndentedApplication);
10422
10783
  }
@@ -10446,7 +10807,7 @@ ${input.slice(result.pos)}
10446
10807
  return result;
10447
10808
  }
10448
10809
  }
10449
- var ForbidTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'ForbidTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10810
+ var ForbidTrailingMemberProperty$0 = $TV($EXPECT($L0, fail, 'ForbidTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10450
10811
  module.forbidTrailingMemberProperty.push(true);
10451
10812
  });
10452
10813
  function ForbidTrailingMemberProperty(state) {
@@ -10471,7 +10832,7 @@ ${input.slice(result.pos)}
10471
10832
  return result;
10472
10833
  }
10473
10834
  }
10474
- var AllowTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'AllowTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10835
+ var AllowTrailingMemberProperty$0 = $TV($EXPECT($L0, fail, 'AllowTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10475
10836
  module.forbidTrailingMemberProperty.push(false);
10476
10837
  });
10477
10838
  function AllowTrailingMemberProperty(state) {
@@ -10496,7 +10857,7 @@ ${input.slice(result.pos)}
10496
10857
  return result;
10497
10858
  }
10498
10859
  }
10499
- var RestoreTrailingMemberProperty$0 = $TV($EXPECT($L19, fail, 'RestoreTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10860
+ var RestoreTrailingMemberProperty$0 = $TV($EXPECT($L0, fail, 'RestoreTrailingMemberProperty ""'), function($skip, $loc, $0, $1) {
10500
10861
  module.forbidTrailingMemberProperty.pop();
10501
10862
  });
10502
10863
  function RestoreTrailingMemberProperty(state) {
@@ -10521,7 +10882,7 @@ ${input.slice(result.pos)}
10521
10882
  return result;
10522
10883
  }
10523
10884
  }
10524
- var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L19, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
10885
+ var TrailingMemberPropertyAllowed$0 = $TV($EXPECT($L0, fail, 'TrailingMemberPropertyAllowed ""'), function($skip, $loc, $0, $1) {
10525
10886
  if (module.config.verbose) {
10526
10887
  console.log("forbidTrailingMemberProperty:", module.forbidTrailingMemberProperty);
10527
10888
  }
@@ -10550,7 +10911,7 @@ ${input.slice(result.pos)}
10550
10911
  return result;
10551
10912
  }
10552
10913
  }
10553
- var ForbidMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'ForbidMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10914
+ var ForbidMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L0, fail, 'ForbidMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10554
10915
  module.forbidMultiLineImplicitObjectLiteral.push(true);
10555
10916
  });
10556
10917
  function ForbidMultiLineImplicitObjectLiteral(state) {
@@ -10575,7 +10936,7 @@ ${input.slice(result.pos)}
10575
10936
  return result;
10576
10937
  }
10577
10938
  }
10578
- var AllowMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'AllowMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10939
+ var AllowMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L0, fail, 'AllowMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10579
10940
  module.forbidMultiLineImplicitObjectLiteral.push(false);
10580
10941
  });
10581
10942
  function AllowMultiLineImplicitObjectLiteral(state) {
@@ -10600,7 +10961,7 @@ ${input.slice(result.pos)}
10600
10961
  return result;
10601
10962
  }
10602
10963
  }
10603
- var RestoreMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L19, fail, 'RestoreMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10964
+ var RestoreMultiLineImplicitObjectLiteral$0 = $TV($EXPECT($L0, fail, 'RestoreMultiLineImplicitObjectLiteral ""'), function($skip, $loc, $0, $1) {
10604
10965
  module.forbidMultiLineImplicitObjectLiteral.pop();
10605
10966
  });
10606
10967
  function RestoreMultiLineImplicitObjectLiteral(state) {
@@ -10625,7 +10986,7 @@ ${input.slice(result.pos)}
10625
10986
  return result;
10626
10987
  }
10627
10988
  }
10628
- var MultiLineImplicitObjectLiteralAllowed$0 = $TV($EXPECT($L19, fail, 'MultiLineImplicitObjectLiteralAllowed ""'), function($skip, $loc, $0, $1) {
10989
+ var MultiLineImplicitObjectLiteralAllowed$0 = $TV($EXPECT($L0, fail, 'MultiLineImplicitObjectLiteralAllowed ""'), function($skip, $loc, $0, $1) {
10629
10990
  if (module.config.verbose) {
10630
10991
  console.log("forbidMultiLineImplicitObjectLiteral:", module.forbidMultiLineImplicitObjectLiteral);
10631
10992
  }
@@ -10654,7 +11015,7 @@ ${input.slice(result.pos)}
10654
11015
  return result;
10655
11016
  }
10656
11017
  }
10657
- var AllowAll$0 = $S(AllowTrailingMemberProperty, AllowIndentedApplication, AllowMultiLineImplicitObjectLiteral);
11018
+ var AllowAll$0 = $S(AllowTrailingMemberProperty, AllowIndentedApplication, AllowMultiLineImplicitObjectLiteral, AllowClassImplicitCall);
10658
11019
  function AllowAll(state) {
10659
11020
  let eventData;
10660
11021
  if (state.events) {
@@ -10677,7 +11038,7 @@ ${input.slice(result.pos)}
10677
11038
  return result;
10678
11039
  }
10679
11040
  }
10680
- var RestoreAll$0 = $S(RestoreTrailingMemberProperty, RestoreIndentedApplication, RestoreMultiLineImplicitObjectLiteral);
11041
+ var RestoreAll$0 = $S(RestoreTrailingMemberProperty, RestoreIndentedApplication, RestoreMultiLineImplicitObjectLiteral, RestoreClassImplicitCall);
10681
11042
  function RestoreAll(state) {
10682
11043
  let eventData;
10683
11044
  if (state.events) {
@@ -10739,7 +11100,7 @@ ${input.slice(result.pos)}
10739
11100
  var KeywordStatement$2 = $T($S(Debugger), function(value) {
10740
11101
  return { "type": "DebuggerStatement", "children": value };
10741
11102
  });
10742
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L4, fail, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
11103
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L5, fail, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10743
11104
  var expression = value[2];
10744
11105
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10745
11106
  });
@@ -10929,10 +11290,14 @@ ${input.slice(result.pos)}
10929
11290
  }
10930
11291
  }
10931
11292
  var ImportDeclaration$0 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10932
- return { "ts": true, "children": value };
11293
+ return { "type": "ImportDeclaration", "ts": true, "children": value };
11294
+ });
11295
+ var ImportDeclaration$1 = $T($S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
11296
+ return { "type": "ImportDeclaration", "children": value };
11297
+ });
11298
+ var ImportDeclaration$2 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
11299
+ return { "type": "ImportDeclaration", "children": value };
10933
11300
  });
10934
- var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion));
10935
- var ImportDeclaration$2 = $S(Import, __, ModuleSpecifier, $E(ImportAssertion));
10936
11301
  var ImportDeclaration$3 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause, $E(ImportAssertion)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10937
11302
  var i = $1;
10938
11303
  var t = $2;
@@ -10947,7 +11312,7 @@ ${input.slice(result.pos)}
10947
11312
  const children = [i, t, c, w, f, a];
10948
11313
  if (!t)
10949
11314
  return children;
10950
- return { ts: true, children };
11315
+ return { type: "ImportDeclaration", ts: true, children };
10951
11316
  });
10952
11317
  function ImportDeclaration(state) {
10953
11318
  let eventData;
@@ -10971,7 +11336,7 @@ ${input.slice(result.pos)}
10971
11336
  return result;
10972
11337
  }
10973
11338
  }
10974
- var ImpliedImport$0 = $TV($EXPECT($L19, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
11339
+ var ImpliedImport$0 = $TV($EXPECT($L0, fail, 'ImpliedImport ""'), function($skip, $loc, $0, $1) {
10975
11340
  return { $loc, token: "import " };
10976
11341
  });
10977
11342
  function ImpliedImport(state) {
@@ -11223,7 +11588,7 @@ ${input.slice(result.pos)}
11223
11588
  }
11224
11589
  }
11225
11590
  var ImportAsToken$0 = $S(__, As);
11226
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L8, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11591
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L9, fail, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11227
11592
  var l = $1;
11228
11593
  var ws = $2;
11229
11594
  var c = $3;
@@ -11385,16 +11750,15 @@ ${input.slice(result.pos)}
11385
11750
  return result;
11386
11751
  }
11387
11752
  }
11388
- var ExportDeclaration$0 = $S(Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
11753
+ var ExportDeclaration$0 = $TS($S(Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11754
+ return { type: "ExportDeclaration", children: $0 };
11755
+ });
11389
11756
  var ExportDeclaration$1 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11390
- if (!$3.ts)
11391
- return $0;
11392
- return { ts: true, children: $0 };
11757
+ return { type: "ExportDeclaration", ts: $3.ts, children: $0 };
11393
11758
  });
11394
- var ExportDeclaration$2 = $TS($S(Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3) {
11395
- if (!$3.ts)
11396
- return $0;
11397
- return { ts: true, children: $0 };
11759
+ var ExportDeclaration$2 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
11760
+ var decl = $4;
11761
+ return { type: "ExportDeclaration", ts: decl.ts, children: $0 };
11398
11762
  });
11399
11763
  function ExportDeclaration(state) {
11400
11764
  let eventData;
@@ -13162,9 +13526,7 @@ ${input.slice(result.pos)}
13162
13526
  return result;
13163
13527
  }
13164
13528
  }
13165
- var TrailingComment$0 = NonNewlineWhitespace;
13166
- var TrailingComment$1 = InlineComment;
13167
- var TrailingComment$2 = SingleLineComment;
13529
+ var TrailingComment$0 = $S($E(_), SingleLineComment);
13168
13530
  function TrailingComment(state) {
13169
13531
  let eventData;
13170
13532
  if (state.events) {
@@ -13176,12 +13538,12 @@ ${input.slice(result.pos)}
13176
13538
  }
13177
13539
  }
13178
13540
  if (state.tokenize) {
13179
- const result = $TOKEN("TrailingComment", state, TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state));
13541
+ const result = $TOKEN("TrailingComment", state, TrailingComment$0(state));
13180
13542
  if (state.events)
13181
13543
  state.events.exit?.("TrailingComment", state, result, eventData);
13182
13544
  return result;
13183
13545
  } else {
13184
- const result = TrailingComment$0(state) || TrailingComment$1(state) || TrailingComment$2(state);
13546
+ const result = TrailingComment$0(state);
13185
13547
  if (state.events)
13186
13548
  state.events.exit?.("TrailingComment", state, result, eventData);
13187
13549
  return result;
@@ -13312,7 +13674,7 @@ ${input.slice(result.pos)}
13312
13674
  return result;
13313
13675
  }
13314
13676
  }
13315
- var ExpressionDelimiter$0 = $TS($S($Q(TrailingComment), Semicolon, InsertComma, $Q(TrailingComment)), function($skip, $loc, $0, $1, $2, $3, $4) {
13677
+ var ExpressionDelimiter$0 = $TS($S($E(_), Semicolon, InsertComma, $E(TrailingComment)), function($skip, $loc, $0, $1, $2, $3, $4) {
13316
13678
  return [$1, $3, $4];
13317
13679
  });
13318
13680
  var ExpressionDelimiter$1 = $T($S($Y(EOS), InsertComma), function(value) {
@@ -13365,7 +13727,7 @@ ${input.slice(result.pos)}
13365
13727
  }
13366
13728
  }
13367
13729
  var StatementDelimiter$0 = SemicolonDelimiter;
13368
- var StatementDelimiter$1 = $S($Y($S(Samedent, $C($EXPECT($L2, fail, 'StatementDelimiter "("'), $EXPECT($L97, fail, 'StatementDelimiter "["'), $EXPECT($L98, fail, 'StatementDelimiter "`"'), $EXPECT($L58, fail, 'StatementDelimiter "+"'), $EXPECT($L17, fail, 'StatementDelimiter "-"'), $EXPECT($L54, fail, 'StatementDelimiter "*"'), $EXPECT($L55, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L2, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
13730
+ 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);
13369
13731
  var StatementDelimiter$2 = $Y(EOS);
13370
13732
  function StatementDelimiter(state) {
13371
13733
  let eventData;
@@ -13389,7 +13751,7 @@ ${input.slice(result.pos)}
13389
13751
  return result;
13390
13752
  }
13391
13753
  }
13392
- var SemicolonDelimiter$0 = $TS($S($Q(TrailingComment), Semicolon, $Q(TrailingComment)), function($skip, $loc, $0, $1, $2, $3) {
13754
+ var SemicolonDelimiter$0 = $TS($S($E(_), Semicolon, $E(TrailingComment)), function($skip, $loc, $0, $1, $2, $3) {
13393
13755
  return {
13394
13756
  type: "SemicolonDelimiter",
13395
13757
  children: $0
@@ -13440,7 +13802,7 @@ ${input.slice(result.pos)}
13440
13802
  return result;
13441
13803
  }
13442
13804
  }
13443
- var Loc$0 = $TV($EXPECT($L19, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
13805
+ var Loc$0 = $TV($EXPECT($L0, fail, 'Loc ""'), function($skip, $loc, $0, $1) {
13444
13806
  return { $loc, token: "" };
13445
13807
  });
13446
13808
  function Loc(state) {
@@ -13465,7 +13827,7 @@ ${input.slice(result.pos)}
13465
13827
  return result;
13466
13828
  }
13467
13829
  }
13468
- var Abstract$0 = $TV($TEXT($S($EXPECT($L99, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L8, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13830
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L99, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L9, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13469
13831
  return { $loc, token: $1, ts: true };
13470
13832
  });
13471
13833
  function Abstract(state) {
@@ -14040,7 +14402,7 @@ ${input.slice(result.pos)}
14040
14402
  return result;
14041
14403
  }
14042
14404
  }
14043
- var Dot$0 = $TV($EXPECT($L4, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
14405
+ var Dot$0 = $TV($EXPECT($L5, fail, 'Dot "."'), function($skip, $loc, $0, $1) {
14044
14406
  return { $loc, token: $1 };
14045
14407
  });
14046
14408
  function Dot(state) {
@@ -14065,7 +14427,7 @@ ${input.slice(result.pos)}
14065
14427
  return result;
14066
14428
  }
14067
14429
  }
14068
- var DotDot$0 = $TS($S($EXPECT($L114, fail, 'DotDot ".."'), $N($EXPECT($L4, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
14430
+ var DotDot$0 = $TS($S($EXPECT($L114, fail, 'DotDot ".."'), $N($EXPECT($L5, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
14069
14431
  return { $loc, token: $1 };
14070
14432
  });
14071
14433
  function DotDot(state) {
@@ -14190,7 +14552,7 @@ ${input.slice(result.pos)}
14190
14552
  return result;
14191
14553
  }
14192
14554
  }
14193
- var Equals$0 = $TV($EXPECT($L1, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
14555
+ var Equals$0 = $TV($EXPECT($L2, fail, 'Equals "="'), function($skip, $loc, $0, $1) {
14194
14556
  return { $loc, token: $1 };
14195
14557
  });
14196
14558
  function Equals(state) {
@@ -14390,7 +14752,7 @@ ${input.slice(result.pos)}
14390
14752
  return result;
14391
14753
  }
14392
14754
  }
14393
- var If$0 = $TV($TEXT($S($EXPECT($L127, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L8, fail, 'If " "')))), function($skip, $loc, $0, $1) {
14755
+ var If$0 = $TV($TEXT($S($EXPECT($L127, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L9, fail, 'If " "')))), function($skip, $loc, $0, $1) {
14394
14756
  return { $loc, token: $1 };
14395
14757
  });
14396
14758
  function If(state) {
@@ -14415,7 +14777,7 @@ ${input.slice(result.pos)}
14415
14777
  return result;
14416
14778
  }
14417
14779
  }
14418
- var Import$0 = $TS($S($EXPECT($L13, fail, 'Import "import"'), $Y($EXPECT($R49, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14780
+ var Import$0 = $TS($S($EXPECT($L14, fail, 'Import "import"'), $Y($EXPECT($R49, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14419
14781
  return { $loc, token: $1 };
14420
14782
  });
14421
14783
  function Import(state) {
@@ -14589,7 +14951,7 @@ ${input.slice(result.pos)}
14589
14951
  return result;
14590
14952
  }
14591
14953
  }
14592
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L52, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L8, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
14954
+ 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) {
14593
14955
  return { $loc, token: "!" };
14594
14956
  });
14595
14957
  function Not(state) {
@@ -14714,7 +15076,7 @@ ${input.slice(result.pos)}
14714
15076
  return result;
14715
15077
  }
14716
15078
  }
14717
- var OpenParen$0 = $TV($EXPECT($L2, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
15079
+ var OpenParen$0 = $TV($EXPECT($L3, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
14718
15080
  return { $loc, token: $1 };
14719
15081
  });
14720
15082
  function OpenParen(state) {
@@ -14870,7 +15232,7 @@ ${input.slice(result.pos)}
14870
15232
  return result;
14871
15233
  }
14872
15234
  }
14873
- var QuestionMark$0 = $TV($EXPECT($L3, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
15235
+ var QuestionMark$0 = $TV($EXPECT($L4, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
14874
15236
  return { $loc, token: $1 };
14875
15237
  });
14876
15238
  function QuestionMark(state) {
@@ -15048,7 +15410,7 @@ ${input.slice(result.pos)}
15048
15410
  var Static$0 = $TS($S($EXPECT($L145, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
15049
15411
  return { $loc, token: $1 };
15050
15412
  });
15051
- var Static$1 = $TS($S($EXPECT($L101, fail, 'Static "@"'), $N($C($EXPECT($L2, fail, 'Static "("'), $EXPECT($L101, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
15413
+ 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) {
15052
15414
  return { $loc, token: "static " };
15053
15415
  });
15054
15416
  function Static(state) {
@@ -15719,7 +16081,7 @@ ${input.slice(result.pos)}
15719
16081
  return result;
15720
16082
  }
15721
16083
  }
15722
- var PopJSXStack$0 = $TV($EXPECT($L19, fail, 'PopJSXStack ""'), function($skip, $loc, $0, $1) {
16084
+ var PopJSXStack$0 = $TV($EXPECT($L0, fail, 'PopJSXStack ""'), function($skip, $loc, $0, $1) {
15723
16085
  module.JSXTagStack.pop();
15724
16086
  });
15725
16087
  function PopJSXStack(state) {
@@ -15773,7 +16135,7 @@ ${input.slice(result.pos)}
15773
16135
  return $skip;
15774
16136
  return $0;
15775
16137
  });
15776
- var JSXOptionalClosingElement$1 = $EXPECT($L19, fail, 'JSXOptionalClosingElement ""');
16138
+ var JSXOptionalClosingElement$1 = $EXPECT($L0, fail, 'JSXOptionalClosingElement ""');
15777
16139
  function JSXOptionalClosingElement(state) {
15778
16140
  let eventData;
15779
16141
  if (state.events) {
@@ -15896,7 +16258,7 @@ ${input.slice(result.pos)}
15896
16258
  return $skip;
15897
16259
  return $0;
15898
16260
  });
15899
- var JSXOptionalClosingFragment$1 = $EXPECT($L19, fail, 'JSXOptionalClosingFragment ""');
16261
+ var JSXOptionalClosingFragment$1 = $EXPECT($L0, fail, 'JSXOptionalClosingFragment ""');
15900
16262
  function JSXOptionalClosingFragment(state) {
15901
16263
  let eventData;
15902
16264
  if (state.events) {
@@ -16144,7 +16506,7 @@ ${input.slice(result.pos)}
16144
16506
  }
16145
16507
  });
16146
16508
  var JSXAttribute$2 = $S(InsertInlineOpenBrace, DotDotDot, InlineJSXAttributeValue, InsertCloseBrace, $Y(JSXAttributeSpace));
16147
- var JSXAttribute$3 = $TS($S($EXPECT($L11, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
16509
+ var JSXAttribute$3 = $TS($S($EXPECT($L12, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
16148
16510
  return [" ", "id=", $2];
16149
16511
  });
16150
16512
  var JSXAttribute$4 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -16471,8 +16833,8 @@ ${input.slice(result.pos)}
16471
16833
  return result;
16472
16834
  }
16473
16835
  }
16474
- var InlineJSXCallExpression$0 = $S($EXPECT($L12, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
16475
- var InlineJSXCallExpression$1 = $S($EXPECT($L13, fail, 'InlineJSXCallExpression "import"'), OpenParen, PostfixedExpression, __, CloseParen);
16836
+ var InlineJSXCallExpression$0 = $S($EXPECT($L13, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
16837
+ var InlineJSXCallExpression$1 = $S($EXPECT($L14, fail, 'InlineJSXCallExpression "import"'), OpenParen, PostfixedExpression, __, CloseParen);
16476
16838
  var InlineJSXCallExpression$2 = $TS($S(InlineJSXMemberExpression, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2) {
16477
16839
  if ($2.length)
16478
16840
  return $0;
@@ -16995,9 +17357,9 @@ ${input.slice(result.pos)}
16995
17357
  return result;
16996
17358
  }
16997
17359
  }
16998
- var TypeDeclarationRest$0 = $S(TypeKeyword, $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, Equals, $C($S($E(_), Type), $S(__, Type)));
16999
- var TypeDeclarationRest$1 = $S(Interface, $Q(TrailingComment), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock);
17000
- var TypeDeclarationRest$2 = $S(Namespace, $Q(TrailingComment), IdentifierName, ModuleBlock);
17360
+ var TypeDeclarationRest$0 = $S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), __, Equals, $C($S($E(_), Type), $S(__, Type)));
17361
+ var TypeDeclarationRest$1 = $S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock);
17362
+ var TypeDeclarationRest$2 = $S(Namespace, $E(_), IdentifierName, ModuleBlock);
17001
17363
  var TypeDeclarationRest$3 = FunctionSignature;
17002
17364
  function TypeDeclarationRest(state) {
17003
17365
  let eventData;
@@ -17024,7 +17386,7 @@ ${input.slice(result.pos)}
17024
17386
  var TypeLexicalDeclaration$0 = $S(__, LetOrConstOrVar, TypeDeclarationBinding, $Q($S(CommaDelimiter, __, TypeDeclarationBinding)));
17025
17387
  var TypeLexicalDeclaration$1 = $S(__, EnumDeclaration);
17026
17388
  var TypeLexicalDeclaration$2 = ClassSignature;
17027
- var TypeLexicalDeclaration$3 = $S(Namespace, $Q(TrailingComment), IdentifierName, DeclareBlock);
17389
+ var TypeLexicalDeclaration$3 = $S(Namespace, $E(_), IdentifierName, DeclareBlock);
17028
17390
  var TypeLexicalDeclaration$4 = $S(Module, _, StringLiteral, $E(DeclareBlock));
17029
17391
  var TypeLexicalDeclaration$5 = $S(Global, $E(DeclareBlock));
17030
17392
  function TypeLexicalDeclaration(state) {
@@ -17568,7 +17930,7 @@ ${input.slice(result.pos)}
17568
17930
  return result;
17569
17931
  }
17570
17932
  }
17571
- var DeclareElement$0 = $T($S($E($S(Export, $E(_))), TypeLexicalDeclaration), function(value) {
17933
+ var DeclareElement$0 = $T($S($E(Decorators), $E($S(Export, $E(_))), TypeLexicalDeclaration), function(value) {
17572
17934
  return { "ts": true, "children": value };
17573
17935
  });
17574
17936
  var DeclareElement$1 = $T($S($E($S(Export, $E(_))), TypeDeclarationRest), function(value) {
@@ -17596,7 +17958,7 @@ ${input.slice(result.pos)}
17596
17958
  return result;
17597
17959
  }
17598
17960
  }
17599
- var EnumDeclaration$0 = $TS($S($E($S(Const, _)), Enum, $Q(TrailingComment), IdentifierName, EnumBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17961
+ var EnumDeclaration$0 = $TS($S($E($S(Const, _)), Enum, $E(_), IdentifierName, EnumBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17600
17962
  var isConst = $1;
17601
17963
  var id = $4;
17602
17964
  var block = $5;
@@ -17617,7 +17979,7 @@ ${input.slice(result.pos)}
17617
17979
  let init, isString;
17618
17980
  if (property.init) {
17619
17981
  init = module.replaceNodes(
17620
- structuredClone(property.init),
17982
+ deepCopy(property.init),
17621
17983
  (n) => n.type === "Identifier" && names.has(n.name),
17622
17984
  (n) => [id, '["', n.name, '"]']
17623
17985
  );
@@ -18156,8 +18518,8 @@ ${input.slice(result.pos)}
18156
18518
  return result;
18157
18519
  }
18158
18520
  }
18159
- var ImportType$0 = $S($EXPECT($L13, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
18160
- var ImportType$1 = $S($EXPECT($L13, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
18521
+ var ImportType$0 = $S($EXPECT($L14, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
18522
+ var ImportType$1 = $S($EXPECT($L14, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
18161
18523
  function ImportType(state) {
18162
18524
  let eventData;
18163
18525
  if (state.events) {
@@ -18466,7 +18828,7 @@ ${input.slice(result.pos)}
18466
18828
  return result;
18467
18829
  }
18468
18830
  }
18469
- var TypeArrowFunction$0 = $TV($EXPECT($L7, fail, 'TypeArrowFunction "=>"'), function($skip, $loc, $0, $1) {
18831
+ var TypeArrowFunction$0 = $TV($EXPECT($L8, fail, 'TypeArrowFunction "=>"'), function($skip, $loc, $0, $1) {
18470
18832
  return { $loc, token: "=>" };
18471
18833
  });
18472
18834
  var TypeArrowFunction$1 = $TV($EXPECT($L21, fail, 'TypeArrowFunction "->"'), function($skip, $loc, $0, $1) {
@@ -18642,7 +19004,7 @@ ${input.slice(result.pos)}
18642
19004
  return result;
18643
19005
  }
18644
19006
  }
18645
- var TypeInitializer$0 = $S(__, $EXPECT($L1, fail, 'TypeInitializer "="'), Type);
19007
+ var TypeInitializer$0 = $S(__, $EXPECT($L2, fail, 'TypeInitializer "="'), Type);
18646
19008
  function TypeInitializer(state) {
18647
19009
  let eventData;
18648
19010
  if (state.events) {
@@ -18931,7 +19293,7 @@ ${input.slice(result.pos)}
18931
19293
  return result;
18932
19294
  }
18933
19295
  }
18934
- var DebugHere$0 = $TV($EXPECT($L19, fail, 'DebugHere ""'), function($skip, $loc, $0, $1) {
19296
+ var DebugHere$0 = $TV($EXPECT($L0, fail, 'DebugHere ""'), function($skip, $loc, $0, $1) {
18935
19297
  debugger;
18936
19298
  });
18937
19299
  function DebugHere(state) {
@@ -18956,7 +19318,7 @@ ${input.slice(result.pos)}
18956
19318
  return result;
18957
19319
  }
18958
19320
  }
18959
- var InsertSemicolon$0 = $TV($EXPECT($L19, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
19321
+ var InsertSemicolon$0 = $TV($EXPECT($L0, fail, 'InsertSemicolon ""'), function($skip, $loc, $0, $1) {
18960
19322
  return { $loc, token: ";" };
18961
19323
  });
18962
19324
  function InsertSemicolon(state) {
@@ -18981,7 +19343,7 @@ ${input.slice(result.pos)}
18981
19343
  return result;
18982
19344
  }
18983
19345
  }
18984
- var InsertOpenParen$0 = $TV($EXPECT($L19, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
19346
+ var InsertOpenParen$0 = $TV($EXPECT($L0, fail, 'InsertOpenParen ""'), function($skip, $loc, $0, $1) {
18985
19347
  return { $loc, token: "(" };
18986
19348
  });
18987
19349
  function InsertOpenParen(state) {
@@ -19006,7 +19368,7 @@ ${input.slice(result.pos)}
19006
19368
  return result;
19007
19369
  }
19008
19370
  }
19009
- var InsertCloseParen$0 = $TV($EXPECT($L19, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
19371
+ var InsertCloseParen$0 = $TV($EXPECT($L0, fail, 'InsertCloseParen ""'), function($skip, $loc, $0, $1) {
19010
19372
  return { $loc, token: ")" };
19011
19373
  });
19012
19374
  function InsertCloseParen(state) {
@@ -19031,7 +19393,7 @@ ${input.slice(result.pos)}
19031
19393
  return result;
19032
19394
  }
19033
19395
  }
19034
- var InsertOpenBrace$0 = $TV($EXPECT($L19, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
19396
+ var InsertOpenBrace$0 = $TV($EXPECT($L0, fail, 'InsertOpenBrace ""'), function($skip, $loc, $0, $1) {
19035
19397
  return [{ $loc, token: " " }, { $loc, token: "{" }];
19036
19398
  });
19037
19399
  function InsertOpenBrace(state) {
@@ -19056,7 +19418,7 @@ ${input.slice(result.pos)}
19056
19418
  return result;
19057
19419
  }
19058
19420
  }
19059
- var InsertInlineOpenBrace$0 = $TV($EXPECT($L19, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
19421
+ var InsertInlineOpenBrace$0 = $TV($EXPECT($L0, fail, 'InsertInlineOpenBrace ""'), function($skip, $loc, $0, $1) {
19060
19422
  return { $loc, token: "{" };
19061
19423
  });
19062
19424
  function InsertInlineOpenBrace(state) {
@@ -19081,7 +19443,7 @@ ${input.slice(result.pos)}
19081
19443
  return result;
19082
19444
  }
19083
19445
  }
19084
- var InsertCloseBrace$0 = $TV($EXPECT($L19, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
19446
+ var InsertCloseBrace$0 = $TV($EXPECT($L0, fail, 'InsertCloseBrace ""'), function($skip, $loc, $0, $1) {
19085
19447
  return { $loc, token: "}" };
19086
19448
  });
19087
19449
  function InsertCloseBrace(state) {
@@ -19106,7 +19468,7 @@ ${input.slice(result.pos)}
19106
19468
  return result;
19107
19469
  }
19108
19470
  }
19109
- var InsertOpenBracket$0 = $TV($EXPECT($L19, fail, 'InsertOpenBracket ""'), function($skip, $loc, $0, $1) {
19471
+ var InsertOpenBracket$0 = $TV($EXPECT($L0, fail, 'InsertOpenBracket ""'), function($skip, $loc, $0, $1) {
19110
19472
  return { $loc, token: "[" };
19111
19473
  });
19112
19474
  function InsertOpenBracket(state) {
@@ -19131,7 +19493,7 @@ ${input.slice(result.pos)}
19131
19493
  return result;
19132
19494
  }
19133
19495
  }
19134
- var InsertCloseBracket$0 = $TV($EXPECT($L19, fail, 'InsertCloseBracket ""'), function($skip, $loc, $0, $1) {
19496
+ var InsertCloseBracket$0 = $TV($EXPECT($L0, fail, 'InsertCloseBracket ""'), function($skip, $loc, $0, $1) {
19135
19497
  return { $loc, token: "]" };
19136
19498
  });
19137
19499
  function InsertCloseBracket(state) {
@@ -19156,7 +19518,7 @@ ${input.slice(result.pos)}
19156
19518
  return result;
19157
19519
  }
19158
19520
  }
19159
- var InsertComma$0 = $TV($EXPECT($L19, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
19521
+ var InsertComma$0 = $TV($EXPECT($L0, fail, 'InsertComma ""'), function($skip, $loc, $0, $1) {
19160
19522
  return { $loc, token: "," };
19161
19523
  });
19162
19524
  function InsertComma(state) {
@@ -19181,7 +19543,7 @@ ${input.slice(result.pos)}
19181
19543
  return result;
19182
19544
  }
19183
19545
  }
19184
- var InsertConst$0 = $TV($EXPECT($L19, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
19546
+ var InsertConst$0 = $TV($EXPECT($L0, fail, 'InsertConst ""'), function($skip, $loc, $0, $1) {
19185
19547
  return { $loc, token: "const " };
19186
19548
  });
19187
19549
  function InsertConst(state) {
@@ -19206,7 +19568,7 @@ ${input.slice(result.pos)}
19206
19568
  return result;
19207
19569
  }
19208
19570
  }
19209
- var InsertLet$0 = $TV($EXPECT($L19, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
19571
+ var InsertLet$0 = $TV($EXPECT($L0, fail, 'InsertLet ""'), function($skip, $loc, $0, $1) {
19210
19572
  return { $loc, token: "let " };
19211
19573
  });
19212
19574
  function InsertLet(state) {
@@ -19231,7 +19593,7 @@ ${input.slice(result.pos)}
19231
19593
  return result;
19232
19594
  }
19233
19595
  }
19234
- var InsertReadonly$0 = $TV($EXPECT($L19, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
19596
+ var InsertReadonly$0 = $TV($EXPECT($L0, fail, 'InsertReadonly ""'), function($skip, $loc, $0, $1) {
19235
19597
  return { ts: true, children: [{ $loc, token: "readonly " }] };
19236
19598
  });
19237
19599
  function InsertReadonly(state) {
@@ -19256,7 +19618,7 @@ ${input.slice(result.pos)}
19256
19618
  return result;
19257
19619
  }
19258
19620
  }
19259
- var InsertNewline$0 = $TV($EXPECT($L19, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
19621
+ var InsertNewline$0 = $TV($EXPECT($L0, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
19260
19622
  return "\n";
19261
19623
  });
19262
19624
  function InsertNewline(state) {
@@ -19281,7 +19643,7 @@ ${input.slice(result.pos)}
19281
19643
  return result;
19282
19644
  }
19283
19645
  }
19284
- var InsertIndent$0 = $TV($EXPECT($L19, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
19646
+ var InsertIndent$0 = $TV($EXPECT($L0, fail, 'InsertIndent ""'), function($skip, $loc, $0, $1) {
19285
19647
  return module.currentIndent.token;
19286
19648
  });
19287
19649
  function InsertIndent(state) {
@@ -19306,7 +19668,7 @@ ${input.slice(result.pos)}
19306
19668
  return result;
19307
19669
  }
19308
19670
  }
19309
- var InsertSpace$0 = $TV($EXPECT($L19, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
19671
+ var InsertSpace$0 = $TV($EXPECT($L0, fail, 'InsertSpace ""'), function($skip, $loc, $0, $1) {
19310
19672
  return { $loc, token: " " };
19311
19673
  });
19312
19674
  function InsertSpace(state) {
@@ -19331,7 +19693,7 @@ ${input.slice(result.pos)}
19331
19693
  return result;
19332
19694
  }
19333
19695
  }
19334
- var InsertDot$0 = $TV($EXPECT($L19, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
19696
+ var InsertDot$0 = $TV($EXPECT($L0, fail, 'InsertDot ""'), function($skip, $loc, $0, $1) {
19335
19697
  return { $loc, token: "." };
19336
19698
  });
19337
19699
  function InsertDot(state) {
@@ -19356,7 +19718,7 @@ ${input.slice(result.pos)}
19356
19718
  return result;
19357
19719
  }
19358
19720
  }
19359
- var InsertBreak$0 = $TV($EXPECT($L19, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
19721
+ var InsertBreak$0 = $TV($EXPECT($L0, fail, 'InsertBreak ""'), function($skip, $loc, $0, $1) {
19360
19722
  return { $loc, token: ";break;" };
19361
19723
  });
19362
19724
  function InsertBreak(state) {
@@ -19381,7 +19743,7 @@ ${input.slice(result.pos)}
19381
19743
  return result;
19382
19744
  }
19383
19745
  }
19384
- var InsertVar$0 = $TV($EXPECT($L19, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
19746
+ var InsertVar$0 = $TV($EXPECT($L0, fail, 'InsertVar ""'), function($skip, $loc, $0, $1) {
19385
19747
  return { $loc, token: "var " };
19386
19748
  });
19387
19749
  function InsertVar(state) {
@@ -19406,7 +19768,7 @@ ${input.slice(result.pos)}
19406
19768
  return result;
19407
19769
  }
19408
19770
  }
19409
- var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
19771
+ var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
19410
19772
  if (module.config.coffeeBinaryExistential)
19411
19773
  return;
19412
19774
  return $skip;
@@ -19433,7 +19795,7 @@ ${input.slice(result.pos)}
19433
19795
  return result;
19434
19796
  }
19435
19797
  }
19436
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
19798
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
19437
19799
  if (module.config.coffeeBooleans)
19438
19800
  return;
19439
19801
  return $skip;
@@ -19460,7 +19822,7 @@ ${input.slice(result.pos)}
19460
19822
  return result;
19461
19823
  }
19462
19824
  }
19463
- var CoffeeClassesEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
19825
+ var CoffeeClassesEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeClassesEnabled ""'), function($skip, $loc, $0, $1) {
19464
19826
  if (module.config.coffeeClasses)
19465
19827
  return;
19466
19828
  return $skip;
@@ -19487,7 +19849,7 @@ ${input.slice(result.pos)}
19487
19849
  return result;
19488
19850
  }
19489
19851
  }
19490
- var CoffeeCommentEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
19852
+ var CoffeeCommentEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
19491
19853
  if (module.config.coffeeComment)
19492
19854
  return;
19493
19855
  return $skip;
@@ -19514,7 +19876,7 @@ ${input.slice(result.pos)}
19514
19876
  return result;
19515
19877
  }
19516
19878
  }
19517
- var CoffeeDoEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
19879
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
19518
19880
  if (module.config.coffeeDo)
19519
19881
  return;
19520
19882
  return $skip;
@@ -19541,7 +19903,7 @@ ${input.slice(result.pos)}
19541
19903
  return result;
19542
19904
  }
19543
19905
  }
19544
- var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
19906
+ var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
19545
19907
  if (module.config.coffeeForLoops)
19546
19908
  return;
19547
19909
  return $skip;
@@ -19568,7 +19930,7 @@ ${input.slice(result.pos)}
19568
19930
  return result;
19569
19931
  }
19570
19932
  }
19571
- var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
19933
+ var CoffeeInterpolationEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeInterpolationEnabled ""'), function($skip, $loc, $0, $1) {
19572
19934
  if (module.config.coffeeInterpolation)
19573
19935
  return;
19574
19936
  return $skip;
@@ -19595,7 +19957,7 @@ ${input.slice(result.pos)}
19595
19957
  return result;
19596
19958
  }
19597
19959
  }
19598
- var CoffeeIsntEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
19960
+ var CoffeeIsntEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeIsntEnabled ""'), function($skip, $loc, $0, $1) {
19599
19961
  if (module.config.coffeeIsnt)
19600
19962
  return;
19601
19963
  return $skip;
@@ -19622,7 +19984,7 @@ ${input.slice(result.pos)}
19622
19984
  return result;
19623
19985
  }
19624
19986
  }
19625
- var CoffeeJSXEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
19987
+ var CoffeeJSXEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeJSXEnabled ""'), function($skip, $loc, $0, $1) {
19626
19988
  if (module.config.coffeeJSX)
19627
19989
  return;
19628
19990
  return $skip;
@@ -19649,7 +20011,7 @@ ${input.slice(result.pos)}
19649
20011
  return result;
19650
20012
  }
19651
20013
  }
19652
- var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
20014
+ var CoffeeLineContinuationEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeLineContinuationEnabled ""'), function($skip, $loc, $0, $1) {
19653
20015
  if (module.config.coffeeLineContinuation)
19654
20016
  return;
19655
20017
  return $skip;
@@ -19676,7 +20038,7 @@ ${input.slice(result.pos)}
19676
20038
  return result;
19677
20039
  }
19678
20040
  }
19679
- var CoffeeNotEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
20041
+ var CoffeeNotEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeNotEnabled ""'), function($skip, $loc, $0, $1) {
19680
20042
  if (module.config.coffeeNot)
19681
20043
  return;
19682
20044
  return $skip;
@@ -19703,7 +20065,7 @@ ${input.slice(result.pos)}
19703
20065
  return result;
19704
20066
  }
19705
20067
  }
19706
- var CoffeeOfEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
20068
+ var CoffeeOfEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeOfEnabled ""'), function($skip, $loc, $0, $1) {
19707
20069
  if (module.config.coffeeOf)
19708
20070
  return;
19709
20071
  return $skip;
@@ -19730,7 +20092,7 @@ ${input.slice(result.pos)}
19730
20092
  return result;
19731
20093
  }
19732
20094
  }
19733
- var CoffeePrototypeEnabled$0 = $TV($EXPECT($L19, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
20095
+ var CoffeePrototypeEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeePrototypeEnabled ""'), function($skip, $loc, $0, $1) {
19734
20096
  if (module.config.coffeePrototype)
19735
20097
  return;
19736
20098
  return $skip;
@@ -19757,7 +20119,7 @@ ${input.slice(result.pos)}
19757
20119
  return result;
19758
20120
  }
19759
20121
  }
19760
- var ObjectIsEnabled$0 = $TV($EXPECT($L19, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
20122
+ var ObjectIsEnabled$0 = $TV($EXPECT($L0, fail, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
19761
20123
  if (module.config.objectIs)
19762
20124
  return;
19763
20125
  return $skip;
@@ -19784,11 +20146,12 @@ ${input.slice(result.pos)}
19784
20146
  return result;
19785
20147
  }
19786
20148
  }
19787
- var Reset$0 = $TV($EXPECT($L19, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
20149
+ var Reset$0 = $TV($EXPECT($L0, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
19788
20150
  module.indentLevels = [{
19789
20151
  level: 0,
19790
20152
  token: ""
19791
20153
  }];
20154
+ module.forbidClassImplicitCall = [false];
19792
20155
  module.forbidIndentedApplication = [false];
19793
20156
  module.forbidTrailingMemberProperty = [false];
19794
20157
  module.forbidMultiLineImplicitObjectLiteral = [false];
@@ -19803,6 +20166,12 @@ ${input.slice(result.pos)}
19803
20166
  return l[l.length - 1];
19804
20167
  }
19805
20168
  },
20169
+ classImplicitCallForbidden: {
20170
+ get() {
20171
+ const { forbidClassImplicitCall: s } = module;
20172
+ return s[s.length - 1];
20173
+ }
20174
+ },
19806
20175
  indentedApplicationForbidden: {
19807
20176
  get() {
19808
20177
  const { forbidIndentedApplication: s } = module;
@@ -20094,7 +20463,7 @@ ${input.slice(result.pos)}
20094
20463
  return result;
20095
20464
  }
20096
20465
  }
20097
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L19, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
20466
+ var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L0, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
20098
20467
  var directives = $2;
20099
20468
  directives.forEach((directive) => {
20100
20469
  if (directive.type === "CivetPrologue") {
@@ -20405,9 +20774,7 @@ ${input.slice(result.pos)}
20405
20774
  const [, exp] = node;
20406
20775
  if (!exp)
20407
20776
  return;
20408
- let indent = node[0];
20409
- if (Array.isArray(indent))
20410
- indent = indent[indent.length - 1];
20777
+ const indent = getIndent(node);
20411
20778
  switch (exp.type) {
20412
20779
  case "BreakStatement":
20413
20780
  case "ContinueStatement":
@@ -20808,7 +21175,12 @@ ${input.slice(result.pos)}
20808
21175
  if (trim) {
20809
21176
  str = str.replace(/^(\r?\n|\n)/, "").replace(/(\r?\n|\n)[ \t]*$/, "");
20810
21177
  }
20811
- str = str.replace(/(`|\$\{)/g, "\\$1");
21178
+ str = str.replace(/(\\.|`|\$\{)/g, (s) => {
21179
+ if (s[0] === "\\") {
21180
+ return s;
21181
+ }
21182
+ return `\\${s}`;
21183
+ });
20812
21184
  return {
20813
21185
  $loc: $loc2,
20814
21186
  token: str
@@ -20908,55 +21280,6 @@ ${input.slice(result.pos)}
20908
21280
  }, props2]
20909
21281
  };
20910
21282
  };
20911
- function gatherNodes(node, predicate) {
20912
- if (node == null)
20913
- return [];
20914
- if (Array.isArray(node)) {
20915
- return node.flatMap((n) => gatherNodes(n, predicate));
20916
- }
20917
- if (predicate(node)) {
20918
- return [node];
20919
- }
20920
- switch (node.type) {
20921
- case "BlockStatement":
20922
- return [];
20923
- case "ForStatement":
20924
- const isDec = node.declaration?.type === "Declaration";
20925
- return node.children.flatMap((n) => {
20926
- if (isDec && n === node.declaration)
20927
- return [];
20928
- return gatherNodes(n, predicate);
20929
- });
20930
- default:
20931
- return gatherNodes(node.children, predicate);
20932
- }
20933
- return [];
20934
- }
20935
- function gatherRecursive(node, predicate, skipPredicate) {
20936
- if (node == null)
20937
- return [];
20938
- if (Array.isArray(node)) {
20939
- return node.flatMap((n) => gatherRecursive(n, predicate, skipPredicate));
20940
- }
20941
- if (skipPredicate?.(node))
20942
- return [];
20943
- if (predicate(node)) {
20944
- return [node];
20945
- }
20946
- return gatherRecursive(node.children, predicate, skipPredicate);
20947
- }
20948
- function gatherRecursiveAll(node, predicate) {
20949
- if (node == null)
20950
- return [];
20951
- if (Array.isArray(node)) {
20952
- return node.flatMap((n) => gatherRecursiveAll(n, predicate));
20953
- }
20954
- const nodes = gatherRecursiveAll(node.children, predicate);
20955
- if (predicate(node)) {
20956
- nodes.push(node);
20957
- }
20958
- return nodes;
20959
- }
20960
21283
  function isFunction(node) {
20961
21284
  const { type } = node;
20962
21285
  return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || node.async;
@@ -20982,28 +21305,6 @@ ${input.slice(result.pos)}
20982
21305
  }
20983
21306
  }
20984
21307
  }
20985
- function removeParentPointers(node) {
20986
- if (node == null)
20987
- return;
20988
- if (typeof node !== "object")
20989
- return;
20990
- if (Array.isArray(node)) {
20991
- for (const child of node) {
20992
- removeParentPointers(child);
20993
- }
20994
- return;
20995
- }
20996
- node.parent = null;
20997
- if (node.children) {
20998
- for (const child of node.children) {
20999
- removeParentPointers(child);
21000
- }
21001
- }
21002
- }
21003
- function clone(node) {
21004
- removeParentPointers(node);
21005
- return structuredClone(node);
21006
- }
21007
21308
  function findAncestor(node, predicate, stopPredicate) {
21008
21309
  node = node.parent;
21009
21310
  while (node && !stopPredicate?.(node)) {
@@ -21788,11 +22089,7 @@ ${input.slice(result.pos)}
21788
22089
  adjustAtBindings(statements);
21789
22090
  };
21790
22091
  function findDecs(statements) {
21791
- const declarationNames = gatherNodes(statements, (node) => {
21792
- if (node.type === "Declaration") {
21793
- return true;
21794
- }
21795
- }).flatMap((d) => d.names);
22092
+ const declarationNames = gatherNodes(statements, ({ type }) => type === "Declaration").flatMap((d) => d.names);
21796
22093
  return new Set(declarationNames);
21797
22094
  }
21798
22095
  function populateRefs(statements) {
@@ -21839,9 +22136,7 @@ ${input.slice(result.pos)}
21839
22136
  scopes.push(decs);
21840
22137
  const varIds = [];
21841
22138
  const assignmentStatements = findAssignments(statements, scopes);
21842
- const undeclaredIdentifiers = assignmentStatements.flatMap((a) => {
21843
- return a.names;
21844
- });
22139
+ const undeclaredIdentifiers = assignmentStatements.flatMap((a) => a.names);
21845
22140
  undeclaredIdentifiers.filter((x, i, a) => {
21846
22141
  if (!hasDec(x))
21847
22142
  return a.indexOf(x) === i;
@@ -21865,9 +22160,7 @@ ${input.slice(result.pos)}
21865
22160
  scopes.pop();
21866
22161
  });
21867
22162
  if (varIds.length) {
21868
- let indent = statements[0][0];
21869
- if (Array.isArray(indent))
21870
- indent = indent[indent.length - 1];
22163
+ const indent = getIndent(statements[0]);
21871
22164
  statements.unshift([indent, "var ", varIds.join(", "), "\n"]);
21872
22165
  }
21873
22166
  scopes.pop();
@@ -21974,8 +22267,12 @@ ${input.slice(result.pos)}
21974
22267
  module.gatherBindingCode = gatherBindingCode;
21975
22268
  module.constructInvocation = function(fn, arg) {
21976
22269
  const fnArr = [fn.leadingComment, fn.expr, fn.trailingComment];
21977
- if (fn.expr.ampersandBlock) {
21978
- const { ref, body } = fn.expr;
22270
+ let expr = fn.expr;
22271
+ while (expr.type === "ParenthesizedExpression") {
22272
+ expr = expr.expression;
22273
+ }
22274
+ if (expr.ampersandBlock) {
22275
+ const { ref, body } = expr;
21979
22276
  ref.type = "PipedExpression";
21980
22277
  ref.children = [module.makeLeftHandSideExpression(arg)];
21981
22278
  return {
@@ -21983,7 +22280,8 @@ ${input.slice(result.pos)}
21983
22280
  children: [module.skipIfOnlyWS(fn.leadingComment), ...body, module.skipIfOnlyWS(fn.trailingComment)]
21984
22281
  };
21985
22282
  }
21986
- const lhs = module.makeLeftHandSideExpression(fn.expr);
22283
+ expr = fn.expr;
22284
+ const lhs = module.makeLeftHandSideExpression(expr);
21987
22285
  let comment = module.skipIfOnlyWS(fn.trailingComment);
21988
22286
  if (comment)
21989
22287
  lhs.children.splice(2, 0, comment);
@@ -22100,6 +22398,7 @@ ${input.slice(result.pos)}
22100
22398
  console.log("pushing indent", indent);
22101
22399
  }
22102
22400
  module.indentLevels.push(indent);
22401
+ return $1;
22103
22402
  });
22104
22403
  function TrackIndented(state) {
22105
22404
  let eventData;
@@ -22238,7 +22537,7 @@ ${input.slice(result.pos)}
22238
22537
  return result;
22239
22538
  }
22240
22539
  }
22241
- var PopIndent$0 = $TV($EXPECT($L19, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
22540
+ var PopIndent$0 = $TV($EXPECT($L0, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
22242
22541
  if (module.config.verbose) {
22243
22542
  console.log("popping indent", module.indentLevels[module.indentLevels.length - 1], "->", module.indentLevels[module.indentLevels.length - 2]);
22244
22543
  }
@@ -22306,6 +22605,14 @@ ${input.slice(result.pos)}
22306
22605
  }
22307
22606
  exports.parse = parse2;
22308
22607
  exports.default = { parse: parse2 };
22608
+ var {
22609
+ clone,
22610
+ deepCopy,
22611
+ gatherNodes,
22612
+ gatherRecursive,
22613
+ gatherRecursiveAll,
22614
+ removeParentPointers
22615
+ } = require_lib();
22309
22616
  }
22310
22617
  });
22311
22618