@danielx/civet 0.7.13 → 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
@@ -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
+ };
4851
+ }
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);
4798
4864
  }
4799
- ;
4800
- return;
4801
- });
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,
@@ -6762,6 +6829,7 @@ var grammar = {
6762
6829
  Void,
6763
6830
  When,
6764
6831
  While,
6832
+ With,
6765
6833
  Yield,
6766
6834
  JSXImplicitFragment,
6767
6835
  JSXTag,
@@ -6829,6 +6897,7 @@ var grammar = {
6829
6897
  Module,
6830
6898
  Namespace,
6831
6899
  InterfaceBlock,
6900
+ NestedInterfaceBlock,
6832
6901
  NestedInterfaceProperties,
6833
6902
  NestedInterfaceProperty,
6834
6903
  InterfaceProperty,
@@ -6970,15 +7039,15 @@ var $L13 = (0, import_lib3.$L)("=>");
6970
7039
  var $L14 = (0, import_lib3.$L)("\u21D2");
6971
7040
  var $L15 = (0, import_lib3.$L)("import");
6972
7041
  var $L16 = (0, import_lib3.$L)(":");
6973
- var $L17 = (0, import_lib3.$L)(" ");
6974
- var $L18 = (0, import_lib3.$L)("<");
6975
- var $L19 = (0, import_lib3.$L)("implements");
6976
- var $L20 = (0, import_lib3.$L)("<:");
6977
- var $L21 = (0, import_lib3.$L)("^");
6978
- var $L22 = (0, import_lib3.$L)("-");
6979
- var $L23 = (0, import_lib3.$L)("import.meta");
6980
- var $L24 = (0, import_lib3.$L)("return.value");
6981
- 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");
6982
7051
  var $L26 = (0, import_lib3.$L)("tighter");
6983
7052
  var $L27 = (0, import_lib3.$L)("looser");
6984
7053
  var $L28 = (0, import_lib3.$L)("same");
@@ -8236,8 +8305,24 @@ var ClassBinding$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)
8236
8305
  function ClassBinding(ctx, state2) {
8237
8306
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8238
8307
  }
8239
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8240
- 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
+ });
8241
8326
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8242
8327
  function ClassHeritage(ctx, state2) {
8243
8328
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8246,7 +8331,20 @@ var ExtendsClause$0 = (0, import_lib3.$S)(ExtendsToken, __, ExtendsTarget);
8246
8331
  function ExtendsClause(ctx, state2) {
8247
8332
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8248
8333
  }
8249
- 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) {
8250
8348
  var l = $1;
8251
8349
  var ws = $2;
8252
8350
  var t = $3;
@@ -8268,13 +8366,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
8268
8366
  function ExtendsToken(ctx, state2) {
8269
8367
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8270
8368
  }
8271
- 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) {
8272
8370
  return { $loc, token: "extends " };
8273
8371
  });
8274
8372
  function ExtendsShorthand(ctx, state2) {
8275
8373
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8276
8374
  }
8277
- 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) {
8278
8376
  var l = $1;
8279
8377
  var ws1 = $2;
8280
8378
  var ws2 = $3;
@@ -8300,7 +8398,7 @@ function NotExtendsToken(ctx, state2) {
8300
8398
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8301
8399
  return "";
8302
8400
  });
8303
- 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) {
8304
8402
  return value[2];
8305
8403
  });
8306
8404
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8323,7 +8421,7 @@ var ImplementsClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ImplementsToke
8323
8421
  function ImplementsClause(ctx, state2) {
8324
8422
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8325
8423
  }
8326
- 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) {
8327
8425
  var l = $1;
8328
8426
  var ws = $2;
8329
8427
  var token = $3;
@@ -8333,7 +8431,7 @@ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Implem
8333
8431
  }
8334
8432
  return { children };
8335
8433
  });
8336
- 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) {
8337
8435
  $2 = { $loc, token: $2 };
8338
8436
  return [$1, $2];
8339
8437
  });
@@ -8341,7 +8439,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
8341
8439
  function ImplementsToken(ctx, state2) {
8342
8440
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8343
8441
  }
8344
- 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) {
8345
8443
  return { $loc, token: "implements " };
8346
8444
  });
8347
8445
  function ImplementsShorthand(ctx, state2) {
@@ -8690,7 +8788,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
8690
8788
  function OptionalDot(ctx, state2) {
8691
8789
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8692
8790
  }
8693
- 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) {
8694
8792
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8695
8793
  });
8696
8794
  function NonNullAssertion(ctx, state2) {
@@ -8898,7 +8996,7 @@ var PropertyAccess$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0,
8898
8996
  ]
8899
8997
  };
8900
8998
  });
8901
- 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) {
8902
9000
  var dot = $1;
8903
9001
  var neg = $2;
8904
9002
  var num = $3;
@@ -9005,7 +9103,7 @@ function SuperProperty(ctx, state2) {
9005
9103
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
9006
9104
  }
9007
9105
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
9008
- 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) {
9009
9107
  return { $loc, token: $1 };
9010
9108
  });
9011
9109
  var MetaProperty$2 = ReturnValue;
@@ -9013,7 +9111,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
9013
9111
  function MetaProperty(ctx, state2) {
9014
9112
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
9015
9113
  }
9016
- 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) {
9017
9115
  return { type: "ReturnValue", children: [$1[0]] };
9018
9116
  });
9019
9117
  function ReturnValue(ctx, state2) {
@@ -9542,7 +9640,7 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9542
9640
  children: [ws, binding]
9543
9641
  };
9544
9642
  });
9545
- 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) {
9546
9644
  return {
9547
9645
  children: [{
9548
9646
  type: "ElisionElement",
@@ -11456,7 +11554,7 @@ var BinaryOpSymbol$5 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.
11456
11554
  };
11457
11555
  });
11458
11556
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11459
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11557
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11460
11558
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11461
11559
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11462
11560
  return "<=";
@@ -11486,7 +11584,7 @@ var BinaryOpSymbol$14 = (0, import_lib3.$EXPECT)($L76, 'BinaryOpSymbol "<<"');
11486
11584
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11487
11585
  return "<<";
11488
11586
  });
11489
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11587
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11490
11588
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11491
11589
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11492
11590
  return ">>>";
@@ -11625,7 +11723,7 @@ var BinaryOpSymbol$47 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is), function($
11625
11723
  });
11626
11724
  var BinaryOpSymbol$48 = In;
11627
11725
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11628
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11726
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11629
11727
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11630
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];
11631
11729
  function BinaryOpSymbol(ctx, state2) {
@@ -11718,7 +11816,7 @@ var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Del
11718
11816
  return [op, [" "]];
11719
11817
  return [op, ws];
11720
11818
  });
11721
- 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) {
11722
11820
  return [value[0], value[3]];
11723
11821
  });
11724
11822
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -13141,7 +13239,7 @@ function OperatorImportSpecifier(ctx, state2) {
13141
13239
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13142
13240
  }
13143
13241
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13144
- 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) {
13145
13243
  var l = $1;
13146
13244
  var ws = $2;
13147
13245
  var c = $3;
@@ -13914,7 +14012,7 @@ var Loc$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Loc ""'), functi
13914
14012
  function Loc(ctx, state2) {
13915
14013
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13916
14014
  }
13917
- 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) {
13918
14016
  return { $loc, token: $1, ts: true };
13919
14017
  });
13920
14018
  function Abstract(ctx, state2) {
@@ -13968,7 +14066,7 @@ var By$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
13968
14066
  function By(ctx, state2) {
13969
14067
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13970
14068
  }
13971
- 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) {
13972
14070
  return { $loc, token: $1 };
13973
14071
  });
13974
14072
  function Caret(ctx, state2) {
@@ -14028,7 +14126,7 @@ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14028
14126
  function Colon(ctx, state2) {
14029
14127
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
14030
14128
  }
14031
- 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) {
14032
14130
  return { $loc, token: $1 };
14033
14131
  });
14034
14132
  function Comma(ctx, state2) {
@@ -14188,7 +14286,7 @@ var Hash$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L160, 'Hash "#"'), f
14188
14286
  function Hash(ctx, state2) {
14189
14287
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14190
14288
  }
14191
- 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) {
14192
14290
  return { $loc, token: $1 };
14193
14291
  });
14194
14292
  function If(ctx, state2) {
@@ -14266,7 +14364,7 @@ var Of$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
14266
14364
  function Of(ctx, state2) {
14267
14365
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14268
14366
  }
14269
- 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) {
14270
14368
  return { $loc, token: $1 };
14271
14369
  });
14272
14370
  function OpenAngleBracket(ctx, state2) {
@@ -14517,6 +14615,12 @@ var While$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14517
14615
  function While(ctx, state2) {
14518
14616
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14519
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
+ }
14520
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) {
14521
14625
  return { $loc, token: $1, type: "Yield" };
14522
14626
  });
@@ -14596,7 +14700,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
14596
14700
  function JSXElement(ctx, state2) {
14597
14701
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14598
14702
  }
14599
- 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) {
14600
14704
  return { type: "JSXElement", children: $0, tag: $2 };
14601
14705
  });
14602
14706
  function JSXSelfClosingElement(ctx, state2) {
@@ -14615,7 +14719,7 @@ var PopJSXStack$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PopJSXSt
14615
14719
  function PopJSXStack(ctx, state2) {
14616
14720
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14617
14721
  }
14618
- 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 ">"'));
14619
14723
  function JSXOpeningElement(ctx, state2) {
14620
14724
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14621
14725
  }
@@ -15385,11 +15489,15 @@ function Namespace(ctx, state2) {
15385
15489
  }
15386
15490
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15387
15491
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15388
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15492
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15389
15493
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15390
15494
  function InterfaceBlock(ctx, state2) {
15391
15495
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15392
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
+ }
15393
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) {
15394
15502
  var props = $2;
15395
15503
  if (props.length)
@@ -15628,9 +15736,7 @@ var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
15628
15736
  function TypeSuffix(ctx, state2) {
15629
15737
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15630
15738
  }
15631
- var MaybeNestedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15632
- return value[1];
15633
- });
15739
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15634
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) {
15635
15741
  if (!$2)
15636
15742
  return $skip;
@@ -15892,9 +15998,9 @@ function NestedType(ctx, state2) {
15892
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) {
15893
15999
  return [$1, expressionizeTypeIf($3)];
15894
16000
  });
15895
- 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) {
15896
16002
  if ($1.negated)
15897
- return [$1, $2, $3, $7, $5, $6, $4];
16003
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15898
16004
  return $0;
15899
16005
  });
15900
16006
  var TypeConditional$2 = TypeBinary;
@@ -15930,12 +16036,13 @@ var TypeBlock$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Then, Type), function(
15930
16036
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15931
16037
  return value[1];
15932
16038
  });
15933
- 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) {
15934
16041
  if (!$2)
15935
16042
  return $skip;
15936
16043
  return $2;
15937
16044
  });
15938
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16045
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15939
16046
  function TypeBlock(ctx, state2) {
15940
16047
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15941
16048
  }