@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.js CHANGED
@@ -30,9 +30,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
- // node_modules/@danielx/hera/dist/machine.js
33
+ // ../Hera/dist/machine.js
34
34
  var require_machine = __commonJS({
35
- "node_modules/@danielx/hera/dist/machine.js"(exports2, module2) {
35
+ "../Hera/dist/machine.js"(exports2, module2) {
36
36
  "use strict";
37
37
  var __defProp2 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -515,6 +515,7 @@ __export(lib_exports, {
515
515
  blockWithPrefix: () => blockWithPrefix,
516
516
  convertNamedImportsToObject: () => convertNamedImportsToObject,
517
517
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
518
+ convertWithClause: () => convertWithClause,
518
519
  dedentBlockString: () => dedentBlockString,
519
520
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
520
521
  deepCopy: () => deepCopy,
@@ -566,6 +567,7 @@ __export(lib_exports, {
566
567
  replaceNode: () => replaceNode,
567
568
  replaceNodes: () => replaceNodes,
568
569
  skipImplicitArguments: () => skipImplicitArguments,
570
+ trimFirstSpace: () => trimFirstSpace,
569
571
  typeOfJSX: () => typeOfJSX,
570
572
  wrapIIFE: () => wrapIIFE
571
573
  });
@@ -1708,8 +1710,11 @@ function isEmptyBareBlock(node) {
1708
1710
  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");
1709
1711
  }
1710
1712
  function isFunction(node) {
1711
- const { type } = node;
1712
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
1713
+ if (node && typeof node === "object" && "type" in node) {
1714
+ const { type } = node;
1715
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
1716
+ }
1717
+ return false;
1713
1718
  }
1714
1719
  var statementTypes = /* @__PURE__ */ new Set([
1715
1720
  "BlockStatement",
@@ -1808,10 +1813,15 @@ function insertTrimmingSpace(target, c) {
1808
1813
  ...target,
1809
1814
  token: target.token.replace(/^ ?/, c)
1810
1815
  };
1816
+ } else if (typeof target === "string") {
1817
+ return target.replace(/^ ?/, c);
1811
1818
  } else {
1812
1819
  return target;
1813
1820
  }
1814
1821
  }
1822
+ function trimFirstSpace(target) {
1823
+ return insertTrimmingSpace(target, "");
1824
+ }
1815
1825
  function inplaceInsertTrimmingSpace(target, c) {
1816
1826
  if (!(target != null)) {
1817
1827
  return target;
@@ -2232,7 +2242,11 @@ function gatherNodes(node, predicate) {
2232
2242
  });
2233
2243
  }
2234
2244
  default: {
2235
- return gatherNodes(node.children, predicate);
2245
+ return gatherNodes(
2246
+ //@ts-ignore
2247
+ node.children,
2248
+ predicate
2249
+ );
2236
2250
  }
2237
2251
  }
2238
2252
  }
@@ -2243,12 +2257,18 @@ function gatherRecursive(node, predicate, skipPredicate) {
2243
2257
  if (Array.isArray(node)) {
2244
2258
  return node.flatMap(($) => gatherRecursive($, predicate, skipPredicate));
2245
2259
  }
2246
- if (skipPredicate?.(node))
2260
+ if (skipPredicate?.(node)) {
2247
2261
  return [];
2262
+ }
2248
2263
  if (predicate(node)) {
2249
2264
  return [node];
2250
2265
  }
2251
- return gatherRecursive(node.children, predicate, skipPredicate);
2266
+ return gatherRecursive(
2267
+ //@ts-ignore
2268
+ node.children,
2269
+ predicate,
2270
+ skipPredicate
2271
+ );
2252
2272
  }
2253
2273
  function gatherRecursiveAll(node, predicate) {
2254
2274
  if (node == null || typeof node === "string") {
@@ -2257,7 +2277,11 @@ function gatherRecursiveAll(node, predicate) {
2257
2277
  if (Array.isArray(node)) {
2258
2278
  return node.flatMap((n) => gatherRecursiveAll(n, predicate));
2259
2279
  }
2260
- const nodes = gatherRecursiveAll(node.children, predicate);
2280
+ const nodes = gatherRecursiveAll(
2281
+ //@ts-ignore
2282
+ node.children,
2283
+ predicate
2284
+ );
2261
2285
  if (predicate(node)) {
2262
2286
  nodes.push(node);
2263
2287
  }
@@ -2670,15 +2694,6 @@ var declareHelper = {
2670
2694
  ";\n"
2671
2695
  ]]);
2672
2696
  },
2673
- returnSymbol(ref) {
2674
- state.prelude.push(["", [
2675
- // [indent, statement]
2676
- preludeVar,
2677
- ref,
2678
- ` = Symbol("return")';
2679
- `
2680
- ]]);
2681
- },
2682
2697
  concatAssign(ref) {
2683
2698
  state.prelude.push(["", [
2684
2699
  // [indent, statement]
@@ -3625,6 +3640,39 @@ function dynamizeImportDeclarationExpression($0) {
3625
3640
  ]
3626
3641
  });
3627
3642
  }
3643
+ function convertWithClause(withClause, extendsClause) {
3644
+ let extendsToken, extendsTarget, ws;
3645
+ if (extendsClause) {
3646
+ [extendsToken, ws, extendsTarget] = extendsClause;
3647
+ } else {
3648
+ extendsToken = {
3649
+ type: "Extends",
3650
+ children: [" extends"]
3651
+ };
3652
+ ws = "";
3653
+ extendsTarget = "Object";
3654
+ }
3655
+ const wrapped = withClause.targets.reduce(
3656
+ (extendsTarget2, [wsNext, withTarget]) => {
3657
+ const args = [extendsTarget2];
3658
+ const exp = {
3659
+ type: "CallExpression",
3660
+ children: [
3661
+ makeLeftHandSideExpression(withTarget),
3662
+ {
3663
+ type: "Call",
3664
+ args,
3665
+ children: ["(", trimFirstSpace(ws), args, ")"]
3666
+ }
3667
+ ]
3668
+ };
3669
+ ws = wsNext;
3670
+ return exp;
3671
+ },
3672
+ extendsTarget
3673
+ );
3674
+ return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
3675
+ }
3628
3676
 
3629
3677
  // source/parser/unary.civet
3630
3678
  function processUnaryExpression(pre, exp, post) {
@@ -4712,7 +4760,7 @@ function getIndentOfBlockString(str, tab) {
4712
4760
  minLevel = level;
4713
4761
  }
4714
4762
  }
4715
- if (minLevel == Infinity) {
4763
+ if (minLevel === Infinity) {
4716
4764
  minLevel = 0;
4717
4765
  }
4718
4766
  return minLevel;
@@ -4758,7 +4806,7 @@ function dedentBlockSubstitutions($0, tab) {
4758
4806
  if (/^[ \t]*\r?\n/.test(stringPart)) {
4759
4807
  ref1 = getIndentOfBlockString(stringPart, tab);
4760
4808
  } else {
4761
- ref1 = false;
4809
+ ref1 = void 0;
4762
4810
  }
4763
4811
  ;
4764
4812
  const dedent = ref1;
@@ -4784,21 +4832,39 @@ function dedentBlockSubstitutions($0, tab) {
4784
4832
  };
4785
4833
  }
4786
4834
  function processCoffeeInterpolation(s, parts, e, $loc) {
4787
- if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
4835
+ if (parts.length === 0) {
4788
4836
  return {
4789
4837
  type: "StringLiteral",
4790
- token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
4838
+ token: '""',
4791
4839
  $loc
4792
4840
  };
4793
4841
  }
4794
- parts.forEach((part) => {
4795
- if (part.token) {
4796
- const str = part.token.replace(/(`|\$\{)/g, "\\$1");
4797
- return part.token = modifyString(str);
4842
+ if (parts.length === 1) {
4843
+ let ref2;
4844
+ if ((ref2 = parts[0]) && typeof ref2 === "object" && "token" in ref2) {
4845
+ const { token } = ref2;
4846
+ return {
4847
+ type: "StringLiteral",
4848
+ token: `"${modifyString(token)}"`,
4849
+ $loc
4850
+ };
4798
4851
  }
4799
- ;
4800
- return;
4801
- });
4852
+ }
4853
+ const results2 = [];
4854
+ for (let i4 = 0, len3 = parts.length; i4 < len3; i4++) {
4855
+ const part = parts[i4];
4856
+ if ("token" in part) {
4857
+ const token = modifyString(part.token.replace(/(`|\$\{)/g, "\\$1"));
4858
+ results2.push({
4859
+ ...part,
4860
+ token
4861
+ });
4862
+ } else {
4863
+ results2.push(part);
4864
+ }
4865
+ }
4866
+ ;
4867
+ parts = results2;
4802
4868
  s.token = e.token = "`";
4803
4869
  return {
4804
4870
  type: "TemplateLiteral",
@@ -6293,6 +6359,7 @@ var grammar = {
6293
6359
  ClassBinding,
6294
6360
  ClassHeritage,
6295
6361
  ExtendsClause,
6362
+ WithClause,
6296
6363
  ExtendsToken,
6297
6364
  ExtendsShorthand,
6298
6365
  NotExtendsToken,
@@ -6570,7 +6637,10 @@ var grammar = {
6570
6637
  Break,
6571
6638
  Continue,
6572
6639
  Debugger,
6573
- MaybeNestedExpression,
6640
+ MaybeNestedNonPipelineExtendedExpression,
6641
+ MaybeNestedPostfixedExpression,
6642
+ MaybeNestedExtendedExpression,
6643
+ MaybeParenNestedExtendedExpression,
6574
6644
  ImportDeclaration,
6575
6645
  ImpliedImport,
6576
6646
  ImportClause,
@@ -6759,6 +6829,7 @@ var grammar = {
6759
6829
  Void,
6760
6830
  When,
6761
6831
  While,
6832
+ With,
6762
6833
  Yield,
6763
6834
  JSXImplicitFragment,
6764
6835
  JSXTag,
@@ -6826,6 +6897,7 @@ var grammar = {
6826
6897
  Module,
6827
6898
  Namespace,
6828
6899
  InterfaceBlock,
6900
+ NestedInterfaceBlock,
6829
6901
  NestedInterfaceProperties,
6830
6902
  NestedInterfaceProperty,
6831
6903
  InterfaceProperty,
@@ -6847,7 +6919,7 @@ var grammar = {
6847
6919
  TypeIndexSignature,
6848
6920
  TypeIndex,
6849
6921
  TypeSuffix,
6850
- MaybeIndentedType,
6922
+ MaybeNestedType,
6851
6923
  ReturnTypeSuffix,
6852
6924
  ReturnType,
6853
6925
  TypePredicate,
@@ -6967,15 +7039,15 @@ var $L13 = (0, import_lib3.$L)("=>");
6967
7039
  var $L14 = (0, import_lib3.$L)("\u21D2");
6968
7040
  var $L15 = (0, import_lib3.$L)("import");
6969
7041
  var $L16 = (0, import_lib3.$L)(":");
6970
- var $L17 = (0, import_lib3.$L)(" ");
6971
- var $L18 = (0, import_lib3.$L)("<");
6972
- var $L19 = (0, import_lib3.$L)("implements");
6973
- var $L20 = (0, import_lib3.$L)("<:");
6974
- var $L21 = (0, import_lib3.$L)("^");
6975
- var $L22 = (0, import_lib3.$L)("-");
6976
- var $L23 = (0, import_lib3.$L)("import.meta");
6977
- var $L24 = (0, import_lib3.$L)("return.value");
6978
- var $L25 = (0, import_lib3.$L)(",");
7042
+ var $L17 = (0, import_lib3.$L)(",");
7043
+ var $L18 = (0, import_lib3.$L)(" ");
7044
+ var $L19 = (0, import_lib3.$L)("<");
7045
+ var $L20 = (0, import_lib3.$L)("implements");
7046
+ var $L21 = (0, import_lib3.$L)("<:");
7047
+ var $L22 = (0, import_lib3.$L)("^");
7048
+ var $L23 = (0, import_lib3.$L)("-");
7049
+ var $L24 = (0, import_lib3.$L)("import.meta");
7050
+ var $L25 = (0, import_lib3.$L)("return.value");
6979
7051
  var $L26 = (0, import_lib3.$L)("tighter");
6980
7052
  var $L27 = (0, import_lib3.$L)("looser");
6981
7053
  var $L28 = (0, import_lib3.$L)("same");
@@ -7199,7 +7271,7 @@ var $R16 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
7199
7271
  var $R17 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7200
7272
  var $R18 = (0, import_lib3.$R)(new RegExp("(?=\\[)", "suy"));
7201
7273
  var $R19 = (0, import_lib3.$R)(new RegExp("[!+-]?", "suy"));
7202
- 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"));
7274
+ 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"));
7203
7275
  var $R21 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7204
7276
  var $R22 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7205
7277
  var $R23 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
@@ -7592,23 +7664,28 @@ var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentLi
7592
7664
  function ArgumentList(ctx, state2) {
7593
7665
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
7594
7666
  }
7595
- 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) {
7667
+ 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) {
7596
7668
  return [
7597
- $1,
7598
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7599
- ...$3.flatMap(
7669
+ $2,
7670
+ ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
7671
+ ...$4.flatMap(
7600
7672
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7601
7673
  )
7602
7674
  ];
7603
7675
  });
7604
- var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
7605
- return [insertTrimmingSpace($1, "")];
7676
+ 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) {
7677
+ return [
7678
+ insertTrimmingSpace($1, ""),
7679
+ ...$2.flatMap(
7680
+ ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
7681
+ )
7682
+ ];
7606
7683
  });
7607
7684
  var NonPipelineArgumentList$2 = NestedArgumentList;
7608
- 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) {
7685
+ 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) {
7609
7686
  return [
7610
- prepend($1, $2),
7611
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7687
+ $1,
7688
+ ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
7612
7689
  ];
7613
7690
  });
7614
7691
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
@@ -7671,7 +7748,7 @@ var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpress
7671
7748
  function BinaryOpExpression(ctx, state2) {
7672
7749
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
7673
7750
  }
7674
- 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) {
7751
+ 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) {
7675
7752
  var ws1 = $1;
7676
7753
  var op = $2;
7677
7754
  var ws2 = $3;
@@ -7695,7 +7772,7 @@ var BinaryOpRHS$$ = [BinaryOpRHS$0, BinaryOpRHS$1, BinaryOpRHS$2, BinaryOpRHS$3]
7695
7772
  function BinaryOpRHS(ctx, state2) {
7696
7773
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BinaryOpRHS", BinaryOpRHS$$);
7697
7774
  }
7698
- 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) {
7775
+ 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) {
7699
7776
  var not = $3;
7700
7777
  return {
7701
7778
  type: "PatternTest",
@@ -7707,18 +7784,18 @@ var IsLike$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is, (0, import_lib3.$E)(
7707
7784
  function IsLike(ctx, state2) {
7708
7785
  return (0, import_lib3.$EVENT)(ctx, state2, "IsLike", IsLike$0);
7709
7786
  }
7710
- 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) {
7787
+ 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) {
7711
7788
  var wrhs = $2;
7712
7789
  if (!wrhs)
7713
7790
  return $skip;
7714
7791
  return wrhs;
7715
7792
  });
7716
- var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)(_, (0, import_lib3.$S)(EOS, __)), RHS);
7793
+ var WRHS$1 = (0, import_lib3.$S)((0, import_lib3.$C)((0, import_lib3.$S)(EOS, __), _), RHS);
7717
7794
  var WRHS$$ = [WRHS$0, WRHS$1];
7718
7795
  function WRHS(ctx, state2) {
7719
7796
  return (0, import_lib3.$EVENT_C)(ctx, state2, "WRHS", WRHS$$);
7720
7797
  }
7721
- 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) {
7798
+ 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) {
7722
7799
  var ws1 = $1;
7723
7800
  var op = $2;
7724
7801
  var ws2 = $3;
@@ -7908,7 +7985,7 @@ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail
7908
7985
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
7909
7986
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
7910
7987
  }
7911
- 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) {
7988
+ 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) {
7912
7989
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7913
7990
  $0 = [$1, $2];
7914
7991
  return {
@@ -7925,7 +8002,7 @@ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
7925
8002
  function ActualAssignment(ctx, state2) {
7926
8003
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
7927
8004
  }
7928
- 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) {
8005
+ 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) {
7929
8006
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
7930
8007
  $0 = [$1, $2];
7931
8008
  return {
@@ -7942,7 +8019,7 @@ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0,
7942
8019
  function NonPipelineActualAssignment(ctx, state2) {
7943
8020
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
7944
8021
  }
7945
- 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) {
8022
+ 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) {
7946
8023
  if ($2) {
7947
8024
  const [star, expression] = $2;
7948
8025
  return {
@@ -8041,14 +8118,14 @@ function ConditionalExpression(ctx, state2) {
8041
8118
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8042
8119
  }
8043
8120
  var TernaryRest$0 = NestedTernaryRest;
8044
- 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) {
8121
+ 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) {
8045
8122
  return $0.slice(2);
8046
8123
  });
8047
8124
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8048
8125
  function TernaryRest(ctx, state2) {
8049
8126
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8050
8127
  }
8051
- 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) {
8128
+ 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) {
8052
8129
  if ($2)
8053
8130
  return $2;
8054
8131
  return $skip;
@@ -8228,8 +8305,24 @@ var ClassBinding$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)
8228
8305
  function ClassBinding(ctx, state2) {
8229
8306
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8230
8307
  }
8231
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8232
- var ClassHeritage$1 = ImplementsClause;
8308
+ 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) {
8309
+ var extendsClause = $1;
8310
+ var withClause = $2;
8311
+ var implementsClause = $3;
8312
+ if (withClause) {
8313
+ extendsClause = convertWithClause(withClause, extendsClause);
8314
+ }
8315
+ return [extendsClause, implementsClause];
8316
+ });
8317
+ 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) {
8318
+ var withClause = $1;
8319
+ var implementsClause = $2;
8320
+ if (withClause)
8321
+ return [convertWithClause(withClause), implementsClause];
8322
+ if (implementsClause)
8323
+ return implementsClause;
8324
+ return $skip;
8325
+ });
8233
8326
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8234
8327
  function ClassHeritage(ctx, state2) {
8235
8328
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8238,7 +8331,20 @@ var ExtendsClause$0 = (0, import_lib3.$S)(ExtendsToken, __, ExtendsTarget);
8238
8331
  function ExtendsClause(ctx, state2) {
8239
8332
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8240
8333
  }
8241
- 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) {
8334
+ 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) {
8335
+ var ws = $3;
8336
+ var t = $4;
8337
+ var rest = $5;
8338
+ return {
8339
+ type: "WithClause",
8340
+ children: $0,
8341
+ targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
8342
+ };
8343
+ });
8344
+ function WithClause(ctx, state2) {
8345
+ return (0, import_lib3.$EVENT)(ctx, state2, "WithClause", WithClause$0);
8346
+ }
8347
+ 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) {
8242
8348
  var l = $1;
8243
8349
  var ws = $2;
8244
8350
  var t = $3;
@@ -8260,13 +8366,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
8260
8366
  function ExtendsToken(ctx, state2) {
8261
8367
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8262
8368
  }
8263
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8369
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8264
8370
  return { $loc, token: "extends " };
8265
8371
  });
8266
8372
  function ExtendsShorthand(ctx, state2) {
8267
8373
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8268
8374
  }
8269
- 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) {
8375
+ 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) {
8270
8376
  var l = $1;
8271
8377
  var ws1 = $2;
8272
8378
  var ws2 = $3;
@@ -8292,7 +8398,7 @@ function NotExtendsToken(ctx, state2) {
8292
8398
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8293
8399
  return "";
8294
8400
  });
8295
- 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) {
8401
+ 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) {
8296
8402
  return value[2];
8297
8403
  });
8298
8404
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8315,7 +8421,7 @@ var ImplementsClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ImplementsToke
8315
8421
  function ImplementsClause(ctx, state2) {
8316
8422
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8317
8423
  }
8318
- 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) {
8424
+ 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) {
8319
8425
  var l = $1;
8320
8426
  var ws = $2;
8321
8427
  var token = $3;
@@ -8325,7 +8431,7 @@ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Implem
8325
8431
  }
8326
8432
  return { children };
8327
8433
  });
8328
- 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) {
8434
+ 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) {
8329
8435
  $2 = { $loc, token: $2 };
8330
8436
  return [$1, $2];
8331
8437
  });
@@ -8333,7 +8439,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
8333
8439
  function ImplementsToken(ctx, state2) {
8334
8440
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8335
8441
  }
8336
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8442
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8337
8443
  return { $loc, token: "implements " };
8338
8444
  });
8339
8445
  function ImplementsShorthand(ctx, state2) {
@@ -8481,7 +8587,7 @@ var FieldDefinition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeClassesEn
8481
8587
  };
8482
8588
  }
8483
8589
  });
8484
- 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) {
8590
+ 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) {
8485
8591
  var r = $1;
8486
8592
  var ca = $5;
8487
8593
  r.children[0].$loc = {
@@ -8682,7 +8788,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
8682
8788
  function OptionalDot(ctx, state2) {
8683
8789
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8684
8790
  }
8685
- var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L21, 'NonNullAssertion "^"'))), function(value) {
8791
+ var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L22, 'NonNullAssertion "^"'))), function(value) {
8686
8792
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8687
8793
  });
8688
8794
  function NonNullAssertion(ctx, state2) {
@@ -8890,7 +8996,7 @@ var PropertyAccess$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0,
8890
8996
  ]
8891
8997
  };
8892
8998
  });
8893
- 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) {
8999
+ 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) {
8894
9000
  var dot = $1;
8895
9001
  var neg = $2;
8896
9002
  var num = $3;
@@ -8997,7 +9103,7 @@ function SuperProperty(ctx, state2) {
8997
9103
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
8998
9104
  }
8999
9105
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
9000
- 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) {
9106
+ 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) {
9001
9107
  return { $loc, token: $1 };
9002
9108
  });
9003
9109
  var MetaProperty$2 = ReturnValue;
@@ -9005,7 +9111,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
9005
9111
  function MetaProperty(ctx, state2) {
9006
9112
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
9007
9113
  }
9008
- 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) {
9114
+ 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) {
9009
9115
  return { type: "ReturnValue", children: [$1[0]] };
9010
9116
  });
9011
9117
  function ReturnValue(ctx, state2) {
@@ -9534,7 +9640,7 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9534
9640
  children: [ws, binding]
9535
9641
  };
9536
9642
  });
9537
- 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) {
9643
+ 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) {
9538
9644
  return {
9539
9645
  children: [{
9540
9646
  type: "ElisionElement",
@@ -10969,7 +11075,7 @@ var NamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, (0,
10969
11075
  function NamedProperty(ctx, state2) {
10970
11076
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
10971
11077
  }
10972
- 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) {
11078
+ 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) {
10973
11079
  var name = $1;
10974
11080
  var colon = $2;
10975
11081
  var expression = $3;
@@ -11392,7 +11498,7 @@ var IdentifierBinaryOp$0 = (0, import_lib3.$TV)(Identifier, function($skip, $loc
11392
11498
  function IdentifierBinaryOp(ctx, state2) {
11393
11499
  return (0, import_lib3.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11394
11500
  }
11395
- 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) {
11501
+ 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) {
11396
11502
  var op = value[1];
11397
11503
  return op;
11398
11504
  });
@@ -11448,7 +11554,7 @@ var BinaryOpSymbol$5 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.
11448
11554
  };
11449
11555
  });
11450
11556
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11451
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11557
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11452
11558
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11453
11559
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11454
11560
  return "<=";
@@ -11478,7 +11584,7 @@ var BinaryOpSymbol$14 = (0, import_lib3.$EXPECT)($L76, 'BinaryOpSymbol "<<"');
11478
11584
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11479
11585
  return "<<";
11480
11586
  });
11481
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11587
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11482
11588
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11483
11589
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11484
11590
  return ">>>";
@@ -11617,7 +11723,7 @@ var BinaryOpSymbol$47 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is), function($
11617
11723
  });
11618
11724
  var BinaryOpSymbol$48 = In;
11619
11725
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11620
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11726
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11621
11727
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11622
11728
  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];
11623
11729
  function BinaryOpSymbol(ctx, state2) {
@@ -11710,7 +11816,7 @@ var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Del
11710
11816
  return [op, [" "]];
11711
11817
  return [op, ws];
11712
11818
  });
11713
- 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) {
11819
+ 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) {
11714
11820
  return [value[0], value[3]];
11715
11821
  });
11716
11822
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12858,7 +12964,7 @@ var KeywordStatement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0,
12858
12964
  };
12859
12965
  });
12860
12966
  var KeywordStatement$2 = DebuggerStatement;
12861
- 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) {
12967
+ 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) {
12862
12968
  var expression = value[2];
12863
12969
  return { "type": "ReturnStatement", "expression": expression, "children": value };
12864
12970
  });
@@ -12873,7 +12979,7 @@ var DebuggerStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Debugger), fun
12873
12979
  function DebuggerStatement(ctx, state2) {
12874
12980
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
12875
12981
  }
12876
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, ExtendedExpression), function(value) {
12982
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
12877
12983
  return { "type": "ThrowStatement", "children": value };
12878
12984
  });
12879
12985
  function ThrowStatement(ctx, state2) {
@@ -12897,16 +13003,51 @@ var Debugger$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPEC
12897
13003
  function Debugger(ctx, state2) {
12898
13004
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
12899
13005
  }
12900
- var MaybeNestedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
12901
- return $2;
13006
+ 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) {
13007
+ if ($3)
13008
+ return $3;
13009
+ return $skip;
12902
13010
  });
12903
- var MaybeNestedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function($skip, $loc, $0, $1, $2) {
12904
- return $2;
13011
+ var MaybeNestedNonPipelineExtendedExpression$1 = NonPipelineExtendedExpression;
13012
+ var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1];
13013
+ function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
13014
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
13015
+ }
13016
+ 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) {
13017
+ if ($3)
13018
+ return $3;
13019
+ return $skip;
12905
13020
  });
12906
- var MaybeNestedExpression$2 = (0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, Nested, ExtendedExpression, PopIndent, InsertNewline, InsertIndent, InsertCloseParen);
12907
- var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
12908
- function MaybeNestedExpression(ctx, state2) {
12909
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
13021
+ var MaybeNestedPostfixedExpression$1 = PostfixedExpression;
13022
+ var MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeNestedPostfixedExpression$1];
13023
+ function MaybeNestedPostfixedExpression(ctx, state2) {
13024
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
13025
+ }
13026
+ 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) {
13027
+ if ($3)
13028
+ return $3;
13029
+ return $skip;
13030
+ });
13031
+ var MaybeNestedExtendedExpression$1 = ExtendedExpression;
13032
+ var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1];
13033
+ function MaybeNestedExtendedExpression(ctx, state2) {
13034
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
13035
+ }
13036
+ var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
13037
+ return value[1];
13038
+ });
13039
+ var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), ObjectLiteral), function(value) {
13040
+ return value[1];
13041
+ });
13042
+ 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) {
13043
+ var exp = $5;
13044
+ if (!exp)
13045
+ return $skip;
13046
+ return $0.slice(1);
13047
+ });
13048
+ var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
13049
+ function MaybeParenNestedExtendedExpression(ctx, state2) {
13050
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
12910
13051
  }
12911
13052
  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) {
12912
13053
  const imp = [
@@ -13098,7 +13239,7 @@ function OperatorImportSpecifier(ctx, state2) {
13098
13239
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13099
13240
  }
13100
13241
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13101
- 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) {
13242
+ 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) {
13102
13243
  var l = $1;
13103
13244
  var ws = $2;
13104
13245
  var c = $3;
@@ -13159,7 +13300,7 @@ var ImportedBinding$0 = BindingIdentifier;
13159
13300
  function ImportedBinding(ctx, state2) {
13160
13301
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
13161
13302
  }
13162
- 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) {
13303
+ 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) {
13163
13304
  const exp = [
13164
13305
  { ...$1, ts: true },
13165
13306
  { ...$1, token: "module.exports", js: true }
@@ -13196,7 +13337,7 @@ var ExportDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
13196
13337
  }
13197
13338
  ];
13198
13339
  });
13199
- 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) {
13340
+ 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) {
13200
13341
  var declaration = $6;
13201
13342
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
13202
13343
  });
@@ -13310,24 +13451,26 @@ var LexicalDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(LetOrConst,
13310
13451
  thisAssignments: bindings.flatMap((b) => b.thisAssignments)
13311
13452
  };
13312
13453
  });
13313
- 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) {
13314
- return processAssignmentDeclaration(...$0);
13315
- });
13316
- 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) {
13317
- return processAssignmentDeclaration(...$0);
13454
+ 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) {
13455
+ var loc = $1;
13456
+ var assign = $5;
13457
+ return processAssignmentDeclaration(
13458
+ { $loc: loc, token: assign.decl },
13459
+ ...$0.slice(1)
13460
+ );
13318
13461
  });
13319
- var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1, LexicalDeclaration$2];
13462
+ var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1];
13320
13463
  function LexicalDeclaration(ctx, state2) {
13321
13464
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalDeclaration", LexicalDeclaration$$);
13322
13465
  }
13323
13466
  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) {
13324
- return { $loc, token: "=" };
13467
+ return { $loc, token: "=", decl: "const " };
13325
13468
  });
13326
13469
  function ConstAssignment(ctx, state2) {
13327
13470
  return (0, import_lib3.$EVENT)(ctx, state2, "ConstAssignment", ConstAssignment$0);
13328
13471
  }
13329
13472
  var LetAssignment$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
13330
- return { $loc, token: "=" };
13473
+ return { $loc, token: "=", decl: "let " };
13331
13474
  });
13332
13475
  function LetAssignment(ctx, state2) {
13333
13476
  return (0, import_lib3.$EVENT)(ctx, state2, "LetAssignment", LetAssignment$0);
@@ -13373,7 +13516,7 @@ var LexicalBinding$$ = [LexicalBinding$0, LexicalBinding$1];
13373
13516
  function LexicalBinding(ctx, state2) {
13374
13517
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
13375
13518
  }
13376
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, ExtendedExpression), function(value) {
13519
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
13377
13520
  var expression = value[2];
13378
13521
  return { "type": "Initializer", "expression": expression, "children": value };
13379
13522
  });
@@ -13869,7 +14012,7 @@ var Loc$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Loc ""'), functi
13869
14012
  function Loc(ctx, state2) {
13870
14013
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13871
14014
  }
13872
- 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) {
14015
+ 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) {
13873
14016
  return { $loc, token: $1, ts: true };
13874
14017
  });
13875
14018
  function Abstract(ctx, state2) {
@@ -13923,7 +14066,7 @@ var By$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
13923
14066
  function By(ctx, state2) {
13924
14067
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13925
14068
  }
13926
- var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
14069
+ var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L22, 'Caret "^"'), function($skip, $loc, $0, $1) {
13927
14070
  return { $loc, token: $1 };
13928
14071
  });
13929
14072
  function Caret(ctx, state2) {
@@ -13983,7 +14126,7 @@ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
13983
14126
  function Colon(ctx, state2) {
13984
14127
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
13985
14128
  }
13986
- var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
14129
+ var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
13987
14130
  return { $loc, token: $1 };
13988
14131
  });
13989
14132
  function Comma(ctx, state2) {
@@ -14143,7 +14286,7 @@ var Hash$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L160, 'Hash "#"'), f
14143
14286
  function Hash(ctx, state2) {
14144
14287
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14145
14288
  }
14146
- 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) {
14289
+ 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) {
14147
14290
  return { $loc, token: $1 };
14148
14291
  });
14149
14292
  function If(ctx, state2) {
@@ -14221,7 +14364,7 @@ var Of$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
14221
14364
  function Of(ctx, state2) {
14222
14365
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14223
14366
  }
14224
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14367
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14225
14368
  return { $loc, token: $1 };
14226
14369
  });
14227
14370
  function OpenAngleBracket(ctx, state2) {
@@ -14472,6 +14615,12 @@ var While$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14472
14615
  function While(ctx, state2) {
14473
14616
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14474
14617
  }
14618
+ 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) {
14619
+ return { $loc, token: $1 };
14620
+ });
14621
+ function With(ctx, state2) {
14622
+ return (0, import_lib3.$EVENT)(ctx, state2, "With", With$0);
14623
+ }
14475
14624
  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) {
14476
14625
  return { $loc, token: $1, type: "Yield" };
14477
14626
  });
@@ -14551,7 +14700,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
14551
14700
  function JSXElement(ctx, state2) {
14552
14701
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14553
14702
  }
14554
- 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) {
14703
+ 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) {
14555
14704
  return { type: "JSXElement", children: $0, tag: $2 };
14556
14705
  });
14557
14706
  function JSXSelfClosingElement(ctx, state2) {
@@ -14570,7 +14719,7 @@ var PopJSXStack$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PopJSXSt
14570
14719
  function PopJSXStack(ctx, state2) {
14571
14720
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14572
14721
  }
14573
- 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 ">"'));
14722
+ 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 ">"'));
14574
14723
  function JSXOpeningElement(ctx, state2) {
14575
14724
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14576
14725
  }
@@ -15226,7 +15375,7 @@ var TypeDeclarationRest$$ = [TypeDeclarationRest$0, TypeDeclarationRest$1, TypeD
15226
15375
  function TypeDeclarationRest(ctx, state2) {
15227
15376
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeDeclarationRest", TypeDeclarationRest$$);
15228
15377
  }
15229
- 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) {
15378
+ 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) {
15230
15379
  var id = $3;
15231
15380
  return {
15232
15381
  type: "TypeDeclaration",
@@ -15235,7 +15384,7 @@ var TypeAliasDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeKeywor
15235
15384
  ts: true
15236
15385
  };
15237
15386
  });
15238
- 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) {
15387
+ 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) {
15239
15388
  var id = $2;
15240
15389
  return {
15241
15390
  type: "TypeDeclaration",
@@ -15340,11 +15489,15 @@ function Namespace(ctx, state2) {
15340
15489
  }
15341
15490
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15342
15491
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15343
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15492
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15344
15493
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15345
15494
  function InterfaceBlock(ctx, state2) {
15346
15495
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15347
15496
  }
15497
+ var NestedInterfaceBlock$0 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15498
+ function NestedInterfaceBlock(ctx, state2) {
15499
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedInterfaceBlock", NestedInterfaceBlock$0);
15500
+ }
15348
15501
  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) {
15349
15502
  var props = $2;
15350
15503
  if (props.length)
@@ -15531,7 +15684,7 @@ var NestedEnumPropertyLine$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, impo
15531
15684
  function NestedEnumPropertyLine(ctx, state2) {
15532
15685
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
15533
15686
  }
15534
- 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) {
15687
+ 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) {
15535
15688
  var name = $1;
15536
15689
  var initializer = $2;
15537
15690
  return {
@@ -15558,7 +15711,7 @@ var TypeIndex$$ = [TypeIndex$0, TypeIndex$1];
15558
15711
  function TypeIndex(ctx, state2) {
15559
15712
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeIndex", TypeIndex$$);
15560
15713
  }
15561
- 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) {
15714
+ 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) {
15562
15715
  var optional = value[1];
15563
15716
  var t = value[4];
15564
15717
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
@@ -15567,7 +15720,7 @@ var TypeSuffix$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_
15567
15720
  var optional = value[1];
15568
15721
  return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
15569
15722
  });
15570
- 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) {
15723
+ 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) {
15571
15724
  var nonnull = $1;
15572
15725
  var ct = $3;
15573
15726
  const [colon, t] = ct ?? [];
@@ -15583,18 +15736,16 @@ var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
15583
15736
  function TypeSuffix(ctx, state2) {
15584
15737
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15585
15738
  }
15586
- var MaybeIndentedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15587
- return value[1];
15588
- });
15589
- 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) {
15739
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15740
+ 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) {
15590
15741
  if (!$2)
15591
15742
  return $skip;
15592
15743
  return $2;
15593
15744
  });
15594
- var MaybeIndentedType$2 = Type;
15595
- var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
15596
- function MaybeIndentedType(ctx, state2) {
15597
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeIndentedType", MaybeIndentedType$$);
15745
+ var MaybeNestedType$2 = Type;
15746
+ var MaybeNestedType$$ = [MaybeNestedType$0, MaybeNestedType$1, MaybeNestedType$2];
15747
+ function MaybeNestedType(ctx, state2) {
15748
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedType", MaybeNestedType$$);
15598
15749
  }
15599
15750
  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) {
15600
15751
  var optional = $2;
@@ -15847,9 +15998,9 @@ function NestedType(ctx, state2) {
15847
15998
  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) {
15848
15999
  return [$1, expressionizeTypeIf($3)];
15849
16000
  });
15850
- 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) {
16001
+ 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) {
15851
16002
  if ($1.negated)
15852
- return [$1, $2, $3, $7, $5, $6, $4];
16003
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15853
16004
  return $0;
15854
16005
  });
15855
16006
  var TypeConditional$2 = TypeBinary;
@@ -15885,12 +16036,13 @@ var TypeBlock$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Then, Type), function(
15885
16036
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15886
16037
  return value[1];
15887
16038
  });
15888
- 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) {
16039
+ var TypeBlock$2 = NestedInterfaceBlock;
16040
+ 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) {
15889
16041
  if (!$2)
15890
16042
  return $skip;
15891
16043
  return $2;
15892
16044
  });
15893
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16045
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15894
16046
  function TypeBlock(ctx, state2) {
15895
16047
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15896
16048
  }