@danielx/civet 0.7.12 → 0.7.14

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
@@ -28,9 +28,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  mod
29
29
  ));
30
30
 
31
- // node_modules/@danielx/hera/dist/machine.js
31
+ // ../Hera/dist/machine.js
32
32
  var require_machine = __commonJS({
33
- "node_modules/@danielx/hera/dist/machine.js"(exports, module) {
33
+ "../Hera/dist/machine.js"(exports, module) {
34
34
  "use strict";
35
35
  var __defProp2 = Object.defineProperty;
36
36
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -495,6 +495,7 @@ __export(lib_exports, {
495
495
  blockWithPrefix: () => blockWithPrefix,
496
496
  convertNamedImportsToObject: () => convertNamedImportsToObject,
497
497
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
498
+ convertWithClause: () => convertWithClause,
498
499
  dedentBlockString: () => dedentBlockString,
499
500
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
500
501
  deepCopy: () => deepCopy,
@@ -546,6 +547,7 @@ __export(lib_exports, {
546
547
  replaceNode: () => replaceNode,
547
548
  replaceNodes: () => replaceNodes,
548
549
  skipImplicitArguments: () => skipImplicitArguments,
550
+ trimFirstSpace: () => trimFirstSpace,
549
551
  typeOfJSX: () => typeOfJSX,
550
552
  wrapIIFE: () => wrapIIFE
551
553
  });
@@ -1688,8 +1690,11 @@ function isEmptyBareBlock(node) {
1688
1690
  return bare && (Array.isArray(expressions) && len(expressions, 0) || Array.isArray(expressions) && len(expressions, 1) && Array.isArray(expressions[0]) && expressions[0].length >= 2 && typeof expressions[0][1] === "object" && expressions[0][1] != null && "type" in expressions[0][1] && expressions[0][1].type === "EmptyStatement");
1689
1691
  }
1690
1692
  function isFunction(node) {
1691
- const { type } = node;
1692
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
1693
+ if (node && typeof node === "object" && "type" in node) {
1694
+ const { type } = node;
1695
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
1696
+ }
1697
+ return false;
1693
1698
  }
1694
1699
  var statementTypes = /* @__PURE__ */ new Set([
1695
1700
  "BlockStatement",
@@ -1788,10 +1793,15 @@ function insertTrimmingSpace(target, c) {
1788
1793
  ...target,
1789
1794
  token: target.token.replace(/^ ?/, c)
1790
1795
  };
1796
+ } else if (typeof target === "string") {
1797
+ return target.replace(/^ ?/, c);
1791
1798
  } else {
1792
1799
  return target;
1793
1800
  }
1794
1801
  }
1802
+ function trimFirstSpace(target) {
1803
+ return insertTrimmingSpace(target, "");
1804
+ }
1795
1805
  function inplaceInsertTrimmingSpace(target, c) {
1796
1806
  if (!(target != null)) {
1797
1807
  return target;
@@ -2212,7 +2222,11 @@ function gatherNodes(node, predicate) {
2212
2222
  });
2213
2223
  }
2214
2224
  default: {
2215
- return gatherNodes(node.children, predicate);
2225
+ return gatherNodes(
2226
+ //@ts-ignore
2227
+ node.children,
2228
+ predicate
2229
+ );
2216
2230
  }
2217
2231
  }
2218
2232
  }
@@ -2223,12 +2237,18 @@ function gatherRecursive(node, predicate, skipPredicate) {
2223
2237
  if (Array.isArray(node)) {
2224
2238
  return node.flatMap(($) => gatherRecursive($, predicate, skipPredicate));
2225
2239
  }
2226
- if (skipPredicate?.(node))
2240
+ if (skipPredicate?.(node)) {
2227
2241
  return [];
2242
+ }
2228
2243
  if (predicate(node)) {
2229
2244
  return [node];
2230
2245
  }
2231
- return gatherRecursive(node.children, predicate, skipPredicate);
2246
+ return gatherRecursive(
2247
+ //@ts-ignore
2248
+ node.children,
2249
+ predicate,
2250
+ skipPredicate
2251
+ );
2232
2252
  }
2233
2253
  function gatherRecursiveAll(node, predicate) {
2234
2254
  if (node == null || typeof node === "string") {
@@ -2237,7 +2257,11 @@ function gatherRecursiveAll(node, predicate) {
2237
2257
  if (Array.isArray(node)) {
2238
2258
  return node.flatMap((n) => gatherRecursiveAll(n, predicate));
2239
2259
  }
2240
- const nodes = gatherRecursiveAll(node.children, predicate);
2260
+ const nodes = gatherRecursiveAll(
2261
+ //@ts-ignore
2262
+ node.children,
2263
+ predicate
2264
+ );
2241
2265
  if (predicate(node)) {
2242
2266
  nodes.push(node);
2243
2267
  }
@@ -2650,15 +2674,6 @@ var declareHelper = {
2650
2674
  ";\n"
2651
2675
  ]]);
2652
2676
  },
2653
- returnSymbol(ref) {
2654
- state.prelude.push(["", [
2655
- // [indent, statement]
2656
- preludeVar,
2657
- ref,
2658
- ` = Symbol("return")';
2659
- `
2660
- ]]);
2661
- },
2662
2677
  concatAssign(ref) {
2663
2678
  state.prelude.push(["", [
2664
2679
  // [indent, statement]
@@ -3605,6 +3620,39 @@ function dynamizeImportDeclarationExpression($0) {
3605
3620
  ]
3606
3621
  });
3607
3622
  }
3623
+ function convertWithClause(withClause, extendsClause) {
3624
+ let extendsToken, extendsTarget, ws;
3625
+ if (extendsClause) {
3626
+ [extendsToken, ws, extendsTarget] = extendsClause;
3627
+ } else {
3628
+ extendsToken = {
3629
+ type: "Extends",
3630
+ children: [" extends"]
3631
+ };
3632
+ ws = "";
3633
+ extendsTarget = "Object";
3634
+ }
3635
+ const wrapped = withClause.targets.reduce(
3636
+ (extendsTarget2, [wsNext, withTarget]) => {
3637
+ const args = [extendsTarget2];
3638
+ const exp = {
3639
+ type: "CallExpression",
3640
+ children: [
3641
+ makeLeftHandSideExpression(withTarget),
3642
+ {
3643
+ type: "Call",
3644
+ args,
3645
+ children: ["(", trimFirstSpace(ws), args, ")"]
3646
+ }
3647
+ ]
3648
+ };
3649
+ ws = wsNext;
3650
+ return exp;
3651
+ },
3652
+ extendsTarget
3653
+ );
3654
+ return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
3655
+ }
3608
3656
 
3609
3657
  // source/parser/unary.civet
3610
3658
  function processUnaryExpression(pre, exp, post) {
@@ -4692,7 +4740,7 @@ function getIndentOfBlockString(str, tab) {
4692
4740
  minLevel = level;
4693
4741
  }
4694
4742
  }
4695
- if (minLevel == Infinity) {
4743
+ if (minLevel === Infinity) {
4696
4744
  minLevel = 0;
4697
4745
  }
4698
4746
  return minLevel;
@@ -4738,7 +4786,7 @@ function dedentBlockSubstitutions($0, tab) {
4738
4786
  if (/^[ \t]*\r?\n/.test(stringPart)) {
4739
4787
  ref1 = getIndentOfBlockString(stringPart, tab);
4740
4788
  } else {
4741
- ref1 = false;
4789
+ ref1 = void 0;
4742
4790
  }
4743
4791
  ;
4744
4792
  const dedent = ref1;
@@ -4764,21 +4812,39 @@ function dedentBlockSubstitutions($0, tab) {
4764
4812
  };
4765
4813
  }
4766
4814
  function processCoffeeInterpolation(s, parts, e, $loc) {
4767
- if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
4815
+ if (parts.length === 0) {
4768
4816
  return {
4769
4817
  type: "StringLiteral",
4770
- token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
4818
+ token: '""',
4771
4819
  $loc
4772
4820
  };
4773
4821
  }
4774
- parts.forEach((part) => {
4775
- if (part.token) {
4776
- const str = part.token.replace(/(`|\$\{)/g, "\\$1");
4777
- return part.token = modifyString(str);
4822
+ if (parts.length === 1) {
4823
+ let ref2;
4824
+ if ((ref2 = parts[0]) && typeof ref2 === "object" && "token" in ref2) {
4825
+ const { token } = ref2;
4826
+ return {
4827
+ type: "StringLiteral",
4828
+ token: `"${modifyString(token)}"`,
4829
+ $loc
4830
+ };
4778
4831
  }
4779
- ;
4780
- return;
4781
- });
4832
+ }
4833
+ const results2 = [];
4834
+ for (let i4 = 0, len3 = parts.length; i4 < len3; i4++) {
4835
+ const part = parts[i4];
4836
+ if ("token" in part) {
4837
+ const token = modifyString(part.token.replace(/(`|\$\{)/g, "\\$1"));
4838
+ results2.push({
4839
+ ...part,
4840
+ token
4841
+ });
4842
+ } else {
4843
+ results2.push(part);
4844
+ }
4845
+ }
4846
+ ;
4847
+ parts = results2;
4782
4848
  s.token = e.token = "`";
4783
4849
  return {
4784
4850
  type: "TemplateLiteral",
@@ -6273,6 +6339,7 @@ var grammar = {
6273
6339
  ClassBinding,
6274
6340
  ClassHeritage,
6275
6341
  ExtendsClause,
6342
+ WithClause,
6276
6343
  ExtendsToken,
6277
6344
  ExtendsShorthand,
6278
6345
  NotExtendsToken,
@@ -6550,7 +6617,10 @@ var grammar = {
6550
6617
  Break,
6551
6618
  Continue,
6552
6619
  Debugger,
6553
- MaybeNestedExpression,
6620
+ MaybeNestedNonPipelineExtendedExpression,
6621
+ MaybeNestedPostfixedExpression,
6622
+ MaybeNestedExtendedExpression,
6623
+ MaybeParenNestedExtendedExpression,
6554
6624
  ImportDeclaration,
6555
6625
  ImpliedImport,
6556
6626
  ImportClause,
@@ -6739,6 +6809,7 @@ var grammar = {
6739
6809
  Void,
6740
6810
  When,
6741
6811
  While,
6812
+ With,
6742
6813
  Yield,
6743
6814
  JSXImplicitFragment,
6744
6815
  JSXTag,
@@ -6806,6 +6877,7 @@ var grammar = {
6806
6877
  Module,
6807
6878
  Namespace,
6808
6879
  InterfaceBlock,
6880
+ NestedInterfaceBlock,
6809
6881
  NestedInterfaceProperties,
6810
6882
  NestedInterfaceProperty,
6811
6883
  InterfaceProperty,
@@ -6827,7 +6899,7 @@ var grammar = {
6827
6899
  TypeIndexSignature,
6828
6900
  TypeIndex,
6829
6901
  TypeSuffix,
6830
- MaybeIndentedType,
6902
+ MaybeNestedType,
6831
6903
  ReturnTypeSuffix,
6832
6904
  ReturnType,
6833
6905
  TypePredicate,
@@ -6947,15 +7019,15 @@ var $L13 = (0, import_lib3.$L)("=>");
6947
7019
  var $L14 = (0, import_lib3.$L)("\u21D2");
6948
7020
  var $L15 = (0, import_lib3.$L)("import");
6949
7021
  var $L16 = (0, import_lib3.$L)(":");
6950
- var $L17 = (0, import_lib3.$L)(" ");
6951
- var $L18 = (0, import_lib3.$L)("<");
6952
- var $L19 = (0, import_lib3.$L)("implements");
6953
- var $L20 = (0, import_lib3.$L)("<:");
6954
- var $L21 = (0, import_lib3.$L)("^");
6955
- var $L22 = (0, import_lib3.$L)("-");
6956
- var $L23 = (0, import_lib3.$L)("import.meta");
6957
- var $L24 = (0, import_lib3.$L)("return.value");
6958
- var $L25 = (0, import_lib3.$L)(",");
7022
+ var $L17 = (0, import_lib3.$L)(",");
7023
+ var $L18 = (0, import_lib3.$L)(" ");
7024
+ var $L19 = (0, import_lib3.$L)("<");
7025
+ var $L20 = (0, import_lib3.$L)("implements");
7026
+ var $L21 = (0, import_lib3.$L)("<:");
7027
+ var $L22 = (0, import_lib3.$L)("^");
7028
+ var $L23 = (0, import_lib3.$L)("-");
7029
+ var $L24 = (0, import_lib3.$L)("import.meta");
7030
+ var $L25 = (0, import_lib3.$L)("return.value");
6959
7031
  var $L26 = (0, import_lib3.$L)("tighter");
6960
7032
  var $L27 = (0, import_lib3.$L)("looser");
6961
7033
  var $L28 = (0, import_lib3.$L)("same");
@@ -7179,7 +7251,7 @@ var $R16 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
7179
7251
  var $R17 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7180
7252
  var $R18 = (0, import_lib3.$R)(new RegExp("(?=\\[)", "suy"));
7181
7253
  var $R19 = (0, import_lib3.$R)(new RegExp("[!+-]?", "suy"));
7182
- var $R20 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
7254
+ var $R20 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
7183
7255
  var $R21 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7184
7256
  var $R22 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7185
7257
  var $R23 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
@@ -7572,23 +7644,28 @@ var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentLi
7572
7644
  function ArgumentList(ctx, state2) {
7573
7645
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
7574
7646
  }
7575
- var NonPipelineArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$N)(EOS), (0, import_lib3.$E)(_), NonPipelineArgumentPart)), (0, import_lib3.$P)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
7647
+ var NonPipelineArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$N)(EOS), (0, import_lib3.$E)(_), NonPipelineArgumentPart)), (0, import_lib3.$P)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7576
7648
  return [
7577
- $1,
7578
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7579
- ...$3.flatMap(
7649
+ $2,
7650
+ ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7651
+ ...$4.flatMap(
7580
7652
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7581
7653
  )
7582
7654
  ];
7583
7655
  });
7584
- var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
7585
- return [insertTrimmingSpace($1, "")];
7656
+ var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2) {
7657
+ return [
7658
+ insertTrimmingSpace($1, ""),
7659
+ ...$2.flatMap(
7660
+ ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7661
+ )
7662
+ ];
7586
7663
  });
7587
7664
  var NonPipelineArgumentList$2 = NestedArgumentList;
7588
- var NonPipelineArgumentList$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$E)(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
7665
+ var NonPipelineArgumentList$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$E)(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2) {
7589
7666
  return [
7590
- prepend($1, $2),
7591
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7667
+ $1,
7668
+ ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7592
7669
  ];
7593
7670
  });
7594
7671
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
@@ -7651,7 +7728,7 @@ var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpress
7651
7728
  function BinaryOpExpression(ctx, state2) {
7652
7729
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
7653
7730
  }
7654
- var BinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)((0, import_lib3.$E)(_), IndentedFurther, Nested), IsLike, (0, import_lib3.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
7731
+ var BinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NotDedented, IsLike, (0, import_lib3.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
7655
7732
  var ws1 = $1;
7656
7733
  var op = $2;
7657
7734
  var ws2 = $3;
@@ -7675,7 +7752,7 @@ var BinaryOpRHS$$ = [BinaryOpRHS$0, BinaryOpRHS$1, BinaryOpRHS$2, BinaryOpRHS$3]
7675
7752
  function BinaryOpRHS(ctx, state2) {
7676
7753
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BinaryOpRHS", BinaryOpRHS$$);
7677
7754
  }
7678
- var IsLike$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is, (0, import_lib3.$E)(_), (0, import_lib3.$E)((0, import_lib3.$S)(Not, (0, import_lib3.$E)(_))), Like), function($skip, $loc, $0, $1, $2, $3, $4) {
7755
+ var IsLike$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is, (0, import_lib3.$E)(_), (0, import_lib3.$E)((0, import_lib3.$S)(OmittedNegation, (0, import_lib3.$E)(_))), Like), function($skip, $loc, $0, $1, $2, $3, $4) {
7679
7756
  var not = $3;
7680
7757
  return {
7681
7758
  type: "PatternTest",
@@ -7687,18 +7764,18 @@ var IsLike$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is, (0, import_lib3.$E)(
7687
7764
  function IsLike(ctx, state2) {
7688
7765
  return (0, import_lib3.$EVENT)(ctx, state2, "IsLike", IsLike$0);
7689
7766
  }
7690
- var WRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, RHS)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
7767
+ var WRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$S)(Nested, (0, import_lib3.$E)(_)), RHS)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
7691
7768
  var wrhs = $2;
7692
7769
  if (!wrhs)
7693
7770
  return $skip;
7694
7771
  return wrhs;
7695
7772
  });
7696
- var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)(_, (0, import_lib3.$S)(EOS, __)), RHS);
7773
+ var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)((0, import_lib3.$S)(EOS, __), _), RHS);
7697
7774
  var WRHS$$ = [WRHS$0, WRHS$1];
7698
7775
  function WRHS(ctx, state2) {
7699
7776
  return (0, import_lib3.$EVENT_C)(ctx, state2, "WRHS", WRHS$$);
7700
7777
  }
7701
- var SingleLineBinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), BinaryOp, (0, import_lib3.$C)(_, (0, import_lib3.$S)(EOS, __)), RHS), function($skip, $loc, $0, $1, $2, $3, $4) {
7778
+ var SingleLineBinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), BinaryOp, (0, import_lib3.$C)((0, import_lib3.$S)(EOS, __), _), RHS), function($skip, $loc, $0, $1, $2, $3, $4) {
7702
7779
  var ws1 = $1;
7703
7780
  var op = $2;
7704
7781
  var ws2 = $3;
@@ -7888,7 +7965,7 @@ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail
7888
7965
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
7889
7966
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
7890
7967
  }
7891
- var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
7968
+ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2) {
7892
7969
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7893
7970
  $0 = [$1, $2];
7894
7971
  return {
@@ -7905,7 +7982,7 @@ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
7905
7982
  function ActualAssignment(ctx, state2) {
7906
7983
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
7907
7984
  }
7908
- var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
7985
+ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedNonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
7909
7986
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7910
7987
  $0 = [$1, $2];
7911
7988
  return {
@@ -7922,7 +7999,7 @@ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0,
7922
7999
  function NonPipelineActualAssignment(ctx, state2) {
7923
8000
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
7924
8001
  }
7925
- var YieldExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Yield, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), Star)), MaybeNestedExpression))), function($skip, $loc, $0, $1, $2) {
8002
+ var YieldExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Yield, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), Star)), MaybeParenNestedExtendedExpression))), function($skip, $loc, $0, $1, $2) {
7926
8003
  if ($2) {
7927
8004
  const [star, expression] = $2;
7928
8005
  return {
@@ -8021,14 +8098,14 @@ function ConditionalExpression(ctx, state2) {
8021
8098
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8022
8099
  }
8023
8100
  var TernaryRest$0 = NestedTernaryRest;
8024
- var TernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeBinaryExistentialEnabled), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8101
+ var TernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeBinaryExistentialEnabled), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, MaybeNestedExtendedExpression, __, Colon, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8025
8102
  return $0.slice(2);
8026
8103
  });
8027
8104
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8028
8105
  function TernaryRest(ctx, state2) {
8029
8106
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8030
8107
  }
8031
- var NestedTernaryRest$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, QuestionMark, ExtendedExpression, Nested, Colon, ExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8108
+ var NestedTernaryRest$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExtendedExpression, Nested, Colon, MaybeNestedExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8032
8109
  if ($2)
8033
8110
  return $2;
8034
8111
  return $skip;
@@ -8208,8 +8285,24 @@ var ClassBinding$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)
8208
8285
  function ClassBinding(ctx, state2) {
8209
8286
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8210
8287
  }
8211
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8212
- var ClassHeritage$1 = ImplementsClause;
8288
+ var ClassHeritage$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2, $3) {
8289
+ var extendsClause = $1;
8290
+ var withClause = $2;
8291
+ var implementsClause = $3;
8292
+ if (withClause) {
8293
+ extendsClause = convertWithClause(withClause, extendsClause);
8294
+ }
8295
+ return [extendsClause, implementsClause];
8296
+ });
8297
+ var ClassHeritage$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2) {
8298
+ var withClause = $1;
8299
+ var implementsClause = $2;
8300
+ if (withClause)
8301
+ return [convertWithClause(withClause), implementsClause];
8302
+ if (implementsClause)
8303
+ return implementsClause;
8304
+ return $skip;
8305
+ });
8213
8306
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8214
8307
  function ClassHeritage(ctx, state2) {
8215
8308
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8218,7 +8311,20 @@ var ExtendsClause$0 = (0, import_lib3.$S)(ExtendsToken, __, ExtendsTarget);
8218
8311
  function ExtendsClause(ctx, state2) {
8219
8312
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8220
8313
  }
8221
- var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8314
+ var WithClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, With, __, ExtendsTarget, (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L17, 'WithClause ","'), __, ExtendsTarget))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8315
+ var ws = $3;
8316
+ var t = $4;
8317
+ var rest = $5;
8318
+ return {
8319
+ type: "WithClause",
8320
+ children: $0,
8321
+ targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
8322
+ };
8323
+ });
8324
+ function WithClause(ctx, state2) {
8325
+ return (0, import_lib3.$EVENT)(ctx, state2, "WithClause", WithClause$0);
8326
+ }
8327
+ var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8222
8328
  var l = $1;
8223
8329
  var ws = $2;
8224
8330
  var t = $3;
@@ -8240,13 +8346,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
8240
8346
  function ExtendsToken(ctx, state2) {
8241
8347
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8242
8348
  }
8243
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8349
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8244
8350
  return { $loc, token: "extends " };
8245
8351
  });
8246
8352
  function ExtendsShorthand(ctx, state2) {
8247
8353
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8248
8354
  }
8249
- var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8355
+ var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8250
8356
  var l = $1;
8251
8357
  var ws1 = $2;
8252
8358
  var ws2 = $3;
@@ -8272,7 +8378,7 @@ function NotExtendsToken(ctx, state2) {
8272
8378
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8273
8379
  return "";
8274
8380
  });
8275
- var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8381
+ var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8276
8382
  return value[2];
8277
8383
  });
8278
8384
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8295,7 +8401,7 @@ var ImplementsClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ImplementsToke
8295
8401
  function ImplementsClause(ctx, state2) {
8296
8402
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8297
8403
  }
8298
- var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8404
+ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8299
8405
  var l = $1;
8300
8406
  var ws = $2;
8301
8407
  var token = $3;
@@ -8305,7 +8411,7 @@ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Implem
8305
8411
  }
8306
8412
  return { children };
8307
8413
  });
8308
- var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L19, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8414
+ var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L20, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8309
8415
  $2 = { $loc, token: $2 };
8310
8416
  return [$1, $2];
8311
8417
  });
@@ -8313,7 +8419,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
8313
8419
  function ImplementsToken(ctx, state2) {
8314
8420
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8315
8421
  }
8316
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8422
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8317
8423
  return { $loc, token: "implements " };
8318
8424
  });
8319
8425
  function ImplementsShorthand(ctx, state2) {
@@ -8461,7 +8567,7 @@ var FieldDefinition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeClassesEn
8461
8567
  };
8462
8568
  }
8463
8569
  });
8464
- var FieldDefinition$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertReadonly, ClassElementName, (0, import_lib3.$E)(TypeSuffix), __, ConstAssignment, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8570
+ var FieldDefinition$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertReadonly, ClassElementName, (0, import_lib3.$E)(TypeSuffix), __, ConstAssignment, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8465
8571
  var r = $1;
8466
8572
  var ca = $5;
8467
8573
  r.children[0].$loc = {
@@ -8662,7 +8768,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
8662
8768
  function OptionalDot(ctx, state2) {
8663
8769
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8664
8770
  }
8665
- var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L21, 'NonNullAssertion "^"'))), function(value) {
8771
+ var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L22, 'NonNullAssertion "^"'))), function(value) {
8666
8772
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8667
8773
  });
8668
8774
  function NonNullAssertion(ctx, state2) {
@@ -8870,7 +8976,7 @@ var PropertyAccess$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0,
8870
8976
  ]
8871
8977
  };
8872
8978
  });
8873
- var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L22, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
8979
+ var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L23, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
8874
8980
  var dot = $1;
8875
8981
  var neg = $2;
8876
8982
  var num = $3;
@@ -8977,7 +9083,7 @@ function SuperProperty(ctx, state2) {
8977
9083
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
8978
9084
  }
8979
9085
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
8980
- var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L23, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9086
+ var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8981
9087
  return { $loc, token: $1 };
8982
9088
  });
8983
9089
  var MetaProperty$2 = ReturnValue;
@@ -8985,7 +9091,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
8985
9091
  function MetaProperty(ctx, state2) {
8986
9092
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
8987
9093
  }
8988
- var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
9094
+ var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L25, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
8989
9095
  return { type: "ReturnValue", children: [$1[0]] };
8990
9096
  });
8991
9097
  function ReturnValue(ctx, state2) {
@@ -9514,7 +9620,7 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9514
9620
  children: [ws, binding]
9515
9621
  };
9516
9622
  });
9517
- var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L25, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9623
+ var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9518
9624
  return {
9519
9625
  children: [{
9520
9626
  type: "ElisionElement",
@@ -10949,7 +11055,7 @@ var NamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, (0,
10949
11055
  function NamedProperty(ctx, state2) {
10950
11056
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
10951
11057
  }
10952
- var SnugNamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, Colon, ExtendedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement), (0, import_lib3.$Y)((0, import_lib3.$S)(Nested, NamedProperty))))), function($skip, $loc, $0, $1, $2, $3, $4) {
11058
+ var SnugNamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, Colon, MaybeNestedExtendedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement), (0, import_lib3.$Y)((0, import_lib3.$S)(Nested, NamedProperty))))), function($skip, $loc, $0, $1, $2, $3, $4) {
10953
11059
  var name = $1;
10954
11060
  var colon = $2;
10955
11061
  var expression = $3;
@@ -11372,7 +11478,7 @@ var IdentifierBinaryOp$0 = (0, import_lib3.$TV)(Identifier, function($skip, $loc
11372
11478
  function IdentifierBinaryOp(ctx, state2) {
11373
11479
  return (0, import_lib3.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11374
11480
  }
11375
- var BinaryOp$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R20, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
11481
+ var BinaryOp$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R20, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
11376
11482
  var op = value[1];
11377
11483
  return op;
11378
11484
  });
@@ -11428,7 +11534,7 @@ var BinaryOpSymbol$5 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.
11428
11534
  };
11429
11535
  });
11430
11536
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11431
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11537
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11432
11538
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11433
11539
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11434
11540
  return "<=";
@@ -11458,7 +11564,7 @@ var BinaryOpSymbol$14 = (0, import_lib3.$EXPECT)($L76, 'BinaryOpSymbol "<<"');
11458
11564
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11459
11565
  return "<<";
11460
11566
  });
11461
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11567
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11462
11568
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11463
11569
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11464
11570
  return ">>>";
@@ -11597,7 +11703,7 @@ var BinaryOpSymbol$47 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is), function($
11597
11703
  });
11598
11704
  var BinaryOpSymbol$48 = In;
11599
11705
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11600
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11706
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11601
11707
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11602
11708
  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];
11603
11709
  function BinaryOpSymbol(ctx, state2) {
@@ -11690,7 +11796,7 @@ var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Del
11690
11796
  return [op, [" "]];
11691
11797
  return [op, ws];
11692
11798
  });
11693
- var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11799
+ var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11694
11800
  return [value[0], value[3]];
11695
11801
  });
11696
11802
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12838,7 +12944,7 @@ var KeywordStatement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0,
12838
12944
  };
12839
12945
  });
12840
12946
  var KeywordStatement$2 = DebuggerStatement;
12841
- var KeywordStatement$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeNestedExpression)), function(value) {
12947
+ var KeywordStatement$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeParenNestedExtendedExpression)), function(value) {
12842
12948
  var expression = value[2];
12843
12949
  return { "type": "ReturnStatement", "expression": expression, "children": value };
12844
12950
  });
@@ -12853,7 +12959,7 @@ var DebuggerStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Debugger), fun
12853
12959
  function DebuggerStatement(ctx, state2) {
12854
12960
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
12855
12961
  }
12856
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, ExtendedExpression), function(value) {
12962
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
12857
12963
  return { "type": "ThrowStatement", "children": value };
12858
12964
  });
12859
12965
  function ThrowStatement(ctx, state2) {
@@ -12877,16 +12983,51 @@ var Debugger$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPEC
12877
12983
  function Debugger(ctx, state2) {
12878
12984
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
12879
12985
  }
12880
- var MaybeNestedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
12881
- return $2;
12986
+ var MaybeNestedNonPipelineExtendedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, NonPipelineExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12987
+ if ($3)
12988
+ return $3;
12989
+ return $skip;
12882
12990
  });
12883
- var MaybeNestedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function($skip, $loc, $0, $1, $2) {
12884
- return $2;
12991
+ var MaybeNestedNonPipelineExtendedExpression$1 = NonPipelineExtendedExpression;
12992
+ var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1];
12993
+ function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
12994
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
12995
+ }
12996
+ var MaybeNestedPostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, PostfixedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12997
+ if ($3)
12998
+ return $3;
12999
+ return $skip;
12885
13000
  });
12886
- var MaybeNestedExpression$2 = (0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, Nested, ExtendedExpression, PopIndent, InsertNewline, InsertIndent, InsertCloseParen);
12887
- var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
12888
- function MaybeNestedExpression(ctx, state2) {
12889
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
13001
+ var MaybeNestedPostfixedExpression$1 = PostfixedExpression;
13002
+ var MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeNestedPostfixedExpression$1];
13003
+ function MaybeNestedPostfixedExpression(ctx, state2) {
13004
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
13005
+ }
13006
+ var MaybeNestedExtendedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13007
+ if ($3)
13008
+ return $3;
13009
+ return $skip;
13010
+ });
13011
+ var MaybeNestedExtendedExpression$1 = ExtendedExpression;
13012
+ var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1];
13013
+ function MaybeNestedExtendedExpression(ctx, state2) {
13014
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
13015
+ }
13016
+ var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
13017
+ return value[1];
13018
+ });
13019
+ var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function(value) {
13020
+ return value[1];
13021
+ });
13022
+ var MaybeParenNestedExtendedExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, (0, import_lib3.$S)(Nested, ExtendedExpression), PopIndent, InsertNewline, InsertIndent, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13023
+ var exp = $5;
13024
+ if (!exp)
13025
+ return $skip;
13026
+ return $0.slice(1);
13027
+ });
13028
+ var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
13029
+ function MaybeParenNestedExtendedExpression(ctx, state2) {
13030
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
12890
13031
  }
12891
13032
  var ImportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Import, _, Identifier, (0, import_lib3.$E)(_), Equals, __, (0, import_lib3.$EXPECT)($L115, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12892
13033
  const imp = [
@@ -13078,7 +13219,7 @@ function OperatorImportSpecifier(ctx, state2) {
13078
13219
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13079
13220
  }
13080
13221
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13081
- var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13222
+ var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13082
13223
  var l = $1;
13083
13224
  var ws = $2;
13084
13225
  var c = $3;
@@ -13139,7 +13280,7 @@ var ImportedBinding$0 = BindingIdentifier;
13139
13280
  function ImportedBinding(ctx, state2) {
13140
13281
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
13141
13282
  }
13142
- var ExportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Export, (0, import_lib3.$E)(_), Equals, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13283
+ var ExportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Export, (0, import_lib3.$E)(_), Equals, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13143
13284
  const exp = [
13144
13285
  { ...$1, ts: true },
13145
13286
  { ...$1, token: "module.exports", js: true }
@@ -13176,7 +13317,7 @@ var ExportDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
13176
13317
  }
13177
13318
  ];
13178
13319
  });
13179
- var ExportDeclaration$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), Export, __, Default, __, (0, import_lib3.$C)(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13320
+ var ExportDeclaration$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), Export, __, Default, __, (0, import_lib3.$C)(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, MaybeNestedExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13180
13321
  var declaration = $6;
13181
13322
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
13182
13323
  });
@@ -13290,24 +13431,26 @@ var LexicalDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(LetOrConst,
13290
13431
  thisAssignments: bindings.flatMap((b) => b.thisAssignments)
13291
13432
  };
13292
13433
  });
13293
- var LexicalDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertConst, (0, import_lib3.$C)(BindingPattern, BindingIdentifier), (0, import_lib3.$E)(TypeSuffix), __, ConstAssignment, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13294
- return processAssignmentDeclaration(...$0);
13295
- });
13296
- var LexicalDeclaration$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertLet, (0, import_lib3.$C)(BindingPattern, BindingIdentifier), (0, import_lib3.$E)(TypeSuffix), __, LetAssignment, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13297
- return processAssignmentDeclaration(...$0);
13434
+ var LexicalDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$C)(BindingPattern, BindingIdentifier), (0, import_lib3.$E)(TypeSuffix), __, (0, import_lib3.$C)(ConstAssignment, LetAssignment), MaybeNestedPostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13435
+ var loc = $1;
13436
+ var assign = $5;
13437
+ return processAssignmentDeclaration(
13438
+ { $loc: loc, token: assign.decl },
13439
+ ...$0.slice(1)
13440
+ );
13298
13441
  });
13299
- var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1, LexicalDeclaration$2];
13442
+ var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1];
13300
13443
  function LexicalDeclaration(ctx, state2) {
13301
13444
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalDeclaration", LexicalDeclaration$$);
13302
13445
  }
13303
13446
  var ConstAssignment$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L118, 'ConstAssignment ":="'), (0, import_lib3.$EXPECT)($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
13304
- return { $loc, token: "=" };
13447
+ return { $loc, token: "=", decl: "const " };
13305
13448
  });
13306
13449
  function ConstAssignment(ctx, state2) {
13307
13450
  return (0, import_lib3.$EVENT)(ctx, state2, "ConstAssignment", ConstAssignment$0);
13308
13451
  }
13309
13452
  var LetAssignment$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
13310
- return { $loc, token: "=" };
13453
+ return { $loc, token: "=", decl: "let " };
13311
13454
  });
13312
13455
  function LetAssignment(ctx, state2) {
13313
13456
  return (0, import_lib3.$EVENT)(ctx, state2, "LetAssignment", LetAssignment$0);
@@ -13353,7 +13496,7 @@ var LexicalBinding$$ = [LexicalBinding$0, LexicalBinding$1];
13353
13496
  function LexicalBinding(ctx, state2) {
13354
13497
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
13355
13498
  }
13356
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, ExtendedExpression), function(value) {
13499
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
13357
13500
  var expression = value[2];
13358
13501
  return { "type": "Initializer", "expression": expression, "children": value };
13359
13502
  });
@@ -13849,7 +13992,7 @@ var Loc$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Loc ""'), functi
13849
13992
  function Loc(ctx, state2) {
13850
13993
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13851
13994
  }
13852
- var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13995
+ var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13853
13996
  return { $loc, token: $1, ts: true };
13854
13997
  });
13855
13998
  function Abstract(ctx, state2) {
@@ -13903,7 +14046,7 @@ var By$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
13903
14046
  function By(ctx, state2) {
13904
14047
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13905
14048
  }
13906
- var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
14049
+ var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L22, 'Caret "^"'), function($skip, $loc, $0, $1) {
13907
14050
  return { $loc, token: $1 };
13908
14051
  });
13909
14052
  function Caret(ctx, state2) {
@@ -13963,7 +14106,7 @@ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
13963
14106
  function Colon(ctx, state2) {
13964
14107
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
13965
14108
  }
13966
- var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
14109
+ var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
13967
14110
  return { $loc, token: $1 };
13968
14111
  });
13969
14112
  function Comma(ctx, state2) {
@@ -14123,7 +14266,7 @@ var Hash$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L160, 'Hash "#"'), f
14123
14266
  function Hash(ctx, state2) {
14124
14267
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14125
14268
  }
14126
- var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'If " "')))), function($skip, $loc, $0, $1) {
14269
+ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
14127
14270
  return { $loc, token: $1 };
14128
14271
  });
14129
14272
  function If(ctx, state2) {
@@ -14201,7 +14344,7 @@ var Of$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
14201
14344
  function Of(ctx, state2) {
14202
14345
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14203
14346
  }
14204
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14347
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14205
14348
  return { $loc, token: $1 };
14206
14349
  });
14207
14350
  function OpenAngleBracket(ctx, state2) {
@@ -14452,6 +14595,12 @@ var While$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14452
14595
  function While(ctx, state2) {
14453
14596
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14454
14597
  }
14598
+ var With$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L116, 'With "with"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14599
+ return { $loc, token: $1 };
14600
+ });
14601
+ function With(ctx, state2) {
14602
+ return (0, import_lib3.$EVENT)(ctx, state2, "With", With$0);
14603
+ }
14455
14604
  var Yield$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L211, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14456
14605
  return { $loc, token: $1, type: "Yield" };
14457
14606
  });
@@ -14531,7 +14680,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
14531
14680
  function JSXElement(ctx, state2) {
14532
14681
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14533
14682
  }
14534
- var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14683
+ var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14535
14684
  return { type: "JSXElement", children: $0, tag: $2 };
14536
14685
  });
14537
14686
  function JSXSelfClosingElement(ctx, state2) {
@@ -14550,7 +14699,7 @@ var PopJSXStack$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PopJSXSt
14550
14699
  function PopJSXStack(ctx, state2) {
14551
14700
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14552
14701
  }
14553
- var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14702
+ var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14554
14703
  function JSXOpeningElement(ctx, state2) {
14555
14704
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14556
14705
  }
@@ -15206,7 +15355,7 @@ var TypeDeclarationRest$$ = [TypeDeclarationRest$0, TypeDeclarationRest$1, TypeD
15206
15355
  function TypeDeclarationRest(ctx, state2) {
15207
15356
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeDeclarationRest", TypeDeclarationRest$$);
15208
15357
  }
15209
- var TypeAliasDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeKeyword, (0, import_lib3.$E)(_), IdentifierName, (0, import_lib3.$E)(TypeParameters), OptionalEquals, (0, import_lib3.$C)(MaybeIndentedType, (0, import_lib3.$S)(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15358
+ var TypeAliasDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeKeyword, (0, import_lib3.$E)(_), IdentifierName, (0, import_lib3.$E)(TypeParameters), OptionalEquals, (0, import_lib3.$C)(MaybeNestedType, (0, import_lib3.$S)(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15210
15359
  var id = $3;
15211
15360
  return {
15212
15361
  type: "TypeDeclaration",
@@ -15215,7 +15364,7 @@ var TypeAliasDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeKeywor
15215
15364
  ts: true
15216
15365
  };
15217
15366
  });
15218
- var TypeAliasDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertType, IdentifierName, (0, import_lib3.$E)(TypeParameters), __, TypeAssignment, (0, import_lib3.$C)(MaybeIndentedType, (0, import_lib3.$S)(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15367
+ var TypeAliasDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertType, IdentifierName, (0, import_lib3.$E)(TypeParameters), __, TypeAssignment, (0, import_lib3.$C)(MaybeNestedType, (0, import_lib3.$S)(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15219
15368
  var id = $2;
15220
15369
  return {
15221
15370
  type: "TypeDeclaration",
@@ -15320,11 +15469,15 @@ function Namespace(ctx, state2) {
15320
15469
  }
15321
15470
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15322
15471
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15323
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15472
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15324
15473
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15325
15474
  function InterfaceBlock(ctx, state2) {
15326
15475
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15327
15476
  }
15477
+ var NestedInterfaceBlock$0 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15478
+ function NestedInterfaceBlock(ctx, state2) {
15479
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedInterfaceBlock", NestedInterfaceBlock$0);
15480
+ }
15328
15481
  var NestedInterfaceProperties$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedInterfaceProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15329
15482
  var props = $2;
15330
15483
  if (props.length)
@@ -15511,7 +15664,7 @@ var NestedEnumPropertyLine$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, impo
15511
15664
  function NestedEnumPropertyLine(ctx, state2) {
15512
15665
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
15513
15666
  }
15514
- var EnumProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Identifier, (0, import_lib3.$E)((0, import_lib3.$S)(__, Equals, ExtendedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
15667
+ var EnumProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Identifier, (0, import_lib3.$E)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
15515
15668
  var name = $1;
15516
15669
  var initializer = $2;
15517
15670
  return {
@@ -15538,7 +15691,7 @@ var TypeIndex$$ = [TypeIndex$0, TypeIndex$1];
15538
15691
  function TypeIndex(ctx, state2) {
15539
15692
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeIndex", TypeIndex$$);
15540
15693
  }
15541
- var TypeSuffix$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(QuestionMark), (0, import_lib3.$E)(_), Colon, MaybeIndentedType), function(value) {
15694
+ var TypeSuffix$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(QuestionMark), (0, import_lib3.$E)(_), Colon, MaybeNestedType), function(value) {
15542
15695
  var optional = value[1];
15543
15696
  var t = value[4];
15544
15697
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
@@ -15547,7 +15700,7 @@ var TypeSuffix$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_
15547
15700
  var optional = value[1];
15548
15701
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
15549
15702
  });
15550
- var TypeSuffix$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonNullAssertion, (0, import_lib3.$E)(_), (0, import_lib3.$E)((0, import_lib3.$S)(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
15703
+ var TypeSuffix$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonNullAssertion, (0, import_lib3.$E)(_), (0, import_lib3.$E)((0, import_lib3.$S)(Colon, MaybeNestedType))), function($skip, $loc, $0, $1, $2, $3) {
15551
15704
  var nonnull = $1;
15552
15705
  var ct = $3;
15553
15706
  const [colon, t] = ct ?? [];
@@ -15563,18 +15716,16 @@ var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
15563
15716
  function TypeSuffix(ctx, state2) {
15564
15717
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15565
15718
  }
15566
- var MaybeIndentedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15567
- return value[1];
15568
- });
15569
- var MaybeIndentedType$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15719
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15720
+ var MaybeNestedType$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15570
15721
  if (!$2)
15571
15722
  return $skip;
15572
15723
  return $2;
15573
15724
  });
15574
- var MaybeIndentedType$2 = Type;
15575
- var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
15576
- function MaybeIndentedType(ctx, state2) {
15577
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeIndentedType", MaybeIndentedType$$);
15725
+ var MaybeNestedType$2 = Type;
15726
+ var MaybeNestedType$$ = [MaybeNestedType$0, MaybeNestedType$1, MaybeNestedType$2];
15727
+ function MaybeNestedType(ctx, state2) {
15728
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedType", MaybeNestedType$$);
15578
15729
  }
15579
15730
  var ReturnTypeSuffix$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(QuestionMark), (0, import_lib3.$E)(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15580
15731
  var optional = $2;
@@ -15827,9 +15978,9 @@ function NestedType(ctx, state2) {
15827
15978
  var TypeConditional$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
15828
15979
  return [$1, expressionizeTypeIf($3)];
15829
15980
  });
15830
- var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
15981
+ var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15831
15982
  if ($1.negated)
15832
- return [$1, $2, $3, $7, $5, $6, $4];
15983
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15833
15984
  return $0;
15834
15985
  });
15835
15986
  var TypeConditional$2 = TypeBinary;
@@ -15865,12 +16016,13 @@ var TypeBlock$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Then, Type), function(
15865
16016
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15866
16017
  return value[1];
15867
16018
  });
15868
- var TypeBlock$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
16019
+ var TypeBlock$2 = NestedInterfaceBlock;
16020
+ var TypeBlock$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15869
16021
  if (!$2)
15870
16022
  return $skip;
15871
16023
  return $2;
15872
16024
  });
15873
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16025
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15874
16026
  function TypeBlock(ctx, state2) {
15875
16027
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15876
16028
  }