@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/astro.js CHANGED
@@ -100,6 +100,7 @@ var rawPlugin = (options = {}, meta) => {
100
100
  let compilerOptions, compilerOptionsWithSourceMap;
101
101
  let rootDir = process.cwd();
102
102
  let esbuildOptions;
103
+ let configErrors;
103
104
  const tsPromise = transformTS || options.ts === "tsc" ? import("typescript").then((m) => m.default) : null;
104
105
  const getFormatHost = (sys) => {
105
106
  return {
@@ -140,12 +141,13 @@ var rawPlugin = (options = {}, meta) => {
140
141
  ts.sys,
141
142
  process.cwd()
142
143
  );
144
+ configErrors = configContents.errors;
143
145
  compilerOptions = {
144
146
  ...configContents.options,
145
147
  target: ts.ScriptTarget.ESNext,
146
148
  composite: false
147
149
  };
148
- compilerOptions.jsx ?? (compilerOptions.jsx = "preserve");
150
+ compilerOptions.jsx ?? (compilerOptions.jsx = ts.JsxEmit.Preserve);
149
151
  compilerOptionsWithSourceMap = {
150
152
  ...compilerOptions,
151
153
  sourceMap: true
@@ -166,6 +168,31 @@ var rawPlugin = (options = {}, meta) => {
166
168
  return systemFileExists(filename.slice(0, -4));
167
169
  };
168
170
  system.readFile = (filename, encoding = "utf-8") => {
171
+ if (import_path.default.basename(filename) === "package.json") {
172
+ let recurse2 = function(node) {
173
+ if (node && typeof node === "object") {
174
+ for (const key in node) {
175
+ const value = node[key];
176
+ if (typeof value === "string") {
177
+ if (value.endsWith(".civet")) {
178
+ node[key] = value + ".tsx";
179
+ modified = true;
180
+ }
181
+ } else if (value) {
182
+ recurse2(value);
183
+ }
184
+ }
185
+ }
186
+ };
187
+ var recurse = recurse2;
188
+ const json = systemReadFile(filename);
189
+ if (!json)
190
+ return json;
191
+ const parsed = JSON.parse(json);
192
+ let modified = false;
193
+ recurse2(parsed.imports);
194
+ return modified ? JSON.stringify(parsed) : json;
195
+ }
169
196
  if (!filename.endsWith(".civet.tsx"))
170
197
  return systemReadFile(filename);
171
198
  if (fsMap.has(filename))
@@ -216,6 +243,9 @@ var rawPlugin = (options = {}, meta) => {
216
243
  start: range.start
217
244
  };
218
245
  });
246
+ if (configErrors?.length) {
247
+ diagnostics.unshift(...configErrors);
248
+ }
219
249
  if (diagnostics.length > 0) {
220
250
  console.error(
221
251
  ts.formatDiagnosticsWithColorAndContext(
package/dist/browser.js CHANGED
@@ -522,6 +522,7 @@ ${body}`;
522
522
  blockWithPrefix: () => blockWithPrefix,
523
523
  convertNamedImportsToObject: () => convertNamedImportsToObject,
524
524
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
525
+ convertWithClause: () => convertWithClause,
525
526
  dedentBlockString: () => dedentBlockString,
526
527
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
527
528
  deepCopy: () => deepCopy,
@@ -573,6 +574,7 @@ ${body}`;
573
574
  replaceNode: () => replaceNode,
574
575
  replaceNodes: () => replaceNodes,
575
576
  skipImplicitArguments: () => skipImplicitArguments,
577
+ trimFirstSpace: () => trimFirstSpace,
576
578
  typeOfJSX: () => typeOfJSX,
577
579
  wrapIIFE: () => wrapIIFE
578
580
  });
@@ -1715,8 +1717,11 @@ ${body}`;
1715
1717
  return bare && (Array.isArray(expressions) && len(expressions, 0) || Array.isArray(expressions) && len(expressions, 1) && Array.isArray(expressions[0]) && expressions[0].length >= 2 && typeof expressions[0][1] === "object" && expressions[0][1] != null && "type" in expressions[0][1] && expressions[0][1].type === "EmptyStatement");
1716
1718
  }
1717
1719
  function isFunction(node) {
1718
- const { type } = node;
1719
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
1720
+ if (node && typeof node === "object" && "type" in node) {
1721
+ const { type } = node;
1722
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
1723
+ }
1724
+ return false;
1720
1725
  }
1721
1726
  var statementTypes = /* @__PURE__ */ new Set([
1722
1727
  "BlockStatement",
@@ -1815,10 +1820,15 @@ ${body}`;
1815
1820
  ...target,
1816
1821
  token: target.token.replace(/^ ?/, c)
1817
1822
  };
1823
+ } else if (typeof target === "string") {
1824
+ return target.replace(/^ ?/, c);
1818
1825
  } else {
1819
1826
  return target;
1820
1827
  }
1821
1828
  }
1829
+ function trimFirstSpace(target) {
1830
+ return insertTrimmingSpace(target, "");
1831
+ }
1822
1832
  function inplaceInsertTrimmingSpace(target, c) {
1823
1833
  if (!(target != null)) {
1824
1834
  return target;
@@ -2239,7 +2249,11 @@ ${body}`;
2239
2249
  });
2240
2250
  }
2241
2251
  default: {
2242
- return gatherNodes(node.children, predicate);
2252
+ return gatherNodes(
2253
+ //@ts-ignore
2254
+ node.children,
2255
+ predicate
2256
+ );
2243
2257
  }
2244
2258
  }
2245
2259
  }
@@ -2250,12 +2264,18 @@ ${body}`;
2250
2264
  if (Array.isArray(node)) {
2251
2265
  return node.flatMap(($) => gatherRecursive($, predicate, skipPredicate));
2252
2266
  }
2253
- if (skipPredicate?.(node))
2267
+ if (skipPredicate?.(node)) {
2254
2268
  return [];
2269
+ }
2255
2270
  if (predicate(node)) {
2256
2271
  return [node];
2257
2272
  }
2258
- return gatherRecursive(node.children, predicate, skipPredicate);
2273
+ return gatherRecursive(
2274
+ //@ts-ignore
2275
+ node.children,
2276
+ predicate,
2277
+ skipPredicate
2278
+ );
2259
2279
  }
2260
2280
  function gatherRecursiveAll(node, predicate) {
2261
2281
  if (node == null || typeof node === "string") {
@@ -2264,7 +2284,11 @@ ${body}`;
2264
2284
  if (Array.isArray(node)) {
2265
2285
  return node.flatMap((n) => gatherRecursiveAll(n, predicate));
2266
2286
  }
2267
- const nodes = gatherRecursiveAll(node.children, predicate);
2287
+ const nodes = gatherRecursiveAll(
2288
+ //@ts-ignore
2289
+ node.children,
2290
+ predicate
2291
+ );
2268
2292
  if (predicate(node)) {
2269
2293
  nodes.push(node);
2270
2294
  }
@@ -2677,15 +2701,6 @@ ${body}`;
2677
2701
  ";\n"
2678
2702
  ]]);
2679
2703
  },
2680
- returnSymbol(ref) {
2681
- state.prelude.push(["", [
2682
- // [indent, statement]
2683
- preludeVar,
2684
- ref,
2685
- ` = Symbol("return")';
2686
- `
2687
- ]]);
2688
- },
2689
2704
  concatAssign(ref) {
2690
2705
  state.prelude.push(["", [
2691
2706
  // [indent, statement]
@@ -3632,6 +3647,39 @@ ${body}`;
3632
3647
  ]
3633
3648
  });
3634
3649
  }
3650
+ function convertWithClause(withClause, extendsClause) {
3651
+ let extendsToken, extendsTarget, ws;
3652
+ if (extendsClause) {
3653
+ [extendsToken, ws, extendsTarget] = extendsClause;
3654
+ } else {
3655
+ extendsToken = {
3656
+ type: "Extends",
3657
+ children: [" extends"]
3658
+ };
3659
+ ws = "";
3660
+ extendsTarget = "Object";
3661
+ }
3662
+ const wrapped = withClause.targets.reduce(
3663
+ (extendsTarget2, [wsNext, withTarget]) => {
3664
+ const args = [extendsTarget2];
3665
+ const exp = {
3666
+ type: "CallExpression",
3667
+ children: [
3668
+ makeLeftHandSideExpression(withTarget),
3669
+ {
3670
+ type: "Call",
3671
+ args,
3672
+ children: ["(", trimFirstSpace(ws), args, ")"]
3673
+ }
3674
+ ]
3675
+ };
3676
+ ws = wsNext;
3677
+ return exp;
3678
+ },
3679
+ extendsTarget
3680
+ );
3681
+ return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
3682
+ }
3635
3683
 
3636
3684
  // source/parser/unary.civet
3637
3685
  function processUnaryExpression(pre, exp, post) {
@@ -4734,7 +4782,7 @@ ${js}`
4734
4782
  minLevel = level;
4735
4783
  }
4736
4784
  }
4737
- if (minLevel == Infinity) {
4785
+ if (minLevel === Infinity) {
4738
4786
  minLevel = 0;
4739
4787
  }
4740
4788
  return minLevel;
@@ -4780,7 +4828,7 @@ ${js}`
4780
4828
  if (/^[ \t]*\r?\n/.test(stringPart)) {
4781
4829
  ref1 = getIndentOfBlockString(stringPart, tab);
4782
4830
  } else {
4783
- ref1 = false;
4831
+ ref1 = void 0;
4784
4832
  }
4785
4833
  ;
4786
4834
  const dedent = ref1;
@@ -4806,21 +4854,39 @@ ${js}`
4806
4854
  };
4807
4855
  }
4808
4856
  function processCoffeeInterpolation(s, parts, e, $loc) {
4809
- if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
4857
+ if (parts.length === 0) {
4810
4858
  return {
4811
4859
  type: "StringLiteral",
4812
- token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
4860
+ token: '""',
4813
4861
  $loc
4814
4862
  };
4815
4863
  }
4816
- parts.forEach((part) => {
4817
- if (part.token) {
4818
- const str = part.token.replace(/(`|\$\{)/g, "\\$1");
4819
- return part.token = modifyString(str);
4864
+ if (parts.length === 1) {
4865
+ let ref2;
4866
+ if ((ref2 = parts[0]) && typeof ref2 === "object" && "token" in ref2) {
4867
+ const { token } = ref2;
4868
+ return {
4869
+ type: "StringLiteral",
4870
+ token: `"${modifyString(token)}"`,
4871
+ $loc
4872
+ };
4873
+ }
4874
+ }
4875
+ const results2 = [];
4876
+ for (let i4 = 0, len3 = parts.length; i4 < len3; i4++) {
4877
+ const part = parts[i4];
4878
+ if ("token" in part) {
4879
+ const token = modifyString(part.token.replace(/(`|\$\{)/g, "\\$1"));
4880
+ results2.push({
4881
+ ...part,
4882
+ token
4883
+ });
4884
+ } else {
4885
+ results2.push(part);
4820
4886
  }
4821
- ;
4822
- return;
4823
- });
4887
+ }
4888
+ ;
4889
+ parts = results2;
4824
4890
  s.token = e.token = "`";
4825
4891
  return {
4826
4892
  type: "TemplateLiteral",
@@ -6315,6 +6381,7 @@ ${js}`
6315
6381
  ClassBinding,
6316
6382
  ClassHeritage,
6317
6383
  ExtendsClause,
6384
+ WithClause,
6318
6385
  ExtendsToken,
6319
6386
  ExtendsShorthand,
6320
6387
  NotExtendsToken,
@@ -6784,6 +6851,7 @@ ${js}`
6784
6851
  Void,
6785
6852
  When,
6786
6853
  While,
6854
+ With,
6787
6855
  Yield,
6788
6856
  JSXImplicitFragment,
6789
6857
  JSXTag,
@@ -6851,6 +6919,7 @@ ${js}`
6851
6919
  Module,
6852
6920
  Namespace,
6853
6921
  InterfaceBlock,
6922
+ NestedInterfaceBlock,
6854
6923
  NestedInterfaceProperties,
6855
6924
  NestedInterfaceProperty,
6856
6925
  InterfaceProperty,
@@ -6992,15 +7061,15 @@ ${js}`
6992
7061
  var $L14 = (0, import_lib3.$L)("\u21D2");
6993
7062
  var $L15 = (0, import_lib3.$L)("import");
6994
7063
  var $L16 = (0, import_lib3.$L)(":");
6995
- var $L17 = (0, import_lib3.$L)(" ");
6996
- var $L18 = (0, import_lib3.$L)("<");
6997
- var $L19 = (0, import_lib3.$L)("implements");
6998
- var $L20 = (0, import_lib3.$L)("<:");
6999
- var $L21 = (0, import_lib3.$L)("^");
7000
- var $L22 = (0, import_lib3.$L)("-");
7001
- var $L23 = (0, import_lib3.$L)("import.meta");
7002
- var $L24 = (0, import_lib3.$L)("return.value");
7003
- var $L25 = (0, import_lib3.$L)(",");
7064
+ var $L17 = (0, import_lib3.$L)(",");
7065
+ var $L18 = (0, import_lib3.$L)(" ");
7066
+ var $L19 = (0, import_lib3.$L)("<");
7067
+ var $L20 = (0, import_lib3.$L)("implements");
7068
+ var $L21 = (0, import_lib3.$L)("<:");
7069
+ var $L22 = (0, import_lib3.$L)("^");
7070
+ var $L23 = (0, import_lib3.$L)("-");
7071
+ var $L24 = (0, import_lib3.$L)("import.meta");
7072
+ var $L25 = (0, import_lib3.$L)("return.value");
7004
7073
  var $L26 = (0, import_lib3.$L)("tighter");
7005
7074
  var $L27 = (0, import_lib3.$L)("looser");
7006
7075
  var $L28 = (0, import_lib3.$L)("same");
@@ -8258,8 +8327,24 @@ ${js}`
8258
8327
  function ClassBinding(ctx, state2) {
8259
8328
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8260
8329
  }
8261
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8262
- var ClassHeritage$1 = ImplementsClause;
8330
+ var ClassHeritage$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2, $3) {
8331
+ var extendsClause = $1;
8332
+ var withClause = $2;
8333
+ var implementsClause = $3;
8334
+ if (withClause) {
8335
+ extendsClause = convertWithClause(withClause, extendsClause);
8336
+ }
8337
+ return [extendsClause, implementsClause];
8338
+ });
8339
+ var ClassHeritage$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2) {
8340
+ var withClause = $1;
8341
+ var implementsClause = $2;
8342
+ if (withClause)
8343
+ return [convertWithClause(withClause), implementsClause];
8344
+ if (implementsClause)
8345
+ return implementsClause;
8346
+ return $skip;
8347
+ });
8263
8348
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8264
8349
  function ClassHeritage(ctx, state2) {
8265
8350
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8268,7 +8353,20 @@ ${js}`
8268
8353
  function ExtendsClause(ctx, state2) {
8269
8354
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8270
8355
  }
8271
- var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8356
+ var WithClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, With, __, ExtendsTarget, (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L17, 'WithClause ","'), __, ExtendsTarget))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8357
+ var ws = $3;
8358
+ var t = $4;
8359
+ var rest = $5;
8360
+ return {
8361
+ type: "WithClause",
8362
+ children: $0,
8363
+ targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
8364
+ };
8365
+ });
8366
+ function WithClause(ctx, state2) {
8367
+ return (0, import_lib3.$EVENT)(ctx, state2, "WithClause", WithClause$0);
8368
+ }
8369
+ var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8272
8370
  var l = $1;
8273
8371
  var ws = $2;
8274
8372
  var t = $3;
@@ -8290,13 +8388,13 @@ ${js}`
8290
8388
  function ExtendsToken(ctx, state2) {
8291
8389
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8292
8390
  }
8293
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8391
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8294
8392
  return { $loc, token: "extends " };
8295
8393
  });
8296
8394
  function ExtendsShorthand(ctx, state2) {
8297
8395
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8298
8396
  }
8299
- var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8397
+ var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8300
8398
  var l = $1;
8301
8399
  var ws1 = $2;
8302
8400
  var ws2 = $3;
@@ -8322,7 +8420,7 @@ ${js}`
8322
8420
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8323
8421
  return "";
8324
8422
  });
8325
- var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8423
+ var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8326
8424
  return value[2];
8327
8425
  });
8328
8426
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8345,7 +8443,7 @@ ${js}`
8345
8443
  function ImplementsClause(ctx, state2) {
8346
8444
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8347
8445
  }
8348
- var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8446
+ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8349
8447
  var l = $1;
8350
8448
  var ws = $2;
8351
8449
  var token = $3;
@@ -8355,7 +8453,7 @@ ${js}`
8355
8453
  }
8356
8454
  return { children };
8357
8455
  });
8358
- var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L19, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8456
+ var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L20, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8359
8457
  $2 = { $loc, token: $2 };
8360
8458
  return [$1, $2];
8361
8459
  });
@@ -8363,7 +8461,7 @@ ${js}`
8363
8461
  function ImplementsToken(ctx, state2) {
8364
8462
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8365
8463
  }
8366
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8464
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8367
8465
  return { $loc, token: "implements " };
8368
8466
  });
8369
8467
  function ImplementsShorthand(ctx, state2) {
@@ -8712,7 +8810,7 @@ ${js}`
8712
8810
  function OptionalDot(ctx, state2) {
8713
8811
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8714
8812
  }
8715
- var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L21, 'NonNullAssertion "^"'))), function(value) {
8813
+ var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L22, 'NonNullAssertion "^"'))), function(value) {
8716
8814
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8717
8815
  });
8718
8816
  function NonNullAssertion(ctx, state2) {
@@ -8920,7 +9018,7 @@ ${js}`
8920
9018
  ]
8921
9019
  };
8922
9020
  });
8923
- var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L22, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
9021
+ var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L23, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
8924
9022
  var dot = $1;
8925
9023
  var neg = $2;
8926
9024
  var num = $3;
@@ -9027,7 +9125,7 @@ ${js}`
9027
9125
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
9028
9126
  }
9029
9127
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
9030
- var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L23, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9128
+ var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9031
9129
  return { $loc, token: $1 };
9032
9130
  });
9033
9131
  var MetaProperty$2 = ReturnValue;
@@ -9035,7 +9133,7 @@ ${js}`
9035
9133
  function MetaProperty(ctx, state2) {
9036
9134
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
9037
9135
  }
9038
- var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
9136
+ var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L25, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
9039
9137
  return { type: "ReturnValue", children: [$1[0]] };
9040
9138
  });
9041
9139
  function ReturnValue(ctx, state2) {
@@ -9564,7 +9662,7 @@ ${js}`
9564
9662
  children: [ws, binding]
9565
9663
  };
9566
9664
  });
9567
- var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L25, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9665
+ var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9568
9666
  return {
9569
9667
  children: [{
9570
9668
  type: "ElisionElement",
@@ -11478,7 +11576,7 @@ ${js}`
11478
11576
  };
11479
11577
  });
11480
11578
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11481
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11579
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11482
11580
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11483
11581
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11484
11582
  return "<=";
@@ -11508,7 +11606,7 @@ ${js}`
11508
11606
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11509
11607
  return "<<";
11510
11608
  });
11511
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11609
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11512
11610
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11513
11611
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11514
11612
  return ">>>";
@@ -11647,7 +11745,7 @@ ${js}`
11647
11745
  });
11648
11746
  var BinaryOpSymbol$48 = In;
11649
11747
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11650
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11748
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11651
11749
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11652
11750
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
11653
11751
  function BinaryOpSymbol(ctx, state2) {
@@ -11740,7 +11838,7 @@ ${js}`
11740
11838
  return [op, [" "]];
11741
11839
  return [op, ws];
11742
11840
  });
11743
- var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11841
+ var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11744
11842
  return [value[0], value[3]];
11745
11843
  });
11746
11844
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -13163,7 +13261,7 @@ ${js}`
13163
13261
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13164
13262
  }
13165
13263
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13166
- var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13264
+ var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13167
13265
  var l = $1;
13168
13266
  var ws = $2;
13169
13267
  var c = $3;
@@ -13936,7 +14034,7 @@ ${js}`
13936
14034
  function Loc(ctx, state2) {
13937
14035
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13938
14036
  }
13939
- var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'Abstract " "')))), function($skip, $loc, $0, $1) {
14037
+ var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13940
14038
  return { $loc, token: $1, ts: true };
13941
14039
  });
13942
14040
  function Abstract(ctx, state2) {
@@ -13990,7 +14088,7 @@ ${js}`
13990
14088
  function By(ctx, state2) {
13991
14089
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13992
14090
  }
13993
- var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
14091
+ var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L22, 'Caret "^"'), function($skip, $loc, $0, $1) {
13994
14092
  return { $loc, token: $1 };
13995
14093
  });
13996
14094
  function Caret(ctx, state2) {
@@ -14050,7 +14148,7 @@ ${js}`
14050
14148
  function Colon(ctx, state2) {
14051
14149
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
14052
14150
  }
14053
- var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
14151
+ var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
14054
14152
  return { $loc, token: $1 };
14055
14153
  });
14056
14154
  function Comma(ctx, state2) {
@@ -14210,7 +14308,7 @@ ${js}`
14210
14308
  function Hash(ctx, state2) {
14211
14309
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14212
14310
  }
14213
- var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'If " "')))), function($skip, $loc, $0, $1) {
14311
+ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
14214
14312
  return { $loc, token: $1 };
14215
14313
  });
14216
14314
  function If(ctx, state2) {
@@ -14288,7 +14386,7 @@ ${js}`
14288
14386
  function Of(ctx, state2) {
14289
14387
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14290
14388
  }
14291
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14389
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14292
14390
  return { $loc, token: $1 };
14293
14391
  });
14294
14392
  function OpenAngleBracket(ctx, state2) {
@@ -14539,6 +14637,12 @@ ${js}`
14539
14637
  function While(ctx, state2) {
14540
14638
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14541
14639
  }
14640
+ var With$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L116, 'With "with"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14641
+ return { $loc, token: $1 };
14642
+ });
14643
+ function With(ctx, state2) {
14644
+ return (0, import_lib3.$EVENT)(ctx, state2, "With", With$0);
14645
+ }
14542
14646
  var Yield$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L211, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14543
14647
  return { $loc, token: $1, type: "Yield" };
14544
14648
  });
@@ -14618,7 +14722,7 @@ ${js}`
14618
14722
  function JSXElement(ctx, state2) {
14619
14723
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14620
14724
  }
14621
- var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14725
+ var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14622
14726
  return { type: "JSXElement", children: $0, tag: $2 };
14623
14727
  });
14624
14728
  function JSXSelfClosingElement(ctx, state2) {
@@ -14637,7 +14741,7 @@ ${js}`
14637
14741
  function PopJSXStack(ctx, state2) {
14638
14742
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14639
14743
  }
14640
- var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14744
+ var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14641
14745
  function JSXOpeningElement(ctx, state2) {
14642
14746
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14643
14747
  }
@@ -15407,11 +15511,15 @@ ${js}`
15407
15511
  }
15408
15512
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15409
15513
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15410
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15514
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15411
15515
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15412
15516
  function InterfaceBlock(ctx, state2) {
15413
15517
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15414
15518
  }
15519
+ var NestedInterfaceBlock$0 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15520
+ function NestedInterfaceBlock(ctx, state2) {
15521
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedInterfaceBlock", NestedInterfaceBlock$0);
15522
+ }
15415
15523
  var NestedInterfaceProperties$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedInterfaceProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15416
15524
  var props = $2;
15417
15525
  if (props.length)
@@ -15650,9 +15758,7 @@ ${js}`
15650
15758
  function TypeSuffix(ctx, state2) {
15651
15759
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15652
15760
  }
15653
- var MaybeNestedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15654
- return value[1];
15655
- });
15761
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15656
15762
  var MaybeNestedType$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15657
15763
  if (!$2)
15658
15764
  return $skip;
@@ -15914,9 +16020,9 @@ ${js}`
15914
16020
  var TypeConditional$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
15915
16021
  return [$1, expressionizeTypeIf($3)];
15916
16022
  });
15917
- var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
16023
+ var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15918
16024
  if ($1.negated)
15919
- return [$1, $2, $3, $7, $5, $6, $4];
16025
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15920
16026
  return $0;
15921
16027
  });
15922
16028
  var TypeConditional$2 = TypeBinary;
@@ -15952,12 +16058,13 @@ ${js}`
15952
16058
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15953
16059
  return value[1];
15954
16060
  });
15955
- var TypeBlock$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
16061
+ var TypeBlock$2 = NestedInterfaceBlock;
16062
+ var TypeBlock$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15956
16063
  if (!$2)
15957
16064
  return $skip;
15958
16065
  return $2;
15959
16066
  });
15960
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16067
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15961
16068
  function TypeBlock(ctx, state2) {
15962
16069
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15963
16070
  }