@danielx/civet 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -408,6 +408,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
408
408
  SourceMap: () => SourceMap2,
409
409
  autoRunScripts: () => autoRunScripts,
410
410
  compile: () => compile,
411
+ decode: () => decode,
411
412
  generate: () => generate_civet_default,
412
413
  isCompileError: () => isCompileError,
413
414
  lib: () => lib_civet_exports,
@@ -530,7 +531,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
530
531
  return;
531
532
  }
532
533
  if (node = node, parent != null && (node.parent = parent), node.children)
533
- for (let ref = node.children, i1 = 0, len1 = ref.length; i1 < len1; i1++) {
534
+ for (let ref = node.children, i1 = 0, len12 = ref.length; i1 < len12; i1++) {
534
535
  let child = ref[i1];
535
536
  addParentPointers(child, node);
536
537
  }
@@ -1256,7 +1257,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1256
1257
  return i;
1257
1258
  }
1258
1259
  function arrayRecurse(array) {
1259
- for (let i2 = 0, len1 = array.length; i2 < len1; i2++) {
1260
+ for (let i2 = 0, len12 = array.length; i2 < len12; i2++) {
1260
1261
  let c = array[i2];
1261
1262
  if (c === child || Array.isArray(c) && arrayRecurse(c))
1262
1263
  return !0;
@@ -1404,7 +1405,7 @@ ${body}`), super(message), this.header = header, this.body = body, this.filename
1404
1405
  }
1405
1406
  function adjustBindingElements(elements) {
1406
1407
  let names = elements.flatMap(($2) => $2.names || []), { length } = elements, blockPrefix, restIndex = -1, restCount = 0;
1407
- for (let i2 = 0, len1 = elements.length; i2 < len1; i2++) {
1408
+ for (let i2 = 0, len12 = elements.length; i2 < len12; i2++) {
1408
1409
  let i = i2, { type } = elements[i2];
1409
1410
  type === "BindingRestElement" && (restIndex < 0 && (restIndex = i), restCount++);
1410
1411
  }
@@ -2412,7 +2413,7 @@ ${js}`
2412
2413
  function recurse(pattern2) {
2413
2414
  switch (pattern2.type) {
2414
2415
  case "ArrayBindingPattern": {
2415
- for (let ref3 = pattern2.elements, i2 = 0, len1 = ref3.length; i2 < len1; i2++) {
2416
+ for (let ref3 = pattern2.elements, i2 = 0, len12 = ref3.length; i2 < len12; i2++) {
2416
2417
  let element = ref3[i2];
2417
2418
  recurse(element);
2418
2419
  }
@@ -3114,7 +3115,11 @@ ${js}`
3114
3115
  message: `yield invalid in ${f.type === "ArrowFunction" ? "=> arrow function" : signature.modifier.get ? "getter" : signature.modifier.set ? "setter" : signature.name}`
3115
3116
  });
3116
3117
  }
3117
- signature.modifier.async && !signature.modifier.generator && signature.returnType && !isPromiseType(signature.returnType.t) && replaceNode(signature.returnType.t, wrapTypeInPromise(signature.returnType.t));
3118
+ signature.modifier.async && !signature.modifier.generator && signature.returnType && !isPromiseType(signature.returnType.t) && replaceNode(
3119
+ signature.returnType.t,
3120
+ wrapTypeInPromise(signature.returnType.t),
3121
+ signature.returnType
3122
+ );
3118
3123
  }
3119
3124
  function processFunctions(statements, config2) {
3120
3125
  for (let ref23 = gatherRecursiveAll(statements, ($20) => $20.type === "FunctionExpression" || $20.type === "ArrowFunction" || $20.type === "MethodDefinition"), i14 = 0, len13 = ref23.length; i14 < len13; i14++) {
@@ -3132,17 +3137,27 @@ ${js}`
3132
3137
  }
3133
3138
  let statements;
3134
3139
  if (generator)
3135
- iterationDefaultBody(statement), assignResults(block, (node) => ({
3136
- type: "YieldExpression",
3137
- expression: node,
3138
- children: [
3139
- {
3140
- type: "Yield",
3141
- token: "yield "
3142
- },
3143
- node
3144
- ]
3145
- })), statements = [
3140
+ iterationDefaultBody(statement), assignResults(block, (node) => {
3141
+ let star;
3142
+ if (node && typeof node == "object" && "type" in node && node.type === "SpreadElement" && "expression" in node) {
3143
+ let { expression } = node;
3144
+ star = "*", node = expression;
3145
+ }
3146
+ return {
3147
+ type: "YieldExpression",
3148
+ expression: node,
3149
+ star,
3150
+ children: [
3151
+ {
3152
+ type: "Yield",
3153
+ children: ["yield"]
3154
+ },
3155
+ star,
3156
+ " ",
3157
+ node
3158
+ ]
3159
+ };
3160
+ }), statements = [
3146
3161
  ["", statement]
3147
3162
  ];
3148
3163
  else {
@@ -3279,6 +3294,12 @@ ${js}`
3279
3294
  block.bare = block.implicitlyReturned = !1, implicitlyReturned && processReturn(block.parent, !0);
3280
3295
  }
3281
3296
  }
3297
+ function unbraceBlock(block) {
3298
+ if (block.bare)
3299
+ return;
3300
+ let ref;
3301
+ block.children[0] === " {" && (ref = block.children)[ref.length - 1] === "}" && (block.children.shift(), block.children.pop(), block.bare = !0);
3302
+ }
3282
3303
  function duplicateBlock(block) {
3283
3304
  let expressions = [...block.expressions], children;
3284
3305
  return block.children === block.expressions ? children = expressions : (children = [...block.children], children.splice(children.indexOf(block.expressions), 1, expressions)), {
@@ -3347,15 +3368,35 @@ ${js}`
3347
3368
  }
3348
3369
  function processBlocks(statements) {
3349
3370
  insertSemicolon(statements);
3350
- for (let ref = gatherRecursive(statements, ($) => $.type === "BlockStatement"), i2 = 0, len1 = ref.length; i2 < len1; i2++) {
3351
- let { expressions } = ref[i2];
3352
- processBlocks(expressions);
3371
+ for (let ref1 = gatherRecursive(statements, ($) => $.type === "BlockStatement"), i2 = 0, len12 = ref1.length; i2 < len12; i2++) {
3372
+ let block = ref1[i2], m;
3373
+ if (block.unwrapObject && block.expressions.length === 1 && (m = block.expressions[0][1], typeof m == "object" && m != null && "type" in m && m.type === "ParenthesizedExpression" && "implicit" in m && m.implicit === !0 && "expression" in m && typeof m.expression == "object" && m.expression != null && "type" in m.expression && m.expression.type === "ObjectExpression")) {
3374
+ let object = block.expressions[0][1].expression;
3375
+ if (!(() => {
3376
+ let results = !0;
3377
+ for (let prop of object.properties)
3378
+ if (!(prop.type === "Property" && prop.implicitName)) {
3379
+ results = !1;
3380
+ break;
3381
+ }
3382
+ return results;
3383
+ })())
3384
+ continue;
3385
+ block.expressions[0][1] = block.expressions[0][1].expression, unbraceBlock(block);
3386
+ for (let ref2 = object.properties, i3 = 0, len22 = ref2.length; i3 < len22; i3++) {
3387
+ let i = i3, prop = ref2[i3], m1;
3388
+ m1 = prop.name, typeof m1 == "object" && m1 != null && "type" in m1 && m1.type === "ComputedPropertyName" && "implicit" in m1 && m1.implicit === !0 && replaceNode(prop.name, prop.name.expression, prop), prop.delim?.implicit && (needsPrecedingSemicolon(object.properties[i + 1]) ? prop.delim.token = ";" : (replaceNode(prop.delim, void 0, prop), prop.delim = void 0));
3389
+ let colon = prop.children.indexOf(": ");
3390
+ colon < 0 || prop.children[colon - 1] === prop.name && prop.children.splice(colon - 1, 2);
3391
+ }
3392
+ }
3393
+ processBlocks(block.expressions);
3353
3394
  }
3354
3395
  }
3355
3396
  function insertSemicolon(statements) {
3356
3397
  let l = statements.length;
3357
- for (let i3 = 0, len22 = statements.length; i3 < len22; i3++) {
3358
- let i = i3, s = statements[i3];
3398
+ for (let i4 = 0, len3 = statements.length; i4 < len3; i4++) {
3399
+ let i = i4, s = statements[i4];
3359
3400
  if (i < l - 1 && needsPrecedingSemicolon(statements[i + 1][1])) {
3360
3401
  let delim = s[2];
3361
3402
  delim ? typeof delim == "string" && !delim.match(/;/) && (s[2] = `;${delim}`) : s[2] = ";";
@@ -3366,8 +3407,8 @@ ${js}`
3366
3407
  if (!exp)
3367
3408
  return !1;
3368
3409
  if (Array.isArray(exp)) {
3369
- for (let i4 = 0, len3 = exp.length; i4 < len3; i4++) {
3370
- let child = exp[i4];
3410
+ for (let i5 = 0, len4 = exp.length; i5 < len4; i5++) {
3411
+ let child = exp[i5];
3371
3412
  if (child != null)
3372
3413
  return needsPrecedingSemicolon(child);
3373
3414
  }
@@ -3396,8 +3437,8 @@ ${js}`
3396
3437
  }
3397
3438
  }
3398
3439
  function blockContainingStatement(exp) {
3399
- let child = exp, parent = exp.parent, m;
3400
- for (; parent != null && (m = parent.type, m === "StatementExpression" || m === "PipelineExpression" || m === "UnwrappedExpression"); )
3440
+ let child = exp, parent = exp.parent, m2;
3441
+ for (; parent != null && (m2 = parent.type, m2 === "StatementExpression" || m2 === "PipelineExpression" || m2 === "UnwrappedExpression"); )
3401
3442
  child = parent, parent = parent.parent;
3402
3443
  if (parent?.type !== "BlockStatement")
3403
3444
  return;
@@ -3442,7 +3483,7 @@ ${js}`
3442
3483
  ], precedenceMap = /* @__PURE__ */ new Map();
3443
3484
  for (let i1 = 0, len3 = precedenceOrder.length; i1 < len3; i1++) {
3444
3485
  let prec = i1, ops = precedenceOrder[i1];
3445
- for (let i2 = 0, len1 = ops.length; i2 < len1; i2++) {
3486
+ for (let i2 = 0, len12 = ops.length; i2 < len12; i2++) {
3446
3487
  let op = ops[i2];
3447
3488
  precedenceMap.set(op, prec);
3448
3489
  }
@@ -3625,7 +3666,7 @@ ${js}`
3625
3666
  let errors = !1, isPattern = !1;
3626
3667
  if (clauses.some(($4) => $4.type === "PatternClause")) {
3627
3668
  isPattern = !0;
3628
- for (let i2 = 0, len1 = clauses.length; i2 < len1; i2++) {
3669
+ for (let i2 = 0, len12 = clauses.length; i2 < len12; i2++) {
3629
3670
  let c = clauses[i2];
3630
3671
  c.type === "PatternClause" || c.type === "DefaultClause" || (errors = !0, c.children.push({
3631
3672
  type: "Error",
@@ -4048,7 +4089,7 @@ ${js}`
4048
4089
  });
4049
4090
  }
4050
4091
  function processDeclarations(statements) {
4051
- for (let ref1 = gatherRecursiveAll(statements, ($) => $.type === "Declaration"), i1 = 0, len1 = ref1.length; i1 < len1; i1++) {
4092
+ for (let ref1 = gatherRecursiveAll(statements, ($) => $.type === "Declaration"), i1 = 0, len12 = ref1.length; i1 < len12; i1++) {
4052
4093
  let declaration = ref1[i1], { bindings } = declaration;
4053
4094
  if (bindings != null) {
4054
4095
  for (let i2 = bindings.length + -1; i2 >= 0; --i2) {
@@ -4103,7 +4144,7 @@ ${js}`
4103
4144
  let { expression: exp } = initializer, ws;
4104
4145
  if (Array.isArray(exp) && (ws = exp[0], exp = exp[1]), !(typeof exp == "object" && exp != null && "type" in exp && exp.type === "StatementExpression" || typeof exp == "object" && exp != null && "type" in exp && exp.type === "SpreadElement" && "expression" in exp && typeof exp.expression == "object" && exp.expression != null && "type" in exp.expression && exp.expression.type === "StatementExpression"))
4105
4146
  return;
4106
- let pre = [], statementExp = exp.statement, blockStatement = ["", statementExp], ref;
4147
+ let pre = [], statementExp = exp.statement, blockStatement = [ws || "", statementExp, ";"], ref;
4107
4148
  if (statementExp.type === "IterationExpression") {
4108
4149
  if (statementExp.async || statementExp.generator)
4109
4150
  return;
@@ -4118,9 +4159,9 @@ ${js}`
4118
4159
  }));
4119
4160
  let refDec = {
4120
4161
  type: "Declaration",
4121
- children: ["let ", ref, ";"]
4162
+ children: ["let ", ref]
4122
4163
  };
4123
- pre.unshift(refDec);
4164
+ pre.unshift(["", refDec, ";"]);
4124
4165
  } else
4125
4166
  wrapIterationReturningResults(statement2, () => {
4126
4167
  }), ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
@@ -4132,11 +4173,11 @@ ${js}`
4132
4173
  }));
4133
4174
  let refDec = {
4134
4175
  type: "Declaration",
4135
- children: ["let ", ref, ";"]
4176
+ children: ["let ", ref]
4136
4177
  };
4137
- pre.unshift(refDec), ws && pre.push(ws);
4178
+ pre.unshift(["", refDec, ";"]);
4138
4179
  }
4139
- return statement.children.unshift(pre, blockStatement, ";"), updateParentPointers(blockStatement, statement), ref;
4180
+ return statement.children.unshift(...pre, blockStatement), updateParentPointers(blockStatement, statement), ref;
4140
4181
  }
4141
4182
  function processDeclarationCondition(condition, rootCondition, parent) {
4142
4183
  if (condition.type !== "DeclarationCondition")
@@ -4372,24 +4413,55 @@ ${js}`
4372
4413
  };
4373
4414
  }
4374
4415
  function dynamizeImportDeclarationExpression($0) {
4375
- let [imp, ws1, named, ws2, from] = $0, object = convertNamedImportsToObject(named), dot = ".";
4376
- return processCallMemberExpression({
4377
- type: "CallExpression",
4416
+ let [imp, ws1, imports, ws2, from] = $0, awaitExpression = {
4417
+ type: "AwaitExpression",
4378
4418
  children: [
4379
- { type: "Await", children: "await" },
4419
+ { type: "Await", children: ["await"] },
4380
4420
  " ",
4381
4421
  imp,
4382
4422
  trimFirstSpace(ws2),
4383
- dynamizeFromClause(from),
4384
- {
4385
- type: "PropertyGlob",
4386
- dot,
4387
- object,
4388
- children: [ws1, dot, object],
4389
- reversed: !0
4390
- }
4423
+ dynamizeFromClause(from)
4391
4424
  ]
4392
- });
4425
+ }, dot = {
4426
+ type: "AccessStart",
4427
+ children: ["."],
4428
+ optional: !1
4429
+ };
4430
+ switch (imports?.type) {
4431
+ case "Identifier":
4432
+ return processCallMemberExpression({
4433
+ type: "CallExpression",
4434
+ children: [
4435
+ parenthesizeExpression(awaitExpression),
4436
+ {
4437
+ type: "PropertyAccess",
4438
+ dot,
4439
+ name: "default",
4440
+ children: [ws1, dot, "default"]
4441
+ }
4442
+ ]
4443
+ });
4444
+ case "Star":
4445
+ return parenthesizeExpression(awaitExpression);
4446
+ case "Declaration": {
4447
+ let object = convertNamedImportsToObject(imports);
4448
+ return processCallMemberExpression({
4449
+ type: "CallExpression",
4450
+ children: [
4451
+ parenthesizeExpression(awaitExpression),
4452
+ {
4453
+ type: "PropertyGlob",
4454
+ dot,
4455
+ object,
4456
+ children: [ws1, dot, object],
4457
+ reversed: !0
4458
+ }
4459
+ ]
4460
+ });
4461
+ }
4462
+ default:
4463
+ throw new Error("Unsupported dynamic import");
4464
+ }
4393
4465
  }
4394
4466
  function convertWithClause(withClause, extendsClause) {
4395
4467
  let extendsToken, extendsTarget, ws;
@@ -4608,7 +4680,7 @@ ${js}`
4608
4680
  function processPipelineExpressions(statements) {
4609
4681
  for (let ref1 = gatherRecursiveAll(statements, ($1) => $1.type === "PipelineExpression"), i1 = 0, len3 = ref1.length; i1 < len3; i1++) {
4610
4682
  let s = ref1[i1], [ws, , body] = s.children, [, arg] = s.children, children = [ws], comma = blockContainingStatement(s) ? ";" : ",", usingRef = null;
4611
- for (let i2 = 0, len1 = body.length; i2 < len1; i2++) {
4683
+ for (let i2 = 0, len12 = body.length; i2 < len12; i2++) {
4612
4684
  let i = i2, step = body[i2], [leadingComment, pipe, trailingComment, expr] = step, returns = pipe.token === "||>", ref, result, returning = returns ? arg : null;
4613
4685
  if (pipe.token === "|>=") {
4614
4686
  let initRef;
@@ -5137,7 +5209,7 @@ ${js}`
5137
5209
  return $0;
5138
5210
  let stringPart = (() => {
5139
5211
  let results1 = [];
5140
- for (let i2 = 0, len1 = strWithSubstitutions.length; i2 < len1; i2++) {
5212
+ for (let i2 = 0, len12 = strWithSubstitutions.length; i2 < len12; i2++) {
5141
5213
  let part = strWithSubstitutions[i2];
5142
5214
  results1.push(part.token ?? "s");
5143
5215
  }
@@ -5206,6 +5278,9 @@ ${js}`
5206
5278
 
5207
5279
  // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\parser\lib.civet.jsx
5208
5280
  var xor = (a, b) => a ? !b && a : b;
5281
+ function len1(arr, length) {
5282
+ return arr.length === length;
5283
+ }
5209
5284
  function addPostfixStatement(statement, ws, post) {
5210
5285
  let expressions = [
5211
5286
  ...post.blockPrefix || [],
@@ -5498,7 +5573,7 @@ ${js}`
5498
5573
  children: call.children.map((x) => x === call.args ? args : x)
5499
5574
  }, isComma(args[args.length - 1]) && (args[args.length - 1] = deepCopy(args[args.length - 1]), isComma(args[args.length - 1]).token = "");
5500
5575
  let commaCount = 0;
5501
- for (let i2 = 0, len1 = args.length; i2 < len1; i2++) {
5576
+ for (let i2 = 0, len22 = args.length; i2 < len22; i2++) {
5502
5577
  let i = i2, arg = args[i2];
5503
5578
  isComma(arg) && (arg = args[i] = deepCopy(arg), isComma(arg).token = `)${op.token}(`, commaCount++);
5504
5579
  }
@@ -5521,16 +5596,16 @@ ${js}`
5521
5596
  return children[0];
5522
5597
  }
5523
5598
  }
5524
- for (let i3 = 0, len22 = children.length; i3 < len22; i3++) {
5599
+ for (let i3 = 0, len3 = children.length; i3 < len3; i3++) {
5525
5600
  let i = i3, glob = children[i3];
5526
5601
  if (glob?.type === "PropertyGlob") {
5527
5602
  let prefix = children.slice(0, i), parts = [], ref;
5528
- if (prefix.length > 1 && glob.object.properties.length > 1) {
5529
- ref = makeRef();
5603
+ if (needsRef(prefix) && glob.object.properties.length > 1) {
5604
+ Array.isArray(prefix) && len1(prefix, 1) && typeof prefix[0] == "object" && prefix[0] != null && "type" in prefix[0] && prefix[0].type === "ParenthesizedExpression" && "implicit" in prefix[0] && prefix[0].implicit === !0 && (prefix = [prefix[0].expression]), ref = makeRef();
5530
5605
  let { refAssignment } = makeRefAssignment(ref, prefix);
5531
5606
  prefix = [makeLeftHandSideExpression(refAssignment)];
5532
5607
  }
5533
- prefix = prefix.concat(glob.dot);
5608
+ let prefixDot = [...prefix, glob.dot];
5534
5609
  for (let part of glob.object.properties) {
5535
5610
  if (part.type === "Error") {
5536
5611
  parts.push(part);
@@ -5543,7 +5618,7 @@ ${js}`
5543
5618
  });
5544
5619
  continue;
5545
5620
  }
5546
- if (part.value && !["CallExpression", "MemberExpression", "Identifier"].includes(part.value.type)) {
5621
+ if (part.value && !["CallExpression", "MemberExpression", "Identifier", "StringLiteral", "ComputedPropertyName"].includes(part.value.type)) {
5547
5622
  parts.push({
5548
5623
  type: "Error",
5549
5624
  message: `Glob pattern must have call or member expression value, found ${JSON.stringify(part.value)}`
@@ -5551,7 +5626,19 @@ ${js}`
5551
5626
  continue;
5552
5627
  }
5553
5628
  let suppressPrefix = !1, name = part.name, value = part.value ?? name, wValue = getTrimmingSpace(part.value);
5554
- [value, suppressPrefix] = handleThisPrivateShorthands(value), glob.reversed && ([name, value] = [value, name]), suppressPrefix || (value = prefix.concat(trimFirstSpace(value)), ref != null && (prefix = [ref].concat(glob.dot))), wValue && value.unshift(wValue), part.type === "SpreadProperty" ? parts.push({
5629
+ [value, suppressPrefix] = handleThisPrivateShorthands(value), glob.reversed && ([name, value] = [value, name]), suppressPrefix || (value.type === "StringLiteral" ? value = [
5630
+ ...prefix,
5631
+ {
5632
+ type: "Index",
5633
+ children: ["[", trimFirstSpace(value), "]"]
5634
+ }
5635
+ ] : value.type === "ComputedPropertyName" ? value = [
5636
+ ...prefix,
5637
+ {
5638
+ type: "Index",
5639
+ children: [trimFirstSpace(value)]
5640
+ }
5641
+ ] : value = [...prefixDot, trimFirstSpace(value)], ref != null && (prefix = [ref], prefixDot = [...prefix, glob.dot])), wValue && value.unshift(wValue), part.type === "SpreadProperty" ? parts.push({
5555
5642
  type: part.type,
5556
5643
  value,
5557
5644
  dots: part.dots,
@@ -5699,16 +5786,14 @@ ${js}`
5699
5786
  ] : expression?.type === "ObjectExpression" || expression?.type === "FunctionExpression" && !expression.id || expression?.type === "UnaryExpression" && !expression.pre?.length && expression.expression !== makeExpressionStatement(expression.expression) ? makeLeftHandSideExpression(expression) : expression;
5700
5787
  }
5701
5788
  function lastAccessInCallExpression(exp) {
5702
- if (exp.type === "Identifier")
5703
- return exp;
5704
- let children, i;
5705
- do {
5706
- if (exp.children == null)
5707
- return;
5708
- for ({ children } = exp, i = children.length - 1; i >= 0 && (children[i].type === "Call" || children[i].type === "NonNullAssertion" || children[i].type === "Optional"); ) i--;
5789
+ for (; exp.type === "MemberExpression" || exp.type === "CallExpression"; ) {
5790
+ let { children } = exp, i = children.length - 1;
5791
+ for (; i >= 0 && typeof children[i] == "object" && (children[i].type === "Call" || children[i].type === "NonNullAssertion" || children[i].type === "Optional"); ) i--;
5709
5792
  if (i < 0) return;
5710
- } while (children[i].type === "MemberExpression" && (exp = children[i]));
5711
- return children[i];
5793
+ exp = children[i];
5794
+ }
5795
+ if (exp.type === "Identifier" || exp.type === "PropertyAccess" || exp.type === "Index")
5796
+ return exp;
5712
5797
  }
5713
5798
  function convertMethodToFunction(method) {
5714
5799
  let { signature, block } = method, { async, modifier, optional } = signature;
@@ -5862,7 +5947,7 @@ ${js}`
5862
5947
  );
5863
5948
  }
5864
5949
  function processAssignments(statements) {
5865
- for (let ref8 = gatherRecursiveAll(statements, ($4) => $4.type === "AssignmentExpression" || $4.type === "UpdateExpression"), i5 = 0, len3 = ref8.length; i5 < len3; i5++) {
5950
+ for (let ref8 = gatherRecursiveAll(statements, ($4) => $4.type === "AssignmentExpression" || $4.type === "UpdateExpression"), i5 = 0, len4 = ref8.length; i5 < len4; i5++) {
5866
5951
  let extractAssignment = function(lhs) {
5867
5952
  let expr = lhs;
5868
5953
  for (; expr.type === "ParenthesizedExpression"; )
@@ -5877,7 +5962,7 @@ ${js}`
5877
5962
  case "AssignmentExpression": {
5878
5963
  if (!exp.lhs)
5879
5964
  continue;
5880
- for (let ref10 = exp.lhs, i6 = 0, len4 = ref10.length; i6 < len4; i6++) {
5965
+ for (let ref10 = exp.lhs, i6 = 0, len5 = ref10.length; i6 < len5; i6++) {
5881
5966
  let lhsPart = ref10[i6], ref11;
5882
5967
  if (ref11 = extractAssignment(lhsPart[1])) {
5883
5968
  let newLhs = ref11;
@@ -5903,7 +5988,7 @@ ${js}`
5903
5988
  }), replaceNode(exp, newMemberExp));
5904
5989
  }
5905
5990
  }
5906
- for (let ref12 = gatherRecursiveAll(statements, ($6) => $6.type === "AssignmentExpression"), i7 = 0, len5 = ref12.length; i7 < len5; i7++) {
5991
+ for (let ref12 = gatherRecursiveAll(statements, ($6) => $6.type === "AssignmentExpression"), i7 = 0, len6 = ref12.length; i7 < len6; i7++) {
5907
5992
  let exp = ref12[i7];
5908
5993
  if (exp.names !== null)
5909
5994
  continue;
@@ -5950,7 +6035,7 @@ ${js}`
5950
6035
  let members = lhs.children, lastMember = members[members.length - 1];
5951
6036
  if (lastMember.type === "SliceExpression") {
5952
6037
  let { start, end, children: c } = lastMember;
5953
- if (c[0].token = ".splice(", c[1] = start, c[2] = ", ", end ? c[3] = [end, " - ", start] : c[3] = ["1/0"], c[4] = [", ...", $2], c[5] = ")", lastAssignment.pop(), isWhitespaceOrEmpty(lastAssignment[2]) && lastAssignment.pop(), $1.length > 1)
6038
+ if (c[0].token = ".splice(", c[1] = start, c[2] = ", ", end ? c[3] = [makeLeftHandSideExpression(end), " - ", makeLeftHandSideExpression(start)] : c[3] = ["1/0"], c[4] = [", ...", $2], c[5] = ")", lastAssignment.pop(), isWhitespaceOrEmpty(lastAssignment[2]) && lastAssignment.pop(), $1.length > 1)
5954
6039
  throw new Error("Not implemented yet! TODO: Handle multiple splice assignments");
5955
6040
  exp.children = [$1], exp.names = [];
5956
6041
  break;
@@ -6052,7 +6137,7 @@ ${js}`
6052
6137
  }
6053
6138
  function processTypes(node) {
6054
6139
  let results1 = [];
6055
- for (let ref16 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len6 = ref16.length; i8 < len6; i8++) {
6140
+ for (let ref16 = gatherRecursiveAll(node, ($11) => $11.type === "TypeUnary"), i8 = 0, len7 = ref16.length; i8 < len7; i8++) {
6056
6141
  let unary = ref16[i8], suffixIndex = unary.suffix.length - 1, results2 = [];
6057
6142
  for (; suffixIndex >= 0; ) {
6058
6143
  let suffix = unary.suffix[suffixIndex];
@@ -6152,7 +6237,7 @@ ${js}`
6152
6237
  return results1;
6153
6238
  }
6154
6239
  function processStatementExpressions(statements) {
6155
- for (let ref18 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len7 = ref18.length; i9 < len7; i9++) {
6240
+ for (let ref18 = gatherRecursiveAll(statements, ($12) => $12.type === "StatementExpression"), i9 = 0, len8 = ref18.length; i9 < len8; i9++) {
6156
6241
  let exp = ref18[i9], { maybe, statement } = exp;
6157
6242
  if ((maybe || statement.type === "ThrowStatement") && blockContainingStatement(exp)) {
6158
6243
  replaceNode(exp, statement);
@@ -6202,7 +6287,7 @@ ${js}`
6202
6287
  });
6203
6288
  }
6204
6289
  function processFinallyClauses(statements) {
6205
- for (let ref20 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len8 = ref20.length; i10 < len8; i10++) {
6290
+ for (let ref20 = gatherRecursiveAll(statements, ($) => $.type === "FinallyClause" && $.parent?.type !== "TryStatement"), i10 = 0, len9 = ref20.length; i10 < len9; i10++) {
6206
6291
  let f = ref20[i10], ref21;
6207
6292
  if (!((ref21 = blockContainingStatement(f)) && typeof ref21 == "object" && "block" in ref21 && "index" in ref21))
6208
6293
  throw new Error("finally clause must be inside try statement or block");
@@ -6266,7 +6351,7 @@ ${js}`
6266
6351
  }
6267
6352
  }
6268
6353
  function processCoffeeClasses(statements) {
6269
- for (let ref22 = gatherRecursiveAll(statements, ($13) => $13.type === "ClassExpression"), i11 = 0, len9 = ref22.length; i11 < len9; i11++) {
6354
+ for (let ref22 = gatherRecursiveAll(statements, ($13) => $13.type === "ClassExpression"), i11 = 0, len10 = ref22.length; i11 < len10; i11++) {
6270
6355
  let ce = ref22[i11], { expressions } = ce.body, indent = expressions[0]?.[0] ?? `
6271
6356
  `, autoBinds = expressions.filter(($14) => $14[1]?.autoBind);
6272
6357
  if (autoBinds.length) {
@@ -6304,7 +6389,7 @@ ${js}`
6304
6389
  0,
6305
6390
  ...(() => {
6306
6391
  let results3 = [];
6307
- for (let i12 = 0, len10 = autoBinds.length; i12 < len10; i12++) {
6392
+ for (let i12 = 0, len11 = autoBinds.length; i12 < len11; i12++) {
6308
6393
  let [, a] = autoBinds[i12];
6309
6394
  results3.push([indent, ["this.", a.name, " = this.", a.name, ".bind(this)"], ";"]);
6310
6395
  }
@@ -6367,22 +6452,22 @@ ${js}`
6367
6452
  }
6368
6453
  function processRepl(root, rootIIFE) {
6369
6454
  let topBlock = gatherRecursive(rootIIFE, ($21) => $21.type === "BlockStatement")[0], i = 0;
6370
- for (let ref23 = gatherRecursiveWithinFunction(topBlock, ($22) => $22.type === "Declaration"), i14 = 0, len11 = ref23.length; i14 < len11; i14++) {
6455
+ for (let ref23 = gatherRecursiveWithinFunction(topBlock, ($22) => $22.type === "Declaration"), i14 = 0, len12 = ref23.length; i14 < len12; i14++) {
6371
6456
  let decl = ref23[i14];
6372
6457
  decl.names?.length && (decl.parent === topBlock || decl.decl === "var") && (decl.children.shift(), decl.bindings[0]?.pattern?.type === "ObjectBindingPattern" && (decl.children.unshift("("), decl.children.push(")")), root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")}`, ";"]));
6373
6458
  }
6374
- for (let ref24 = gatherRecursive(topBlock, ($23) => $23.type === "FunctionExpression"), i15 = 0, len12 = ref24.length; i15 < len12; i15++) {
6459
+ for (let ref24 = gatherRecursive(topBlock, ($23) => $23.type === "FunctionExpression"), i15 = 0, len13 = ref24.length; i15 < len13; i15++) {
6375
6460
  let func = ref24[i15];
6376
6461
  func.name && func.parent?.type === "BlockStatement" && (func.parent === topBlock ? (replaceNode(func, void 0), root.expressions.splice(i++, 0, ["", func]), func.parent = root) : (func.children.unshift(func.name, "="), root.expressions.splice(i++, 0, ["", `var ${func.name}`, ";"])));
6377
6462
  }
6378
- for (let ref25 = gatherRecursiveWithinFunction(topBlock, ($24) => $24.type === "ClassExpression"), i16 = 0, len13 = ref25.length; i16 < len13; i16++) {
6463
+ for (let ref25 = gatherRecursiveWithinFunction(topBlock, ($24) => $24.type === "ClassExpression"), i16 = 0, len14 = ref25.length; i16 < len14; i16++) {
6379
6464
  let classExp = ref25[i16], m8;
6380
6465
  (classExp.name && classExp.parent === topBlock || (m8 = classExp.parent, typeof m8 == "object" && m8 != null && "type" in m8 && m8.type === "ReturnStatement" && "parent" in m8 && m8.parent === topBlock)) && (classExp.children.unshift(classExp.name, "="), root.expressions.splice(i++, 0, ["", `var ${classExp.name}`, ";"]));
6381
6466
  }
6382
6467
  }
6383
6468
  function processPlaceholders(statements) {
6384
6469
  let placeholderMap = /* @__PURE__ */ new Map(), liftedIfs = /* @__PURE__ */ new Set();
6385
- for (let ref26 = gatherRecursiveAll(statements, ($25) => $25.type === "Placeholder"), i17 = 0, len14 = ref26.length; i17 < len14; i17++) {
6470
+ for (let ref26 = gatherRecursiveAll(statements, ($25) => $25.type === "Placeholder"), i17 = 0, len15 = ref26.length; i17 < len15; i17++) {
6386
6471
  let exp = ref26[i17], ancestor;
6387
6472
  if (exp.subtype === ".") {
6388
6473
  ({ ancestor } = findAncestor(
@@ -6452,7 +6537,7 @@ ${js}`
6452
6537
  }
6453
6538
  for (let [ancestor, placeholders] of placeholderMap) {
6454
6539
  let ref = makeRef("$"), typeSuffix;
6455
- for (let i18 = 0, len15 = placeholders.length; i18 < len15; i18++) {
6540
+ for (let i18 = 0, len16 = placeholders.length; i18 < len16; i18++) {
6456
6541
  let placeholder = placeholders[i18];
6457
6542
  typeSuffix ??= placeholder.typeSuffix;
6458
6543
  let ref27;
@@ -6548,24 +6633,28 @@ ${js}`
6548
6633
  let type = [], lastType;
6549
6634
  for (let child of node.jsxChildren) {
6550
6635
  switch (child.type) {
6551
- case "JSXText":
6636
+ case "JSXText": {
6552
6637
  lastType !== "JSXText" && type.push("string");
6553
6638
  break;
6554
- case "JSXElement":
6639
+ }
6640
+ case "JSXElement": {
6555
6641
  type.push(typeOfJSXElement(child, config2));
6556
6642
  break;
6557
- case "JSXFragment":
6643
+ }
6644
+ case "JSXFragment": {
6558
6645
  type.push(...typeOfJSXFragment(child, config2));
6559
6646
  break;
6560
- case "JSXChildExpression":
6647
+ }
6648
+ case "JSXChildExpression": {
6561
6649
  child.expression && type.push(["typeof ", child.expression]);
6562
6650
  break;
6651
+ }
6563
6652
  default:
6564
6653
  throw new Error(`unknown child in JSXFragment: ${JSON.stringify(child)}`);
6565
6654
  }
6566
6655
  lastType = child.type;
6567
6656
  }
6568
- return type.length === 1 ? type[0] : (type = type.flatMap((t) => [t, ", "]), type.pop(), ["[", type, "]"]);
6657
+ return type.length === 1 ? type[0] : (type = type.flatMap(($26) => [$26, ", "]), type.pop(), ["[", type, "]"]);
6569
6658
  }
6570
6659
  }
6571
6660
 
@@ -6785,6 +6874,8 @@ ${js}`
6785
6874
  NonSingleBracedBlock,
6786
6875
  DeclarationOrStatement,
6787
6876
  SingleLineStatements,
6877
+ ObjectSingleLineStatements,
6878
+ BracedObjectSingleLineStatements,
6788
6879
  PostfixedSingleLineStatements,
6789
6880
  PostfixedSingleLineNoCommaStatements,
6790
6881
  NestedBlockStatements,
@@ -6965,6 +7056,10 @@ ${js}`
6965
7056
  ForbidNewlineBinaryOp,
6966
7057
  RestoreNewlineBinaryOp,
6967
7058
  NewlineBinaryOpAllowed,
7059
+ AllowImplicitFragment,
7060
+ ForbidImplicitFragment,
7061
+ RestoreImplicitFragment,
7062
+ ImplicitFragmentAllowed,
6968
7063
  AllowPipeline,
6969
7064
  ForbidPipeline,
6970
7065
  RestorePipeline,
@@ -6990,11 +7085,15 @@ ${js}`
6990
7085
  NameSpaceImport,
6991
7086
  NamedImports,
6992
7087
  OperatorNamedImports,
7088
+ DynamicNamedImports,
7089
+ DynamicImportContents,
6993
7090
  FromClause,
6994
7091
  ImportAssertion,
6995
7092
  TypeAndImportSpecifier,
6996
7093
  ImportSpecifier,
6997
7094
  OperatorImportSpecifier,
7095
+ DynamicImportSpecifier,
7096
+ DynamicModuleExportName,
6998
7097
  ImportAsToken,
6999
7098
  ModuleExportName,
7000
7099
  ModuleSpecifier,
@@ -7409,7 +7508,8 @@ ${js}`
7409
7508
  SameLineOrIndentedFurther,
7410
7509
  Dedented,
7411
7510
  PushExtraIndent1
7412
- }, $L0 = (0, import_lib2.$L)(""), $L1 = (0, import_lib2.$L)("{"), $L2 = (0, import_lib2.$L)("/ "), $L3 = (0, import_lib2.$L)("="), $L4 = (0, import_lib2.$L)("("), $L5 = (0, import_lib2.$L)("... "), $L6 = (0, import_lib2.$L)("?"), $L7 = (0, import_lib2.$L)("."), $L8 = (0, import_lib2.$L)("tuple"), $L9 = (0, import_lib2.$L)("++"), $L10 = (0, import_lib2.$L)("--"), $L11 = (0, import_lib2.$L)("\u29FA"), $L12 = (0, import_lib2.$L)("\u2014"), $L13 = (0, import_lib2.$L)("=>"), $L14 = (0, import_lib2.$L)("\u21D2"), $L15 = (0, import_lib2.$L)("import"), $L16 = (0, import_lib2.$L)(":"), $L17 = (0, import_lib2.$L)(" "), $L18 = (0, import_lib2.$L)("<"), $L19 = (0, import_lib2.$L)("implements"), $L20 = (0, import_lib2.$L)("<:"), $L21 = (0, import_lib2.$L)("^"), $L22 = (0, import_lib2.$L)("<?"), $L23 = (0, import_lib2.$L)("-"), $L24 = (0, import_lib2.$L)("import.meta"), $L25 = (0, import_lib2.$L)("return.value"), $L26 = (0, import_lib2.$L)(","), $L27 = (0, import_lib2.$L)("tighter"), $L28 = (0, import_lib2.$L)("looser"), $L29 = (0, import_lib2.$L)("same"), $L30 = (0, import_lib2.$L)("left"), $L31 = (0, import_lib2.$L)("right"), $L32 = (0, import_lib2.$L)("non"), $L33 = (0, import_lib2.$L)("relational"), $L34 = (0, import_lib2.$L)("arguments"), $L35 = (0, import_lib2.$L)("->"), $L36 = (0, import_lib2.$L)("\u2192"), $L37 = (0, import_lib2.$L)("}"), $L38 = (0, import_lib2.$L)("null"), $L39 = (0, import_lib2.$L)("true"), $L40 = (0, import_lib2.$L)("false"), $L41 = (0, import_lib2.$L)("yes"), $L42 = (0, import_lib2.$L)("on"), $L43 = (0, import_lib2.$L)("no"), $L44 = (0, import_lib2.$L)("off"), $L45 = (0, import_lib2.$L)(">"), $L46 = (0, import_lib2.$L)("]"), $L47 = (0, import_lib2.$L)("\u2022"), $L48 = (0, import_lib2.$L)("//"), $L49 = (0, import_lib2.$L)("**="), $L50 = (0, import_lib2.$L)("*="), $L51 = (0, import_lib2.$L)("%/"), $L52 = (0, import_lib2.$L)("\xF7"), $L53 = (0, import_lib2.$L)("%%"), $L54 = (0, import_lib2.$L)("/="), $L55 = (0, import_lib2.$L)("%="), $L56 = (0, import_lib2.$L)("+="), $L57 = (0, import_lib2.$L)("-="), $L58 = (0, import_lib2.$L)("<<="), $L59 = (0, import_lib2.$L)("\u226A="), $L60 = (0, import_lib2.$L)(">>>="), $L61 = (0, import_lib2.$L)("\u22D9="), $L62 = (0, import_lib2.$L)(">>="), $L63 = (0, import_lib2.$L)("\u226B="), $L64 = (0, import_lib2.$L)("&&="), $L65 = (0, import_lib2.$L)("&="), $L66 = (0, import_lib2.$L)("^="), $L67 = (0, import_lib2.$L)("||="), $L68 = (0, import_lib2.$L)("\u2016="), $L69 = (0, import_lib2.$L)("|="), $L70 = (0, import_lib2.$L)("??="), $L71 = (0, import_lib2.$L)("\u2047="), $L72 = (0, import_lib2.$L)("?="), $L73 = (0, import_lib2.$L)("and="), $L74 = (0, import_lib2.$L)("or="), $L75 = (0, import_lib2.$L)("*"), $L76 = (0, import_lib2.$L)("**"), $L77 = (0, import_lib2.$L)("/"), $L78 = (0, import_lib2.$L)("%"), $L79 = (0, import_lib2.$L)("+"), $L80 = (0, import_lib2.$L)("<="), $L81 = (0, import_lib2.$L)("\u2264"), $L82 = (0, import_lib2.$L)(">="), $L83 = (0, import_lib2.$L)("\u2265"), $L84 = (0, import_lib2.$L)("!<?"), $L85 = (0, import_lib2.$L)("<<"), $L86 = (0, import_lib2.$L)("\u226A"), $L87 = (0, import_lib2.$L)(">>>"), $L88 = (0, import_lib2.$L)("\u22D9"), $L89 = (0, import_lib2.$L)(">>"), $L90 = (0, import_lib2.$L)("\u226B"), $L91 = (0, import_lib2.$L)("!=="), $L92 = (0, import_lib2.$L)("\u2262"), $L93 = (0, import_lib2.$L)("!="), $L94 = (0, import_lib2.$L)("\u2260"), $L95 = (0, import_lib2.$L)("isnt"), $L96 = (0, import_lib2.$L)("==="), $L97 = (0, import_lib2.$L)("\u2263"), $L98 = (0, import_lib2.$L)("\u2A76"), $L99 = (0, import_lib2.$L)("=="), $L100 = (0, import_lib2.$L)("\u2261"), $L101 = (0, import_lib2.$L)("\u2A75"), $L102 = (0, import_lib2.$L)("and"), $L103 = (0, import_lib2.$L)("&&"), $L104 = (0, import_lib2.$L)("or"), $L105 = (0, import_lib2.$L)("||"), $L106 = (0, import_lib2.$L)("\u2016"), $L107 = (0, import_lib2.$L)("^^"), $L108 = (0, import_lib2.$L)("xor"), $L109 = (0, import_lib2.$L)("xnor"), $L110 = (0, import_lib2.$L)("??"), $L111 = (0, import_lib2.$L)("\u2047"), $L112 = (0, import_lib2.$L)("instanceof"), $L113 = (0, import_lib2.$L)("\u2208"), $L114 = (0, import_lib2.$L)("\u220B"), $L115 = (0, import_lib2.$L)("\u220C"), $L116 = (0, import_lib2.$L)("\u2209"), $L117 = (0, import_lib2.$L)("&"), $L118 = (0, import_lib2.$L)("|"), $L119 = (0, import_lib2.$L)(";"), $L120 = (0, import_lib2.$L)("some"), $L121 = (0, import_lib2.$L)("every"), $L122 = (0, import_lib2.$L)("count"), $L123 = (0, import_lib2.$L)("first"), $L124 = (0, import_lib2.$L)("sum"), $L125 = (0, import_lib2.$L)("product"), $L126 = (0, import_lib2.$L)("min"), $L127 = (0, import_lib2.$L)("max"), $L128 = (0, import_lib2.$L)("join"), $L129 = (0, import_lib2.$L)("concat"), $L130 = (0, import_lib2.$L)("break"), $L131 = (0, import_lib2.$L)("continue"), $L132 = (0, import_lib2.$L)("debugger"), $L133 = (0, import_lib2.$L)("require"), $L134 = (0, import_lib2.$L)("with"), $L135 = (0, import_lib2.$L)("assert"), $L136 = (0, import_lib2.$L)(":="), $L137 = (0, import_lib2.$L)("\u2254"), $L138 = (0, import_lib2.$L)(".="), $L139 = (0, import_lib2.$L)("::="), $L140 = (0, import_lib2.$L)("/*"), $L141 = (0, import_lib2.$L)("*/"), $L142 = (0, import_lib2.$L)("\\"), $L143 = (0, import_lib2.$L)(")"), $L144 = (0, import_lib2.$L)("abstract"), $L145 = (0, import_lib2.$L)("as"), $L146 = (0, import_lib2.$L)("@"), $L147 = (0, import_lib2.$L)("@@"), $L148 = (0, import_lib2.$L)("async"), $L149 = (0, import_lib2.$L)("await"), $L150 = (0, import_lib2.$L)("`"), $L151 = (0, import_lib2.$L)("by"), $L152 = (0, import_lib2.$L)("case"), $L153 = (0, import_lib2.$L)("catch"), $L154 = (0, import_lib2.$L)("class"), $L155 = (0, import_lib2.$L)("#{"), $L156 = (0, import_lib2.$L)("comptime"), $L157 = (0, import_lib2.$L)("declare"), $L158 = (0, import_lib2.$L)("default"), $L159 = (0, import_lib2.$L)("delete"), $L160 = (0, import_lib2.$L)("do"), $L161 = (0, import_lib2.$L)(".."), $L162 = (0, import_lib2.$L)("\u2025"), $L163 = (0, import_lib2.$L)("..."), $L164 = (0, import_lib2.$L)("\u2026"), $L165 = (0, import_lib2.$L)("::"), $L166 = (0, import_lib2.$L)('"'), $L167 = (0, import_lib2.$L)("each"), $L168 = (0, import_lib2.$L)("else"), $L169 = (0, import_lib2.$L)("!"), $L170 = (0, import_lib2.$L)("export"), $L171 = (0, import_lib2.$L)("extends"), $L172 = (0, import_lib2.$L)("finally"), $L173 = (0, import_lib2.$L)("for"), $L174 = (0, import_lib2.$L)("from"), $L175 = (0, import_lib2.$L)("function"), $L176 = (0, import_lib2.$L)("get"), $L177 = (0, import_lib2.$L)("set"), $L178 = (0, import_lib2.$L)("#"), $L179 = (0, import_lib2.$L)("if"), $L180 = (0, import_lib2.$L)("in"), $L181 = (0, import_lib2.$L)("infer"), $L182 = (0, import_lib2.$L)("let"), $L183 = (0, import_lib2.$L)("const"), $L184 = (0, import_lib2.$L)("is"), $L185 = (0, import_lib2.$L)("var"), $L186 = (0, import_lib2.$L)("like"), $L187 = (0, import_lib2.$L)("loop"), $L188 = (0, import_lib2.$L)("new"), $L189 = (0, import_lib2.$L)("not"), $L190 = (0, import_lib2.$L)("of"), $L191 = (0, import_lib2.$L)("["), $L192 = (0, import_lib2.$L)("operator"), $L193 = (0, import_lib2.$L)("override"), $L194 = (0, import_lib2.$L)("own"), $L195 = (0, import_lib2.$L)("public"), $L196 = (0, import_lib2.$L)("private"), $L197 = (0, import_lib2.$L)("protected"), $L198 = (0, import_lib2.$L)("||>"), $L199 = (0, import_lib2.$L)("|\u25B7"), $L200 = (0, import_lib2.$L)("|>="), $L201 = (0, import_lib2.$L)("\u25B7="), $L202 = (0, import_lib2.$L)("|>"), $L203 = (0, import_lib2.$L)("\u25B7"), $L204 = (0, import_lib2.$L)("readonly"), $L205 = (0, import_lib2.$L)("return"), $L206 = (0, import_lib2.$L)("satisfies"), $L207 = (0, import_lib2.$L)("'"), $L208 = (0, import_lib2.$L)("static"), $L209 = (0, import_lib2.$L)("${"), $L210 = (0, import_lib2.$L)("super"), $L211 = (0, import_lib2.$L)("switch"), $L212 = (0, import_lib2.$L)("target"), $L213 = (0, import_lib2.$L)("then"), $L214 = (0, import_lib2.$L)("this"), $L215 = (0, import_lib2.$L)("throw"), $L216 = (0, import_lib2.$L)('"""'), $L217 = (0, import_lib2.$L)("'''"), $L218 = (0, import_lib2.$L)("///"), $L219 = (0, import_lib2.$L)("```"), $L220 = (0, import_lib2.$L)("try"), $L221 = (0, import_lib2.$L)("typeof"), $L222 = (0, import_lib2.$L)("undefined"), $L223 = (0, import_lib2.$L)("unless"), $L224 = (0, import_lib2.$L)("until"), $L225 = (0, import_lib2.$L)("using"), $L226 = (0, import_lib2.$L)("void"), $L227 = (0, import_lib2.$L)("when"), $L228 = (0, import_lib2.$L)("while"), $L229 = (0, import_lib2.$L)("yield"), $L230 = (0, import_lib2.$L)("/>"), $L231 = (0, import_lib2.$L)("</"), $L232 = (0, import_lib2.$L)("<>"), $L233 = (0, import_lib2.$L)("</>"), $L234 = (0, import_lib2.$L)("<!--"), $L235 = (0, import_lib2.$L)("-->"), $L236 = (0, import_lib2.$L)("type"), $L237 = (0, import_lib2.$L)("enum"), $L238 = (0, import_lib2.$L)("interface"), $L239 = (0, import_lib2.$L)("global"), $L240 = (0, import_lib2.$L)("module"), $L241 = (0, import_lib2.$L)("namespace"), $L242 = (0, import_lib2.$L)("asserts"), $L243 = (0, import_lib2.$L)("keyof"), $L244 = (0, import_lib2.$L)("???"), $L245 = (0, import_lib2.$L)("unique"), $L246 = (0, import_lib2.$L)("symbol"), $L247 = (0, import_lib2.$L)("[]"), $L248 = (0, import_lib2.$L)("civet"), $R0 = (0, import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)", "suy")), $R1 = (0, import_lib2.$R)(new RegExp("&(?=\\s)", "suy")), $R2 = (0, import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R3 = (0, import_lib2.$R)(new RegExp("[0-9]", "suy")), $R4 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy")), $R5 = (0, import_lib2.$R)(new RegExp("[ \\t]", "suy")), $R6 = (0, import_lib2.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{=]", "suy")), $R7 = (0, import_lib2.$R)(new RegExp("[&=]", "suy")), $R8 = (0, import_lib2.$R)(new RegExp("(?=['\"`])", "suy")), $R9 = (0, import_lib2.$R)(new RegExp("(?=[\\/?])", "suy")), $R10 = (0, import_lib2.$R)(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy")), $R11 = (0, import_lib2.$R)(new RegExp("%%?", "suy")), $R12 = (0, import_lib2.$R)(new RegExp("[.\\s]", "suy")), $R13 = (0, import_lib2.$R)(new RegExp("[)\\]}]", "suy")), $R14 = (0, import_lib2.$R)(new RegExp("[+-]", "suy")), $R15 = (0, import_lib2.$R)(new RegExp("\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S", "suy")), $R16 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy")), $R17 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")), $R18 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy")), $R19 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy")), $R21 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy")), $R22 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy")), $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy")), $R24 = (0, import_lib2.$R)(new RegExp("[!+-]?", "suy")), $R25 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R26 = (0, import_lib2.$R)(new RegExp("[=>]", "suy")), $R27 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy")), $R28 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy")), $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy")), $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy")), $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy")), $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy")), $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy")), $R34 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy")), $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy")), $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy")), $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy")), $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy")), $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy")), $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy")), $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy")), $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy")), $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy")), $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy")), $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy")), $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy")), $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy")), $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy")), $R49 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy")), $R50 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy")), $R51 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy")), $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy")), $R53 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy")), $R54 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy")), $R55 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy")), $R56 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy")), $R57 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy")), $R58 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy")), $R59 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R60 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy")), $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy")), $R62 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy")), $R63 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy")), $R64 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy")), $R65 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy")), $R66 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy")), $R67 = (0, import_lib2.$R)(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy")), $R68 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy")), $R69 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy")), $R70 = (0, import_lib2.$R)(new RegExp(".", "suy")), $R71 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy")), $R72 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy")), $R73 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy")), $R74 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy")), $R75 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy")), $R76 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy")), $R77 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy")), $R78 = (0, import_lib2.$R)(new RegExp("[=:]", "suy")), $R79 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy")), $R80 = (0, import_lib2.$R)(new RegExp("\\s", "suy")), $R81 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy")), $R82 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R83 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy")), $R84 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy")), $R85 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy")), $R86 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy")), $R87 = (0, import_lib2.$R)(new RegExp("[<>]", "suy")), $R88 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy")), $R89 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy")), $R90 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy")), $R91 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy")), $R92 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy")), $R93 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy")), $R94 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R95 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy")), $R96 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy")), $R97 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy")), $R98 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy")), $R99 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy")), $R100 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy")), $R101 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy")), $R102 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy")), $R103 = (0, import_lib2.$R)(new RegExp("[^]*", "suy")), Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import_lib2.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7511
+ };
7512
+ var $L0 = (0, import_lib2.$L)(""), $L1 = (0, import_lib2.$L)("{"), $L2 = (0, import_lib2.$L)("/ "), $L3 = (0, import_lib2.$L)("="), $L4 = (0, import_lib2.$L)("("), $L5 = (0, import_lib2.$L)("... "), $L6 = (0, import_lib2.$L)("?"), $L7 = (0, import_lib2.$L)("."), $L8 = (0, import_lib2.$L)("tuple"), $L9 = (0, import_lib2.$L)("++"), $L10 = (0, import_lib2.$L)("--"), $L11 = (0, import_lib2.$L)("\u29FA"), $L12 = (0, import_lib2.$L)("\u2014"), $L13 = (0, import_lib2.$L)("=>"), $L14 = (0, import_lib2.$L)("\u21D2"), $L15 = (0, import_lib2.$L)("import"), $L16 = (0, import_lib2.$L)(":"), $L17 = (0, import_lib2.$L)(" "), $L18 = (0, import_lib2.$L)("<"), $L19 = (0, import_lib2.$L)("implements"), $L20 = (0, import_lib2.$L)("<:"), $L21 = (0, import_lib2.$L)("^"), $L22 = (0, import_lib2.$L)("<?"), $L23 = (0, import_lib2.$L)("-"), $L24 = (0, import_lib2.$L)("import.meta"), $L25 = (0, import_lib2.$L)("return.value"), $L26 = (0, import_lib2.$L)(","), $L27 = (0, import_lib2.$L)("tighter"), $L28 = (0, import_lib2.$L)("looser"), $L29 = (0, import_lib2.$L)("same"), $L30 = (0, import_lib2.$L)("left"), $L31 = (0, import_lib2.$L)("right"), $L32 = (0, import_lib2.$L)("non"), $L33 = (0, import_lib2.$L)("relational"), $L34 = (0, import_lib2.$L)("arguments"), $L35 = (0, import_lib2.$L)("->"), $L36 = (0, import_lib2.$L)("\u2192"), $L37 = (0, import_lib2.$L)("}"), $L38 = (0, import_lib2.$L)("null"), $L39 = (0, import_lib2.$L)("true"), $L40 = (0, import_lib2.$L)("false"), $L41 = (0, import_lib2.$L)("yes"), $L42 = (0, import_lib2.$L)("on"), $L43 = (0, import_lib2.$L)("no"), $L44 = (0, import_lib2.$L)("off"), $L45 = (0, import_lib2.$L)(">"), $L46 = (0, import_lib2.$L)("]"), $L47 = (0, import_lib2.$L)("\u2022"), $L48 = (0, import_lib2.$L)("//"), $L49 = (0, import_lib2.$L)("**="), $L50 = (0, import_lib2.$L)("*="), $L51 = (0, import_lib2.$L)("%/"), $L52 = (0, import_lib2.$L)("\xF7"), $L53 = (0, import_lib2.$L)("%%"), $L54 = (0, import_lib2.$L)("/="), $L55 = (0, import_lib2.$L)("%="), $L56 = (0, import_lib2.$L)("+="), $L57 = (0, import_lib2.$L)("-="), $L58 = (0, import_lib2.$L)("<<="), $L59 = (0, import_lib2.$L)("\u226A="), $L60 = (0, import_lib2.$L)(">>>="), $L61 = (0, import_lib2.$L)("\u22D9="), $L62 = (0, import_lib2.$L)(">>="), $L63 = (0, import_lib2.$L)("\u226B="), $L64 = (0, import_lib2.$L)("&&="), $L65 = (0, import_lib2.$L)("&="), $L66 = (0, import_lib2.$L)("^="), $L67 = (0, import_lib2.$L)("||="), $L68 = (0, import_lib2.$L)("\u2016="), $L69 = (0, import_lib2.$L)("|="), $L70 = (0, import_lib2.$L)("??="), $L71 = (0, import_lib2.$L)("\u2047="), $L72 = (0, import_lib2.$L)("?="), $L73 = (0, import_lib2.$L)("and="), $L74 = (0, import_lib2.$L)("or="), $L75 = (0, import_lib2.$L)("*"), $L76 = (0, import_lib2.$L)("**"), $L77 = (0, import_lib2.$L)("/"), $L78 = (0, import_lib2.$L)("%"), $L79 = (0, import_lib2.$L)("+"), $L80 = (0, import_lib2.$L)("<="), $L81 = (0, import_lib2.$L)("\u2264"), $L82 = (0, import_lib2.$L)(">="), $L83 = (0, import_lib2.$L)("\u2265"), $L84 = (0, import_lib2.$L)("!<?"), $L85 = (0, import_lib2.$L)("<<"), $L86 = (0, import_lib2.$L)("\u226A"), $L87 = (0, import_lib2.$L)(">>>"), $L88 = (0, import_lib2.$L)("\u22D9"), $L89 = (0, import_lib2.$L)(">>"), $L90 = (0, import_lib2.$L)("\u226B"), $L91 = (0, import_lib2.$L)("!=="), $L92 = (0, import_lib2.$L)("\u2262"), $L93 = (0, import_lib2.$L)("!="), $L94 = (0, import_lib2.$L)("\u2260"), $L95 = (0, import_lib2.$L)("isnt"), $L96 = (0, import_lib2.$L)("==="), $L97 = (0, import_lib2.$L)("\u2263"), $L98 = (0, import_lib2.$L)("\u2A76"), $L99 = (0, import_lib2.$L)("=="), $L100 = (0, import_lib2.$L)("\u2261"), $L101 = (0, import_lib2.$L)("\u2A75"), $L102 = (0, import_lib2.$L)("and"), $L103 = (0, import_lib2.$L)("&&"), $L104 = (0, import_lib2.$L)("or"), $L105 = (0, import_lib2.$L)("||"), $L106 = (0, import_lib2.$L)("\u2016"), $L107 = (0, import_lib2.$L)("^^"), $L108 = (0, import_lib2.$L)("xor"), $L109 = (0, import_lib2.$L)("xnor"), $L110 = (0, import_lib2.$L)("??"), $L111 = (0, import_lib2.$L)("\u2047"), $L112 = (0, import_lib2.$L)("instanceof"), $L113 = (0, import_lib2.$L)("\u2208"), $L114 = (0, import_lib2.$L)("\u220B"), $L115 = (0, import_lib2.$L)("\u220C"), $L116 = (0, import_lib2.$L)("\u2209"), $L117 = (0, import_lib2.$L)("&"), $L118 = (0, import_lib2.$L)("|"), $L119 = (0, import_lib2.$L)(";"), $L120 = (0, import_lib2.$L)("some"), $L121 = (0, import_lib2.$L)("every"), $L122 = (0, import_lib2.$L)("count"), $L123 = (0, import_lib2.$L)("first"), $L124 = (0, import_lib2.$L)("sum"), $L125 = (0, import_lib2.$L)("product"), $L126 = (0, import_lib2.$L)("min"), $L127 = (0, import_lib2.$L)("max"), $L128 = (0, import_lib2.$L)("join"), $L129 = (0, import_lib2.$L)("concat"), $L130 = (0, import_lib2.$L)("break"), $L131 = (0, import_lib2.$L)("continue"), $L132 = (0, import_lib2.$L)("debugger"), $L133 = (0, import_lib2.$L)("require"), $L134 = (0, import_lib2.$L)("with"), $L135 = (0, import_lib2.$L)("assert"), $L136 = (0, import_lib2.$L)(":="), $L137 = (0, import_lib2.$L)("\u2254"), $L138 = (0, import_lib2.$L)(".="), $L139 = (0, import_lib2.$L)("::="), $L140 = (0, import_lib2.$L)("/*"), $L141 = (0, import_lib2.$L)("*/"), $L142 = (0, import_lib2.$L)("\\"), $L143 = (0, import_lib2.$L)(")"), $L144 = (0, import_lib2.$L)("abstract"), $L145 = (0, import_lib2.$L)("as"), $L146 = (0, import_lib2.$L)("@"), $L147 = (0, import_lib2.$L)("@@"), $L148 = (0, import_lib2.$L)("async"), $L149 = (0, import_lib2.$L)("await"), $L150 = (0, import_lib2.$L)("`"), $L151 = (0, import_lib2.$L)("by"), $L152 = (0, import_lib2.$L)("case"), $L153 = (0, import_lib2.$L)("catch"), $L154 = (0, import_lib2.$L)("class"), $L155 = (0, import_lib2.$L)("#{"), $L156 = (0, import_lib2.$L)("comptime"), $L157 = (0, import_lib2.$L)("declare"), $L158 = (0, import_lib2.$L)("default"), $L159 = (0, import_lib2.$L)("delete"), $L160 = (0, import_lib2.$L)("do"), $L161 = (0, import_lib2.$L)(".."), $L162 = (0, import_lib2.$L)("\u2025"), $L163 = (0, import_lib2.$L)("..."), $L164 = (0, import_lib2.$L)("\u2026"), $L165 = (0, import_lib2.$L)("::"), $L166 = (0, import_lib2.$L)('"'), $L167 = (0, import_lib2.$L)("each"), $L168 = (0, import_lib2.$L)("else"), $L169 = (0, import_lib2.$L)("!"), $L170 = (0, import_lib2.$L)("export"), $L171 = (0, import_lib2.$L)("extends"), $L172 = (0, import_lib2.$L)("finally"), $L173 = (0, import_lib2.$L)("for"), $L174 = (0, import_lib2.$L)("from"), $L175 = (0, import_lib2.$L)("function"), $L176 = (0, import_lib2.$L)("get"), $L177 = (0, import_lib2.$L)("set"), $L178 = (0, import_lib2.$L)("#"), $L179 = (0, import_lib2.$L)("if"), $L180 = (0, import_lib2.$L)("in"), $L181 = (0, import_lib2.$L)("infer"), $L182 = (0, import_lib2.$L)("let"), $L183 = (0, import_lib2.$L)("const"), $L184 = (0, import_lib2.$L)("is"), $L185 = (0, import_lib2.$L)("var"), $L186 = (0, import_lib2.$L)("like"), $L187 = (0, import_lib2.$L)("loop"), $L188 = (0, import_lib2.$L)("new"), $L189 = (0, import_lib2.$L)("not"), $L190 = (0, import_lib2.$L)("of"), $L191 = (0, import_lib2.$L)("["), $L192 = (0, import_lib2.$L)("operator"), $L193 = (0, import_lib2.$L)("override"), $L194 = (0, import_lib2.$L)("own"), $L195 = (0, import_lib2.$L)("public"), $L196 = (0, import_lib2.$L)("private"), $L197 = (0, import_lib2.$L)("protected"), $L198 = (0, import_lib2.$L)("||>"), $L199 = (0, import_lib2.$L)("|\u25B7"), $L200 = (0, import_lib2.$L)("|>="), $L201 = (0, import_lib2.$L)("\u25B7="), $L202 = (0, import_lib2.$L)("|>"), $L203 = (0, import_lib2.$L)("\u25B7"), $L204 = (0, import_lib2.$L)("readonly"), $L205 = (0, import_lib2.$L)("return"), $L206 = (0, import_lib2.$L)("satisfies"), $L207 = (0, import_lib2.$L)("'"), $L208 = (0, import_lib2.$L)("static"), $L209 = (0, import_lib2.$L)("${"), $L210 = (0, import_lib2.$L)("super"), $L211 = (0, import_lib2.$L)("switch"), $L212 = (0, import_lib2.$L)("target"), $L213 = (0, import_lib2.$L)("then"), $L214 = (0, import_lib2.$L)("this"), $L215 = (0, import_lib2.$L)("throw"), $L216 = (0, import_lib2.$L)('"""'), $L217 = (0, import_lib2.$L)("'''"), $L218 = (0, import_lib2.$L)("///"), $L219 = (0, import_lib2.$L)("```"), $L220 = (0, import_lib2.$L)("try"), $L221 = (0, import_lib2.$L)("typeof"), $L222 = (0, import_lib2.$L)("undefined"), $L223 = (0, import_lib2.$L)("unless"), $L224 = (0, import_lib2.$L)("until"), $L225 = (0, import_lib2.$L)("using"), $L226 = (0, import_lib2.$L)("void"), $L227 = (0, import_lib2.$L)("when"), $L228 = (0, import_lib2.$L)("while"), $L229 = (0, import_lib2.$L)("yield"), $L230 = (0, import_lib2.$L)("/>"), $L231 = (0, import_lib2.$L)("</"), $L232 = (0, import_lib2.$L)("<>"), $L233 = (0, import_lib2.$L)("</>"), $L234 = (0, import_lib2.$L)("<!--"), $L235 = (0, import_lib2.$L)("-->"), $L236 = (0, import_lib2.$L)("type"), $L237 = (0, import_lib2.$L)("enum"), $L238 = (0, import_lib2.$L)("interface"), $L239 = (0, import_lib2.$L)("global"), $L240 = (0, import_lib2.$L)("module"), $L241 = (0, import_lib2.$L)("namespace"), $L242 = (0, import_lib2.$L)("asserts"), $L243 = (0, import_lib2.$L)("keyof"), $L244 = (0, import_lib2.$L)("???"), $L245 = (0, import_lib2.$L)("unique"), $L246 = (0, import_lib2.$L)("symbol"), $L247 = (0, import_lib2.$L)("[]"), $L248 = (0, import_lib2.$L)("civet"), $R0 = (0, import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)", "suy")), $R1 = (0, import_lib2.$R)(new RegExp("&(?=\\s)", "suy")), $R2 = (0, import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R3 = (0, import_lib2.$R)(new RegExp("[0-9]", "suy")), $R4 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy")), $R5 = (0, import_lib2.$R)(new RegExp("[ \\t]", "suy")), $R6 = (0, import_lib2.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{=]", "suy")), $R7 = (0, import_lib2.$R)(new RegExp("[&=]", "suy")), $R8 = (0, import_lib2.$R)(new RegExp("(?=['\"`])", "suy")), $R9 = (0, import_lib2.$R)(new RegExp("(?=[\\/?])", "suy")), $R10 = (0, import_lib2.$R)(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy")), $R11 = (0, import_lib2.$R)(new RegExp("%%?", "suy")), $R12 = (0, import_lib2.$R)(new RegExp("[.\\s]", "suy")), $R13 = (0, import_lib2.$R)(new RegExp("[)\\]}]", "suy")), $R14 = (0, import_lib2.$R)(new RegExp("[+-]", "suy")), $R15 = (0, import_lib2.$R)(new RegExp("\\+\\+|--|\u29FA|\u2014|[\\+\\-&]\\S", "suy")), $R16 = (0, import_lib2.$R)(new RegExp(`(?=[0-9.'"tfyno])`, "suy")), $R17 = (0, import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")), $R18 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy")), $R19 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R20 = (0, import_lib2.$R)(new RegExp("(?=\\[|\\s*[.\u2022\\/])", "suy")), $R21 = (0, import_lib2.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy")), $R22 = (0, import_lib2.$R)(new RegExp("[ \\t]*", "suy")), $R23 = (0, import_lib2.$R)(new RegExp("[ \\t]+", "suy")), $R24 = (0, import_lib2.$R)(new RegExp("[!+-]?", "suy")), $R25 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R26 = (0, import_lib2.$R)(new RegExp("[=>]", "suy")), $R27 = (0, import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy")), $R28 = (0, import_lib2.$R)(new RegExp("!\\^\\^?", "suy")), $R29 = (0, import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy")), $R30 = (0, import_lib2.$R)(new RegExp("[:.]", "suy")), $R31 = (0, import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy")), $R32 = (0, import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})", "suy")), $R33 = (0, import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy")), $R34 = (0, import_lib2.$R)(new RegExp('[^;"\\s=>]+', "suy")), $R35 = (0, import_lib2.$R)(new RegExp("(?=[0-9.])", "suy")), $R36 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy")), $R37 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy")), $R38 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy")), $R39 = (0, import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy")), $R40 = (0, import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy")), $R41 = (0, import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy")), $R42 = (0, import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy")), $R43 = (0, import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy")), $R44 = (0, import_lib2.$R)(new RegExp("(?=[0-9])", "suy")), $R45 = (0, import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy")), $R46 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*', "suy")), $R47 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*", "suy")), $R48 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy")), $R49 = (0, import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+', "suy")), $R50 = (0, import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy")), $R51 = (0, import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy")), $R52 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy")), $R53 = (0, import_lib2.$R)(new RegExp("(?:\\\\.)", "suy")), $R54 = (0, import_lib2.$R)(new RegExp("[\\s]+", "suy")), $R55 = (0, import_lib2.$R)(new RegExp("\\/(?!\\/\\/)", "suy")), $R56 = (0, import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]", "suy")), $R57 = (0, import_lib2.$R)(new RegExp("[*\\/\\r\\n]", "suy")), $R58 = (0, import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy")), $R59 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy")), $R60 = (0, import_lib2.$R)(new RegExp("(?=[`'\"])", "suy")), $R61 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy")), $R62 = (0, import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy")), $R63 = (0, import_lib2.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy")), $R64 = (0, import_lib2.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy")), $R65 = (0, import_lib2.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy")), $R66 = (0, import_lib2.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy")), $R67 = (0, import_lib2.$R)(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy")), $R68 = (0, import_lib2.$R)(new RegExp("(?=\\/|#)", "suy")), $R69 = (0, import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy")), $R70 = (0, import_lib2.$R)(new RegExp(".", "suy")), $R71 = (0, import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy")), $R72 = (0, import_lib2.$R)(new RegExp("[^]*?###", "suy")), $R73 = (0, import_lib2.$R)(new RegExp("###(?!#)", "suy")), $R74 = (0, import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy")), $R75 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy")), $R76 = (0, import_lib2.$R)(new RegExp("(?=\\s|\\/|#)", "suy")), $R77 = (0, import_lib2.$R)(new RegExp("(?!\\p{ID_Continue})", "suy")), $R78 = (0, import_lib2.$R)(new RegExp("[=:]", "suy")), $R79 = (0, import_lib2.$R)(new RegExp("['\u2019]s", "suy")), $R80 = (0, import_lib2.$R)(new RegExp("\\s", "suy")), $R81 = (0, import_lib2.$R)(new RegExp("(?=[<])", "suy")), $R82 = (0, import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy")), $R83 = (0, import_lib2.$R)(new RegExp("[!+-]", "suy")), $R84 = (0, import_lib2.$R)(new RegExp("[\\s>]|\\/>", "suy")), $R85 = (0, import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy")), $R86 = (0, import_lib2.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy")), $R87 = (0, import_lib2.$R)(new RegExp("[<>]", "suy")), $R88 = (0, import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy")), $R89 = (0, import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy")), $R90 = (0, import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+", "suy")), $R91 = (0, import_lib2.$R)(new RegExp("[+-]?", "suy")), $R92 = (0, import_lib2.$R)(new RegExp("(?=if|unless)", "suy")), $R93 = (0, import_lib2.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy")), $R94 = (0, import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy")), $R95 = (0, import_lib2.$R)(new RegExp("const|in|out", "suy")), $R96 = (0, import_lib2.$R)(new RegExp("#![^\\r\\n]*", "suy")), $R97 = (0, import_lib2.$R)(new RegExp("[\\t ]*", "suy")), $R98 = (0, import_lib2.$R)(new RegExp("[\\s]*", "suy")), $R99 = (0, import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy")), $R100 = (0, import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy")), $R101 = (0, import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy")), $R102 = (0, import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy")), $R103 = (0, import_lib2.$R)(new RegExp("[^]*", "suy")), Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import_lib2.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7413
7513
  var reset = $1, init = $2, ws1 = $3, statements = $4, ws2 = $5;
7414
7514
  let program = {
7415
7515
  type: "BlockStatement",
@@ -7792,7 +7892,10 @@ ${js}`
7792
7892
  function SingleLineBinaryOpRHS(ctx, state2) {
7793
7893
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineBinaryOpRHS", SingleLineBinaryOpRHS$0);
7794
7894
  }
7795
- var RHS$0 = ExpressionizedStatementWithTrailingCallExpressions, RHS$1 = UnaryExpression, RHS$$ = [RHS$0, RHS$1];
7895
+ var RHS$0 = ExpressionizedStatementWithTrailingCallExpressions, RHS$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidImplicitFragment, (0, import_lib2.$E)(UnaryExpression), RestoreImplicitFragment), function($skip, $loc, $0, $1, $2, $3) {
7896
+ var exp = $2;
7897
+ return exp || $skip;
7898
+ }), RHS$$ = [RHS$0, RHS$1];
7796
7899
  function RHS(ctx, state2) {
7797
7900
  return (0, import_lib2.$EVENT_C)(ctx, state2, "RHS", RHS$$);
7798
7901
  }
@@ -8045,7 +8148,7 @@ ${js}`
8045
8148
  children: [expressions],
8046
8149
  implicitlyReturned: !0
8047
8150
  };
8048
- }), FatArrowBody$1 = NoCommaBracedOrEmptyBlock, FatArrowBody$$ = [FatArrowBody$0, FatArrowBody$1];
8151
+ }), FatArrowBody$1 = BracedObjectSingleLineStatements, FatArrowBody$2 = NoCommaBracedOrEmptyBlock, FatArrowBody$$ = [FatArrowBody$0, FatArrowBody$1, FatArrowBody$2];
8049
8152
  function FatArrowBody(ctx, state2) {
8050
8153
  return (0, import_lib2.$EVENT_C)(ctx, state2, "FatArrowBody", FatArrowBody$$);
8051
8154
  }
@@ -8598,9 +8701,9 @@ ${js}`
8598
8701
  type: "CallExpression",
8599
8702
  children: [$1, ...$2, ...rest.flat()]
8600
8703
  });
8601
- }), CallExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Import, _, NamedImports, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8704
+ }), CallExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Import, _, DynamicImportContents, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8602
8705
  return dynamizeImportDeclarationExpression($0);
8603
- }), CallExpression$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Import, _, NamedImports), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8706
+ }), CallExpression$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(FromClause, __, Import, _, DynamicImportContents), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8604
8707
  var from = $1, fws = $2, i = $3, iws = $4, imports = $5;
8605
8708
  return dynamizeImportDeclarationExpression([i, iws, imports, fws, from]);
8606
8709
  }), CallExpression$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L15, 'CallExpression "import"'), ArgumentsWithTrailingCallExpressions, (0, import_lib2.$Q)(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
@@ -9580,10 +9683,10 @@ ${js}`
9580
9683
  }
9581
9684
  var OperatorDeclaration$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Operator, (0, import_lib2.$E)(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
9582
9685
  var op = $1, behavior = $2, w = $3, decl = $4;
9583
- return decl.names.forEach((name) => state.operators.set(name, behavior)), behavior?.error && (decl = prepend(behavior.error, decl)), decl = prepend(trimFirstSpace(w), decl), decl;
9686
+ return decl.names.forEach((name) => setOperatorBehavior(name, behavior)), behavior?.error && (decl = prepend(behavior.error, decl)), decl = prepend(trimFirstSpace(w), decl), decl;
9584
9687
  }), OperatorDeclaration$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
9585
9688
  var signature = $1, block = $2;
9586
- return state.operators.set(signature.id.name, signature.behavior), {
9689
+ return setOperatorBehavior(signature.id.name, signature.behavior), {
9587
9690
  ...signature,
9588
9691
  type: "FunctionExpression",
9589
9692
  signature,
@@ -9594,8 +9697,8 @@ ${js}`
9594
9697
  }), OperatorDeclaration$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(Operator, _, Identifier, (0, import_lib2.$E)(OperatorBehavior), (0, import_lib2.$Q)((0, import_lib2.$S)(CommaDelimiter, (0, import_lib2.$E)(_), Identifier, (0, import_lib2.$E)(OperatorBehavior)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9595
9698
  var op = $1, w1 = $2, id = $3, behavior = $4, ids = $5;
9596
9699
  let children = [];
9597
- return state.operators.set(id.name, behavior), behavior?.error && children.push(behavior.error), ids.forEach(([, , id2, behavior2]) => {
9598
- state.operators.set(id2.name, behavior2), behavior2?.error && children.push(behavior2.error);
9700
+ return setOperatorBehavior(id.name, behavior), behavior?.error && children.push(behavior.error), ids.forEach(([, , id2, behavior2]) => {
9701
+ setOperatorBehavior(id2.name, behavior2), behavior2?.error && children.push(behavior2.error);
9599
9702
  }), {
9600
9703
  id,
9601
9704
  children
@@ -9660,7 +9763,7 @@ ${js}`
9660
9763
  function OperatorAssociativity(ctx, state2) {
9661
9764
  return (0, import_lib2.$EVENT)(ctx, state2, "OperatorAssociativity", OperatorAssociativity$0);
9662
9765
  }
9663
- var ThinArrowFunction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Async, _)), ArrowParameters, (0, import_lib2.$E)(ReturnTypeSuffix), (0, import_lib2.$E)(_), Arrow, NoCommaBracedOrEmptyBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9766
+ var ThinArrowFunction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(Async, _)), ArrowParameters, (0, import_lib2.$E)(ReturnTypeSuffix), (0, import_lib2.$E)(_), Arrow, (0, import_lib2.$C)(BracedObjectSingleLineStatements, NoCommaBracedOrEmptyBlock)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9664
9767
  var async = $1, parameters = $2, returnType = $3, arrow = $5, block = $6;
9665
9768
  async || (async = []);
9666
9769
  let generator = [];
@@ -9784,7 +9887,7 @@ ${js}`
9784
9887
  }
9785
9888
  var ThenBlock$0 = (0, import_lib2.$T)((0, import_lib2.$S)(NoBlock, EmptyBlock), function(value) {
9786
9889
  return value[1];
9787
- }), ThenBlock$1 = ImplicitNestedBlock, ThenBlock$2 = SingleLineStatements, ThenBlock$$ = [ThenBlock$0, ThenBlock$1, ThenBlock$2];
9890
+ }), ThenBlock$1 = ImplicitNestedBlock, ThenBlock$2 = ObjectSingleLineStatements, ThenBlock$3 = SingleLineStatements, ThenBlock$$ = [ThenBlock$0, ThenBlock$1, ThenBlock$2, ThenBlock$3];
9788
9891
  function ThenBlock(ctx, state2) {
9789
9892
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ThenBlock", ThenBlock$$);
9790
9893
  }
@@ -9833,9 +9936,9 @@ ${js}`
9833
9936
  function BlockOrEmptyStatement(ctx, state2) {
9834
9937
  return (0, import_lib2.$EVENT_C)(ctx, state2, "BlockOrEmptyStatement", BlockOrEmptyStatement$$);
9835
9938
  }
9836
- var BlockOrEmpty$0 = Block, BlockOrEmpty$1 = (0, import_lib2.$T)((0, import_lib2.$S)(NoBlock, EmptyBlock), function(value) {
9939
+ var BlockOrEmpty$0 = ObjectSingleLineStatements, BlockOrEmpty$1 = Block, BlockOrEmpty$2 = (0, import_lib2.$T)((0, import_lib2.$S)(NoBlock, EmptyBlock), function(value) {
9837
9940
  return value[1];
9838
- }), BlockOrEmpty$$ = [BlockOrEmpty$0, BlockOrEmpty$1];
9941
+ }), BlockOrEmpty$$ = [BlockOrEmpty$0, BlockOrEmpty$1, BlockOrEmpty$2];
9839
9942
  function BlockOrEmpty(ctx, state2) {
9840
9943
  return (0, import_lib2.$EVENT_C)(ctx, state2, "BlockOrEmpty", BlockOrEmpty$$);
9841
9944
  }
@@ -9943,6 +10046,24 @@ ${js}`
9943
10046
  function SingleLineStatements(ctx, state2) {
9944
10047
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineStatements", SingleLineStatements$0);
9945
10048
  }
10049
+ var ObjectSingleLineStatements$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$E)(_), BracedObjectLiteral)), SingleLineStatements), function($skip, $loc, $0, $1, $2) {
10050
+ var block = $2;
10051
+ if (block.bare && block.expressions.length === 1) {
10052
+ let expression = block.expressions[0][1];
10053
+ expression.type === "ParenthesizedExpression" && expression.implicit && expression.expression.type === "ObjectExpression" && (block = { ...block, unwrapObject: !0 });
10054
+ }
10055
+ return block;
10056
+ });
10057
+ function ObjectSingleLineStatements(ctx, state2) {
10058
+ return (0, import_lib2.$EVENT)(ctx, state2, "ObjectSingleLineStatements", ObjectSingleLineStatements$0);
10059
+ }
10060
+ var BracedObjectSingleLineStatements$0 = (0, import_lib2.$TV)(ObjectSingleLineStatements, function($skip, $loc, $0, $1) {
10061
+ var block = $0;
10062
+ return bracedBlock(block);
10063
+ });
10064
+ function BracedObjectSingleLineStatements(ctx, state2) {
10065
+ return (0, import_lib2.$EVENT)(ctx, state2, "BracedObjectSingleLineStatements", BracedObjectSingleLineStatements$0);
10066
+ }
9946
10067
  var PostfixedSingleLineStatements$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$N)(EOS)), StatementListItem, SemicolonDelimiter)), (0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$N)(EOS)), StatementListItem, (0, import_lib2.$E)(SemicolonDelimiter)))), function($skip, $loc, $0, $1, $2) {
9947
10068
  var stmts = $1, last = $2;
9948
10069
  let children = [...stmts];
@@ -10606,7 +10727,8 @@ ${js}`
10606
10727
  children: [ws, id],
10607
10728
  name: id,
10608
10729
  names: id.names,
10609
- value: id
10730
+ value: id,
10731
+ implicitName: !0
10610
10732
  };
10611
10733
  }), PropertyDefinition$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), MethodDefinition), function($skip, $loc, $0, $1, $2) {
10612
10734
  var ws = $1, def = $2;
@@ -10645,7 +10767,8 @@ ${js}`
10645
10767
  if (type === "Index")
10646
10768
  ({ ref, refAssignment } = maybeRefAssignment(expression)), refAssignment ? (name = {
10647
10769
  type: "ComputedPropertyName",
10648
- children: [last.children[0], "(", refAssignment, ",", ref, ")", ...last.children.slice(-2)]
10770
+ children: [last.children[0], "(", refAssignment, ",", ref, ")", ...last.children.slice(-2)],
10771
+ implicit: !0
10649
10772
  }, value = {
10650
10773
  ...value,
10651
10774
  children: value.children.map((c) => c === last ? {
@@ -10654,7 +10777,8 @@ ${js}`
10654
10777
  } : c)
10655
10778
  }) : name = {
10656
10779
  type: "ComputedPropertyName",
10657
- children: last.children
10780
+ children: last.children,
10781
+ implicit: !0
10658
10782
  };
10659
10783
  else if ({ name } = last, !name) return $skip;
10660
10784
  return name[0] === "#" && (name = name.slice(1)), {
@@ -10662,7 +10786,8 @@ ${js}`
10662
10786
  children: [ws, name, ": ", processUnaryExpression(pre, value, post)],
10663
10787
  name,
10664
10788
  names: [],
10665
- value
10789
+ value,
10790
+ implicitName: !0
10666
10791
  };
10667
10792
  }), PropertyDefinition$$ = [PropertyDefinition$0, PropertyDefinition$1, PropertyDefinition$2, PropertyDefinition$3, PropertyDefinition$4, PropertyDefinition$5];
10668
10793
  function PropertyDefinition(ctx, state2) {
@@ -10826,7 +10951,7 @@ ${js}`
10826
10951
  }
10827
10952
  var MethodModifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(GetOrSet, (0, import_lib2.$E)(_), (0, import_lib2.$Y)(ClassElementName)), function($skip, $loc, $0, $1, $2, $3) {
10828
10953
  var kind = $1, ws = $2;
10829
- return {
10954
+ return ws || (ws = " "), {
10830
10955
  // no async or generator, because getters and setters can't be
10831
10956
  modifier: {
10832
10957
  async: !1,
@@ -11338,7 +11463,7 @@ ${js}`
11338
11463
  function ShouldExpressionize(ctx, state2) {
11339
11464
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
11340
11465
  }
11341
- var NoCommaStatement$0 = KeywordStatement, NoCommaStatement$1 = VariableStatement, NoCommaStatement$2 = IfStatement, NoCommaStatement$3 = IterationStatement, NoCommaStatement$4 = SwitchStatement, NoCommaStatement$5 = TryStatement, NoCommaStatement$6 = EmptyStatement, NoCommaStatement$7 = LabelledStatement, NoCommaStatement$8 = ExpressionStatement, NoCommaStatement$9 = BlockStatement, NoCommaStatement$$ = [NoCommaStatement$0, NoCommaStatement$1, NoCommaStatement$2, NoCommaStatement$3, NoCommaStatement$4, NoCommaStatement$5, NoCommaStatement$6, NoCommaStatement$7, NoCommaStatement$8, NoCommaStatement$9];
11466
+ var NoCommaStatement$0 = KeywordStatement, NoCommaStatement$1 = VariableStatement, NoCommaStatement$2 = IfStatement, NoCommaStatement$3 = IterationActualStatement, NoCommaStatement$4 = SwitchStatement, NoCommaStatement$5 = TryStatement, NoCommaStatement$6 = EmptyStatement, NoCommaStatement$7 = LabelledStatement, NoCommaStatement$8 = ExpressionStatement, NoCommaStatement$9 = BlockStatement, NoCommaStatement$$ = [NoCommaStatement$0, NoCommaStatement$1, NoCommaStatement$2, NoCommaStatement$3, NoCommaStatement$4, NoCommaStatement$5, NoCommaStatement$6, NoCommaStatement$7, NoCommaStatement$8, NoCommaStatement$9];
11342
11467
  function NoCommaStatement(ctx, state2) {
11343
11468
  return (0, import_lib2.$EVENT_C)(ctx, state2, "NoCommaStatement", NoCommaStatement$$);
11344
11469
  }
@@ -12144,8 +12269,8 @@ ${js}`
12144
12269
  function SingleLineExpressionWithIndentedApplicationForbidden(ctx, state2) {
12145
12270
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineExpressionWithIndentedApplicationForbidden", SingleLineExpressionWithIndentedApplicationForbidden$0);
12146
12271
  }
12147
- var ExpressionWithObjectApplicationForbidden$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidBracedApplication, ForbidIndentedApplication, (0, import_lib2.$E)(Expression), RestoreBracedApplication, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12148
- var exp = $3;
12272
+ var ExpressionWithObjectApplicationForbidden$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidBracedApplication, ForbidIndentedApplication, ForbidImplicitFragment, (0, import_lib2.$E)(Expression), RestoreBracedApplication, RestoreIndentedApplication, RestoreImplicitFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
12273
+ var exp = $4;
12149
12274
  return exp || $skip;
12150
12275
  });
12151
12276
  function ExpressionWithObjectApplicationForbidden(ctx, state2) {
@@ -12302,6 +12427,30 @@ ${js}`
12302
12427
  function NewlineBinaryOpAllowed(ctx, state2) {
12303
12428
  return (0, import_lib2.$EVENT)(ctx, state2, "NewlineBinaryOpAllowed", NewlineBinaryOpAllowed$0);
12304
12429
  }
12430
+ var AllowImplicitFragment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'AllowImplicitFragment ""'), function($skip, $loc, $0, $1) {
12431
+ state.forbidImplicitFragment.push(!1);
12432
+ });
12433
+ function AllowImplicitFragment(ctx, state2) {
12434
+ return (0, import_lib2.$EVENT)(ctx, state2, "AllowImplicitFragment", AllowImplicitFragment$0);
12435
+ }
12436
+ var ForbidImplicitFragment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ForbidImplicitFragment ""'), function($skip, $loc, $0, $1) {
12437
+ state.forbidImplicitFragment.push(!0);
12438
+ });
12439
+ function ForbidImplicitFragment(ctx, state2) {
12440
+ return (0, import_lib2.$EVENT)(ctx, state2, "ForbidImplicitFragment", ForbidImplicitFragment$0);
12441
+ }
12442
+ var RestoreImplicitFragment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'RestoreImplicitFragment ""'), function($skip, $loc, $0, $1) {
12443
+ state.forbidImplicitFragment.pop();
12444
+ });
12445
+ function RestoreImplicitFragment(ctx, state2) {
12446
+ return (0, import_lib2.$EVENT)(ctx, state2, "RestoreImplicitFragment", RestoreImplicitFragment$0);
12447
+ }
12448
+ var ImplicitFragmentAllowed$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ImplicitFragmentAllowed ""'), function($skip, $loc, $0, $1) {
12449
+ if (config.verbose && console.log("forbidImplicitFragment:", state.forbidImplicitFragment), state.implicitFragmentForbidden) return $skip;
12450
+ });
12451
+ function ImplicitFragmentAllowed(ctx, state2) {
12452
+ return (0, import_lib2.$EVENT)(ctx, state2, "ImplicitFragmentAllowed", ImplicitFragmentAllowed$0);
12453
+ }
12305
12454
  var AllowPipeline$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'AllowPipeline ""'), function($skip, $loc, $0, $1) {
12306
12455
  state.forbidPipeline.push(!1);
12307
12456
  });
@@ -12326,11 +12475,11 @@ ${js}`
12326
12475
  function PipelineAllowed(ctx, state2) {
12327
12476
  return (0, import_lib2.$EVENT)(ctx, state2, "PipelineAllowed", PipelineAllowed$0);
12328
12477
  }
12329
- var AllowAll$0 = (0, import_lib2.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNestedBinaryOp, AllowNewlineBinaryOp, AllowPipeline);
12478
+ var AllowAll$0 = (0, import_lib2.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNestedBinaryOp, AllowNewlineBinaryOp, AllowImplicitFragment, AllowPipeline);
12330
12479
  function AllowAll(ctx, state2) {
12331
12480
  return (0, import_lib2.$EVENT)(ctx, state2, "AllowAll", AllowAll$0);
12332
12481
  }
12333
- var RestoreAll$0 = (0, import_lib2.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNestedBinaryOp, RestoreNewlineBinaryOp, RestorePipeline);
12482
+ var RestoreAll$0 = (0, import_lib2.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNestedBinaryOp, RestoreNewlineBinaryOp, RestoreImplicitFragment, RestorePipeline);
12334
12483
  function RestoreAll(ctx, state2) {
12335
12484
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreAll", RestoreAll$0);
12336
12485
  }
@@ -12416,14 +12565,20 @@ ${js}`
12416
12565
  var MaybeNestedNonPipelineExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(NestedBulletedArray), (0, import_lib2.$N)(NestedImplicitObjectLiteral), PushIndent, (0, import_lib2.$E)((0, import_lib2.$S)(Nested, NonPipelineExpression)), PopIndent, (0, import_lib2.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12417
12566
  var expression = $4, trailing = $6;
12418
12567
  return expression ? trailing ? [expression, trailing] : expression : $skip;
12419
- }), MaybeNestedNonPipelineExpression$1 = NonPipelineExpression, MaybeNestedNonPipelineExpression$$ = [MaybeNestedNonPipelineExpression$0, MaybeNestedNonPipelineExpression$1];
12568
+ }), MaybeNestedNonPipelineExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidImplicitFragment, (0, import_lib2.$E)(NonPipelineExpression), RestoreImplicitFragment), function($skip, $loc, $0, $1, $2, $3) {
12569
+ var expression = $2;
12570
+ return expression || $skip;
12571
+ }), MaybeNestedNonPipelineExpression$$ = [MaybeNestedNonPipelineExpression$0, MaybeNestedNonPipelineExpression$1];
12420
12572
  function MaybeNestedNonPipelineExpression(ctx, state2) {
12421
12573
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExpression", MaybeNestedNonPipelineExpression$$);
12422
12574
  }
12423
12575
  var MaybeNestedPostfixedExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(NestedBulletedArray), (0, import_lib2.$N)(NestedImplicitObjectLiteral), PushIndent, (0, import_lib2.$E)((0, import_lib2.$S)(Nested, PostfixedExpression)), PopIndent, (0, import_lib2.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12424
12576
  var expression = $4, trailing = $6;
12425
12577
  return expression ? trailing ? [expression, trailing] : expression : $skip;
12426
- }), MaybeNestedPostfixedExpression$1 = PostfixedExpression, MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeNestedPostfixedExpression$1];
12578
+ }), MaybeNestedPostfixedExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidImplicitFragment, (0, import_lib2.$E)(PostfixedExpression), RestoreImplicitFragment), function($skip, $loc, $0, $1, $2, $3) {
12579
+ var expression = $2;
12580
+ return expression || $skip;
12581
+ }), MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeNestedPostfixedExpression$1];
12427
12582
  function MaybeNestedPostfixedExpression(ctx, state2) {
12428
12583
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
12429
12584
  }
@@ -12437,7 +12592,10 @@ ${js}`
12437
12592
  var MaybeNestedExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(NestedBulletedArray), (0, import_lib2.$N)(NestedImplicitObjectLiteral), PushIndent, (0, import_lib2.$E)((0, import_lib2.$S)(Nested, Expression)), PopIndent, (0, import_lib2.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12438
12593
  var expression = $4, trailing = $6;
12439
12594
  return expression ? trailing ? [expression, trailing] : expression : $skip;
12440
- }), MaybeNestedExpression$1 = Expression, MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1];
12595
+ }), MaybeNestedExpression$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidImplicitFragment, (0, import_lib2.$E)(Expression), RestoreImplicitFragment), function($skip, $loc, $0, $1, $2, $3) {
12596
+ var expression = $2;
12597
+ return expression || $skip;
12598
+ }), MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1];
12441
12599
  function MaybeNestedExpression(ctx, state2) {
12442
12600
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
12443
12601
  }
@@ -12466,7 +12624,7 @@ ${js}`
12466
12624
  var i = $1, behavior = $3, ws1 = $4, imports = $5, ws2 = $6, from = $7;
12467
12625
  let errors = [];
12468
12626
  return behavior?.error && errors.push(behavior.error), imports.specifiers.forEach((spec) => {
12469
- state.operators.set(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12627
+ setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12470
12628
  }), {
12471
12629
  type: "ImportDeclaration",
12472
12630
  children: [i, ...errors, trimFirstSpace(ws1), imports, ws2, from],
@@ -12496,7 +12654,7 @@ ${js}`
12496
12654
  var from = $1, fws = $2, i = $3, iws = $4, behavior = $6, ows = $7, imports = $8;
12497
12655
  let errors = [];
12498
12656
  return behavior?.error && errors.push(behavior.error), imports.specifiers.forEach((spec) => {
12499
- state.operators.set(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12657
+ setOperatorBehavior(spec.binding.name, spec.behavior ?? behavior), spec.behavior?.error && errors.push(spec.behavior.error);
12500
12658
  }), {
12501
12659
  type: "ImportDeclaration",
12502
12660
  children: [i, iws, ...errors, trimFirstSpace(ows), imports, fws, from],
@@ -12580,6 +12738,21 @@ ${js}`
12580
12738
  function OperatorNamedImports(ctx, state2) {
12581
12739
  return (0, import_lib2.$EVENT)(ctx, state2, "OperatorNamedImports", OperatorNamedImports$0);
12582
12740
  }
12741
+ var DynamicNamedImports$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, (0, import_lib2.$Q)(DynamicImportSpecifier), (0, import_lib2.$E)((0, import_lib2.$S)(__, Comma)), __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12742
+ var specifiers = $2;
12743
+ return {
12744
+ type: "Declaration",
12745
+ children: $0,
12746
+ specifiers
12747
+ };
12748
+ });
12749
+ function DynamicNamedImports(ctx, state2) {
12750
+ return (0, import_lib2.$EVENT)(ctx, state2, "DynamicNamedImports", DynamicNamedImports$0);
12751
+ }
12752
+ var DynamicImportContents$0 = DynamicNamedImports, DynamicImportContents$1 = IdentifierName, DynamicImportContents$2 = Star, DynamicImportContents$$ = [DynamicImportContents$0, DynamicImportContents$1, DynamicImportContents$2];
12753
+ function DynamicImportContents(ctx, state2) {
12754
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "DynamicImportContents", DynamicImportContents$$);
12755
+ }
12583
12756
  var FromClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(From, __, ModuleSpecifier), function($skip, $loc, $0, $1, $2, $3) {
12584
12757
  var module = $3;
12585
12758
  return Array.isArray(module) ? [$1, $2, ...module] : $0;
@@ -12599,13 +12772,13 @@ ${js}`
12599
12772
  function ImportAssertion(ctx, state2) {
12600
12773
  return (0, import_lib2.$EVENT)(ctx, state2, "ImportAssertion", ImportAssertion$0);
12601
12774
  }
12602
- var TypeAndImportSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(__, TypeKeyword)), ImportSpecifier), function($skip, $loc, $0, $1, $2) {
12603
- return $1 ? { ts: !0, children: $0, binding: $2.binding } : $2;
12604
- }), TypeAndImportSpecifier$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, Operator, OperatorImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
12775
+ var TypeAndImportSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, TypeKeyword, ImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
12776
+ return { ts: !0, children: $0, binding: $3.binding };
12777
+ }), TypeAndImportSpecifier$1 = ImportSpecifier, TypeAndImportSpecifier$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, Operator, OperatorImportSpecifier), function($skip, $loc, $0, $1, $2, $3) {
12605
12778
  var ws = $1, spec = $3;
12606
12779
  if (spec.binding.type !== "Identifier")
12607
12780
  throw new Error("Expected identifier after `operator`");
12608
- return state.operators.set(spec.binding.name, spec.behavior), {
12781
+ return setOperatorBehavior(spec.binding.name, spec.behavior), {
12609
12782
  ...spec,
12610
12783
  children: [
12611
12784
  ws,
@@ -12613,7 +12786,7 @@ ${js}`
12613
12786
  spec.children.slice(1)
12614
12787
  ]
12615
12788
  };
12616
- }), TypeAndImportSpecifier$$ = [TypeAndImportSpecifier$0, TypeAndImportSpecifier$1];
12789
+ }), TypeAndImportSpecifier$$ = [TypeAndImportSpecifier$0, TypeAndImportSpecifier$1, TypeAndImportSpecifier$2];
12617
12790
  function TypeAndImportSpecifier(ctx, state2) {
12618
12791
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeAndImportSpecifier", TypeAndImportSpecifier$$);
12619
12792
  }
@@ -12653,6 +12826,23 @@ ${js}`
12653
12826
  function OperatorImportSpecifier(ctx, state2) {
12654
12827
  return (0, import_lib2.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
12655
12828
  }
12829
+ var DynamicImportSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, (0, import_lib2.$E)((0, import_lib2.$S)(TypeKeyword, __, (0, import_lib2.$Y)(DynamicModuleExportName))), DynamicModuleExportName, (0, import_lib2.$E)((0, import_lib2.$S)(ImportAsToken, __, DynamicModuleExportName)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12830
+ var ts2 = $2, source = $3, binding = $4;
12831
+ return {
12832
+ source,
12833
+ binding: binding?.[2],
12834
+ ts: !!ts2,
12835
+ // true causes an error later
12836
+ children: $0
12837
+ };
12838
+ });
12839
+ function DynamicImportSpecifier(ctx, state2) {
12840
+ return (0, import_lib2.$EVENT)(ctx, state2, "DynamicImportSpecifier", DynamicImportSpecifier$0);
12841
+ }
12842
+ var DynamicModuleExportName$0 = ModuleExportName, DynamicModuleExportName$1 = ComputedPropertyName, DynamicModuleExportName$$ = [DynamicModuleExportName$0, DynamicModuleExportName$1];
12843
+ function DynamicModuleExportName(ctx, state2) {
12844
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "DynamicModuleExportName", DynamicModuleExportName$$);
12845
+ }
12656
12846
  var ImportAsToken$0 = (0, import_lib2.$S)(__, As), ImportAsToken$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(Loc, __, Colon, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
12657
12847
  var l = $1, ws = $2, c = $3;
12658
12848
  let children = [
@@ -13792,7 +13982,7 @@ ${js}`
13792
13982
  return (0, import_lib2.$EVENT)(ctx, state2, "SingleQuote", SingleQuote$0);
13793
13983
  }
13794
13984
  var Star$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L75, 'Star "*"'), function($skip, $loc, $0, $1) {
13795
- return { $loc, token: $1 };
13985
+ return { $loc, token: $1, type: "Star" };
13796
13986
  });
13797
13987
  function Star(ctx, state2) {
13798
13988
  return (0, import_lib2.$EVENT)(ctx, state2, "Star", Star$0);
@@ -13943,20 +14133,23 @@ ${js}`
13943
14133
  function Yield(ctx, state2) {
13944
14134
  return (0, import_lib2.$EVENT)(ctx, state2, "Yield", Yield$0);
13945
14135
  }
13946
- var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, (0, import_lib2.$C)(JSXTag, JSXAngleChild)))), function($skip, $loc, $0, $1, $2) {
13947
- let jsx = $2.length === 0 ? $1 : {
14136
+ var JSXImplicitFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(JSXTag, (0, import_lib2.$E)((0, import_lib2.$S)(ImplicitFragmentAllowed, NestedBinaryOpAllowed, NewlineBinaryOpAllowed, (0, import_lib2.$Q)((0, import_lib2.$S)(Nested, (0, import_lib2.$C)(JSXTag, JSXAngleChild)))))), function($skip, $loc, $0, $1, $2) {
14137
+ var first = $1, rest = $2;
14138
+ rest = rest ? rest[3] : [];
14139
+ let jsx = rest.length === 0 ? first : {
13948
14140
  type: "JSXFragment",
13949
14141
  children: [
13950
14142
  `<>
13951
14143
  `,
13952
14144
  state.currentIndent.token,
13953
- ...$0,
14145
+ first,
14146
+ ...rest,
13954
14147
  `
13955
14148
  `,
13956
14149
  state.currentIndent.token,
13957
14150
  "</>"
13958
14151
  ],
13959
- jsxChildren: [$1].concat($2.map(([, tag]) => tag))
14152
+ jsxChildren: [first, ...rest.map(([, tag]) => tag)]
13960
14153
  }, type = typeOfJSX(jsx, config);
13961
14154
  return type ? [
13962
14155
  { ts: !0, children: ["("] },
@@ -14464,10 +14657,7 @@ ${js}`
14464
14657
  function JSXAngleChild(ctx, state2) {
14465
14658
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXAngleChild", JSXAngleChild$0);
14466
14659
  }
14467
- var JSXCodeChild$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(InsertInlineOpenBrace, JSXCodeChildExpression, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
14468
- var open = $1, expression = $2, close = $3;
14469
- return expression ? [open, expression, close] : $skip;
14470
- });
14660
+ var JSXCodeChild$0 = (0, import_lib2.$S)(InsertInlineOpenBrace, JSXCodeChildExpression, InsertCloseBrace);
14471
14661
  function JSXCodeChild(ctx, state2) {
14472
14662
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXCodeChild", JSXCodeChild$0);
14473
14663
  }
@@ -15542,6 +15732,7 @@ ${js}`
15542
15732
  break;
15543
15733
  case "globals":
15544
15734
  case "symbols":
15735
+ case "operators":
15545
15736
  value = value.split(",").filter(Boolean);
15546
15737
  break;
15547
15738
  }
@@ -15854,7 +16045,7 @@ ${js}`
15854
16045
  state.indentLevels = [{
15855
16046
  level: 0,
15856
16047
  token: ""
15857
- }], state.forbidClassImplicitCall = [!1], state.forbidIndentedApplication = [!1], state.forbidBracedApplication = [!1], state.forbidTrailingMemberProperty = [!1], state.forbidNestedBinaryOp = [!1], state.forbidNewlineBinaryOp = [!1], state.forbidPipeline = [!1], state.JSXTagStack = [void 0], state.operators = /* @__PURE__ */ new Map(), state.helperRefs = {}, state.prelude = [], config = {
16048
+ }], state.forbidClassImplicitCall = [!1], state.forbidIndentedApplication = [!1], state.forbidBracedApplication = [!1], state.forbidTrailingMemberProperty = [!1], state.forbidNestedBinaryOp = [!1], state.forbidNewlineBinaryOp = [!1], state.forbidImplicitFragment = [!1], state.forbidPipeline = [!1], state.JSXTagStack = [void 0], state.operators = /* @__PURE__ */ new Map(), state.helperRefs = {}, state.prelude = [], config = {
15858
16049
  autoConst: !1,
15859
16050
  autoVar: !1,
15860
16051
  autoLet: !1,
@@ -15928,6 +16119,28 @@ ${js}`
15928
16119
  ])
15929
16120
  config[option] = b;
15930
16121
  }
16122
+ }), Object.defineProperty(config, "operators", {
16123
+ set(o) {
16124
+ if (o) {
16125
+ if (typeof o != "object")
16126
+ throw new Error("operators configuration must be an object or array");
16127
+ if (Array.isArray(o))
16128
+ o.forEach((name) => {
16129
+ if (typeof name != "string")
16130
+ throw new Error("operators configuration array must contain only strings");
16131
+ setOperatorBehavior(name, void 0);
16132
+ });
16133
+ else
16134
+ for (let [name, behavior] of Object.entries(o)) {
16135
+ if (typeof behavior == "string" && (behavior = behavior.trim(), behavior = behavior ? parse(behavior, {
16136
+ startRule: "OperatorBehavior",
16137
+ filename: `operator config for ${name}`
16138
+ }) : void 0), behavior && typeof behavior != "object")
16139
+ throw new Error("operators configuration object must have string or object values");
16140
+ setOperatorBehavior(name, behavior);
16141
+ }
16142
+ }
16143
+ }
15931
16144
  }), Object.assign(config, initialConfig);
15932
16145
  });
15933
16146
  function Reset(ctx, state2) {
@@ -16032,23 +16245,21 @@ ${js}`
16032
16245
  function PushExtraIndent1(ctx, state2) {
16033
16246
  return (0, import_lib2.$EVENT)(ctx, state2, "PushExtraIndent1", PushExtraIndent1$0);
16034
16247
  }
16035
- var parser = function() {
16036
- let { fail, validate, reset } = (0, import_lib2.Validator)(), ctx = { expectation: "", fail };
16037
- return {
16038
- parse: (input, options = {}) => {
16039
- if (typeof input != "string") throw new Error("Input must be a string");
16040
- let parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
16041
- if (!parser2) throw new Error(`Could not find rule with name '${options.startRule}'`);
16042
- let filename2 = options.filename || "<anonymous>";
16043
- return reset(), Object.assign(ctx, { ...options.events, tokenize: options.tokenize }), validate(input, parser2(ctx, {
16044
- input,
16045
- pos: 0
16046
- }), {
16047
- filename: filename2
16048
- });
16049
- }
16050
- };
16051
- }();
16248
+ var parser = {
16249
+ parse: (input, options = {}) => {
16250
+ let { fail, validate, reset } = (0, import_lib2.Validator)(), ctx = { expectation: "", fail };
16251
+ if (typeof input != "string") throw new Error("Input must be a string");
16252
+ let parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
16253
+ if (!parser2) throw new Error(`Could not find rule with name '${options.startRule}'`);
16254
+ let filename2 = options.filename || "<anonymous>";
16255
+ return reset(), Object.assign(ctx, { ...options.events, tokenize: options.tokenize }), validate(input, parser2(ctx, {
16256
+ input,
16257
+ pos: 0
16258
+ }), {
16259
+ filename: filename2
16260
+ });
16261
+ }
16262
+ };
16052
16263
  var { parse } = parser;
16053
16264
  var filename, initialConfig, config, sync, state = {
16054
16265
  // parser state
@@ -16059,6 +16270,7 @@ ${js}`
16059
16270
  forbidTrailingMemberProperty: [!1],
16060
16271
  forbidNestedBinaryOp: [!1],
16061
16272
  forbidNewlineBinaryOp: [!1],
16273
+ forbidImplicitFragment: [!1],
16062
16274
  forbidPipeline: [!1],
16063
16275
  JSXTagStack: [void 0]
16064
16276
  }, getState = () => state, getConfig = () => config, getInitialConfig = () => initialConfig, getFilename = () => filename, getSync = () => sync;
@@ -16105,6 +16317,12 @@ ${js}`
16105
16317
  return s[s.length - 1];
16106
16318
  }
16107
16319
  },
16320
+ implicitFragmentForbidden: {
16321
+ get() {
16322
+ let { forbidImplicitFragment: s } = state;
16323
+ return s[s.length - 1];
16324
+ }
16325
+ },
16108
16326
  pipelineForbidden: {
16109
16327
  get() {
16110
16328
  let { forbidPipeline: s } = state;
@@ -16118,8 +16336,12 @@ ${js}`
16118
16336
  }
16119
16337
  }
16120
16338
  });
16339
+ function setOperatorBehavior(name, behavior) {
16340
+ let existing = state.operators.get(name);
16341
+ existing && behavior ? state.operators.set(name, { ...existing, ...behavior }) : state.operators.set(name, behavior || existing);
16342
+ }
16121
16343
  function getStateKey() {
16122
- return [state.currentIndent.level % 256 << 8 | state.classImplicitCallForbidden << 7 | state.indentedApplicationForbidden << 6 | state.bracedApplicationForbidden << 5 | state.trailingMemberPropertyForbidden << 4 | state.nestedBinaryOpForbidden << 3 | state.newlineBinaryOpForbidden << 2 | state.pipelineForbidden << 1 | // This is slightly different than the rest of the state,
16344
+ return [state.currentIndent.level % 256 << 9 | state.classImplicitCallForbidden << 8 | state.indentedApplicationForbidden << 7 | state.bracedApplicationForbidden << 6 | state.trailingMemberPropertyForbidden << 5 | state.nestedBinaryOpForbidden << 4 | state.newlineBinaryOpForbidden << 3 | state.implicitFragmentForbidden << 2 | state.pipelineForbidden << 1 | // This is slightly different than the rest of the state,
16123
16345
  // since it is affected by the directive prologue and may be hit
16124
16346
  // by the EOL rule early in the parse. Later if we wanted to
16125
16347
  // allow block scoping of the compat directives we would need to
@@ -16188,7 +16410,7 @@ ${js}`
16188
16410
  let line = ref1[i1];
16189
16411
  results.push((() => {
16190
16412
  let results1 = [];
16191
- for (let i2 = 0, len1 = line.length; i2 < len1; i2++) {
16413
+ for (let i2 = 0, len12 = line.length; i2 < len12; i2++) {
16192
16414
  let entry = line[i2];
16193
16415
  if (entry.length === 4) {
16194
16416
  let [colDelta, sourceFileIndex, srcLine, srcCol] = entry, lineDelta = srcLine - lastSourceLine;
@@ -16414,8 +16636,24 @@ ${upstreamMap.comment(sourcePath, targetPath)}`;
16414
16636
  "RestoreNewlineBinaryOp",
16415
16637
  "RestorePipeline"
16416
16638
  ]);
16639
+ function decode(src) {
16640
+ if (typeof src == "string" || typeof Buffer > "u" || !Buffer?.isBuffer(src))
16641
+ return src;
16642
+ if (src[0] === 239 && src[1] === 187 && src[2] === 191)
16643
+ return src.toString("utf8", 3);
16644
+ if (src[0] === 255 && src[1] === 254)
16645
+ return src.toString("utf16le", 2);
16646
+ if (src[0] === 254 && src[1] === 255) {
16647
+ for (let end = src.length - 2, i1 = 2; i1 <= end; i1 += 2) {
16648
+ let i = i1;
16649
+ [src[i], src[i + 1]] = [src[i + 1], src[i]];
16650
+ }
16651
+ return src.toString("utf16le", 2);
16652
+ } else
16653
+ return src.toString("utf8");
16654
+ }
16417
16655
  function compile(src, options) {
16418
- options ? options = { ...options } : options = {}, options.parseOptions = { ...options.parseOptions };
16656
+ src = decode(src), options ? options = { ...options } : options = {}, options.parseOptions = { ...options.parseOptions };
16419
16657
  let filename2 = options.filename || "unknown";
16420
16658
  filename2.endsWith(".coffee") && !/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(src) && (options.parseOptions.coffeeCompat = !0);
16421
16659
  let { hits, trace, noCache } = options, events;
@@ -16530,7 +16768,7 @@ ${options.sourceMap.comment(filename2, filename2 + ".tsx")}` : {
16530
16768
  }
16531
16769
  function autoRunScripts(roots, options = {}) {
16532
16770
  let observer = new MutationObserver(async (mutations) => {
16533
- for (let i2 = 0, len1 = mutations.length; i2 < len1; i2++) {
16771
+ for (let i2 = 0, len12 = mutations.length; i2 < len12; i2++) {
16534
16772
  let mutation = mutations[i2];
16535
16773
  if (mutation.type === "childList")
16536
16774
  for (let ref1 = mutation.addedNodes, i3 = 0, len22 = ref1.length; i3 < len22; i3++) {