@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/browser.js CHANGED
@@ -38,9 +38,9 @@ var Civet = (() => {
38
38
  ));
39
39
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
40
40
 
41
- // node_modules/@danielx/hera/dist/machine.js
41
+ // ../Hera/dist/machine.js
42
42
  var require_machine = __commonJS({
43
- "node_modules/@danielx/hera/dist/machine.js"(exports, module) {
43
+ "../Hera/dist/machine.js"(exports, module) {
44
44
  "use strict";
45
45
  var __defProp2 = Object.defineProperty;
46
46
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -522,6 +522,7 @@ ${body}`;
522
522
  blockWithPrefix: () => blockWithPrefix,
523
523
  convertNamedImportsToObject: () => convertNamedImportsToObject,
524
524
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
525
+ convertWithClause: () => convertWithClause,
525
526
  dedentBlockString: () => dedentBlockString,
526
527
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
527
528
  deepCopy: () => deepCopy,
@@ -573,6 +574,7 @@ ${body}`;
573
574
  replaceNode: () => replaceNode,
574
575
  replaceNodes: () => replaceNodes,
575
576
  skipImplicitArguments: () => skipImplicitArguments,
577
+ trimFirstSpace: () => trimFirstSpace,
576
578
  typeOfJSX: () => typeOfJSX,
577
579
  wrapIIFE: () => wrapIIFE
578
580
  });
@@ -1715,8 +1717,11 @@ ${body}`;
1715
1717
  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");
1716
1718
  }
1717
1719
  function isFunction(node) {
1718
- const { type } = node;
1719
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
1720
+ if (node && typeof node === "object" && "type" in node) {
1721
+ const { type } = node;
1722
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
1723
+ }
1724
+ return false;
1720
1725
  }
1721
1726
  var statementTypes = /* @__PURE__ */ new Set([
1722
1727
  "BlockStatement",
@@ -1815,10 +1820,15 @@ ${body}`;
1815
1820
  ...target,
1816
1821
  token: target.token.replace(/^ ?/, c)
1817
1822
  };
1823
+ } else if (typeof target === "string") {
1824
+ return target.replace(/^ ?/, c);
1818
1825
  } else {
1819
1826
  return target;
1820
1827
  }
1821
1828
  }
1829
+ function trimFirstSpace(target) {
1830
+ return insertTrimmingSpace(target, "");
1831
+ }
1822
1832
  function inplaceInsertTrimmingSpace(target, c) {
1823
1833
  if (!(target != null)) {
1824
1834
  return target;
@@ -2239,7 +2249,11 @@ ${body}`;
2239
2249
  });
2240
2250
  }
2241
2251
  default: {
2242
- return gatherNodes(node.children, predicate);
2252
+ return gatherNodes(
2253
+ //@ts-ignore
2254
+ node.children,
2255
+ predicate
2256
+ );
2243
2257
  }
2244
2258
  }
2245
2259
  }
@@ -2250,12 +2264,18 @@ ${body}`;
2250
2264
  if (Array.isArray(node)) {
2251
2265
  return node.flatMap(($) => gatherRecursive($, predicate, skipPredicate));
2252
2266
  }
2253
- if (skipPredicate?.(node))
2267
+ if (skipPredicate?.(node)) {
2254
2268
  return [];
2269
+ }
2255
2270
  if (predicate(node)) {
2256
2271
  return [node];
2257
2272
  }
2258
- return gatherRecursive(node.children, predicate, skipPredicate);
2273
+ return gatherRecursive(
2274
+ //@ts-ignore
2275
+ node.children,
2276
+ predicate,
2277
+ skipPredicate
2278
+ );
2259
2279
  }
2260
2280
  function gatherRecursiveAll(node, predicate) {
2261
2281
  if (node == null || typeof node === "string") {
@@ -2264,7 +2284,11 @@ ${body}`;
2264
2284
  if (Array.isArray(node)) {
2265
2285
  return node.flatMap((n) => gatherRecursiveAll(n, predicate));
2266
2286
  }
2267
- const nodes = gatherRecursiveAll(node.children, predicate);
2287
+ const nodes = gatherRecursiveAll(
2288
+ //@ts-ignore
2289
+ node.children,
2290
+ predicate
2291
+ );
2268
2292
  if (predicate(node)) {
2269
2293
  nodes.push(node);
2270
2294
  }
@@ -2677,15 +2701,6 @@ ${body}`;
2677
2701
  ";\n"
2678
2702
  ]]);
2679
2703
  },
2680
- returnSymbol(ref) {
2681
- state.prelude.push(["", [
2682
- // [indent, statement]
2683
- preludeVar,
2684
- ref,
2685
- ` = Symbol("return")';
2686
- `
2687
- ]]);
2688
- },
2689
2704
  concatAssign(ref) {
2690
2705
  state.prelude.push(["", [
2691
2706
  // [indent, statement]
@@ -3632,6 +3647,39 @@ ${body}`;
3632
3647
  ]
3633
3648
  });
3634
3649
  }
3650
+ function convertWithClause(withClause, extendsClause) {
3651
+ let extendsToken, extendsTarget, ws;
3652
+ if (extendsClause) {
3653
+ [extendsToken, ws, extendsTarget] = extendsClause;
3654
+ } else {
3655
+ extendsToken = {
3656
+ type: "Extends",
3657
+ children: [" extends"]
3658
+ };
3659
+ ws = "";
3660
+ extendsTarget = "Object";
3661
+ }
3662
+ const wrapped = withClause.targets.reduce(
3663
+ (extendsTarget2, [wsNext, withTarget]) => {
3664
+ const args = [extendsTarget2];
3665
+ const exp = {
3666
+ type: "CallExpression",
3667
+ children: [
3668
+ makeLeftHandSideExpression(withTarget),
3669
+ {
3670
+ type: "Call",
3671
+ args,
3672
+ children: ["(", trimFirstSpace(ws), args, ")"]
3673
+ }
3674
+ ]
3675
+ };
3676
+ ws = wsNext;
3677
+ return exp;
3678
+ },
3679
+ extendsTarget
3680
+ );
3681
+ return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
3682
+ }
3635
3683
 
3636
3684
  // source/parser/unary.civet
3637
3685
  function processUnaryExpression(pre, exp, post) {
@@ -4734,7 +4782,7 @@ ${js}`
4734
4782
  minLevel = level;
4735
4783
  }
4736
4784
  }
4737
- if (minLevel == Infinity) {
4785
+ if (minLevel === Infinity) {
4738
4786
  minLevel = 0;
4739
4787
  }
4740
4788
  return minLevel;
@@ -4780,7 +4828,7 @@ ${js}`
4780
4828
  if (/^[ \t]*\r?\n/.test(stringPart)) {
4781
4829
  ref1 = getIndentOfBlockString(stringPart, tab);
4782
4830
  } else {
4783
- ref1 = false;
4831
+ ref1 = void 0;
4784
4832
  }
4785
4833
  ;
4786
4834
  const dedent = ref1;
@@ -4806,21 +4854,39 @@ ${js}`
4806
4854
  };
4807
4855
  }
4808
4856
  function processCoffeeInterpolation(s, parts, e, $loc) {
4809
- if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
4857
+ if (parts.length === 0) {
4810
4858
  return {
4811
4859
  type: "StringLiteral",
4812
- token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
4860
+ token: '""',
4813
4861
  $loc
4814
4862
  };
4815
4863
  }
4816
- parts.forEach((part) => {
4817
- if (part.token) {
4818
- const str = part.token.replace(/(`|\$\{)/g, "\\$1");
4819
- return part.token = modifyString(str);
4864
+ if (parts.length === 1) {
4865
+ let ref2;
4866
+ if ((ref2 = parts[0]) && typeof ref2 === "object" && "token" in ref2) {
4867
+ const { token } = ref2;
4868
+ return {
4869
+ type: "StringLiteral",
4870
+ token: `"${modifyString(token)}"`,
4871
+ $loc
4872
+ };
4820
4873
  }
4821
- ;
4822
- return;
4823
- });
4874
+ }
4875
+ const results2 = [];
4876
+ for (let i4 = 0, len3 = parts.length; i4 < len3; i4++) {
4877
+ const part = parts[i4];
4878
+ if ("token" in part) {
4879
+ const token = modifyString(part.token.replace(/(`|\$\{)/g, "\\$1"));
4880
+ results2.push({
4881
+ ...part,
4882
+ token
4883
+ });
4884
+ } else {
4885
+ results2.push(part);
4886
+ }
4887
+ }
4888
+ ;
4889
+ parts = results2;
4824
4890
  s.token = e.token = "`";
4825
4891
  return {
4826
4892
  type: "TemplateLiteral",
@@ -6315,6 +6381,7 @@ ${js}`
6315
6381
  ClassBinding,
6316
6382
  ClassHeritage,
6317
6383
  ExtendsClause,
6384
+ WithClause,
6318
6385
  ExtendsToken,
6319
6386
  ExtendsShorthand,
6320
6387
  NotExtendsToken,
@@ -6592,7 +6659,10 @@ ${js}`
6592
6659
  Break,
6593
6660
  Continue,
6594
6661
  Debugger,
6595
- MaybeNestedExpression,
6662
+ MaybeNestedNonPipelineExtendedExpression,
6663
+ MaybeNestedPostfixedExpression,
6664
+ MaybeNestedExtendedExpression,
6665
+ MaybeParenNestedExtendedExpression,
6596
6666
  ImportDeclaration,
6597
6667
  ImpliedImport,
6598
6668
  ImportClause,
@@ -6781,6 +6851,7 @@ ${js}`
6781
6851
  Void,
6782
6852
  When,
6783
6853
  While,
6854
+ With,
6784
6855
  Yield,
6785
6856
  JSXImplicitFragment,
6786
6857
  JSXTag,
@@ -6848,6 +6919,7 @@ ${js}`
6848
6919
  Module,
6849
6920
  Namespace,
6850
6921
  InterfaceBlock,
6922
+ NestedInterfaceBlock,
6851
6923
  NestedInterfaceProperties,
6852
6924
  NestedInterfaceProperty,
6853
6925
  InterfaceProperty,
@@ -6869,7 +6941,7 @@ ${js}`
6869
6941
  TypeIndexSignature,
6870
6942
  TypeIndex,
6871
6943
  TypeSuffix,
6872
- MaybeIndentedType,
6944
+ MaybeNestedType,
6873
6945
  ReturnTypeSuffix,
6874
6946
  ReturnType,
6875
6947
  TypePredicate,
@@ -6989,15 +7061,15 @@ ${js}`
6989
7061
  var $L14 = (0, import_lib3.$L)("\u21D2");
6990
7062
  var $L15 = (0, import_lib3.$L)("import");
6991
7063
  var $L16 = (0, import_lib3.$L)(":");
6992
- var $L17 = (0, import_lib3.$L)(" ");
6993
- var $L18 = (0, import_lib3.$L)("<");
6994
- var $L19 = (0, import_lib3.$L)("implements");
6995
- var $L20 = (0, import_lib3.$L)("<:");
6996
- var $L21 = (0, import_lib3.$L)("^");
6997
- var $L22 = (0, import_lib3.$L)("-");
6998
- var $L23 = (0, import_lib3.$L)("import.meta");
6999
- var $L24 = (0, import_lib3.$L)("return.value");
7000
- var $L25 = (0, import_lib3.$L)(",");
7064
+ var $L17 = (0, import_lib3.$L)(",");
7065
+ var $L18 = (0, import_lib3.$L)(" ");
7066
+ var $L19 = (0, import_lib3.$L)("<");
7067
+ var $L20 = (0, import_lib3.$L)("implements");
7068
+ var $L21 = (0, import_lib3.$L)("<:");
7069
+ var $L22 = (0, import_lib3.$L)("^");
7070
+ var $L23 = (0, import_lib3.$L)("-");
7071
+ var $L24 = (0, import_lib3.$L)("import.meta");
7072
+ var $L25 = (0, import_lib3.$L)("return.value");
7001
7073
  var $L26 = (0, import_lib3.$L)("tighter");
7002
7074
  var $L27 = (0, import_lib3.$L)("looser");
7003
7075
  var $L28 = (0, import_lib3.$L)("same");
@@ -7221,7 +7293,7 @@ ${js}`
7221
7293
  var $R17 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7222
7294
  var $R18 = (0, import_lib3.$R)(new RegExp("(?=\\[)", "suy"));
7223
7295
  var $R19 = (0, import_lib3.$R)(new RegExp("[!+-]?", "suy"));
7224
- 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"));
7296
+ 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"));
7225
7297
  var $R21 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7226
7298
  var $R22 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7227
7299
  var $R23 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
@@ -7614,23 +7686,28 @@ ${js}`
7614
7686
  function ArgumentList(ctx, state2) {
7615
7687
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
7616
7688
  }
7617
- 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) {
7689
+ 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) {
7618
7690
  return [
7619
- $1,
7620
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7621
- ...$3.flatMap(
7691
+ $2,
7692
+ ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7693
+ ...$4.flatMap(
7622
7694
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7623
7695
  )
7624
7696
  ];
7625
7697
  });
7626
- var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
7627
- return [insertTrimmingSpace($1, "")];
7698
+ 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) {
7699
+ return [
7700
+ insertTrimmingSpace($1, ""),
7701
+ ...$2.flatMap(
7702
+ ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7703
+ )
7704
+ ];
7628
7705
  });
7629
7706
  var NonPipelineArgumentList$2 = NestedArgumentList;
7630
- 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) {
7707
+ 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) {
7631
7708
  return [
7632
- prepend($1, $2),
7633
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7709
+ $1,
7710
+ ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7634
7711
  ];
7635
7712
  });
7636
7713
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
@@ -7693,7 +7770,7 @@ ${js}`
7693
7770
  function BinaryOpExpression(ctx, state2) {
7694
7771
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
7695
7772
  }
7696
- 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) {
7773
+ 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) {
7697
7774
  var ws1 = $1;
7698
7775
  var op = $2;
7699
7776
  var ws2 = $3;
@@ -7717,7 +7794,7 @@ ${js}`
7717
7794
  function BinaryOpRHS(ctx, state2) {
7718
7795
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BinaryOpRHS", BinaryOpRHS$$);
7719
7796
  }
7720
- 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) {
7797
+ 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) {
7721
7798
  var not = $3;
7722
7799
  return {
7723
7800
  type: "PatternTest",
@@ -7729,18 +7806,18 @@ ${js}`
7729
7806
  function IsLike(ctx, state2) {
7730
7807
  return (0, import_lib3.$EVENT)(ctx, state2, "IsLike", IsLike$0);
7731
7808
  }
7732
- 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) {
7809
+ 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) {
7733
7810
  var wrhs = $2;
7734
7811
  if (!wrhs)
7735
7812
  return $skip;
7736
7813
  return wrhs;
7737
7814
  });
7738
- var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)(_, (0, import_lib3.$S)(EOS, __)), RHS);
7815
+ var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)((0, import_lib3.$S)(EOS, __), _), RHS);
7739
7816
  var WRHS$$ = [WRHS$0, WRHS$1];
7740
7817
  function WRHS(ctx, state2) {
7741
7818
  return (0, import_lib3.$EVENT_C)(ctx, state2, "WRHS", WRHS$$);
7742
7819
  }
7743
- 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) {
7820
+ 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) {
7744
7821
  var ws1 = $1;
7745
7822
  var op = $2;
7746
7823
  var ws2 = $3;
@@ -7930,7 +8007,7 @@ ${js}`
7930
8007
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
7931
8008
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
7932
8009
  }
7933
- 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) {
8010
+ 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) {
7934
8011
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7935
8012
  $0 = [$1, $2];
7936
8013
  return {
@@ -7947,7 +8024,7 @@ ${js}`
7947
8024
  function ActualAssignment(ctx, state2) {
7948
8025
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
7949
8026
  }
7950
- 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) {
8027
+ 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) {
7951
8028
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7952
8029
  $0 = [$1, $2];
7953
8030
  return {
@@ -7964,7 +8041,7 @@ ${js}`
7964
8041
  function NonPipelineActualAssignment(ctx, state2) {
7965
8042
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
7966
8043
  }
7967
- 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) {
8044
+ 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) {
7968
8045
  if ($2) {
7969
8046
  const [star, expression] = $2;
7970
8047
  return {
@@ -8063,14 +8140,14 @@ ${js}`
8063
8140
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8064
8141
  }
8065
8142
  var TernaryRest$0 = NestedTernaryRest;
8066
- 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) {
8143
+ 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) {
8067
8144
  return $0.slice(2);
8068
8145
  });
8069
8146
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8070
8147
  function TernaryRest(ctx, state2) {
8071
8148
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8072
8149
  }
8073
- 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) {
8150
+ 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) {
8074
8151
  if ($2)
8075
8152
  return $2;
8076
8153
  return $skip;
@@ -8250,8 +8327,24 @@ ${js}`
8250
8327
  function ClassBinding(ctx, state2) {
8251
8328
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8252
8329
  }
8253
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8254
- var ClassHeritage$1 = ImplementsClause;
8330
+ 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) {
8331
+ var extendsClause = $1;
8332
+ var withClause = $2;
8333
+ var implementsClause = $3;
8334
+ if (withClause) {
8335
+ extendsClause = convertWithClause(withClause, extendsClause);
8336
+ }
8337
+ return [extendsClause, implementsClause];
8338
+ });
8339
+ 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) {
8340
+ var withClause = $1;
8341
+ var implementsClause = $2;
8342
+ if (withClause)
8343
+ return [convertWithClause(withClause), implementsClause];
8344
+ if (implementsClause)
8345
+ return implementsClause;
8346
+ return $skip;
8347
+ });
8255
8348
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8256
8349
  function ClassHeritage(ctx, state2) {
8257
8350
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8260,7 +8353,20 @@ ${js}`
8260
8353
  function ExtendsClause(ctx, state2) {
8261
8354
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8262
8355
  }
8263
- 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) {
8356
+ 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) {
8357
+ var ws = $3;
8358
+ var t = $4;
8359
+ var rest = $5;
8360
+ return {
8361
+ type: "WithClause",
8362
+ children: $0,
8363
+ targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
8364
+ };
8365
+ });
8366
+ function WithClause(ctx, state2) {
8367
+ return (0, import_lib3.$EVENT)(ctx, state2, "WithClause", WithClause$0);
8368
+ }
8369
+ 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) {
8264
8370
  var l = $1;
8265
8371
  var ws = $2;
8266
8372
  var t = $3;
@@ -8282,13 +8388,13 @@ ${js}`
8282
8388
  function ExtendsToken(ctx, state2) {
8283
8389
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8284
8390
  }
8285
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8391
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8286
8392
  return { $loc, token: "extends " };
8287
8393
  });
8288
8394
  function ExtendsShorthand(ctx, state2) {
8289
8395
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8290
8396
  }
8291
- 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) {
8397
+ 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) {
8292
8398
  var l = $1;
8293
8399
  var ws1 = $2;
8294
8400
  var ws2 = $3;
@@ -8314,7 +8420,7 @@ ${js}`
8314
8420
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8315
8421
  return "";
8316
8422
  });
8317
- 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) {
8423
+ 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) {
8318
8424
  return value[2];
8319
8425
  });
8320
8426
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8337,7 +8443,7 @@ ${js}`
8337
8443
  function ImplementsClause(ctx, state2) {
8338
8444
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8339
8445
  }
8340
- 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) {
8446
+ 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) {
8341
8447
  var l = $1;
8342
8448
  var ws = $2;
8343
8449
  var token = $3;
@@ -8347,7 +8453,7 @@ ${js}`
8347
8453
  }
8348
8454
  return { children };
8349
8455
  });
8350
- 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) {
8456
+ 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) {
8351
8457
  $2 = { $loc, token: $2 };
8352
8458
  return [$1, $2];
8353
8459
  });
@@ -8355,7 +8461,7 @@ ${js}`
8355
8461
  function ImplementsToken(ctx, state2) {
8356
8462
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8357
8463
  }
8358
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8464
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8359
8465
  return { $loc, token: "implements " };
8360
8466
  });
8361
8467
  function ImplementsShorthand(ctx, state2) {
@@ -8503,7 +8609,7 @@ ${js}`
8503
8609
  };
8504
8610
  }
8505
8611
  });
8506
- 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) {
8612
+ 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) {
8507
8613
  var r = $1;
8508
8614
  var ca = $5;
8509
8615
  r.children[0].$loc = {
@@ -8704,7 +8810,7 @@ ${js}`
8704
8810
  function OptionalDot(ctx, state2) {
8705
8811
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8706
8812
  }
8707
- var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L21, 'NonNullAssertion "^"'))), function(value) {
8813
+ var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L22, 'NonNullAssertion "^"'))), function(value) {
8708
8814
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8709
8815
  });
8710
8816
  function NonNullAssertion(ctx, state2) {
@@ -8912,7 +9018,7 @@ ${js}`
8912
9018
  ]
8913
9019
  };
8914
9020
  });
8915
- 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) {
9021
+ 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) {
8916
9022
  var dot = $1;
8917
9023
  var neg = $2;
8918
9024
  var num = $3;
@@ -9019,7 +9125,7 @@ ${js}`
9019
9125
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
9020
9126
  }
9021
9127
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
9022
- 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) {
9128
+ 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) {
9023
9129
  return { $loc, token: $1 };
9024
9130
  });
9025
9131
  var MetaProperty$2 = ReturnValue;
@@ -9027,7 +9133,7 @@ ${js}`
9027
9133
  function MetaProperty(ctx, state2) {
9028
9134
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
9029
9135
  }
9030
- 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) {
9136
+ 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) {
9031
9137
  return { type: "ReturnValue", children: [$1[0]] };
9032
9138
  });
9033
9139
  function ReturnValue(ctx, state2) {
@@ -9556,7 +9662,7 @@ ${js}`
9556
9662
  children: [ws, binding]
9557
9663
  };
9558
9664
  });
9559
- 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) {
9665
+ 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) {
9560
9666
  return {
9561
9667
  children: [{
9562
9668
  type: "ElisionElement",
@@ -10991,7 +11097,7 @@ ${js}`
10991
11097
  function NamedProperty(ctx, state2) {
10992
11098
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
10993
11099
  }
10994
- 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) {
11100
+ 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) {
10995
11101
  var name = $1;
10996
11102
  var colon = $2;
10997
11103
  var expression = $3;
@@ -11414,7 +11520,7 @@ ${js}`
11414
11520
  function IdentifierBinaryOp(ctx, state2) {
11415
11521
  return (0, import_lib3.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11416
11522
  }
11417
- 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) {
11523
+ 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) {
11418
11524
  var op = value[1];
11419
11525
  return op;
11420
11526
  });
@@ -11470,7 +11576,7 @@ ${js}`
11470
11576
  };
11471
11577
  });
11472
11578
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11473
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11579
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11474
11580
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11475
11581
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11476
11582
  return "<=";
@@ -11500,7 +11606,7 @@ ${js}`
11500
11606
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11501
11607
  return "<<";
11502
11608
  });
11503
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11609
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11504
11610
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11505
11611
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11506
11612
  return ">>>";
@@ -11639,7 +11745,7 @@ ${js}`
11639
11745
  });
11640
11746
  var BinaryOpSymbol$48 = In;
11641
11747
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11642
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11748
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11643
11749
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11644
11750
  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];
11645
11751
  function BinaryOpSymbol(ctx, state2) {
@@ -11732,7 +11838,7 @@ ${js}`
11732
11838
  return [op, [" "]];
11733
11839
  return [op, ws];
11734
11840
  });
11735
- 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) {
11841
+ 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) {
11736
11842
  return [value[0], value[3]];
11737
11843
  });
11738
11844
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12880,7 +12986,7 @@ ${js}`
12880
12986
  };
12881
12987
  });
12882
12988
  var KeywordStatement$2 = DebuggerStatement;
12883
- 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) {
12989
+ 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) {
12884
12990
  var expression = value[2];
12885
12991
  return { "type": "ReturnStatement", "expression": expression, "children": value };
12886
12992
  });
@@ -12895,7 +13001,7 @@ ${js}`
12895
13001
  function DebuggerStatement(ctx, state2) {
12896
13002
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
12897
13003
  }
12898
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, ExtendedExpression), function(value) {
13004
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
12899
13005
  return { "type": "ThrowStatement", "children": value };
12900
13006
  });
12901
13007
  function ThrowStatement(ctx, state2) {
@@ -12919,16 +13025,51 @@ ${js}`
12919
13025
  function Debugger(ctx, state2) {
12920
13026
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
12921
13027
  }
12922
- var MaybeNestedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
12923
- return $2;
13028
+ 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) {
13029
+ if ($3)
13030
+ return $3;
13031
+ return $skip;
12924
13032
  });
12925
- var MaybeNestedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function($skip, $loc, $0, $1, $2) {
12926
- return $2;
13033
+ var MaybeNestedNonPipelineExtendedExpression$1 = NonPipelineExtendedExpression;
13034
+ var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1];
13035
+ function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
13036
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
13037
+ }
13038
+ 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) {
13039
+ if ($3)
13040
+ return $3;
13041
+ return $skip;
12927
13042
  });
12928
- var MaybeNestedExpression$2 = (0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, Nested, ExtendedExpression, PopIndent, InsertNewline, InsertIndent, InsertCloseParen);
12929
- var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
12930
- function MaybeNestedExpression(ctx, state2) {
12931
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
13043
+ var MaybeNestedPostfixedExpression$1 = PostfixedExpression;
13044
+ var MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeNestedPostfixedExpression$1];
13045
+ function MaybeNestedPostfixedExpression(ctx, state2) {
13046
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
13047
+ }
13048
+ 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) {
13049
+ if ($3)
13050
+ return $3;
13051
+ return $skip;
13052
+ });
13053
+ var MaybeNestedExtendedExpression$1 = ExtendedExpression;
13054
+ var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1];
13055
+ function MaybeNestedExtendedExpression(ctx, state2) {
13056
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
13057
+ }
13058
+ var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
13059
+ return value[1];
13060
+ });
13061
+ var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function(value) {
13062
+ return value[1];
13063
+ });
13064
+ 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) {
13065
+ var exp = $5;
13066
+ if (!exp)
13067
+ return $skip;
13068
+ return $0.slice(1);
13069
+ });
13070
+ var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
13071
+ function MaybeParenNestedExtendedExpression(ctx, state2) {
13072
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
12932
13073
  }
12933
13074
  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) {
12934
13075
  const imp = [
@@ -13120,7 +13261,7 @@ ${js}`
13120
13261
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13121
13262
  }
13122
13263
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13123
- 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) {
13264
+ 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) {
13124
13265
  var l = $1;
13125
13266
  var ws = $2;
13126
13267
  var c = $3;
@@ -13181,7 +13322,7 @@ ${js}`
13181
13322
  function ImportedBinding(ctx, state2) {
13182
13323
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
13183
13324
  }
13184
- 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) {
13325
+ 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) {
13185
13326
  const exp = [
13186
13327
  { ...$1, ts: true },
13187
13328
  { ...$1, token: "module.exports", js: true }
@@ -13218,7 +13359,7 @@ ${js}`
13218
13359
  }
13219
13360
  ];
13220
13361
  });
13221
- 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) {
13362
+ 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) {
13222
13363
  var declaration = $6;
13223
13364
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
13224
13365
  });
@@ -13332,24 +13473,26 @@ ${js}`
13332
13473
  thisAssignments: bindings.flatMap((b) => b.thisAssignments)
13333
13474
  };
13334
13475
  });
13335
- 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) {
13336
- return processAssignmentDeclaration(...$0);
13337
- });
13338
- 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) {
13339
- return processAssignmentDeclaration(...$0);
13476
+ 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) {
13477
+ var loc = $1;
13478
+ var assign = $5;
13479
+ return processAssignmentDeclaration(
13480
+ { $loc: loc, token: assign.decl },
13481
+ ...$0.slice(1)
13482
+ );
13340
13483
  });
13341
- var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1, LexicalDeclaration$2];
13484
+ var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1];
13342
13485
  function LexicalDeclaration(ctx, state2) {
13343
13486
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalDeclaration", LexicalDeclaration$$);
13344
13487
  }
13345
13488
  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) {
13346
- return { $loc, token: "=" };
13489
+ return { $loc, token: "=", decl: "const " };
13347
13490
  });
13348
13491
  function ConstAssignment(ctx, state2) {
13349
13492
  return (0, import_lib3.$EVENT)(ctx, state2, "ConstAssignment", ConstAssignment$0);
13350
13493
  }
13351
13494
  var LetAssignment$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
13352
- return { $loc, token: "=" };
13495
+ return { $loc, token: "=", decl: "let " };
13353
13496
  });
13354
13497
  function LetAssignment(ctx, state2) {
13355
13498
  return (0, import_lib3.$EVENT)(ctx, state2, "LetAssignment", LetAssignment$0);
@@ -13395,7 +13538,7 @@ ${js}`
13395
13538
  function LexicalBinding(ctx, state2) {
13396
13539
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
13397
13540
  }
13398
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, ExtendedExpression), function(value) {
13541
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
13399
13542
  var expression = value[2];
13400
13543
  return { "type": "Initializer", "expression": expression, "children": value };
13401
13544
  });
@@ -13891,7 +14034,7 @@ ${js}`
13891
14034
  function Loc(ctx, state2) {
13892
14035
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13893
14036
  }
13894
- 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) {
14037
+ 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) {
13895
14038
  return { $loc, token: $1, ts: true };
13896
14039
  });
13897
14040
  function Abstract(ctx, state2) {
@@ -13945,7 +14088,7 @@ ${js}`
13945
14088
  function By(ctx, state2) {
13946
14089
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13947
14090
  }
13948
- var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
14091
+ var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L22, 'Caret "^"'), function($skip, $loc, $0, $1) {
13949
14092
  return { $loc, token: $1 };
13950
14093
  });
13951
14094
  function Caret(ctx, state2) {
@@ -14005,7 +14148,7 @@ ${js}`
14005
14148
  function Colon(ctx, state2) {
14006
14149
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
14007
14150
  }
14008
- var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
14151
+ var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
14009
14152
  return { $loc, token: $1 };
14010
14153
  });
14011
14154
  function Comma(ctx, state2) {
@@ -14165,7 +14308,7 @@ ${js}`
14165
14308
  function Hash(ctx, state2) {
14166
14309
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14167
14310
  }
14168
- 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) {
14311
+ 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) {
14169
14312
  return { $loc, token: $1 };
14170
14313
  });
14171
14314
  function If(ctx, state2) {
@@ -14243,7 +14386,7 @@ ${js}`
14243
14386
  function Of(ctx, state2) {
14244
14387
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14245
14388
  }
14246
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14389
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14247
14390
  return { $loc, token: $1 };
14248
14391
  });
14249
14392
  function OpenAngleBracket(ctx, state2) {
@@ -14494,6 +14637,12 @@ ${js}`
14494
14637
  function While(ctx, state2) {
14495
14638
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14496
14639
  }
14640
+ 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) {
14641
+ return { $loc, token: $1 };
14642
+ });
14643
+ function With(ctx, state2) {
14644
+ return (0, import_lib3.$EVENT)(ctx, state2, "With", With$0);
14645
+ }
14497
14646
  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) {
14498
14647
  return { $loc, token: $1, type: "Yield" };
14499
14648
  });
@@ -14573,7 +14722,7 @@ ${js}`
14573
14722
  function JSXElement(ctx, state2) {
14574
14723
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14575
14724
  }
14576
- 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) {
14725
+ 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) {
14577
14726
  return { type: "JSXElement", children: $0, tag: $2 };
14578
14727
  });
14579
14728
  function JSXSelfClosingElement(ctx, state2) {
@@ -14592,7 +14741,7 @@ ${js}`
14592
14741
  function PopJSXStack(ctx, state2) {
14593
14742
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14594
14743
  }
14595
- 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 ">"'));
14744
+ 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 ">"'));
14596
14745
  function JSXOpeningElement(ctx, state2) {
14597
14746
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14598
14747
  }
@@ -15248,7 +15397,7 @@ ${js}`
15248
15397
  function TypeDeclarationRest(ctx, state2) {
15249
15398
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeDeclarationRest", TypeDeclarationRest$$);
15250
15399
  }
15251
- 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) {
15400
+ 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) {
15252
15401
  var id = $3;
15253
15402
  return {
15254
15403
  type: "TypeDeclaration",
@@ -15257,7 +15406,7 @@ ${js}`
15257
15406
  ts: true
15258
15407
  };
15259
15408
  });
15260
- 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) {
15409
+ 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) {
15261
15410
  var id = $2;
15262
15411
  return {
15263
15412
  type: "TypeDeclaration",
@@ -15362,11 +15511,15 @@ ${js}`
15362
15511
  }
15363
15512
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15364
15513
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15365
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15514
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15366
15515
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15367
15516
  function InterfaceBlock(ctx, state2) {
15368
15517
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15369
15518
  }
15519
+ var NestedInterfaceBlock$0 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15520
+ function NestedInterfaceBlock(ctx, state2) {
15521
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedInterfaceBlock", NestedInterfaceBlock$0);
15522
+ }
15370
15523
  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) {
15371
15524
  var props = $2;
15372
15525
  if (props.length)
@@ -15553,7 +15706,7 @@ ${js}`
15553
15706
  function NestedEnumPropertyLine(ctx, state2) {
15554
15707
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
15555
15708
  }
15556
- 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) {
15709
+ 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) {
15557
15710
  var name = $1;
15558
15711
  var initializer = $2;
15559
15712
  return {
@@ -15580,7 +15733,7 @@ ${js}`
15580
15733
  function TypeIndex(ctx, state2) {
15581
15734
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeIndex", TypeIndex$$);
15582
15735
  }
15583
- 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) {
15736
+ 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) {
15584
15737
  var optional = value[1];
15585
15738
  var t = value[4];
15586
15739
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
@@ -15589,7 +15742,7 @@ ${js}`
15589
15742
  var optional = value[1];
15590
15743
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
15591
15744
  });
15592
- 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) {
15745
+ 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) {
15593
15746
  var nonnull = $1;
15594
15747
  var ct = $3;
15595
15748
  const [colon, t] = ct ?? [];
@@ -15605,18 +15758,16 @@ ${js}`
15605
15758
  function TypeSuffix(ctx, state2) {
15606
15759
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15607
15760
  }
15608
- var MaybeIndentedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15609
- return value[1];
15610
- });
15611
- 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) {
15761
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15762
+ 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) {
15612
15763
  if (!$2)
15613
15764
  return $skip;
15614
15765
  return $2;
15615
15766
  });
15616
- var MaybeIndentedType$2 = Type;
15617
- var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
15618
- function MaybeIndentedType(ctx, state2) {
15619
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeIndentedType", MaybeIndentedType$$);
15767
+ var MaybeNestedType$2 = Type;
15768
+ var MaybeNestedType$$ = [MaybeNestedType$0, MaybeNestedType$1, MaybeNestedType$2];
15769
+ function MaybeNestedType(ctx, state2) {
15770
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedType", MaybeNestedType$$);
15620
15771
  }
15621
15772
  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) {
15622
15773
  var optional = $2;
@@ -15869,9 +16020,9 @@ ${js}`
15869
16020
  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) {
15870
16021
  return [$1, expressionizeTypeIf($3)];
15871
16022
  });
15872
- 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) {
16023
+ 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) {
15873
16024
  if ($1.negated)
15874
- return [$1, $2, $3, $7, $5, $6, $4];
16025
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15875
16026
  return $0;
15876
16027
  });
15877
16028
  var TypeConditional$2 = TypeBinary;
@@ -15907,12 +16058,13 @@ ${js}`
15907
16058
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15908
16059
  return value[1];
15909
16060
  });
15910
- 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) {
16061
+ var TypeBlock$2 = NestedInterfaceBlock;
16062
+ 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) {
15911
16063
  if (!$2)
15912
16064
  return $skip;
15913
16065
  return $2;
15914
16066
  });
15915
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16067
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15916
16068
  function TypeBlock(ctx, state2) {
15917
16069
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15918
16070
  }