@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.js CHANGED
@@ -514,12 +514,14 @@ __export(lib_civet_exports, {
514
514
  attachPostfixStatementAsExpression: () => attachPostfixStatementAsExpression,
515
515
  blockWithPrefix: () => blockWithPrefix,
516
516
  braceBlock: () => braceBlock,
517
+ bracedBlock: () => bracedBlock,
517
518
  convertNamedImportsToObject: () => convertNamedImportsToObject,
518
519
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
519
520
  convertWithClause: () => convertWithClause,
520
521
  dedentBlockString: () => dedentBlockString,
521
522
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
522
523
  deepCopy: () => deepCopy,
524
+ duplicateBlock: () => duplicateBlock,
523
525
  dynamizeImportDeclaration: () => dynamizeImportDeclaration,
524
526
  dynamizeImportDeclarationExpression: () => dynamizeImportDeclarationExpression,
525
527
  expressionizeTypeIf: () => expressionizeTypeIf,
@@ -776,9 +778,49 @@ function isExit(node) {
776
778
  }
777
779
  case "SwitchStatement": {
778
780
  return (
779
- // Ensure exhaustive by requiring an else/default clause
780
- node.caseBlock.clauses.some(($) => $.type === "DefaultClause") && // Every clause should exit
781
- node.caseBlock.clauses.every(isExit)
781
+ // Every clause should exit, or continue to next clause
782
+ (() => {
783
+ let results = true;
784
+ for (const clause of node.caseBlock.clauses) {
785
+ let m1;
786
+ if (m1 = clause.type, m1 === "CaseClause" || m1 === "WhenClause" || m1 === "DefaultClause") {
787
+ if (!(!(clause.type === "WhenClause" && clause.break) && !gatherRecursiveWithinFunction(clause.block, ($) => $.type === "BreakStatement").length)) {
788
+ results = false;
789
+ break;
790
+ }
791
+ } else {
792
+ if (!isExit(clause.block)) {
793
+ results = false;
794
+ break;
795
+ }
796
+ }
797
+ }
798
+ return results;
799
+ })() && // Ensure exhaustive by requiring an else/default clause
800
+ (() => {
801
+ let results1 = false;
802
+ let i3 = 0;
803
+ for (const clause of node.caseBlock.clauses) {
804
+ const i = i3++;
805
+ if (clause.type === "DefaultClause" && // Require default clause to exit or continue to next clause
806
+ // (checked above) and eventually reach an exiting clause
807
+ (() => {
808
+ let results2 = false;
809
+ for (const later of node.caseBlock.clauses.slice(i)) {
810
+ let m2;
811
+ if ((m2 = later.type, m2 === "CaseClause" || m2 === "WhenClause" || m2 === "DefaultClause") && isExit(later.block)) {
812
+ results2 = true;
813
+ break;
814
+ }
815
+ }
816
+ return results2;
817
+ })()) {
818
+ results1 = true;
819
+ break;
820
+ }
821
+ }
822
+ return results1;
823
+ })()
782
824
  );
783
825
  }
784
826
  case "TryStatement": {
@@ -841,18 +883,18 @@ function insertTrimmingSpace(target, c) {
841
883
  if (target.length === 0) {
842
884
  return c;
843
885
  }
844
- const results = [];
845
- for (let i3 = 0, len3 = target.length; i3 < len3; i3++) {
846
- const i = i3;
847
- const e = target[i3];
886
+ const results3 = [];
887
+ for (let i4 = 0, len3 = target.length; i4 < len3; i4++) {
888
+ const i = i4;
889
+ const e = target[i4];
848
890
  if (i === 0) {
849
- results.push(insertTrimmingSpace(e, c));
891
+ results3.push(insertTrimmingSpace(e, c));
850
892
  } else {
851
- results.push(e);
893
+ results3.push(e);
852
894
  }
853
895
  }
854
896
  ;
855
- return results;
897
+ return results3;
856
898
  } else if (isParent(target)) {
857
899
  const oldChildren = target.children;
858
900
  target = {
@@ -1087,8 +1129,8 @@ function startsWithPredicate(node, predicate, skip = isWhitespaceOrEmpty) {
1087
1129
  return void 0;
1088
1130
  }
1089
1131
  if (Array.isArray(node)) {
1090
- for (let i4 = 0, len4 = node.length; i4 < len4; i4++) {
1091
- const child = node[i4];
1132
+ for (let i5 = 0, len4 = node.length; i5 < len4; i5++) {
1133
+ const child = node[i5];
1092
1134
  if (skip(child)) {
1093
1135
  continue;
1094
1136
  }
@@ -1127,9 +1169,9 @@ function deepCopy(root) {
1127
1169
  if (Array.isArray(node)) {
1128
1170
  const array = new Array(node.length);
1129
1171
  copied.set(node, array);
1130
- for (let i5 = 0, len5 = node.length; i5 < len5; i5++) {
1131
- const i = i5;
1132
- const item = node[i5];
1172
+ for (let i6 = 0, len5 = node.length; i6 < len5; i6++) {
1173
+ const i = i6;
1174
+ const item = node[i6];
1133
1175
  array[i] = recurse(item);
1134
1176
  }
1135
1177
  } else if (node?.type === "Ref") {
@@ -1156,9 +1198,9 @@ function replaceNode(node, newNode, parent) {
1156
1198
  throw new Error("replaceNode failed: node has no parent");
1157
1199
  }
1158
1200
  function recurse(children) {
1159
- for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1160
- const i = i6;
1161
- const child = children[i6];
1201
+ for (let i7 = 0, len6 = children.length; i7 < len6; i7++) {
1202
+ const i = i7;
1203
+ const child = children[i7];
1162
1204
  if (child === node) {
1163
1205
  children[i] = newNode;
1164
1206
  return true;
@@ -1195,9 +1237,9 @@ function replaceNodes(root, predicate, replacer) {
1195
1237
  return root;
1196
1238
  }
1197
1239
  }
1198
- for (let i7 = 0, len7 = array.length; i7 < len7; i7++) {
1199
- const i = i7;
1200
- const node = array[i7];
1240
+ for (let i8 = 0, len7 = array.length; i8 < len7; i8++) {
1241
+ const i = i8;
1242
+ const node = array[i8];
1201
1243
  if (!(node != null)) {
1202
1244
  return;
1203
1245
  }
@@ -1321,8 +1363,8 @@ function updateParentPointers(node, parent, depth = 1) {
1321
1363
  return;
1322
1364
  }
1323
1365
  if (Array.isArray(node)) {
1324
- for (let i8 = 0, len8 = node.length; i8 < len8; i8++) {
1325
- const child = node[i8];
1366
+ for (let i9 = 0, len8 = node.length; i9 < len8; i9++) {
1367
+ const child = node[i9];
1326
1368
  updateParentPointers(child, parent, depth);
1327
1369
  }
1328
1370
  return;
@@ -1332,8 +1374,8 @@ function updateParentPointers(node, parent, depth = 1) {
1332
1374
  node.parent = parent;
1333
1375
  }
1334
1376
  if (depth && isParent(node)) {
1335
- for (let ref8 = node.children, i9 = 0, len9 = ref8.length; i9 < len9; i9++) {
1336
- const child = ref8[i9];
1377
+ for (let ref8 = node.children, i10 = 0, len9 = ref8.length; i10 < len9; i10++) {
1378
+ const child = ref8[i10];
1337
1379
  updateParentPointers(child, node, depth - 1);
1338
1380
  }
1339
1381
  }
@@ -1530,9 +1572,9 @@ function wrapWithReturn(expression, parent = expression?.parent, semi = false) {
1530
1572
  }
1531
1573
  function flatJoin(array, separator) {
1532
1574
  const result = [];
1533
- for (let i10 = 0, len10 = array.length; i10 < len10; i10++) {
1534
- const i = i10;
1535
- const items = array[i10];
1575
+ for (let i11 = 0, len10 = array.length; i11 < len10; i11++) {
1576
+ const i = i11;
1577
+ const items = array[i11];
1536
1578
  if (i) {
1537
1579
  result.push(separator);
1538
1580
  }
@@ -3155,12 +3197,10 @@ function assignResults(node, collect) {
3155
3197
  }
3156
3198
  case "IfStatement": {
3157
3199
  assignResults(exp.then, collect);
3158
- if (exp.then.bare && !exp.then.semicolon) {
3159
- exp.then.children.push(exp.then.semicolon = ";");
3160
- }
3161
3200
  if (exp.else) {
3162
3201
  assignResults(exp.else.block, collect);
3163
3202
  } else {
3203
+ braceBlock(exp.then);
3164
3204
  exp.children.push([" else {", collect("void 0"), "}"]);
3165
3205
  }
3166
3206
  return;
@@ -4244,6 +4284,11 @@ function duplicateBlock(block) {
4244
4284
  children
4245
4285
  };
4246
4286
  }
4287
+ function bracedBlock(block) {
4288
+ block = duplicateBlock(block);
4289
+ braceBlock(block);
4290
+ return block;
4291
+ }
4247
4292
  function makeEmptyBlock() {
4248
4293
  const expressions = [];
4249
4294
  return {
@@ -5365,7 +5410,7 @@ function processDeclarations(statements) {
5365
5410
  });
5366
5411
  }
5367
5412
  }
5368
- if (initializer) {
5413
+ if (initializer && blockContainingStatement(declaration)) {
5369
5414
  prependStatementExpressionBlock(initializer, declaration);
5370
5415
  }
5371
5416
  }
@@ -9268,8 +9313,6 @@ var grammar = {
9268
9313
  NamedImports,
9269
9314
  OperatorNamedImports,
9270
9315
  FromClause,
9271
- ImpliedFromClause,
9272
- ImpliedFrom,
9273
9316
  ImportAssertion,
9274
9317
  TypeAndImportSpecifier,
9275
9318
  ImportSpecifier,
@@ -9572,6 +9615,7 @@ var grammar = {
9572
9615
  TypeIndexedAccess,
9573
9616
  UnknownAlias,
9574
9617
  TypePrimary,
9618
+ TypeIdentifier,
9575
9619
  ImportType,
9576
9620
  TypeTuple,
9577
9621
  TypeTupleContent,
@@ -9705,16 +9749,16 @@ var $L13 = (0, import_lib2.$L)("=>");
9705
9749
  var $L14 = (0, import_lib2.$L)("\u21D2");
9706
9750
  var $L15 = (0, import_lib2.$L)("import");
9707
9751
  var $L16 = (0, import_lib2.$L)(":");
9708
- var $L17 = (0, import_lib2.$L)(",");
9709
- var $L18 = (0, import_lib2.$L)(" ");
9710
- var $L19 = (0, import_lib2.$L)("<");
9711
- var $L20 = (0, import_lib2.$L)("implements");
9712
- var $L21 = (0, import_lib2.$L)("<:");
9713
- var $L22 = (0, import_lib2.$L)("^");
9714
- var $L23 = (0, import_lib2.$L)("<?");
9715
- var $L24 = (0, import_lib2.$L)("-");
9716
- var $L25 = (0, import_lib2.$L)("import.meta");
9717
- var $L26 = (0, import_lib2.$L)("return.value");
9752
+ var $L17 = (0, import_lib2.$L)(" ");
9753
+ var $L18 = (0, import_lib2.$L)("<");
9754
+ var $L19 = (0, import_lib2.$L)("implements");
9755
+ var $L20 = (0, import_lib2.$L)("<:");
9756
+ var $L21 = (0, import_lib2.$L)("^");
9757
+ var $L22 = (0, import_lib2.$L)("<?");
9758
+ var $L23 = (0, import_lib2.$L)("-");
9759
+ var $L24 = (0, import_lib2.$L)("import.meta");
9760
+ var $L25 = (0, import_lib2.$L)("return.value");
9761
+ var $L26 = (0, import_lib2.$L)(",");
9718
9762
  var $L27 = (0, import_lib2.$L)("tighter");
9719
9763
  var $L28 = (0, import_lib2.$L)("looser");
9720
9764
  var $L29 = (0, import_lib2.$L)("same");
@@ -9957,7 +10001,7 @@ var $R16 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
9957
10001
  var $R17 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
9958
10002
  var $R18 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
9959
10003
  var $R19 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
9960
- var $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
10004
+ var $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy"));
9961
10005
  var $R21 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
9962
10006
  var $R22 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy"));
9963
10007
  var $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy"));
@@ -11139,32 +11183,43 @@ var ExtendsClause$0 = (0, import_lib2.$S)(ExtendsToken, __, ExtendsTarget);
11139
11183
  function ExtendsClause(ctx, state2) {
11140
11184
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
11141
11185
  }
11142
- 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) {
11186
+ 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) {
11187
+ var targets = $4;
11188
+ if (!targets.length) return $skip;
11189
+ targets = targets.map(($) => $.slice(0, -1));
11190
+ return {
11191
+ type: "WithClause",
11192
+ children: $0,
11193
+ targets
11194
+ };
11195
+ });
11196
+ 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) {
11143
11197
  var ws = $3;
11144
11198
  var t = $4;
11145
11199
  var rest = $5;
11146
11200
  return {
11147
11201
  type: "WithClause",
11148
11202
  children: $0,
11149
- targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
11203
+ targets: [[ws, t], ...rest.map(([ws1, _comma, ws2, target]) => [prepend(ws1, ws2), target])]
11150
11204
  };
11151
11205
  });
11206
+ var WithClause$$ = [WithClause$0, WithClause$1];
11152
11207
  function WithClause(ctx, state2) {
11153
- return (0, import_lib2.$EVENT)(ctx, state2, "WithClause", WithClause$0);
11208
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "WithClause", WithClause$$);
11154
11209
  }
11155
- 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) {
11156
- var l = $1;
11157
- var ws = $2;
11210
+ 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) {
11211
+ var ws = $1;
11212
+ var s = $2;
11158
11213
  var t = $3;
11159
11214
  return {
11160
11215
  type: "Extends",
11161
11216
  children: [
11162
- ws || { $loc: l.$loc, token: " " },
11217
+ ws.length ? ws : s,
11163
11218
  t
11164
11219
  ]
11165
11220
  };
11166
11221
  });
11167
- var ExtendsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), Extends), function($skip, $loc, $0, $1, $2) {
11222
+ var ExtendsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(NotDedented, Extends), function($skip, $loc, $0, $1, $2) {
11168
11223
  return {
11169
11224
  type: "Extends",
11170
11225
  children: $0
@@ -11174,13 +11229,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
11174
11229
  function ExtendsToken(ctx, state2) {
11175
11230
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
11176
11231
  }
11177
- var ExtendsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
11232
+ var ExtendsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
11178
11233
  return { $loc, token: "extends " };
11179
11234
  });
11180
11235
  function ExtendsShorthand(ctx, state2) {
11181
11236
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
11182
11237
  }
11183
- 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) {
11238
+ 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) {
11184
11239
  var l = $1;
11185
11240
  var ws1 = $2;
11186
11241
  var ws2 = $3;
@@ -11206,7 +11261,7 @@ function NotExtendsToken(ctx, state2) {
11206
11261
  var OmittedNegation$0 = (0, import_lib2.$T)((0, import_lib2.$S)(ExclamationPoint), function(value) {
11207
11262
  return "";
11208
11263
  });
11209
- 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) {
11264
+ 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) {
11210
11265
  return value[2];
11211
11266
  });
11212
11267
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -11220,16 +11275,28 @@ var ExtendsTarget$0 = (0, import_lib2.$TV)(LeftHandSideExpressionWithObjectAppli
11220
11275
  function ExtendsTarget(ctx, state2) {
11221
11276
  return (0, import_lib2.$EVENT)(ctx, state2, "ExtendsTarget", ExtendsTarget$0);
11222
11277
  }
11223
- 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) {
11278
+ 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) {
11279
+ var i = $1;
11280
+ var targets = $3;
11281
+ if (!targets.length) return $skip;
11282
+ const last = targets.at(-1).slice(0, -1);
11283
+ targets = targets.slice(0, -1).concat(last);
11284
+ return {
11285
+ ts: true,
11286
+ children: [i, targets]
11287
+ };
11288
+ });
11289
+ 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) {
11224
11290
  return {
11225
11291
  ts: true,
11226
11292
  children: $0
11227
11293
  };
11228
11294
  });
11295
+ var ImplementsClause$$ = [ImplementsClause$0, ImplementsClause$1];
11229
11296
  function ImplementsClause(ctx, state2) {
11230
- return (0, import_lib2.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
11297
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "ImplementsClause", ImplementsClause$$);
11231
11298
  }
11232
- 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) {
11299
+ 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) {
11233
11300
  var l = $1;
11234
11301
  var ws = $2;
11235
11302
  var token = $3;
@@ -11239,7 +11306,7 @@ var ImplementsToken$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, Implem
11239
11306
  }
11240
11307
  return { children };
11241
11308
  });
11242
- 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) {
11309
+ 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) {
11243
11310
  $2 = { $loc, token: $2 };
11244
11311
  return [$1, $2];
11245
11312
  });
@@ -11247,7 +11314,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
11247
11314
  function ImplementsToken(ctx, state2) {
11248
11315
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
11249
11316
  }
11250
- var ImplementsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
11317
+ var ImplementsShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
11251
11318
  return { $loc, token: "implements " };
11252
11319
  });
11253
11320
  function ImplementsShorthand(ctx, state2) {
@@ -11687,7 +11754,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
11687
11754
  function OptionalDot(ctx, state2) {
11688
11755
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
11689
11756
  }
11690
- 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) {
11757
+ 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) {
11691
11758
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
11692
11759
  });
11693
11760
  function NonNullAssertion(ctx, state2) {
@@ -11947,7 +12014,7 @@ var PropertyAccess$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(AccessStart, (0,
11947
12014
  ]
11948
12015
  };
11949
12016
  });
11950
- 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) {
12017
+ 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) {
11951
12018
  var dot = $1;
11952
12019
  var neg = $2;
11953
12020
  var num = $3;
@@ -12077,7 +12144,7 @@ function SuperProperty(ctx, state2) {
12077
12144
  return (0, import_lib2.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
12078
12145
  }
12079
12146
  var MetaProperty$0 = (0, import_lib2.$S)(New, Dot, Target);
12080
- 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) {
12147
+ 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) {
12081
12148
  return { $loc, token: $1 };
12082
12149
  });
12083
12150
  var MetaProperty$2 = ReturnValue;
@@ -12085,7 +12152,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
12085
12152
  function MetaProperty(ctx, state2) {
12086
12153
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
12087
12154
  }
12088
- 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) {
12155
+ 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) {
12089
12156
  return { type: "ReturnValue", children: [$1[0]] };
12090
12157
  });
12091
12158
  function ReturnValue(ctx, state2) {
@@ -12641,7 +12708,7 @@ var BindingElement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.
12641
12708
  initializer
12642
12709
  };
12643
12710
  });
12644
- 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) {
12711
+ 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) {
12645
12712
  return {
12646
12713
  type: "ElisionElement",
12647
12714
  children: [""],
@@ -13568,7 +13635,7 @@ var UpcomingAssignment$0 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, impor
13568
13635
  function UpcomingAssignment(ctx, state2) {
13569
13636
  return (0, import_lib2.$EVENT)(ctx, state2, "UpcomingAssignment", UpcomingAssignment$0);
13570
13637
  }
13571
- var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R20, "ArrayLiteral /(?=\\[|\\s*[.\u2022])/"), _ArrayLiteral), function(value) {
13638
+ var ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($R20, "ArrayLiteral /(?=\\[|\\s*[.\u2022\\/])/"), _ArrayLiteral), function(value) {
13572
13639
  return value[1];
13573
13640
  });
13574
13641
  function ArrayLiteral(ctx, state2) {
@@ -14352,7 +14419,7 @@ function SnugNamedProperty(ctx, state2) {
14352
14419
  var PropertyName$0 = NumericLiteral;
14353
14420
  var PropertyName$1 = ComputedPropertyName;
14354
14421
  var PropertyName$2 = StringLiteral;
14355
- 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) {
14422
+ 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) {
14356
14423
  return {
14357
14424
  token: `"${$1}"`,
14358
14425
  $loc
@@ -14829,7 +14896,7 @@ var BinaryOpSymbol$6 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.
14829
14896
  };
14830
14897
  });
14831
14898
  var BinaryOpSymbol$7 = (0, import_lib2.$EXPECT)($L79, 'BinaryOpSymbol "+"');
14832
- var BinaryOpSymbol$8 = (0, import_lib2.$EXPECT)($L24, 'BinaryOpSymbol "-"');
14899
+ var BinaryOpSymbol$8 = (0, import_lib2.$EXPECT)($L23, 'BinaryOpSymbol "-"');
14833
14900
  var BinaryOpSymbol$9 = (0, import_lib2.$EXPECT)($L80, 'BinaryOpSymbol "<="');
14834
14901
  var BinaryOpSymbol$10 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L81, 'BinaryOpSymbol "\u2264"'), function(value) {
14835
14902
  return "<=";
@@ -14838,7 +14905,7 @@ var BinaryOpSymbol$11 = (0, import_lib2.$EXPECT)($L82, 'BinaryOpSymbol ">="');
14838
14905
  var BinaryOpSymbol$12 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L83, 'BinaryOpSymbol "\u2265"'), function(value) {
14839
14906
  return ">=";
14840
14907
  });
14841
- var BinaryOpSymbol$13 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L23, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
14908
+ var BinaryOpSymbol$13 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L22, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
14842
14909
  return {
14843
14910
  $loc,
14844
14911
  token: "instanceof",
@@ -14861,7 +14928,7 @@ var BinaryOpSymbol$15 = (0, import_lib2.$EXPECT)($L85, 'BinaryOpSymbol "<<"');
14861
14928
  var BinaryOpSymbol$16 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L86, 'BinaryOpSymbol "\u226A"'), function(value) {
14862
14929
  return "<<";
14863
14930
  });
14864
- var BinaryOpSymbol$17 = (0, import_lib2.$EXPECT)($L19, 'BinaryOpSymbol "<"');
14931
+ var BinaryOpSymbol$17 = (0, import_lib2.$EXPECT)($L18, 'BinaryOpSymbol "<"');
14865
14932
  var BinaryOpSymbol$18 = (0, import_lib2.$EXPECT)($L87, 'BinaryOpSymbol ">>>"');
14866
14933
  var BinaryOpSymbol$19 = (0, import_lib2.$T)((0, import_lib2.$EXPECT)($L88, 'BinaryOpSymbol "\u22D9"'), function(value) {
14867
14934
  return ">>>";
@@ -14998,7 +15065,7 @@ var BinaryOpSymbol$48 = (0, import_lib2.$TS)((0, import_lib2.$S)(Is), function($
14998
15065
  });
14999
15066
  var BinaryOpSymbol$49 = In;
15000
15067
  var BinaryOpSymbol$50 = (0, import_lib2.$EXPECT)($L117, 'BinaryOpSymbol "&"');
15001
- var BinaryOpSymbol$51 = (0, import_lib2.$EXPECT)($L22, 'BinaryOpSymbol "^"');
15068
+ var BinaryOpSymbol$51 = (0, import_lib2.$EXPECT)($L21, 'BinaryOpSymbol "^"');
15002
15069
  var BinaryOpSymbol$52 = (0, import_lib2.$EXPECT)($L118, 'BinaryOpSymbol "|"');
15003
15070
  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];
15004
15071
  function BinaryOpSymbol(ctx, state2) {
@@ -15093,7 +15160,7 @@ var UnaryOp$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(Del
15093
15160
  if (!ws) return [op, [" "]];
15094
15161
  return [op, ws];
15095
15162
  });
15096
- 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) {
15163
+ 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) {
15097
15164
  return [value[0], value[3]];
15098
15165
  });
15099
15166
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -15332,12 +15399,7 @@ var IfStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)
15332
15399
  condition = negateCondition(condition);
15333
15400
  }
15334
15401
  if (block.bare && e) {
15335
- const semicolon = ";";
15336
- block = {
15337
- ...block,
15338
- semicolon,
15339
- children: [...block.children, semicolon]
15340
- };
15402
+ block = bracedBlock(block);
15341
15403
  }
15342
15404
  return {
15343
15405
  type: "IfStatement",
@@ -15353,11 +15415,7 @@ var IfStatement$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(IfClause, BlockOrEm
15353
15415
  var block = $2;
15354
15416
  var e = $3;
15355
15417
  if (block.bare && e) {
15356
- block = {
15357
- ...block,
15358
- semicolon: ";",
15359
- children: [...block.children, ";"]
15360
- };
15418
+ block = bracedBlock(block);
15361
15419
  }
15362
15420
  return {
15363
15421
  type: "IfStatement",
@@ -16701,7 +16759,7 @@ var ImportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedImport
16701
16759
  const children = [i, t, imports, w, from];
16702
16760
  return { type: "ImportDeclaration", ts: !!t, children, imports, from };
16703
16761
  });
16704
- 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) {
16762
+ 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) {
16705
16763
  var from = $1;
16706
16764
  var fws = $2;
16707
16765
  var i = $3;
@@ -16723,7 +16781,7 @@ var ImportDeclaration$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromCl
16723
16781
  from
16724
16782
  };
16725
16783
  });
16726
- 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) {
16784
+ 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) {
16727
16785
  var from = $1;
16728
16786
  var fws = $2;
16729
16787
  var i = $3;
@@ -16821,20 +16879,6 @@ var FromClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(From, __, ModuleSpec
16821
16879
  function FromClause(ctx, state2) {
16822
16880
  return (0, import_lib2.$EVENT)(ctx, state2, "FromClause", FromClause$0);
16823
16881
  }
16824
- 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) {
16825
- var module2 = $2;
16826
- if (!Array.isArray(module2)) return $0;
16827
- return [$1, ...module2];
16828
- });
16829
- function ImpliedFromClause(ctx, state2) {
16830
- return (0, import_lib2.$EVENT)(ctx, state2, "ImpliedFromClause", ImpliedFromClause$0);
16831
- }
16832
- var ImpliedFrom$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ImpliedFrom ""'), function($skip, $loc, $0, $1) {
16833
- return { $loc, token: "from " };
16834
- });
16835
- function ImpliedFrom(ctx, state2) {
16836
- return (0, import_lib2.$EVENT)(ctx, state2, "ImpliedFrom", ImpliedFrom$0);
16837
- }
16838
16882
  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) {
16839
16883
  var keyword = $2;
16840
16884
  var object = $5;
@@ -16916,7 +16960,7 @@ function OperatorImportSpecifier(ctx, state2) {
16916
16960
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
16917
16961
  }
16918
16962
  var ImportAsToken$0 = (0, import_lib2.$S)(__, As);
16919
- 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) {
16963
+ 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) {
16920
16964
  var l = $1;
16921
16965
  var ws = $2;
16922
16966
  var c = $3;
@@ -17029,7 +17073,7 @@ var ExportDeclaration$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(Export, __, E
17029
17073
  var exports2 = $3;
17030
17074
  return { type: "ExportDeclaration", ts: exports2.ts, children: $0 };
17031
17075
  });
17032
- var ExportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(ImpliedFromClause, __, Export, __, ExportFromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17076
+ var ExportDeclaration$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Export, __, ExportFromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17033
17077
  var from = $1;
17034
17078
  var fws = $2;
17035
17079
  var e = $3;
@@ -17732,7 +17776,7 @@ var Loc$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Loc ""'), functi
17732
17776
  function Loc(ctx, state2) {
17733
17777
  return (0, import_lib2.$EVENT)(ctx, state2, "Loc", Loc$0);
17734
17778
  }
17735
- 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) {
17779
+ 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) {
17736
17780
  return { $loc, token: $1, ts: true };
17737
17781
  });
17738
17782
  function Abstract(ctx, state2) {
@@ -17786,7 +17830,7 @@ var By$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L1
17786
17830
  function By(ctx, state2) {
17787
17831
  return (0, import_lib2.$EVENT)(ctx, state2, "By", By$0);
17788
17832
  }
17789
- 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) {
17833
+ 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) {
17790
17834
  return { $loc, token: $1 };
17791
17835
  });
17792
17836
  function Caret(ctx, state2) {
@@ -17846,7 +17890,7 @@ var Colon$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)(
17846
17890
  function Colon(ctx, state2) {
17847
17891
  return (0, import_lib2.$EVENT)(ctx, state2, "Colon", Colon$0);
17848
17892
  }
17849
- var Comma$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
17893
+ var Comma$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L26, 'Comma ","'), function($skip, $loc, $0, $1) {
17850
17894
  return { $loc, token: $1 };
17851
17895
  });
17852
17896
  function Comma(ctx, state2) {
@@ -18018,7 +18062,7 @@ var Hash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L178, 'Hash "#"'), f
18018
18062
  function Hash(ctx, state2) {
18019
18063
  return (0, import_lib2.$EVENT)(ctx, state2, "Hash", Hash$0);
18020
18064
  }
18021
- 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) {
18065
+ 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) {
18022
18066
  return { $loc, token: $1 };
18023
18067
  });
18024
18068
  function If(ctx, state2) {
@@ -18096,7 +18140,7 @@ var Of$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L1
18096
18140
  function Of(ctx, state2) {
18097
18141
  return (0, import_lib2.$EVENT)(ctx, state2, "Of", Of$0);
18098
18142
  }
18099
- var OpenAngleBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18143
+ var OpenAngleBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18100
18144
  return { $loc, token: $1 };
18101
18145
  });
18102
18146
  function OpenAngleBracket(ctx, state2) {
@@ -18359,7 +18403,7 @@ var Yield$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)(
18359
18403
  function Yield(ctx, state2) {
18360
18404
  return (0, import_lib2.$EVENT)(ctx, state2, "Yield", Yield$0);
18361
18405
  }
18362
- 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) {
18406
+ 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) {
18363
18407
  const jsx = $2.length === 0 ? $1 : {
18364
18408
  type: "JSXFragment",
18365
18409
  children: [
@@ -18430,7 +18474,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
18430
18474
  function JSXElement(ctx, state2) {
18431
18475
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
18432
18476
  }
18433
- 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) {
18477
+ 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) {
18434
18478
  return { type: "JSXElement", children: $0, tag: $2 };
18435
18479
  });
18436
18480
  function JSXSelfClosingElement(ctx, state2) {
@@ -18449,7 +18493,7 @@ var PopJSXStack$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'PopJSXSt
18449
18493
  function PopJSXStack(ctx, state2) {
18450
18494
  return (0, import_lib2.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
18451
18495
  }
18452
- 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 ">"'));
18496
+ 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 ">"'));
18453
18497
  function JSXOpeningElement(ctx, state2) {
18454
18498
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
18455
18499
  }
@@ -19813,7 +19857,20 @@ var TypePrimary$7 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19813
19857
  children: $0
19814
19858
  };
19815
19859
  });
19816
- var TypePrimary$8 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
19860
+ var TypePrimary$8 = TypeIdentifier;
19861
+ 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) {
19862
+ if (!$4) return $skip;
19863
+ return {
19864
+ type: "TypeParenthesized",
19865
+ children: [$1, $2, $4, $6, $7]
19866
+ // omit AllowAll/RestoreAll
19867
+ };
19868
+ });
19869
+ var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9];
19870
+ function TypePrimary(ctx, state2) {
19871
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TypePrimary", TypePrimary$$);
19872
+ }
19873
+ var TypeIdentifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
19817
19874
  return {
19818
19875
  type: "TypeIdentifier",
19819
19876
  children: $0,
@@ -19821,7 +19878,7 @@ var TypePrimary$8 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19821
19878
  args: void 0
19822
19879
  };
19823
19880
  });
19824
- 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) {
19881
+ 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) {
19825
19882
  var args = $4;
19826
19883
  return {
19827
19884
  type: "TypeIdentifier",
@@ -19830,17 +19887,9 @@ var TypePrimary$9 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)
19830
19887
  args
19831
19888
  };
19832
19889
  });
19833
- 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) {
19834
- if (!$4) return $skip;
19835
- return {
19836
- type: "TypeParenthesized",
19837
- children: [$1, $2, $4, $6, $7]
19838
- // omit AllowAll/RestoreAll
19839
- };
19840
- });
19841
- var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9, TypePrimary$10];
19842
- function TypePrimary(ctx, state2) {
19843
- return (0, import_lib2.$EVENT_C)(ctx, state2, "TypePrimary", TypePrimary$$);
19890
+ var TypeIdentifier$$ = [TypeIdentifier$0, TypeIdentifier$1];
19891
+ function TypeIdentifier(ctx, state2) {
19892
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeIdentifier", TypeIdentifier$$);
19844
19893
  }
19845
19894
  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));
19846
19895
  var ImportType$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'ImportType "import"'), InsertOpenParen, (0, import_lib2.$E)(Trimmed_), StringLiteral, InsertCloseParen);