@danielx/civet 0.9.7 → 0.10.1

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.mjs CHANGED
@@ -495,12 +495,14 @@ __export(lib_civet_exports, {
495
495
  attachPostfixStatementAsExpression: () => attachPostfixStatementAsExpression,
496
496
  blockWithPrefix: () => blockWithPrefix,
497
497
  braceBlock: () => braceBlock,
498
+ bracedBlock: () => bracedBlock,
498
499
  convertNamedImportsToObject: () => convertNamedImportsToObject,
499
500
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
500
501
  convertWithClause: () => convertWithClause,
501
502
  dedentBlockString: () => dedentBlockString,
502
503
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
503
504
  deepCopy: () => deepCopy,
505
+ duplicateBlock: () => duplicateBlock,
504
506
  dynamizeImportDeclaration: () => dynamizeImportDeclaration,
505
507
  dynamizeImportDeclarationExpression: () => dynamizeImportDeclarationExpression,
506
508
  expressionizeTypeIf: () => expressionizeTypeIf,
@@ -757,9 +759,49 @@ function isExit(node) {
757
759
  }
758
760
  case "SwitchStatement": {
759
761
  return (
760
- // Ensure exhaustive by requiring an else/default clause
761
- node.caseBlock.clauses.some(($) => $.type === "DefaultClause") && // Every clause should exit
762
- node.caseBlock.clauses.every(isExit)
762
+ // Every clause should exit, or continue to next clause
763
+ (() => {
764
+ let results = true;
765
+ for (const clause of node.caseBlock.clauses) {
766
+ let m1;
767
+ if (m1 = clause.type, m1 === "CaseClause" || m1 === "WhenClause" || m1 === "DefaultClause") {
768
+ if (!(!(clause.type === "WhenClause" && clause.break) && !gatherRecursiveWithinFunction(clause.block, ($) => $.type === "BreakStatement").length)) {
769
+ results = false;
770
+ break;
771
+ }
772
+ } else {
773
+ if (!isExit(clause.block)) {
774
+ results = false;
775
+ break;
776
+ }
777
+ }
778
+ }
779
+ return results;
780
+ })() && // Ensure exhaustive by requiring an else/default clause
781
+ (() => {
782
+ let results1 = false;
783
+ let i3 = 0;
784
+ for (const clause of node.caseBlock.clauses) {
785
+ const i = i3++;
786
+ if (clause.type === "DefaultClause" && // Require default clause to exit or continue to next clause
787
+ // (checked above) and eventually reach an exiting clause
788
+ (() => {
789
+ let results2 = false;
790
+ for (const later of node.caseBlock.clauses.slice(i)) {
791
+ let m2;
792
+ if ((m2 = later.type, m2 === "CaseClause" || m2 === "WhenClause" || m2 === "DefaultClause") && isExit(later.block)) {
793
+ results2 = true;
794
+ break;
795
+ }
796
+ }
797
+ return results2;
798
+ })()) {
799
+ results1 = true;
800
+ break;
801
+ }
802
+ }
803
+ return results1;
804
+ })()
763
805
  );
764
806
  }
765
807
  case "TryStatement": {
@@ -822,18 +864,18 @@ function insertTrimmingSpace(target, c) {
822
864
  if (target.length === 0) {
823
865
  return c;
824
866
  }
825
- const results = [];
826
- for (let i3 = 0, len3 = target.length; i3 < len3; i3++) {
827
- const i = i3;
828
- const e = target[i3];
867
+ const results3 = [];
868
+ for (let i4 = 0, len3 = target.length; i4 < len3; i4++) {
869
+ const i = i4;
870
+ const e = target[i4];
829
871
  if (i === 0) {
830
- results.push(insertTrimmingSpace(e, c));
872
+ results3.push(insertTrimmingSpace(e, c));
831
873
  } else {
832
- results.push(e);
874
+ results3.push(e);
833
875
  }
834
876
  }
835
877
  ;
836
- return results;
878
+ return results3;
837
879
  } else if (isParent(target)) {
838
880
  const oldChildren = target.children;
839
881
  target = {
@@ -1068,8 +1110,8 @@ function startsWithPredicate(node, predicate, skip = isWhitespaceOrEmpty) {
1068
1110
  return void 0;
1069
1111
  }
1070
1112
  if (Array.isArray(node)) {
1071
- for (let i4 = 0, len4 = node.length; i4 < len4; i4++) {
1072
- const child = node[i4];
1113
+ for (let i5 = 0, len4 = node.length; i5 < len4; i5++) {
1114
+ const child = node[i5];
1073
1115
  if (skip(child)) {
1074
1116
  continue;
1075
1117
  }
@@ -1108,9 +1150,9 @@ function deepCopy(root) {
1108
1150
  if (Array.isArray(node)) {
1109
1151
  const array = new Array(node.length);
1110
1152
  copied.set(node, array);
1111
- for (let i5 = 0, len5 = node.length; i5 < len5; i5++) {
1112
- const i = i5;
1113
- const item = node[i5];
1153
+ for (let i6 = 0, len5 = node.length; i6 < len5; i6++) {
1154
+ const i = i6;
1155
+ const item = node[i6];
1114
1156
  array[i] = recurse(item);
1115
1157
  }
1116
1158
  } else if (node?.type === "Ref") {
@@ -1137,9 +1179,9 @@ function replaceNode(node, newNode, parent) {
1137
1179
  throw new Error("replaceNode failed: node has no parent");
1138
1180
  }
1139
1181
  function recurse(children) {
1140
- for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1141
- const i = i6;
1142
- const child = children[i6];
1182
+ for (let i7 = 0, len6 = children.length; i7 < len6; i7++) {
1183
+ const i = i7;
1184
+ const child = children[i7];
1143
1185
  if (child === node) {
1144
1186
  children[i] = newNode;
1145
1187
  return true;
@@ -1176,9 +1218,9 @@ function replaceNodes(root, predicate, replacer) {
1176
1218
  return root;
1177
1219
  }
1178
1220
  }
1179
- for (let i7 = 0, len7 = array.length; i7 < len7; i7++) {
1180
- const i = i7;
1181
- const node = array[i7];
1221
+ for (let i8 = 0, len7 = array.length; i8 < len7; i8++) {
1222
+ const i = i8;
1223
+ const node = array[i8];
1182
1224
  if (!(node != null)) {
1183
1225
  return;
1184
1226
  }
@@ -1302,8 +1344,8 @@ function updateParentPointers(node, parent, depth = 1) {
1302
1344
  return;
1303
1345
  }
1304
1346
  if (Array.isArray(node)) {
1305
- for (let i8 = 0, len8 = node.length; i8 < len8; i8++) {
1306
- const child = node[i8];
1347
+ for (let i9 = 0, len8 = node.length; i9 < len8; i9++) {
1348
+ const child = node[i9];
1307
1349
  updateParentPointers(child, parent, depth);
1308
1350
  }
1309
1351
  return;
@@ -1313,8 +1355,8 @@ function updateParentPointers(node, parent, depth = 1) {
1313
1355
  node.parent = parent;
1314
1356
  }
1315
1357
  if (depth && isParent(node)) {
1316
- for (let ref8 = node.children, i9 = 0, len9 = ref8.length; i9 < len9; i9++) {
1317
- const child = ref8[i9];
1358
+ for (let ref8 = node.children, i10 = 0, len9 = ref8.length; i10 < len9; i10++) {
1359
+ const child = ref8[i10];
1318
1360
  updateParentPointers(child, node, depth - 1);
1319
1361
  }
1320
1362
  }
@@ -1511,9 +1553,9 @@ function wrapWithReturn(expression, parent = expression?.parent, semi = false) {
1511
1553
  }
1512
1554
  function flatJoin(array, separator) {
1513
1555
  const result = [];
1514
- for (let i10 = 0, len10 = array.length; i10 < len10; i10++) {
1515
- const i = i10;
1516
- const items = array[i10];
1556
+ for (let i11 = 0, len10 = array.length; i11 < len10; i11++) {
1557
+ const i = i11;
1558
+ const items = array[i11];
1517
1559
  if (i) {
1518
1560
  result.push(separator);
1519
1561
  }
@@ -3136,12 +3178,10 @@ function assignResults(node, collect) {
3136
3178
  }
3137
3179
  case "IfStatement": {
3138
3180
  assignResults(exp.then, collect);
3139
- if (exp.then.bare && !exp.then.semicolon) {
3140
- exp.then.children.push(exp.then.semicolon = ";");
3141
- }
3142
3181
  if (exp.else) {
3143
3182
  assignResults(exp.else.block, collect);
3144
3183
  } else {
3184
+ braceBlock(exp.then);
3145
3185
  exp.children.push([" else {", collect("void 0"), "}"]);
3146
3186
  }
3147
3187
  return;
@@ -4225,6 +4265,11 @@ function duplicateBlock(block) {
4225
4265
  children
4226
4266
  };
4227
4267
  }
4268
+ function bracedBlock(block) {
4269
+ block = duplicateBlock(block);
4270
+ braceBlock(block);
4271
+ return block;
4272
+ }
4228
4273
  function makeEmptyBlock() {
4229
4274
  const expressions = [];
4230
4275
  return {
@@ -5346,7 +5391,7 @@ function processDeclarations(statements) {
5346
5391
  });
5347
5392
  }
5348
5393
  }
5349
- if (initializer) {
5394
+ if (initializer && blockContainingStatement(declaration)) {
5350
5395
  prependStatementExpressionBlock(initializer, declaration);
5351
5396
  }
5352
5397
  }
@@ -9249,8 +9294,6 @@ var grammar = {
9249
9294
  NamedImports,
9250
9295
  OperatorNamedImports,
9251
9296
  FromClause,
9252
- ImpliedFromClause,
9253
- ImpliedFrom,
9254
9297
  ImportAssertion,
9255
9298
  TypeAndImportSpecifier,
9256
9299
  ImportSpecifier,
@@ -9553,6 +9596,7 @@ var grammar = {
9553
9596
  TypeIndexedAccess,
9554
9597
  UnknownAlias,
9555
9598
  TypePrimary,
9599
+ TypeIdentifier,
9556
9600
  ImportType,
9557
9601
  TypeTuple,
9558
9602
  TypeTupleContent,
@@ -9686,16 +9730,16 @@ var $L13 = (0, import_lib2.$L)("=>");
9686
9730
  var $L14 = (0, import_lib2.$L)("\u21D2");
9687
9731
  var $L15 = (0, import_lib2.$L)("import");
9688
9732
  var $L16 = (0, import_lib2.$L)(":");
9689
- var $L17 = (0, import_lib2.$L)(",");
9690
- var $L18 = (0, import_lib2.$L)(" ");
9691
- var $L19 = (0, import_lib2.$L)("<");
9692
- var $L20 = (0, import_lib2.$L)("implements");
9693
- var $L21 = (0, import_lib2.$L)("<:");
9694
- var $L22 = (0, import_lib2.$L)("^");
9695
- var $L23 = (0, import_lib2.$L)("<?");
9696
- var $L24 = (0, import_lib2.$L)("-");
9697
- var $L25 = (0, import_lib2.$L)("import.meta");
9698
- var $L26 = (0, import_lib2.$L)("return.value");
9733
+ var $L17 = (0, import_lib2.$L)(" ");
9734
+ var $L18 = (0, import_lib2.$L)("<");
9735
+ var $L19 = (0, import_lib2.$L)("implements");
9736
+ var $L20 = (0, import_lib2.$L)("<:");
9737
+ var $L21 = (0, import_lib2.$L)("^");
9738
+ var $L22 = (0, import_lib2.$L)("<?");
9739
+ var $L23 = (0, import_lib2.$L)("-");
9740
+ var $L24 = (0, import_lib2.$L)("import.meta");
9741
+ var $L25 = (0, import_lib2.$L)("return.value");
9742
+ var $L26 = (0, import_lib2.$L)(",");
9699
9743
  var $L27 = (0, import_lib2.$L)("tighter");
9700
9744
  var $L28 = (0, import_lib2.$L)("looser");
9701
9745
  var $L29 = (0, import_lib2.$L)("same");
@@ -9938,7 +9982,7 @@ var $R16 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
9938
9982
  var $R17 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
9939
9983
  var $R18 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
9940
9984
  var $R19 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9941
- var $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
9985
+ var $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy"));
9942
9986
  var $R21 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
9943
9987
  var $R22 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy"));
9944
9988
  var $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy"));
@@ -11120,32 +11164,43 @@ var ExtendsClause$0 = (0, import_lib2.$S)(ExtendsToken, __, ExtendsTarget);
11120
11164
  function ExtendsClause(ctx, state2) {
11121
11165
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
11122
11166
  }
11123
- var WithClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, With, __, ExtendsTarget, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L17, 'WithClause ","'), __, ExtendsTarget))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11167
+ var WithClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, With, PushIndent, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, Expression, (0, import_lib2.$E)(_), (0, import_lib2.$E)(Comma))), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11168
+ var targets = $4;
11169
+ if (!targets.length) return $skip;
11170
+ targets = targets.map(($) => $.slice(0, -1));
11171
+ return {
11172
+ type: "WithClause",
11173
+ children: $0,
11174
+ targets
11175
+ };
11176
+ });
11177
+ var WithClause$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, With, NotDedented, ExtendsTarget, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$E)(_), Comma, NotDedented, ExtendsTarget))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11124
11178
  var ws = $3;
11125
11179
  var t = $4;
11126
11180
  var rest = $5;
11127
11181
  return {
11128
11182
  type: "WithClause",
11129
11183
  children: $0,
11130
- targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
11184
+ targets: [[ws, t], ...rest.map(([ws1, _comma, ws2, target]) => [prepend(ws1, ws2), target])]
11131
11185
  };
11132
11186
  });
11187
+ var WithClause$$ = [WithClause$0, WithClause$1];
11133
11188
  function WithClause(ctx, state2) {
11134
- return (0, import_lib2.$EVENT)(ctx, state2, "WithClause", WithClause$0);
11189
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "WithClause", WithClause$$);
11135
11190
  }
11136
- var ExtendsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, (0, import_lib2.$E)(_), ExtendsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11137
- var l = $1;
11138
- var ws = $2;
11191
+ var ExtendsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, InsertSpace, ExtendsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11192
+ var ws = $1;
11193
+ var s = $2;
11139
11194
  var t = $3;
11140
11195
  return {
11141
11196
  type: "Extends",
11142
11197
  children: [
11143
- ws || { $loc: l.$loc, token: " " },
11198
+ ws.length ? ws : s,
11144
11199
  t
11145
11200
  ]
11146
11201
  };
11147
11202
  });
11148
- var ExtendsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), Extends), function($skip, $loc, $0, $1, $2) {
11203
+ var ExtendsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, Extends), function($skip, $loc, $0, $1, $2) {
11149
11204
  return {
11150
11205
  type: "Extends",
11151
11206
  children: $0
@@ -11155,13 +11210,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
11155
11210
  function ExtendsToken(ctx, state2) {
11156
11211
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
11157
11212
  }
11158
- var ExtendsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
11213
+ var ExtendsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
11159
11214
  return { $loc, token: "extends " };
11160
11215
  });
11161
11216
  function ExtendsShorthand(ctx, state2) {
11162
11217
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
11163
11218
  }
11164
- var NotExtendsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, (0, import_lib2.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11219
+ var NotExtendsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, (0, import_lib2.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11165
11220
  var l = $1;
11166
11221
  var ws1 = $2;
11167
11222
  var ws2 = $3;
@@ -11187,7 +11242,7 @@ function NotExtendsToken(ctx, state2) {
11187
11242
  var OmittedNegation$0 = (0, import_lib2.$T)((0, import_lib2.$S)(ExclamationPoint), function(value) {
11188
11243
  return "";
11189
11244
  });
11190
- var OmittedNegation$1 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'OmittedNegation " "')), (0, import_lib2.$E)(_)), function(value) {
11245
+ var OmittedNegation$1 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'OmittedNegation " "')), (0, import_lib2.$E)(_)), function(value) {
11191
11246
  return value[2];
11192
11247
  });
11193
11248
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -11201,16 +11256,28 @@ var ExtendsTarget$0 = (0, import_lib2.$TV)(LeftHandSideExpressionWithObjectAppli
11201
11256
  function ExtendsTarget(ctx, state2) {
11202
11257
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsTarget", ExtendsTarget$0);
11203
11258
  }
11204
- var ImplementsClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImplementsToken, ImplementsTarget, (0, import_lib2.$Q)((0, import_lib2.$S)(Comma, ImplementsTarget))), function($skip, $loc, $0, $1, $2, $3) {
11259
+ var ImplementsClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImplementsToken, PushIndent, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, TypeIdentifier, ArrayBulletDelimiter)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
11260
+ var i = $1;
11261
+ var targets = $3;
11262
+ if (!targets.length) return $skip;
11263
+ const last = targets.at(-1).slice(0, -1);
11264
+ targets = targets.slice(0, -1).concat(last);
11265
+ return {
11266
+ ts: true,
11267
+ children: [i, targets]
11268
+ };
11269
+ });
11270
+ var ImplementsClause$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImplementsToken, ImplementsTarget, (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$E)(_), Comma, ImplementsTarget))), function($skip, $loc, $0, $1, $2, $3) {
11205
11271
  return {
11206
11272
  ts: true,
11207
11273
  children: $0
11208
11274
  };
11209
11275
  });
11276
+ var ImplementsClause$$ = [ImplementsClause$0, ImplementsClause$1];
11210
11277
  function ImplementsClause(ctx, state2) {
11211
- return (0, import_lib2.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
11278
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "ImplementsClause", ImplementsClause$$);
11212
11279
  }
11213
- var ImplementsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, ImplementsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11280
+ var ImplementsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, NotDedented, ImplementsShorthand, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
11214
11281
  var l = $1;
11215
11282
  var ws = $2;
11216
11283
  var token = $3;
@@ -11220,7 +11287,7 @@ var ImplementsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, Implem
11220
11287
  }
11221
11288
  return { children };
11222
11289
  });
11223
- var ImplementsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L20, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11290
+ var ImplementsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, (0, import_lib2.$EXPECT)($L19, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11224
11291
  $2 = { $loc, token: $2 };
11225
11292
  return [$1, $2];
11226
11293
  });
@@ -11228,7 +11295,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
11228
11295
  function ImplementsToken(ctx, state2) {
11229
11296
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
11230
11297
  }
11231
- var ImplementsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
11298
+ var ImplementsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
11232
11299
  return { $loc, token: "implements " };
11233
11300
  });
11234
11301
  function ImplementsShorthand(ctx, state2) {
@@ -11668,7 +11735,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
11668
11735
  function OptionalDot(ctx, state2) {
11669
11736
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
11670
11737
  }
11671
- var NonNullAssertion$0 = (0, import_lib2.$T)((0, import_lib2.$S)(ExclamationPoint, (0, import_lib2.$N)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L22, 'NonNullAssertion "^"'), (0, import_lib2.$EXPECT)($L23, 'NonNullAssertion "<?"'), (0, import_lib2.$EXPECT)($L3, 'NonNullAssertion "="')))), function(value) {
11738
+ var NonNullAssertion$0 = (0, import_lib2.$T)((0, import_lib2.$S)(ExclamationPoint, (0, import_lib2.$N)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L21, 'NonNullAssertion "^"'), (0, import_lib2.$EXPECT)($L22, 'NonNullAssertion "<?"'), (0, import_lib2.$EXPECT)($L3, 'NonNullAssertion "="')))), function(value) {
11672
11739
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
11673
11740
  });
11674
11741
  function NonNullAssertion(ctx, state2) {
@@ -11928,7 +11995,7 @@ var PropertyAccess$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(AccessStart, (0,
11928
11995
  ]
11929
11996
  };
11930
11997
  });
11931
- var PropertyAccess$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(AccessStart, (0, import_lib2.$EXPECT)($L24, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
11998
+ var PropertyAccess$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(AccessStart, (0, import_lib2.$EXPECT)($L23, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
11932
11999
  var dot = $1;
11933
12000
  var neg = $2;
11934
12001
  var num = $3;
@@ -12058,7 +12125,7 @@ function SuperProperty(ctx, state2) {
12058
12125
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
12059
12126
  }
12060
12127
  var MetaProperty$0 = (0, import_lib2.$S)(New, Dot, Target);
12061
- var MetaProperty$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L25, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12128
+ var MetaProperty$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L24, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12062
12129
  return { $loc, token: $1 };
12063
12130
  });
12064
12131
  var MetaProperty$2 = ReturnValue;
@@ -12066,7 +12133,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
12066
12133
  function MetaProperty(ctx, state2) {
12067
12134
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
12068
12135
  }
12069
- var ReturnValue$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L26, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib2.$S)(Return, (0, import_lib2.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
12136
+ var ReturnValue$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L25, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib2.$S)(Return, (0, import_lib2.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
12070
12137
  return { type: "ReturnValue", children: [$1[0]] };
12071
12138
  });
12072
12139
  function ReturnValue(ctx, state2) {
@@ -12622,7 +12689,7 @@ var BindingElement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.
12622
12689
  initializer
12623
12690
  };
12624
12691
  });
12625
- var BindingElement$2 = (0, import_lib2.$TV)((0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
12692
+ var BindingElement$2 = (0, import_lib2.$TV)((0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($L26, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
12626
12693
  return {
12627
12694
  type: "ElisionElement",
12628
12695
  children: [""],
@@ -13549,7 +13616,7 @@ var UpcomingAssignment$0 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, impor
13549
13616
  function UpcomingAssignment(ctx, state2) {
13550
13617
  return (0, import_lib2.$EVENT)(ctx, state2, "UpcomingAssignment", UpcomingAssignment$0);
13551
13618
  }
13552
- var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R20, "ArrayLiteral /(?=\\[|\\s*[.\u2022])/"), _ArrayLiteral), function(value) {
13619
+ var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R20, "ArrayLiteral /(?=\\[|\\s*[.\u2022\\/])/"), _ArrayLiteral), function(value) {
13553
13620
  return value[1];
13554
13621
  });
13555
13622
  function ArrayLiteral(ctx, state2) {
@@ -14333,7 +14400,7 @@ function SnugNamedProperty(ctx, state2) {
14333
14400
  var PropertyName$0 = NumericLiteral;
14334
14401
  var PropertyName$1 = ComputedPropertyName;
14335
14402
  var PropertyName$2 = StringLiteral;
14336
- var PropertyName$3 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$E)(IdentifierName), (0, import_lib2.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib2.$EXPECT)($R25, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
14403
+ var PropertyName$3 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$E)(IdentifierName), (0, import_lib2.$EXPECT)($L23, 'PropertyName "-"'), (0, import_lib2.$EXPECT)($R25, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
14337
14404
  return {
14338
14405
  token: `"${$1}"`,
14339
14406
  $loc
@@ -14810,7 +14877,7 @@ var BinaryOpSymbol$6 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.
14810
14877
  };
14811
14878
  });
14812
14879
  var BinaryOpSymbol$7 = (0, import_lib2.$EXPECT)($L79, 'BinaryOpSymbol "+"');
14813
- var BinaryOpSymbol$8 = (0, import_lib2.$EXPECT)($L24, 'BinaryOpSymbol "-"');
14880
+ var BinaryOpSymbol$8 = (0, import_lib2.$EXPECT)($L23, 'BinaryOpSymbol "-"');
14814
14881
  var BinaryOpSymbol$9 = (0, import_lib2.$EXPECT)($L80, 'BinaryOpSymbol "<="');
14815
14882
  var BinaryOpSymbol$10 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L81, 'BinaryOpSymbol "\u2264"'), function(value) {
14816
14883
  return "<=";
@@ -14819,7 +14886,7 @@ var BinaryOpSymbol$11 = (0, import_lib2.$EXPECT)($L82, 'BinaryOpSymbol ">="');
14819
14886
  var BinaryOpSymbol$12 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L83, 'BinaryOpSymbol "\u2265"'), function(value) {
14820
14887
  return ">=";
14821
14888
  });
14822
- var BinaryOpSymbol$13 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L23, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
14889
+ var BinaryOpSymbol$13 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L22, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
14823
14890
  return {
14824
14891
  $loc,
14825
14892
  token: "instanceof",
@@ -14842,7 +14909,7 @@ var BinaryOpSymbol$15 = (0, import_lib2.$EXPECT)($L85, 'BinaryOpSymbol "<<"');
14842
14909
  var BinaryOpSymbol$16 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L86, 'BinaryOpSymbol "\u226A"'), function(value) {
14843
14910
  return "<<";
14844
14911
  });
14845
- var BinaryOpSymbol$17 = (0, import_lib2.$EXPECT)($L19, 'BinaryOpSymbol "<"');
14912
+ var BinaryOpSymbol$17 = (0, import_lib2.$EXPECT)($L18, 'BinaryOpSymbol "<"');
14846
14913
  var BinaryOpSymbol$18 = (0, import_lib2.$EXPECT)($L87, 'BinaryOpSymbol ">>>"');
14847
14914
  var BinaryOpSymbol$19 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L88, 'BinaryOpSymbol "\u22D9"'), function(value) {
14848
14915
  return ">>>";
@@ -14979,7 +15046,7 @@ var BinaryOpSymbol$48 = (0, import_lib2.$TS)((0, import_lib2.$S)(Is), function($
14979
15046
  });
14980
15047
  var BinaryOpSymbol$49 = In;
14981
15048
  var BinaryOpSymbol$50 = (0, import_lib2.$EXPECT)($L117, 'BinaryOpSymbol "&"');
14982
- var BinaryOpSymbol$51 = (0, import_lib2.$EXPECT)($L22, 'BinaryOpSymbol "^"');
15049
+ var BinaryOpSymbol$51 = (0, import_lib2.$EXPECT)($L21, 'BinaryOpSymbol "^"');
14983
15050
  var BinaryOpSymbol$52 = (0, import_lib2.$EXPECT)($L118, 'BinaryOpSymbol "|"');
14984
15051
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51, BinaryOpSymbol$52];
14985
15052
  function BinaryOpSymbol(ctx, state2) {
@@ -15074,7 +15141,7 @@ var UnaryOp$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(Del
15074
15141
  if (!ws) return [op, [" "]];
15075
15142
  return [op, ws];
15076
15143
  });
15077
- var UnaryOp$3 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R30, "UnaryOp /[:.]/")), (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib2.$E)(_)), function(value) {
15144
+ var UnaryOp$3 = (0, import_lib2.$T)((0, import_lib2.$S)(Not, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R30, "UnaryOp /[:.]/")), (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib2.$E)(_)), function(value) {
15078
15145
  return [value[0], value[3]];
15079
15146
  });
15080
15147
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -15313,12 +15380,7 @@ var IfStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)
15313
15380
  condition = negateCondition(condition);
15314
15381
  }
15315
15382
  if (block.bare && e) {
15316
- const semicolon = ";";
15317
- block = {
15318
- ...block,
15319
- semicolon,
15320
- children: [...block.children, semicolon]
15321
- };
15383
+ block = bracedBlock(block);
15322
15384
  }
15323
15385
  return {
15324
15386
  type: "IfStatement",
@@ -15334,11 +15396,7 @@ var IfStatement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(IfClause, BlockOrEm
15334
15396
  var block = $2;
15335
15397
  var e = $3;
15336
15398
  if (block.bare && e) {
15337
- block = {
15338
- ...block,
15339
- semicolon: ";",
15340
- children: [...block.children, ";"]
15341
- };
15399
+ block = bracedBlock(block);
15342
15400
  }
15343
15401
  return {
15344
15402
  type: "IfStatement",
@@ -16682,7 +16740,7 @@ var ImportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedImport
16682
16740
  const children = [i, t, imports, w, from];
16683
16741
  return { type: "ImportDeclaration", ts: !!t, children, imports, from };
16684
16742
  });
16685
- var ImportDeclaration$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromClause, __, Import, __, Operator, (0, import_lib2.$E)(OperatorBehavior), __, OperatorNamedImports), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
16743
+ var ImportDeclaration$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Import, __, Operator, (0, import_lib2.$E)(OperatorBehavior), __, OperatorNamedImports), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
16686
16744
  var from = $1;
16687
16745
  var fws = $2;
16688
16746
  var i = $3;
@@ -16704,7 +16762,7 @@ var ImportDeclaration$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromCl
16704
16762
  from
16705
16763
  };
16706
16764
  });
16707
- var ImportDeclaration$6 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromClause, __, Import, __, (0, import_lib2.$E)((0, import_lib2.$S)(TypeKeyword, __)), ImportClause), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
16765
+ var ImportDeclaration$6 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Import, __, (0, import_lib2.$E)((0, import_lib2.$S)(TypeKeyword, __)), ImportClause), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
16708
16766
  var from = $1;
16709
16767
  var fws = $2;
16710
16768
  var i = $3;
@@ -16802,20 +16860,6 @@ var FromClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(From, __, ModuleSpec
16802
16860
  function FromClause(ctx, state2) {
16803
16861
  return (0, import_lib2.$EVENT)(ctx, state2, "FromClause", FromClause$0);
16804
16862
  }
16805
- var ImpliedFromClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$S)(From, __), ImpliedFrom), ModuleSpecifier), function($skip, $loc, $0, $1, $2) {
16806
- var module = $2;
16807
- if (!Array.isArray(module)) return $0;
16808
- return [$1, ...module];
16809
- });
16810
- function ImpliedFromClause(ctx, state2) {
16811
- return (0, import_lib2.$EVENT)(ctx, state2, "ImpliedFromClause", ImpliedFromClause$0);
16812
- }
16813
- var ImpliedFrom$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ImpliedFrom ""'), function($skip, $loc, $0, $1) {
16814
- return { $loc, token: "from " };
16815
- });
16816
- function ImpliedFrom(ctx, state2) {
16817
- return (0, import_lib2.$EVENT)(ctx, state2, "ImpliedFrom", ImpliedFrom$0);
16818
- }
16819
16863
  var ImportAssertion$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L134, 'ImportAssertion "with"'), (0, import_lib2.$EXPECT)($L135, 'ImportAssertion "assert"')), NonIdContinue, (0, import_lib2.$E)(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
16820
16864
  var keyword = $2;
16821
16865
  var object = $5;
@@ -16897,7 +16941,7 @@ function OperatorImportSpecifier(ctx, state2) {
16897
16941
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
16898
16942
  }
16899
16943
  var ImportAsToken$0 = (0, import_lib2.$S)(__, As);
16900
- var ImportAsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, Colon, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
16944
+ var ImportAsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, Colon, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
16901
16945
  var l = $1;
16902
16946
  var ws = $2;
16903
16947
  var c = $3;
@@ -17010,7 +17054,7 @@ var ExportDeclaration$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(Export, __, E
17010
17054
  var exports = $3;
17011
17055
  return { type: "ExportDeclaration", ts: exports.ts, children: $0 };
17012
17056
  });
17013
- var ExportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromClause, __, Export, __, ExportFromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17057
+ var ExportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Export, __, ExportFromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17014
17058
  var from = $1;
17015
17059
  var fws = $2;
17016
17060
  var e = $3;
@@ -17713,7 +17757,7 @@ var Loc$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Loc ""'), functi
17713
17757
  function Loc(ctx, state2) {
17714
17758
  return (0, import_lib2.$EVENT)(ctx, state2, "Loc", Loc$0);
17715
17759
  }
17716
- var Abstract$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L144, 'Abstract "abstract"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
17760
+ var Abstract$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L144, 'Abstract "abstract"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'Abstract " "')))), function($skip, $loc, $0, $1) {
17717
17761
  return { $loc, token: $1, ts: true };
17718
17762
  });
17719
17763
  function Abstract(ctx, state2) {
@@ -17767,7 +17811,7 @@ var By$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L1
17767
17811
  function By(ctx, state2) {
17768
17812
  return (0, import_lib2.$EVENT)(ctx, state2, "By", By$0);
17769
17813
  }
17770
- var Caret$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L22, 'Caret "^"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L22, 'Caret "^"'))), function($skip, $loc, $0, $1, $2) {
17814
+ var Caret$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L21, 'Caret "^"'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L21, 'Caret "^"'))), function($skip, $loc, $0, $1, $2) {
17771
17815
  return { $loc, token: $1 };
17772
17816
  });
17773
17817
  function Caret(ctx, state2) {
@@ -17827,7 +17871,7 @@ var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)(
17827
17871
  function Colon(ctx, state2) {
17828
17872
  return (0, import_lib2.$EVENT)(ctx, state2, "Colon", Colon$0);
17829
17873
  }
17830
- var Comma$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
17874
+ var Comma$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L26, 'Comma ","'), function($skip, $loc, $0, $1) {
17831
17875
  return { $loc, token: $1 };
17832
17876
  });
17833
17877
  function Comma(ctx, state2) {
@@ -17999,7 +18043,7 @@ var Hash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L178, 'Hash "#"'), f
17999
18043
  function Hash(ctx, state2) {
18000
18044
  return (0, import_lib2.$EVENT)(ctx, state2, "Hash", Hash$0);
18001
18045
  }
18002
- var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L179, 'If "if"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
18046
+ var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L179, 'If "if"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'If " "')))), function($skip, $loc, $0, $1) {
18003
18047
  return { $loc, token: $1 };
18004
18048
  });
18005
18049
  function If(ctx, state2) {
@@ -18077,7 +18121,7 @@ var Of$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L1
18077
18121
  function Of(ctx, state2) {
18078
18122
  return (0, import_lib2.$EVENT)(ctx, state2, "Of", Of$0);
18079
18123
  }
18080
- var OpenAngleBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18124
+ var OpenAngleBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18081
18125
  return { $loc, token: $1 };
18082
18126
  });
18083
18127
  function OpenAngleBracket(ctx, state2) {
@@ -18340,7 +18384,7 @@ var Yield$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)(
18340
18384
  function Yield(ctx, state2) {
18341
18385
  return (0, import_lib2.$EVENT)(ctx, state2, "Yield", Yield$0);
18342
18386
  }
18343
- var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, JSXTag))), function($skip, $loc, $0, $1, $2) {
18387
+ var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, (0, import_lib2.$C)(JSXTag, JSXAngleChild)))), function($skip, $loc, $0, $1, $2) {
18344
18388
  const jsx = $2.length === 0 ? $1 : {
18345
18389
  type: "JSXFragment",
18346
18390
  children: [
@@ -18411,7 +18455,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
18411
18455
  function JSXElement(ctx, state2) {
18412
18456
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
18413
18457
  }
18414
- var JSXSelfClosingElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L230, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
18458
+ var JSXSelfClosingElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L18, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L230, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
18415
18459
  return { type: "JSXElement", children: $0, tag: $2 };
18416
18460
  });
18417
18461
  function JSXSelfClosingElement(ctx, state2) {
@@ -18430,7 +18474,7 @@ var PopJSXStack$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'PopJSXSt
18430
18474
  function PopJSXStack(ctx, state2) {
18431
18475
  return (0, import_lib2.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
18432
18476
  }
18433
- var JSXOpeningElement$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L19, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L45, 'JSXOpeningElement ">"'));
18477
+ var JSXOpeningElement$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L18, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L45, 'JSXOpeningElement ">"'));
18434
18478
  function JSXOpeningElement(ctx, state2) {
18435
18479
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
18436
18480
  }
@@ -19794,7 +19838,20 @@ var TypePrimary$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19794
19838
  children: $0
19795
19839
  };
19796
19840
  });
19797
- var TypePrimary$8 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
19841
+ var TypePrimary$8 = TypeIdentifier;
19842
+ var TypePrimary$9 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), OpenParen, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(MaybeNestedType, (0, import_lib2.$S)(EOS, Type))), RestoreAll, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
19843
+ if (!$4) return $skip;
19844
+ return {
19845
+ type: "TypeParenthesized",
19846
+ children: [$1, $2, $4, $6, $7]
19847
+ // omit AllowAll/RestoreAll
19848
+ };
19849
+ });
19850
+ var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9];
19851
+ function TypePrimary(ctx, state2) {
19852
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TypePrimary", TypePrimary$$);
19853
+ }
19854
+ var TypeIdentifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
19798
19855
  return {
19799
19856
  type: "TypeIdentifier",
19800
19857
  children: $0,
@@ -19802,7 +19859,7 @@ var TypePrimary$8 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19802
19859
  args: void 0
19803
19860
  };
19804
19861
  });
19805
- var TypePrimary$9 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), Identifier, (0, import_lib2.$Q)((0, import_lib2.$S)(Dot, IdentifierName)), (0, import_lib2.$E)((0, import_lib2.$C)(TypeArguments, ImplicitTypeArguments))), function($skip, $loc, $0, $1, $2, $3, $4) {
19862
+ var TypeIdentifier$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), Identifier, (0, import_lib2.$Q)((0, import_lib2.$S)(Dot, IdentifierName)), (0, import_lib2.$E)((0, import_lib2.$C)(TypeArguments, ImplicitTypeArguments))), function($skip, $loc, $0, $1, $2, $3, $4) {
19806
19863
  var args = $4;
19807
19864
  return {
19808
19865
  type: "TypeIdentifier",
@@ -19811,17 +19868,9 @@ var TypePrimary$9 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19811
19868
  args
19812
19869
  };
19813
19870
  });
19814
- var TypePrimary$10 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), OpenParen, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(Type, (0, import_lib2.$S)(EOS, Type))), RestoreAll, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
19815
- if (!$4) return $skip;
19816
- return {
19817
- type: "TypeParenthesized",
19818
- children: [$1, $2, $4, $6, $7]
19819
- // omit AllowAll/RestoreAll
19820
- };
19821
- });
19822
- var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9, TypePrimary$10];
19823
- function TypePrimary(ctx, state2) {
19824
- return (0, import_lib2.$EVENT_C)(ctx, state2, "TypePrimary", TypePrimary$$);
19871
+ var TypeIdentifier$$ = [TypeIdentifier$0, TypeIdentifier$1];
19872
+ function TypeIdentifier(ctx, state2) {
19873
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeIdentifier", TypeIdentifier$$);
19825
19874
  }
19826
19875
  var ImportType$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, (0, import_lib2.$E)((0, import_lib2.$S)(Dot, IdentifierName)), (0, import_lib2.$E)(TypeArguments));
19827
19876
  var ImportType$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'ImportType "import"'), InsertOpenParen, (0, import_lib2.$E)(Trimmed_), StringLiteral, InsertCloseParen);