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