@danielx/civet 0.9.3 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -57,7 +57,7 @@ var require_machine = __commonJS({
57
57
  $EVENT: () => $EVENT2,
58
58
  $EVENT_C: () => $EVENT_C2,
59
59
  $EXPECT: () => $EXPECT2,
60
- $L: () => $L247,
60
+ $L: () => $L249,
61
61
  $N: () => $N2,
62
62
  $P: () => $P2,
63
63
  $Q: () => $Q2,
@@ -82,7 +82,7 @@ var require_machine = __commonJS({
82
82
  return result;
83
83
  };
84
84
  }
85
- function $L247(str) {
85
+ function $L249(str) {
86
86
  return function(_ctx, state2) {
87
87
  const { input, pos } = state2, { length } = str, end = pos + length;
88
88
  if (input.substring(pos, end) === str) {
@@ -2010,16 +2010,18 @@ var declareHelper = {
2010
2010
  "\n"
2011
2011
  ]]);
2012
2012
  },
2013
- rslice(rsliceRef) {
2014
- const RSliceable = makeRef("RSliceable");
2013
+ RSliceable(RSliceableRef) {
2015
2014
  state.prelude.push([
2016
2015
  "",
2017
- ts(["type ", RSliceable, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"])
2016
+ ts(["type ", RSliceableRef, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"])
2018
2017
  ]);
2018
+ },
2019
+ rslice(rsliceRef) {
2020
+ const RSliceableRef = getHelperRef("RSliceable");
2019
2021
  state.prelude.push(["", [
2020
2022
  preludeVar,
2021
2023
  rsliceRef,
2022
- ts([": <R, T extends string | ", RSliceable, "<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ", RSliceable, "<infer R> ? R : never"]),
2024
+ ts([": <R, T extends string | ", RSliceableRef, "<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ", RSliceableRef, "<infer R> ? R : never"]),
2023
2025
  " = ((a, start = -1, end = -1) => {\n",
2024
2026
  " const l = a.length\n",
2025
2027
  " if (start < 0) start += l\n",
@@ -2038,6 +2040,72 @@ var declareHelper = {
2038
2040
  "})"
2039
2041
  ], ";\n"]);
2040
2042
  },
2043
+ range(rangeRef) {
2044
+ state.prelude.push(["", [
2045
+ preludeVar,
2046
+ rangeRef,
2047
+ ts([": (start: number, end: number) => number[]"]),
2048
+ " ",
2049
+ `= (start, end) => {
2050
+ const length = end - start;
2051
+ if (length <= 0) return [];
2052
+ const arr = Array(length);
2053
+ for (let i = 0; i < length; ++i) {
2054
+ arr[i] = i + start;
2055
+ }
2056
+ return arr;
2057
+ }`
2058
+ ], ";\n"]);
2059
+ },
2060
+ revRange(revRangeRef) {
2061
+ state.prelude.push(["", [
2062
+ preludeVar,
2063
+ revRangeRef,
2064
+ ts([": (start: number, end: number) => number[]"]),
2065
+ " ",
2066
+ `= (start, end) => {
2067
+ const length = start - end;
2068
+ if (length <= 0) return [];
2069
+ const arr = Array(length);
2070
+ for (let i = 0; i < length; ++i) {
2071
+ arr[i] = start - i;
2072
+ }
2073
+ return arr;
2074
+ }`
2075
+ ], ";\n"]);
2076
+ },
2077
+ stringRange(stringRangeRef) {
2078
+ state.prelude.push(["", [
2079
+ preludeVar,
2080
+ stringRangeRef,
2081
+ ts([": (start: number, length: number) => string[]"]),
2082
+ " ",
2083
+ `= (start, length) => {
2084
+ if (length <= 0) return [];
2085
+ const arr = Array(length);
2086
+ for (let i = 0; i < length; ++i) {
2087
+ arr[i] = String.fromCharCode(start + i);
2088
+ }
2089
+ return arr;
2090
+ }`
2091
+ ], ";\n"]);
2092
+ },
2093
+ revStringRange(revStringRangeRef) {
2094
+ state.prelude.push(["", [
2095
+ preludeVar,
2096
+ revStringRangeRef,
2097
+ ts([": (start: number, length: number) => string[]"]),
2098
+ " ",
2099
+ `= (start, length) => {
2100
+ if (length <= 0) return [];
2101
+ const arr = Array(length);
2102
+ for (let i = 0; i < length; ++i) {
2103
+ arr[i] = String.fromCharCode(start - i);
2104
+ }
2105
+ return arr;
2106
+ }`
2107
+ ], ";\n"]);
2108
+ },
2041
2109
  div(divRef) {
2042
2110
  state.prelude.push(["", [
2043
2111
  // [indent, statement]
@@ -2180,9 +2248,28 @@ function peekHelperRef(base) {
2180
2248
  return state.helperRefs[base];
2181
2249
  }
2182
2250
  function extractPreludeFor(node) {
2183
- let helpers = new Set(Object.values(state.helperRefs));
2184
- helpers = new Set(gatherRecursive(node, helpers.has.bind(helpers)));
2185
- return state.prelude.filter((s) => gatherRecursive(s, helpers.has.bind(helpers)).length);
2251
+ if (!state.prelude.length) {
2252
+ return state.prelude;
2253
+ }
2254
+ const allHelpers = new Set(Object.values(state.helperRefs));
2255
+ const isHelper = allHelpers.has.bind(allHelpers);
2256
+ const usedHelpers = new Set(gatherRecursive(node, isHelper));
2257
+ while (true) {
2258
+ let prelude = state.prelude.filter((s) => {
2259
+ return gatherRecursive(s, usedHelpers.has.bind(usedHelpers)).length;
2260
+ });
2261
+ let changed = false;
2262
+ for (let ref1 = gatherRecursive(prelude, isHelper), i = 0, len3 = ref1.length; i < len3; i++) {
2263
+ const helper = ref1[i];
2264
+ if (!usedHelpers.has(helper)) {
2265
+ usedHelpers.add(helper);
2266
+ changed = true;
2267
+ }
2268
+ }
2269
+ if (!changed) {
2270
+ return prelude;
2271
+ }
2272
+ }
2186
2273
  }
2187
2274
 
2188
2275
  // unplugin-civet:C:\Users\edemaine\Projects\Civet\source\generate.civet.jsx
@@ -2194,7 +2281,8 @@ function stringify(node) {
2194
2281
  }
2195
2282
  }
2196
2283
  function gen(root, options) {
2197
- const updateSourceMap = options?.sourceMap?.updateSourceMap;
2284
+ let ref;
2285
+ const updateSourceMap = (ref = options?.sourceMap)?.updateSourceMap.bind(ref);
2198
2286
  return recurse(root);
2199
2287
  function recurse(node) {
2200
2288
  if (!(node != null)) {
@@ -2219,15 +2307,15 @@ function gen(root, options) {
2219
2307
  let line = "?";
2220
2308
  let column = "?";
2221
2309
  let offset;
2222
- let ref;
2223
- if (ref = options.sourceMap) {
2224
- const sourceMap = ref;
2310
+ let ref1;
2311
+ if (ref1 = options.sourceMap) {
2312
+ const sourceMap = ref1;
2225
2313
  if (node.$loc != null) {
2226
2314
  sourceMap.updateSourceMap("", node.$loc.pos);
2227
2315
  }
2228
- line = sourceMap.data.srcLine + 1;
2229
- column = sourceMap.data.srcColumn + 1;
2230
- offset = sourceMap.data.srcOffset;
2316
+ line = sourceMap.srcLine + 1;
2317
+ column = sourceMap.srcColumn + 1;
2318
+ offset = sourceMap.srcOffset;
2231
2319
  }
2232
2320
  options.errors ??= [];
2233
2321
  options.errors.push(new import_lib2.ParseError(
@@ -3278,9 +3366,30 @@ function wrapIterationReturningResults(statement, collect) {
3278
3366
  if (statement.resultsRef != null) {
3279
3367
  return;
3280
3368
  }
3281
- const resultsRef = statement.resultsRef = makeRef("results");
3369
+ if (statement.resultsParent) {
3370
+ const { ancestor: ancestor2 } = findAncestor(
3371
+ statement,
3372
+ ($5) => $5.type === "ForStatement" || $5.type === "IterationStatement",
3373
+ isFunction
3374
+ );
3375
+ if (!ancestor2) {
3376
+ statement.children.unshift({
3377
+ type: "Error",
3378
+ message: "Could not find ancestor of spread iteration"
3379
+ });
3380
+ return;
3381
+ }
3382
+ const resultsRef2 = statement.resultsRef = ancestor2.resultsRef;
3383
+ iterationDefaultBody(statement);
3384
+ const { block } = statement;
3385
+ if (!block.empty) {
3386
+ assignResults(block, (node) => [resultsRef2, ".push(", node, ")"]);
3387
+ }
3388
+ return;
3389
+ }
3390
+ const resultsRef = statement.resultsRef ??= makeRef("results");
3282
3391
  const declaration = iterationDeclaration(statement);
3283
- const { ancestor, child } = findAncestor(statement, ($5) => $5.type === "BlockStatement");
3392
+ const { ancestor, child } = findAncestor(statement, ($6) => $6.type === "BlockStatement");
3284
3393
  assert.notNull(ancestor, `Could not find block containing ${statement.type}`);
3285
3394
  const index = findChildIndex(ancestor.expressions, child);
3286
3395
  assert.notEqual(index, -1, `Could not find ${statement.type} in containing block`);
@@ -3324,6 +3433,9 @@ function iterationDeclaration(statement) {
3324
3433
  case "every": {
3325
3434
  return "true";
3326
3435
  }
3436
+ case "first": {
3437
+ return "undefined";
3438
+ }
3327
3439
  case "min": {
3328
3440
  return "Infinity";
3329
3441
  }
@@ -3336,6 +3448,9 @@ function iterationDeclaration(statement) {
3336
3448
  case "join": {
3337
3449
  return '""';
3338
3450
  }
3451
+ case "concat": {
3452
+ return "[]";
3453
+ }
3339
3454
  default: {
3340
3455
  return "0";
3341
3456
  }
@@ -3380,10 +3495,16 @@ function iterationDeclaration(statement) {
3380
3495
  case "count": {
3381
3496
  return ["if (", node, ") ++", resultsRef];
3382
3497
  }
3498
+ case "first": {
3499
+ return [resultsRef, " = ", node, "; break"];
3500
+ }
3383
3501
  case "sum":
3384
3502
  case "join": {
3385
3503
  return [resultsRef, " += ", node];
3386
3504
  }
3505
+ case "concat": {
3506
+ return [getHelperRef("concatAssign"), "(", resultsRef, ", ", node, ")"];
3507
+ }
3387
3508
  case "product": {
3388
3509
  return [resultsRef, " *= ", node];
3389
3510
  }
@@ -3437,31 +3558,34 @@ function iterationDefaultBody(statement) {
3437
3558
  }
3438
3559
  }
3439
3560
  }
3440
- if (statement.type === "ForStatement" && statement.declaration?.type === "ForDeclaration") {
3441
- if (reduction) {
3442
- const bindings = patternBindings(statement.declaration.binding.pattern);
3443
- if (bindings.length) {
3444
- fillBlock(["", bindings[0]]);
3445
- for (const binding of bindings.slice(1)) {
3446
- binding.children.unshift({
3447
- type: "Error",
3448
- subtype: "Warning",
3449
- message: "Ignored binding in reduction loop with implicit body"
3450
- });
3561
+ if (statement.type === "ForStatement") {
3562
+ const declaration = statement.eachDeclaration ?? statement.declaration;
3563
+ if (declaration?.type === "ForDeclaration") {
3564
+ if (reduction) {
3565
+ const bindings = patternBindings(declaration.binding.pattern);
3566
+ if (bindings.length) {
3567
+ fillBlock(["", bindings[0]]);
3568
+ for (const binding of bindings.slice(1)) {
3569
+ binding.children.unshift({
3570
+ type: "Error",
3571
+ subtype: "Warning",
3572
+ message: "Ignored binding in reduction loop with implicit body"
3573
+ });
3574
+ }
3575
+ } else {
3576
+ fillBlock([
3577
+ "",
3578
+ {
3579
+ type: "Error",
3580
+ message: "Empty binding pattern in reduction loop with implicit body"
3581
+ }
3582
+ ]);
3451
3583
  }
3452
3584
  } else {
3453
- fillBlock([
3454
- "",
3455
- {
3456
- type: "Error",
3457
- message: "Empty binding pattern in reduction loop with implicit body"
3458
- }
3459
- ]);
3585
+ fillBlock(["", patternAsValue(declaration.binding.pattern)]);
3460
3586
  }
3461
- } else {
3462
- fillBlock(["", patternAsValue(statement.declaration.binding.pattern)]);
3587
+ block.empty = false;
3463
3588
  }
3464
- block.empty = false;
3465
3589
  }
3466
3590
  return false;
3467
3591
  }
@@ -3522,7 +3646,7 @@ function processParams(f) {
3522
3646
  }
3523
3647
  }
3524
3648
  }
3525
- parameters.names = before.flatMap(($6) => $6.names);
3649
+ parameters.names = before.flatMap(($7) => $7.names);
3526
3650
  parameters.parameters.splice(0, 1 / 0, ...[]);
3527
3651
  if (tt) {
3528
3652
  parameters.parameters.push(tt);
@@ -3540,7 +3664,7 @@ function processParams(f) {
3540
3664
  });
3541
3665
  }
3542
3666
  after = trimFirstSpace(after);
3543
- const names = after.flatMap(($7) => $7.names);
3667
+ const names = after.flatMap(($8) => $8.names);
3544
3668
  const elements = after.map((p) => {
3545
3669
  if (p.type === "Error") {
3546
3670
  return p;
@@ -3629,9 +3753,9 @@ function processParams(f) {
3629
3753
  colon,
3630
3754
  t,
3631
3755
  children: [
3632
- ...oldSuffix.children.filter(($8) => (
3756
+ ...oldSuffix.children.filter(($9) => (
3633
3757
  // spaces and colon
3634
- $8 !== oldSuffix.optional && $8 !== oldSuffix.t
3758
+ $9 !== oldSuffix.optional && $9 !== oldSuffix.t
3635
3759
  )),
3636
3760
  !oldSuffix.colon ? colon : void 0,
3637
3761
  t
@@ -3666,9 +3790,9 @@ function processParams(f) {
3666
3790
  assignPins: true
3667
3791
  });
3668
3792
  if (isConstructor) {
3669
- const { ancestor } = findAncestor(f, ($9) => $9.type === "ClassExpression");
3793
+ const { ancestor } = findAncestor(f, ($10) => $10.type === "ClassExpression");
3670
3794
  if (ancestor != null) {
3671
- const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($10) => $10.type === "FieldDefinition").map(($11) => $11.id).filter((a3) => typeof a3 === "object" && a3 != null && "type" in a3 && a3.type === "Identifier").map(($12) => $12.name));
3795
+ const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($11) => $11.type === "FieldDefinition").map(($12) => $12.id).filter((a3) => typeof a3 === "object" && a3 != null && "type" in a3 && a3.type === "Identifier").map(($13) => $13.name));
3672
3796
  const classExpressions = ancestor.body.expressions;
3673
3797
  let index2 = findChildIndex(classExpressions, f);
3674
3798
  assert.notEqual(index2, -1, "Could not find constructor in class");
@@ -3677,13 +3801,13 @@ function processParams(f) {
3677
3801
  index2--;
3678
3802
  }
3679
3803
  const fStatement = classExpressions[index2];
3680
- for (let ref18 = gatherRecursive(parameters, ($13) => $13.type === "Parameter"), i9 = 0, len8 = ref18.length; i9 < len8; i9++) {
3804
+ for (let ref18 = gatherRecursive(parameters, ($14) => $14.type === "Parameter"), i9 = 0, len8 = ref18.length; i9 < len8; i9++) {
3681
3805
  const parameter = ref18[i9];
3682
3806
  const { accessModifier } = parameter;
3683
3807
  if (!(accessModifier || parameter.typeSuffix)) {
3684
3808
  continue;
3685
3809
  }
3686
- for (let ref19 = gatherRecursive(parameter, ($14) => $14.type === "AtBinding"), i10 = 0, len9 = ref19.length; i10 < len9; i10++) {
3810
+ for (let ref19 = gatherRecursive(parameter, ($15) => $15.type === "AtBinding"), i10 = 0, len9 = ref19.length; i10 < len9; i10++) {
3687
3811
  const binding = ref19[i10];
3688
3812
  const typeSuffix = binding.parent?.typeSuffix;
3689
3813
  if (!(accessModifier || typeSuffix)) {
@@ -3766,7 +3890,7 @@ function processSignature(f) {
3766
3890
  f.async.push("async ");
3767
3891
  signature.modifier.async = true;
3768
3892
  } else {
3769
- for (let ref21 = gatherRecursiveWithinFunction(block, ($15) => $15.type === "Await"), i12 = 0, len11 = ref21.length; i12 < len11; i12++) {
3893
+ for (let ref21 = gatherRecursiveWithinFunction(block, ($16) => $16.type === "Await"), i12 = 0, len11 = ref21.length; i12 < len11; i12++) {
3770
3894
  const a = ref21[i12];
3771
3895
  const i = findChildIndex(a.parent, a);
3772
3896
  a.parent.children.splice(i + 1, 0, {
@@ -3781,9 +3905,9 @@ function processSignature(f) {
3781
3905
  f.generator.push("*");
3782
3906
  signature.modifier.generator = true;
3783
3907
  } else {
3784
- for (let ref22 = gatherRecursiveWithinFunction(block, ($16) => $16.type === "YieldExpression"), i13 = 0, len12 = ref22.length; i13 < len12; i13++) {
3908
+ for (let ref22 = gatherRecursiveWithinFunction(block, ($17) => $17.type === "YieldExpression"), i13 = 0, len12 = ref22.length; i13 < len12; i13++) {
3785
3909
  const y = ref22[i13];
3786
- const i = y.children.findIndex(($17) => $17.type === "Yield");
3910
+ const i = y.children.findIndex(($18) => $18.type === "Yield");
3787
3911
  y.children.splice(i + 1, 0, {
3788
3912
  type: "Error",
3789
3913
  message: `yield invalid in ${f.type === "ArrowFunction" ? "=> arrow function" : signature.modifier.get ? "getter" : signature.modifier.set ? "setter" : signature.name}`
@@ -3796,7 +3920,7 @@ function processSignature(f) {
3796
3920
  }
3797
3921
  }
3798
3922
  function processFunctions(statements, config2) {
3799
- for (let ref23 = gatherRecursiveAll(statements, ($18) => $18.type === "FunctionExpression" || $18.type === "ArrowFunction" || $18.type === "MethodDefinition"), i14 = 0, len13 = ref23.length; i14 < len13; i14++) {
3923
+ for (let ref23 = gatherRecursiveAll(statements, ($19) => $19.type === "FunctionExpression" || $19.type === "ArrowFunction" || $19.type === "MethodDefinition"), i14 = 0, len13 = ref23.length; i14 < len13; i14++) {
3800
3924
  const f = ref23[i14];
3801
3925
  if (f.type === "FunctionExpression" || f.type === "MethodDefinition") {
3802
3926
  implicitFunctionBlock(f);
@@ -3808,7 +3932,7 @@ function processFunctions(statements, config2) {
3808
3932
  }
3809
3933
  function expressionizeIteration(exp) {
3810
3934
  let { async, generator, block, children, statement } = exp;
3811
- const i = children.indexOf(statement);
3935
+ let i = children.indexOf(statement);
3812
3936
  if (i < 0) {
3813
3937
  throw new Error("Could not find iteration statement in iteration expression");
3814
3938
  }
@@ -3819,12 +3943,6 @@ function expressionizeIteration(exp) {
3819
3943
  }
3820
3944
  let statements;
3821
3945
  if (generator) {
3822
- if (statement.reduction) {
3823
- children.unshift({
3824
- type: "Error",
3825
- message: `Cannot use reduction (${statement.reduction.subtype}) with generators`
3826
- });
3827
- }
3828
3946
  iterationDefaultBody(statement);
3829
3947
  assignResults(block, (node) => {
3830
3948
  return {
@@ -3872,7 +3990,7 @@ function expressionizeIteration(exp) {
3872
3990
  }
3873
3991
  }
3874
3992
  function processIterationExpressions(statements) {
3875
- for (let ref25 = gatherRecursiveAll(statements, ($19) => $19.type === "IterationExpression"), i15 = 0, len14 = ref25.length; i15 < len14; i15++) {
3993
+ for (let ref25 = gatherRecursiveAll(statements, ($20) => $20.type === "IterationExpression"), i15 = 0, len14 = ref25.length; i15 < len14; i15++) {
3876
3994
  const s = ref25[i15];
3877
3995
  expressionizeIteration(s);
3878
3996
  }
@@ -3922,12 +4040,12 @@ function processCoffeeDo(ws, expression) {
3922
4040
  const newParameters = {
3923
4041
  ...parameters,
3924
4042
  parameters: newParameterList,
3925
- children: parameters.children.map(($20) => $20 === parameterList ? newParameterList : $20)
4043
+ children: parameters.children.map(($21) => $21 === parameterList ? newParameterList : $21)
3926
4044
  };
3927
4045
  expression = {
3928
4046
  ...expression,
3929
4047
  parameters: newParameters,
3930
- children: expression.children.map(($21) => $21 === parameters ? newParameters : $21)
4048
+ children: expression.children.map(($22) => $22 === parameters ? newParameters : $22)
3931
4049
  };
3932
4050
  }
3933
4051
  return {
@@ -3949,7 +4067,7 @@ function makeAmpersandFunction(rhs) {
3949
4067
  ref = makeRef("$");
3950
4068
  inplacePrepend(ref, body);
3951
4069
  }
3952
- if (startsWithPredicate(body, ($22) => $22.type === "ObjectExpression")) {
4070
+ if (startsWithPredicate(body, ($23) => $23.type === "ObjectExpression")) {
3953
4071
  body = makeLeftHandSideExpression(body);
3954
4072
  }
3955
4073
  const parameterList = [
@@ -4809,29 +4927,36 @@ function getPatternBlockPrefix(pattern, ref, decl = "const ", typeSuffix) {
4809
4927
  }
4810
4928
  let [splices, thisAssignments] = gatherBindingCode(pattern);
4811
4929
  const patternBindings2 = nonMatcherBindings(pattern);
4930
+ const results = [];
4931
+ for (let ref2 = gatherRecursiveAll(patternBindings2, ($7) => $7.subbinding != null), i5 = 0, len4 = ref2.length; i5 < len4; i5++) {
4932
+ const p = ref2[i5];
4933
+ results.push(prepend(", ", p.subbinding));
4934
+ }
4935
+ ;
4936
+ const subbindings = results;
4812
4937
  splices = splices.map((s) => [", ", nonMatcherBindings(s)]);
4813
- thisAssignments = thisAssignments.map(($7) => ["", $7, ";"]);
4938
+ thisAssignments = thisAssignments.map(($8) => ["", $8, ";"]);
4814
4939
  const duplicateDeclarations = aggregateDuplicateBindings([patternBindings2, splices]);
4815
4940
  return [
4816
4941
  ["", {
4817
4942
  type: "Declaration",
4818
- children: [decl, patternBindings2, typeSuffix, " = ", ref, ...splices],
4943
+ children: [decl, patternBindings2, typeSuffix, " = ", ref, ...subbindings, ...splices],
4819
4944
  names: [],
4820
4945
  bindings: []
4821
4946
  // avoid implicit return of any bindings
4822
4947
  }, ";"],
4823
4948
  ...thisAssignments,
4824
- ...duplicateDeclarations.map(($8) => ["", $8, ";"])
4949
+ ...duplicateDeclarations.map(($9) => ["", $9, ";"])
4825
4950
  ];
4826
4951
  }
4827
4952
  function elideMatchersFromArrayBindings(elements) {
4828
- const results = [];
4829
- for (let i5 = 0, len4 = elements.length; i5 < len4; i5++) {
4830
- const element = elements[i5];
4953
+ const results1 = [];
4954
+ for (let i6 = 0, len5 = elements.length; i6 < len5; i6++) {
4955
+ const element = elements[i6];
4831
4956
  switch (element.type) {
4832
4957
  case "BindingRestElement":
4833
4958
  case "ElisionElement": {
4834
- results.push(element);
4959
+ results1.push(element);
4835
4960
  break;
4836
4961
  }
4837
4962
  case "BindingElement": {
@@ -4840,12 +4965,12 @@ function elideMatchersFromArrayBindings(elements) {
4840
4965
  case "RegularExpressionLiteral":
4841
4966
  case "StringLiteral":
4842
4967
  case "PinPattern": {
4843
- results.push(element.delim);
4968
+ results1.push(element.delim);
4844
4969
  break;
4845
4970
  }
4846
4971
  default: {
4847
4972
  const binding = nonMatcherBindings(element.binding);
4848
- results.push(makeNode({
4973
+ results1.push(makeNode({
4849
4974
  ...element,
4850
4975
  binding,
4851
4976
  children: element.children.map((c) => {
@@ -4860,46 +4985,75 @@ function elideMatchersFromArrayBindings(elements) {
4860
4985
  }
4861
4986
  }
4862
4987
  ;
4863
- return results;
4988
+ return results1;
4864
4989
  }
4865
4990
  function elideMatchersFromPropertyBindings(properties) {
4866
- return properties.map((p) => {
4991
+ const results2 = [];
4992
+ for (let i7 = 0, len6 = properties.length; i7 < len6; i7++) {
4993
+ const p = properties[i7];
4867
4994
  switch (p.type) {
4868
- case "BindingProperty": {
4869
- const { children, name, value } = p;
4995
+ case "BindingProperty":
4996
+ case "PinProperty": {
4997
+ const { children, name, value, bind } = p;
4870
4998
  const [ws] = children;
4871
4999
  const shouldElide = name.type === "NumericLiteral" && !value?.name || name.type === "ComputedPropertyName" && value?.subtype === "NumericLiteral";
4872
5000
  if (shouldElide) {
4873
- return;
4874
- }
4875
- switch (value && value.type) {
4876
- case "ArrayBindingPattern":
4877
- case "ObjectBindingPattern": {
4878
- const bindings = nonMatcherBindings(value);
4879
- return {
4880
- ...p,
4881
- children: [ws, name, bindings && ": ", bindings, p.delim]
4882
- };
5001
+ if (bind) {
5002
+ results2.push({
5003
+ type: "Error",
5004
+ message: `Cannot bind ${name.type}`
5005
+ });
5006
+ } else {
5007
+ continue;
4883
5008
  }
4884
- case "Identifier": {
4885
- return p;
5009
+ } else {
5010
+ let contents;
5011
+ switch (value?.type) {
5012
+ case "ArrayBindingPattern":
5013
+ case "ObjectBindingPattern": {
5014
+ const bindings = nonMatcherBindings(value);
5015
+ contents = {
5016
+ ...p,
5017
+ value: bindings,
5018
+ children: [ws, name, bindings && ": ", bindings, p.delim]
5019
+ };
5020
+ break;
5021
+ }
5022
+ case "Identifier":
5023
+ case void 0: {
5024
+ contents = p;
5025
+ break;
5026
+ }
5027
+ default: {
5028
+ contents = void 0;
5029
+ }
4886
5030
  }
4887
- case "Literal":
4888
- case "RegularExpressionLiteral":
4889
- case "StringLiteral":
4890
- default:
4891
- return {
5031
+ if (bind) {
5032
+ results2.push({
4892
5033
  ...p,
4893
- children: [ws, name, p.delim]
4894
- };
5034
+ children: [ws, name, p.delim],
5035
+ subbinding: contents?.value ? [
5036
+ contents.value,
5037
+ " = ",
5038
+ name
5039
+ ] : void 0
5040
+ });
5041
+ } else if (contents) {
5042
+ results2.push(contents);
5043
+ } else {
5044
+ continue;
5045
+ }
4895
5046
  }
5047
+ ;
5048
+ break;
5049
+ }
5050
+ default: {
5051
+ results2.push(p);
4896
5052
  }
4897
- case "PinProperty":
4898
- case "BindingRestProperty":
4899
- default:
4900
- return p;
4901
5053
  }
4902
- });
5054
+ }
5055
+ ;
5056
+ return results2;
4903
5057
  }
4904
5058
  function nonMatcherBindings(pattern) {
4905
5059
  switch (pattern.type) {
@@ -4909,7 +5063,7 @@ function nonMatcherBindings(pattern) {
4909
5063
  return makeNode({
4910
5064
  ...pattern,
4911
5065
  elements,
4912
- children: pattern.children.map(($9) => $9 === pattern.elements ? elements : $9)
5066
+ children: pattern.children.map(($10) => $10 === pattern.elements ? elements : $10)
4913
5067
  });
4914
5068
  }
4915
5069
  case "ObjectBindingPattern": {
@@ -4917,7 +5071,7 @@ function nonMatcherBindings(pattern) {
4917
5071
  return makeNode({
4918
5072
  ...pattern,
4919
5073
  properties,
4920
- children: pattern.children.map(($10) => $10 === pattern.properties ? properties : $10)
5074
+ children: pattern.children.map(($11) => $11 === pattern.properties ? properties : $11)
4921
5075
  });
4922
5076
  }
4923
5077
  default: {
@@ -4935,8 +5089,8 @@ function aggregateDuplicateBindings(bindings) {
4935
5089
  );
4936
5090
  const declarations = [];
4937
5091
  const propsGroupedByName = /* @__PURE__ */ new Map();
4938
- for (let i6 = 0, len5 = props.length; i6 < len5; i6++) {
4939
- const p = props[i6];
5092
+ for (let i8 = 0, len7 = props.length; i8 < len7; i8++) {
5093
+ const p = props[i8];
4940
5094
  const { name, value } = p;
4941
5095
  let m1;
4942
5096
  if (m1 = value?.type, m1 === "ArrayBindingPattern" || m1 === "ObjectBindingPattern") {
@@ -4961,8 +5115,8 @@ function aggregateDuplicateBindings(bindings) {
4961
5115
  pos: 0,
4962
5116
  input: key
4963
5117
  })) {
4964
- for (let i7 = 0, len6 = shared.length; i7 < len6; i7++) {
4965
- const p = shared[i7];
5118
+ for (let i9 = 0, len8 = shared.length; i9 < len8; i9++) {
5119
+ const p = shared[i9];
4966
5120
  aliasBinding(p, makeRef(`_${key}`, key));
4967
5121
  }
4968
5122
  return;
@@ -5101,7 +5255,7 @@ function prependStatementExpressionBlock(initializer, statement) {
5101
5255
  ws = exp[0];
5102
5256
  exp = exp[1];
5103
5257
  }
5104
- if (!(exp?.type === "StatementExpression")) {
5258
+ if (!(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")) {
5105
5259
  return;
5106
5260
  }
5107
5261
  const pre = [];
@@ -5939,14 +6093,6 @@ function processRangeExpression(start, ws1, range, end) {
5939
6093
  ;
5940
6094
  const abs = ref;
5941
6095
  const lengthAdjust = 1 - Number(!range.left.inclusive) - Number(!range.right.inclusive);
5942
- let ref1;
5943
- if (lengthAdjust > 0) ref1 = ` + ${lengthAdjust}`;
5944
- else if (lengthAdjust < 0) ref1 = ` - ${-lengthAdjust}`;
5945
- else {
5946
- ref1 = void 0;
5947
- }
5948
- ;
5949
- const lengthAdjustExpression = ref1;
5950
6096
  let children;
5951
6097
  if (typeof start === "object" && start != null && "type" in start && start.type === "Literal" && (typeof end === "object" && end != null && "type" in end && end.type === "Literal")) {
5952
6098
  let startValue = literalValue(start);
@@ -5972,11 +6118,12 @@ function processRangeExpression(start, ws1, range, end) {
5972
6118
  ];
5973
6119
  } else {
5974
6120
  children = [
5975
- `Array.from({length: ${length.toString()}}, `,
5976
- "(_, i) => String.fromCharCode(",
6121
+ getHelperRef(startCode <= endCode ? "stringRange" : "revStringRange"),
6122
+ "(",
5977
6123
  startCode.toString(),
5978
- step > 0 ? " + " : " - ",
5979
- "i))"
6124
+ ", ",
6125
+ length.toString(),
6126
+ ")"
5980
6127
  ];
5981
6128
  }
5982
6129
  if (range.error != null) {
@@ -6005,22 +6152,25 @@ function processRangeExpression(start, ws1, range, end) {
6005
6152
  const sign = range.increasing ? "+" : "-";
6006
6153
  end = makeLeftHandSideExpression(end);
6007
6154
  children = [
6008
- "((s) => Array.from({length: ",
6009
- range.increasing ? [ws2, end, " - s"] : ["s - ", ws2, end],
6010
- lengthAdjustExpression,
6011
- "}, (_, i) => s ",
6012
- sign,
6013
- " i))",
6155
+ getHelperRef(range.increasing ? "range" : "revRange"),
6014
6156
  "(",
6015
6157
  range.left.inclusive ? start : [makeLeftHandSideExpression(start), ` ${sign} 1`],
6158
+ ",",
6159
+ range.right.inclusive ? [makeLeftHandSideExpression(end), ` ${sign} 1`] : end,
6016
6160
  ...ws1,
6017
6161
  ")"
6018
6162
  ];
6019
6163
  } else {
6020
6164
  children = [
6021
- "((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)",
6022
- lengthAdjustExpression,
6023
- "}, (_, i) => s + i * step)})",
6165
+ "((s, e) => s > e ? ",
6166
+ getHelperRef("revRange"),
6167
+ "(s, e",
6168
+ range.right.inclusive ? " - 1" : void 0,
6169
+ ") : ",
6170
+ getHelperRef("range"),
6171
+ "(s, e",
6172
+ range.right.inclusive ? " + 1" : void 0,
6173
+ "))",
6024
6174
  "(",
6025
6175
  start,
6026
6176
  ...ws1,
@@ -6061,25 +6211,25 @@ function forRange(open, forDeclaration, range, stepExp, close) {
6061
6211
  asc = false;
6062
6212
  }
6063
6213
  }
6064
- let ref2;
6214
+ let ref1;
6065
6215
  if (stepExp?.type === "Literal") {
6066
6216
  try {
6067
- ref2 = literalValue(stepExp);
6217
+ ref1 = literalValue(stepExp);
6068
6218
  } catch (e) {
6069
- ref2 = void 0;
6219
+ ref1 = void 0;
6070
6220
  }
6071
6221
  } else {
6072
- ref2 = void 0;
6222
+ ref1 = void 0;
6073
6223
  }
6074
6224
  ;
6075
- const stepValue = ref2;
6225
+ const stepValue = ref1;
6076
6226
  if (typeof stepValue === "number") {
6077
6227
  asc = stepValue > 0;
6078
6228
  }
6079
- let ref3;
6080
- if (stepRef) ref3 = start;
6081
- else ref3 = maybeRef(start, "start");
6082
- let startRef = ref3;
6229
+ let ref2;
6230
+ if (stepRef) ref2 = start;
6231
+ else ref2 = maybeRef(start, "start");
6232
+ let startRef = ref2;
6083
6233
  let endRef = maybeRef(end, "end");
6084
6234
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
6085
6235
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
@@ -6091,8 +6241,8 @@ function forRange(open, forDeclaration, range, stepExp, close) {
6091
6241
  }
6092
6242
  if (start?.type === "Literal" && "Literal" === end?.type) {
6093
6243
  asc = literalValue(start) <= literalValue(end);
6094
- let ref4;
6095
- if ("StringLiteral" === (ref4 = start.subtype) && ref4 === end.subtype) {
6244
+ let ref3;
6245
+ if ("StringLiteral" === (ref3 = start.subtype) && ref3 === end.subtype) {
6096
6246
  const startChar = literalValue(start).charCodeAt(0).toString();
6097
6247
  startRef = {
6098
6248
  type: "Literal",
@@ -6148,8 +6298,8 @@ function forRange(open, forDeclaration, range, stepExp, close) {
6148
6298
  }
6149
6299
  function processForInOf($0) {
6150
6300
  let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
6151
- for (let ref5 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref5.length; i1 < len3; i1++) {
6152
- const decl = ref5[i1];
6301
+ for (let ref4 = [declaration, declaration2?.[declaration2.length - 1]], i1 = 0, len3 = ref4.length; i1 < len3; i1++) {
6302
+ const decl = ref4[i1];
6153
6303
  if (!(decl != null)) {
6154
6304
  continue;
6155
6305
  }
@@ -6198,6 +6348,7 @@ function processForInOf($0) {
6198
6348
  names: assignmentNames,
6199
6349
  implicitLift: true
6200
6350
  }, ";"]);
6351
+ const eachDeclaration = declaration;
6201
6352
  declaration = {
6202
6353
  type: "Declaration",
6203
6354
  children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", trimFirstSpace(expRef2), ".length"],
@@ -6205,7 +6356,7 @@ function processForInOf($0) {
6205
6356
  };
6206
6357
  const condition = [counterRef, " < ", lenRef, "; "];
6207
6358
  const children = [open, declaration, "; ", condition, counterRef, increment, close];
6208
- return { declaration, children, blockPrefix };
6359
+ return { declaration, eachDeclaration, children, blockPrefix };
6209
6360
  } else {
6210
6361
  eachOwnError = {
6211
6362
  type: "Error",
@@ -7521,7 +7672,7 @@ function processAssignments(statements) {
7521
7672
  let { lhs: $1, expression: $2 } = exp, tail = [], len3 = $1.length;
7522
7673
  let block;
7523
7674
  let ref12;
7524
- if (exp.parent?.type === "BlockStatement" && !(ref12 = $1[$1.length - 1])?.[ref12.length - 1]?.special) {
7675
+ if (blockContainingStatement(exp) && !(ref12 = $1[$1.length - 1])?.[ref12.length - 1]?.special) {
7525
7676
  block = makeBlockFragment();
7526
7677
  let ref13;
7527
7678
  if (ref13 = prependStatementExpressionBlock(
@@ -8117,15 +8268,8 @@ function processProgram(root) {
8117
8268
  assert.equal(state2.forbidNewlineBinaryOp.length, 1, "forbidNewlineBinaryOp");
8118
8269
  assert.equal(state2.forbidTrailingMemberProperty.length, 1, "forbidTrailingMemberProperty");
8119
8270
  assert.equal(state2.JSXTagStack.length, 1, "JSXTagStack");
8120
- let rootIIFE;
8121
- if (config2.iife || config2.repl) {
8122
- rootIIFE = wrapIIFE(root.expressions, root.topLevelAwait);
8123
- const newExpressions = [["", rootIIFE]];
8124
- root.children = root.children.map(($16) => $16 === root.expressions ? newExpressions : $16);
8125
- root.expressions = newExpressions;
8126
- }
8127
8271
  addParentPointers(root);
8128
- const { expressions: statements } = root;
8272
+ let { expressions: statements } = root;
8129
8273
  processPlaceholders(statements);
8130
8274
  processNegativeIndexAccess(statements);
8131
8275
  processTypes(statements);
@@ -8138,12 +8282,25 @@ function processProgram(root) {
8138
8282
  processIterationExpressions(statements);
8139
8283
  processFinallyClauses(statements);
8140
8284
  processBreaksContinues(statements);
8285
+ root.topLevelAwait = hasAwait(statements);
8286
+ root.topLevelYield = hasYield(statements);
8287
+ let rootIIFE;
8288
+ if (config2.iife || config2.repl) {
8289
+ rootIIFE = wrapIIFE(
8290
+ root.expressions,
8291
+ root.topLevelAwait,
8292
+ root.topLevelYield ? "*" : void 0
8293
+ );
8294
+ statements = [["", rootIIFE]];
8295
+ root.children = root.children.map(($16) => $16 === root.expressions ? statements : $16);
8296
+ root.expressions = statements;
8297
+ }
8141
8298
  hoistRefDecs(statements);
8142
8299
  processFunctions(statements, config2);
8143
8300
  if (config2.coffeeClasses) {
8144
8301
  processCoffeeClasses(statements);
8145
8302
  }
8146
- statements.unshift(...state2.prelude);
8303
+ statements.unshift(...extractPreludeFor(statements));
8147
8304
  if (config2.autoLet) {
8148
8305
  createConstLetDecs(statements, [], "let");
8149
8306
  } else if (config2.autoConst) {
@@ -8524,6 +8681,8 @@ var grammar = {
8524
8681
  ExpressionizedStatement,
8525
8682
  StatementExpression,
8526
8683
  CommaExpression,
8684
+ CommaExpressionSpread,
8685
+ AssignmentExpressionSpread,
8527
8686
  Arguments,
8528
8687
  ImplicitArguments,
8529
8688
  ExplicitArguments,
@@ -8703,6 +8862,7 @@ var grammar = {
8703
8862
  BareNestedBlock,
8704
8863
  BareBlock,
8705
8864
  ThenClause,
8865
+ ThenBlock,
8706
8866
  BracedThenClause,
8707
8867
  BracedOrEmptyBlock,
8708
8868
  NoCommaBracedOrEmptyBlock,
@@ -8812,6 +8972,7 @@ var grammar = {
8812
8972
  PostfixStatement,
8813
8973
  _PostfixStatement,
8814
8974
  Statement,
8975
+ IterationActualStatement,
8815
8976
  ShouldExpressionize,
8816
8977
  NoCommaStatement,
8817
8978
  EmptyStatement,
@@ -9467,130 +9628,132 @@ var $L119 = (0, import_lib2.$L)(";");
9467
9628
  var $L120 = (0, import_lib2.$L)("some");
9468
9629
  var $L121 = (0, import_lib2.$L)("every");
9469
9630
  var $L122 = (0, import_lib2.$L)("count");
9470
- var $L123 = (0, import_lib2.$L)("sum");
9471
- var $L124 = (0, import_lib2.$L)("product");
9472
- var $L125 = (0, import_lib2.$L)("min");
9473
- var $L126 = (0, import_lib2.$L)("max");
9474
- var $L127 = (0, import_lib2.$L)("join");
9475
- var $L128 = (0, import_lib2.$L)("break");
9476
- var $L129 = (0, import_lib2.$L)("continue");
9477
- var $L130 = (0, import_lib2.$L)("debugger");
9478
- var $L131 = (0, import_lib2.$L)("require");
9479
- var $L132 = (0, import_lib2.$L)("with");
9480
- var $L133 = (0, import_lib2.$L)("assert");
9481
- var $L134 = (0, import_lib2.$L)(":=");
9482
- var $L135 = (0, import_lib2.$L)("\u2254");
9483
- var $L136 = (0, import_lib2.$L)(".=");
9484
- var $L137 = (0, import_lib2.$L)("::=");
9485
- var $L138 = (0, import_lib2.$L)("/*");
9486
- var $L139 = (0, import_lib2.$L)("*/");
9487
- var $L140 = (0, import_lib2.$L)("\\");
9488
- var $L141 = (0, import_lib2.$L)(")");
9489
- var $L142 = (0, import_lib2.$L)("abstract");
9490
- var $L143 = (0, import_lib2.$L)("as");
9491
- var $L144 = (0, import_lib2.$L)("@");
9492
- var $L145 = (0, import_lib2.$L)("@@");
9493
- var $L146 = (0, import_lib2.$L)("async");
9494
- var $L147 = (0, import_lib2.$L)("await");
9495
- var $L148 = (0, import_lib2.$L)("`");
9496
- var $L149 = (0, import_lib2.$L)("by");
9497
- var $L150 = (0, import_lib2.$L)("case");
9498
- var $L151 = (0, import_lib2.$L)("catch");
9499
- var $L152 = (0, import_lib2.$L)("class");
9500
- var $L153 = (0, import_lib2.$L)("#{");
9501
- var $L154 = (0, import_lib2.$L)("comptime");
9502
- var $L155 = (0, import_lib2.$L)("declare");
9503
- var $L156 = (0, import_lib2.$L)("default");
9504
- var $L157 = (0, import_lib2.$L)("delete");
9505
- var $L158 = (0, import_lib2.$L)("do");
9506
- var $L159 = (0, import_lib2.$L)("..");
9507
- var $L160 = (0, import_lib2.$L)("\u2025");
9508
- var $L161 = (0, import_lib2.$L)("...");
9509
- var $L162 = (0, import_lib2.$L)("\u2026");
9510
- var $L163 = (0, import_lib2.$L)("::");
9511
- var $L164 = (0, import_lib2.$L)('"');
9512
- var $L165 = (0, import_lib2.$L)("each");
9513
- var $L166 = (0, import_lib2.$L)("else");
9514
- var $L167 = (0, import_lib2.$L)("!");
9515
- var $L168 = (0, import_lib2.$L)("export");
9516
- var $L169 = (0, import_lib2.$L)("extends");
9517
- var $L170 = (0, import_lib2.$L)("finally");
9518
- var $L171 = (0, import_lib2.$L)("for");
9519
- var $L172 = (0, import_lib2.$L)("from");
9520
- var $L173 = (0, import_lib2.$L)("function");
9521
- var $L174 = (0, import_lib2.$L)("get");
9522
- var $L175 = (0, import_lib2.$L)("set");
9523
- var $L176 = (0, import_lib2.$L)("#");
9524
- var $L177 = (0, import_lib2.$L)("if");
9525
- var $L178 = (0, import_lib2.$L)("in");
9526
- var $L179 = (0, import_lib2.$L)("infer");
9527
- var $L180 = (0, import_lib2.$L)("let");
9528
- var $L181 = (0, import_lib2.$L)("const");
9529
- var $L182 = (0, import_lib2.$L)("is");
9530
- var $L183 = (0, import_lib2.$L)("var");
9531
- var $L184 = (0, import_lib2.$L)("like");
9532
- var $L185 = (0, import_lib2.$L)("loop");
9533
- var $L186 = (0, import_lib2.$L)("new");
9534
- var $L187 = (0, import_lib2.$L)("not");
9535
- var $L188 = (0, import_lib2.$L)("of");
9536
- var $L189 = (0, import_lib2.$L)("[");
9537
- var $L190 = (0, import_lib2.$L)("operator");
9538
- var $L191 = (0, import_lib2.$L)("override");
9539
- var $L192 = (0, import_lib2.$L)("own");
9540
- var $L193 = (0, import_lib2.$L)("public");
9541
- var $L194 = (0, import_lib2.$L)("private");
9542
- var $L195 = (0, import_lib2.$L)("protected");
9543
- var $L196 = (0, import_lib2.$L)("||>");
9544
- var $L197 = (0, import_lib2.$L)("|\u25B7");
9545
- var $L198 = (0, import_lib2.$L)("|>=");
9546
- var $L199 = (0, import_lib2.$L)("\u25B7=");
9547
- var $L200 = (0, import_lib2.$L)("|>");
9548
- var $L201 = (0, import_lib2.$L)("\u25B7");
9549
- var $L202 = (0, import_lib2.$L)("readonly");
9550
- var $L203 = (0, import_lib2.$L)("return");
9551
- var $L204 = (0, import_lib2.$L)("satisfies");
9552
- var $L205 = (0, import_lib2.$L)("'");
9553
- var $L206 = (0, import_lib2.$L)("static");
9554
- var $L207 = (0, import_lib2.$L)("${");
9555
- var $L208 = (0, import_lib2.$L)("super");
9556
- var $L209 = (0, import_lib2.$L)("switch");
9557
- var $L210 = (0, import_lib2.$L)("target");
9558
- var $L211 = (0, import_lib2.$L)("then");
9559
- var $L212 = (0, import_lib2.$L)("this");
9560
- var $L213 = (0, import_lib2.$L)("throw");
9561
- var $L214 = (0, import_lib2.$L)('"""');
9562
- var $L215 = (0, import_lib2.$L)("'''");
9563
- var $L216 = (0, import_lib2.$L)("///");
9564
- var $L217 = (0, import_lib2.$L)("```");
9565
- var $L218 = (0, import_lib2.$L)("try");
9566
- var $L219 = (0, import_lib2.$L)("typeof");
9567
- var $L220 = (0, import_lib2.$L)("undefined");
9568
- var $L221 = (0, import_lib2.$L)("unless");
9569
- var $L222 = (0, import_lib2.$L)("until");
9570
- var $L223 = (0, import_lib2.$L)("using");
9571
- var $L224 = (0, import_lib2.$L)("void");
9572
- var $L225 = (0, import_lib2.$L)("when");
9573
- var $L226 = (0, import_lib2.$L)("while");
9574
- var $L227 = (0, import_lib2.$L)("yield");
9575
- var $L228 = (0, import_lib2.$L)("/>");
9576
- var $L229 = (0, import_lib2.$L)("</");
9577
- var $L230 = (0, import_lib2.$L)("<>");
9578
- var $L231 = (0, import_lib2.$L)("</>");
9579
- var $L232 = (0, import_lib2.$L)("<!--");
9580
- var $L233 = (0, import_lib2.$L)("-->");
9581
- var $L234 = (0, import_lib2.$L)("type");
9582
- var $L235 = (0, import_lib2.$L)("enum");
9583
- var $L236 = (0, import_lib2.$L)("interface");
9584
- var $L237 = (0, import_lib2.$L)("global");
9585
- var $L238 = (0, import_lib2.$L)("module");
9586
- var $L239 = (0, import_lib2.$L)("namespace");
9587
- var $L240 = (0, import_lib2.$L)("asserts");
9588
- var $L241 = (0, import_lib2.$L)("keyof");
9589
- var $L242 = (0, import_lib2.$L)("???");
9590
- var $L243 = (0, import_lib2.$L)("unique");
9591
- var $L244 = (0, import_lib2.$L)("symbol");
9592
- var $L245 = (0, import_lib2.$L)("[]");
9593
- var $L246 = (0, import_lib2.$L)("civet");
9631
+ var $L123 = (0, import_lib2.$L)("first");
9632
+ var $L124 = (0, import_lib2.$L)("sum");
9633
+ var $L125 = (0, import_lib2.$L)("product");
9634
+ var $L126 = (0, import_lib2.$L)("min");
9635
+ var $L127 = (0, import_lib2.$L)("max");
9636
+ var $L128 = (0, import_lib2.$L)("join");
9637
+ var $L129 = (0, import_lib2.$L)("concat");
9638
+ var $L130 = (0, import_lib2.$L)("break");
9639
+ var $L131 = (0, import_lib2.$L)("continue");
9640
+ var $L132 = (0, import_lib2.$L)("debugger");
9641
+ var $L133 = (0, import_lib2.$L)("require");
9642
+ var $L134 = (0, import_lib2.$L)("with");
9643
+ var $L135 = (0, import_lib2.$L)("assert");
9644
+ var $L136 = (0, import_lib2.$L)(":=");
9645
+ var $L137 = (0, import_lib2.$L)("\u2254");
9646
+ var $L138 = (0, import_lib2.$L)(".=");
9647
+ var $L139 = (0, import_lib2.$L)("::=");
9648
+ var $L140 = (0, import_lib2.$L)("/*");
9649
+ var $L141 = (0, import_lib2.$L)("*/");
9650
+ var $L142 = (0, import_lib2.$L)("\\");
9651
+ var $L143 = (0, import_lib2.$L)(")");
9652
+ var $L144 = (0, import_lib2.$L)("abstract");
9653
+ var $L145 = (0, import_lib2.$L)("as");
9654
+ var $L146 = (0, import_lib2.$L)("@");
9655
+ var $L147 = (0, import_lib2.$L)("@@");
9656
+ var $L148 = (0, import_lib2.$L)("async");
9657
+ var $L149 = (0, import_lib2.$L)("await");
9658
+ var $L150 = (0, import_lib2.$L)("`");
9659
+ var $L151 = (0, import_lib2.$L)("by");
9660
+ var $L152 = (0, import_lib2.$L)("case");
9661
+ var $L153 = (0, import_lib2.$L)("catch");
9662
+ var $L154 = (0, import_lib2.$L)("class");
9663
+ var $L155 = (0, import_lib2.$L)("#{");
9664
+ var $L156 = (0, import_lib2.$L)("comptime");
9665
+ var $L157 = (0, import_lib2.$L)("declare");
9666
+ var $L158 = (0, import_lib2.$L)("default");
9667
+ var $L159 = (0, import_lib2.$L)("delete");
9668
+ var $L160 = (0, import_lib2.$L)("do");
9669
+ var $L161 = (0, import_lib2.$L)("..");
9670
+ var $L162 = (0, import_lib2.$L)("\u2025");
9671
+ var $L163 = (0, import_lib2.$L)("...");
9672
+ var $L164 = (0, import_lib2.$L)("\u2026");
9673
+ var $L165 = (0, import_lib2.$L)("::");
9674
+ var $L166 = (0, import_lib2.$L)('"');
9675
+ var $L167 = (0, import_lib2.$L)("each");
9676
+ var $L168 = (0, import_lib2.$L)("else");
9677
+ var $L169 = (0, import_lib2.$L)("!");
9678
+ var $L170 = (0, import_lib2.$L)("export");
9679
+ var $L171 = (0, import_lib2.$L)("extends");
9680
+ var $L172 = (0, import_lib2.$L)("finally");
9681
+ var $L173 = (0, import_lib2.$L)("for");
9682
+ var $L174 = (0, import_lib2.$L)("from");
9683
+ var $L175 = (0, import_lib2.$L)("function");
9684
+ var $L176 = (0, import_lib2.$L)("get");
9685
+ var $L177 = (0, import_lib2.$L)("set");
9686
+ var $L178 = (0, import_lib2.$L)("#");
9687
+ var $L179 = (0, import_lib2.$L)("if");
9688
+ var $L180 = (0, import_lib2.$L)("in");
9689
+ var $L181 = (0, import_lib2.$L)("infer");
9690
+ var $L182 = (0, import_lib2.$L)("let");
9691
+ var $L183 = (0, import_lib2.$L)("const");
9692
+ var $L184 = (0, import_lib2.$L)("is");
9693
+ var $L185 = (0, import_lib2.$L)("var");
9694
+ var $L186 = (0, import_lib2.$L)("like");
9695
+ var $L187 = (0, import_lib2.$L)("loop");
9696
+ var $L188 = (0, import_lib2.$L)("new");
9697
+ var $L189 = (0, import_lib2.$L)("not");
9698
+ var $L190 = (0, import_lib2.$L)("of");
9699
+ var $L191 = (0, import_lib2.$L)("[");
9700
+ var $L192 = (0, import_lib2.$L)("operator");
9701
+ var $L193 = (0, import_lib2.$L)("override");
9702
+ var $L194 = (0, import_lib2.$L)("own");
9703
+ var $L195 = (0, import_lib2.$L)("public");
9704
+ var $L196 = (0, import_lib2.$L)("private");
9705
+ var $L197 = (0, import_lib2.$L)("protected");
9706
+ var $L198 = (0, import_lib2.$L)("||>");
9707
+ var $L199 = (0, import_lib2.$L)("|\u25B7");
9708
+ var $L200 = (0, import_lib2.$L)("|>=");
9709
+ var $L201 = (0, import_lib2.$L)("\u25B7=");
9710
+ var $L202 = (0, import_lib2.$L)("|>");
9711
+ var $L203 = (0, import_lib2.$L)("\u25B7");
9712
+ var $L204 = (0, import_lib2.$L)("readonly");
9713
+ var $L205 = (0, import_lib2.$L)("return");
9714
+ var $L206 = (0, import_lib2.$L)("satisfies");
9715
+ var $L207 = (0, import_lib2.$L)("'");
9716
+ var $L208 = (0, import_lib2.$L)("static");
9717
+ var $L209 = (0, import_lib2.$L)("${");
9718
+ var $L210 = (0, import_lib2.$L)("super");
9719
+ var $L211 = (0, import_lib2.$L)("switch");
9720
+ var $L212 = (0, import_lib2.$L)("target");
9721
+ var $L213 = (0, import_lib2.$L)("then");
9722
+ var $L214 = (0, import_lib2.$L)("this");
9723
+ var $L215 = (0, import_lib2.$L)("throw");
9724
+ var $L216 = (0, import_lib2.$L)('"""');
9725
+ var $L217 = (0, import_lib2.$L)("'''");
9726
+ var $L218 = (0, import_lib2.$L)("///");
9727
+ var $L219 = (0, import_lib2.$L)("```");
9728
+ var $L220 = (0, import_lib2.$L)("try");
9729
+ var $L221 = (0, import_lib2.$L)("typeof");
9730
+ var $L222 = (0, import_lib2.$L)("undefined");
9731
+ var $L223 = (0, import_lib2.$L)("unless");
9732
+ var $L224 = (0, import_lib2.$L)("until");
9733
+ var $L225 = (0, import_lib2.$L)("using");
9734
+ var $L226 = (0, import_lib2.$L)("void");
9735
+ var $L227 = (0, import_lib2.$L)("when");
9736
+ var $L228 = (0, import_lib2.$L)("while");
9737
+ var $L229 = (0, import_lib2.$L)("yield");
9738
+ var $L230 = (0, import_lib2.$L)("/>");
9739
+ var $L231 = (0, import_lib2.$L)("</");
9740
+ var $L232 = (0, import_lib2.$L)("<>");
9741
+ var $L233 = (0, import_lib2.$L)("</>");
9742
+ var $L234 = (0, import_lib2.$L)("<!--");
9743
+ var $L235 = (0, import_lib2.$L)("-->");
9744
+ var $L236 = (0, import_lib2.$L)("type");
9745
+ var $L237 = (0, import_lib2.$L)("enum");
9746
+ var $L238 = (0, import_lib2.$L)("interface");
9747
+ var $L239 = (0, import_lib2.$L)("global");
9748
+ var $L240 = (0, import_lib2.$L)("module");
9749
+ var $L241 = (0, import_lib2.$L)("namespace");
9750
+ var $L242 = (0, import_lib2.$L)("asserts");
9751
+ var $L243 = (0, import_lib2.$L)("keyof");
9752
+ var $L244 = (0, import_lib2.$L)("???");
9753
+ var $L245 = (0, import_lib2.$L)("unique");
9754
+ var $L246 = (0, import_lib2.$L)("symbol");
9755
+ var $L247 = (0, import_lib2.$L)("[]");
9756
+ var $L248 = (0, import_lib2.$L)("civet");
9594
9757
  var $R0 = (0, import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)", "suy"));
9595
9758
  var $R1 = (0, import_lib2.$R)(new RegExp("&(?=\\s)", "suy"));
9596
9759
  var $R2 = (0, import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
@@ -9706,8 +9869,7 @@ var Program$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Reset, Init, (0, import
9706
9869
  expressions: statements,
9707
9870
  children: [reset, init, ws1, statements, ws2],
9708
9871
  bare: true,
9709
- root: true,
9710
- topLevelAwait: hasAwait(statements)
9872
+ root: true
9711
9873
  };
9712
9874
  processProgram(program);
9713
9875
  return program;
@@ -9834,6 +9996,71 @@ var CommaExpression$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpre
9834
9996
  function CommaExpression(ctx, state2) {
9835
9997
  return (0, import_lib2.$EVENT)(ctx, state2, "CommaExpression", CommaExpression$0);
9836
9998
  }
9999
+ var CommaExpressionSpread$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot, (0, import_lib2.$E)(_), IterationActualStatement), function($skip, $loc, $0, $1, $2, $3, $4) {
10000
+ var ws = $1;
10001
+ var ws2 = $3;
10002
+ var iteration = $4;
10003
+ if (iteration.subtype === "do" || iteration.subtype === "comptime") return $skip;
10004
+ if (ws2) {
10005
+ if (ws) {
10006
+ ws = [ws, ws2];
10007
+ } else {
10008
+ ws = ws2;
10009
+ }
10010
+ }
10011
+ iteration = { ...iteration, resultsParent: true };
10012
+ return prepend(ws, iteration);
10013
+ });
10014
+ var CommaExpressionSpread$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpressionSpread, (0, import_lib2.$Q)((0, import_lib2.$S)(CommaDelimiter, AssignmentExpressionSpread))), function($skip, $loc, $0, $1, $2) {
10015
+ if ($2.length == 0) return $1;
10016
+ return $0;
10017
+ });
10018
+ var CommaExpressionSpread$$ = [CommaExpressionSpread$0, CommaExpressionSpread$1];
10019
+ function CommaExpressionSpread(ctx, state2) {
10020
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "CommaExpressionSpread", CommaExpressionSpread$$);
10021
+ }
10022
+ var AssignmentExpressionSpread$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3) {
10023
+ var expression = $3;
10024
+ return {
10025
+ type: "SpreadElement",
10026
+ children: $0,
10027
+ expression,
10028
+ names: expression.names
10029
+ };
10030
+ });
10031
+ var AssignmentExpressionSpread$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpression, (0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot))), function($skip, $loc, $0, $1, $2) {
10032
+ var expression = $1;
10033
+ if (!$2) return $1;
10034
+ return {
10035
+ type: "SpreadElement",
10036
+ children: [...$2, $1],
10037
+ expression,
10038
+ names: expression.names
10039
+ };
10040
+ });
10041
+ var AssignmentExpressionSpread$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3) {
10042
+ var expression = $3;
10043
+ return {
10044
+ type: "SpreadElement",
10045
+ children: $0,
10046
+ expression,
10047
+ names: expression.names
10048
+ };
10049
+ });
10050
+ var AssignmentExpressionSpread$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(AssignmentExpression, (0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$E)(_), DotDotDot))), function($skip, $loc, $0, $1, $2) {
10051
+ var expression = $1;
10052
+ if (!$2) return $1;
10053
+ return {
10054
+ type: "SpreadElement",
10055
+ children: [...$2, $1],
10056
+ expression,
10057
+ names: expression.names
10058
+ };
10059
+ });
10060
+ var AssignmentExpressionSpread$$ = [AssignmentExpressionSpread$0, AssignmentExpressionSpread$1, AssignmentExpressionSpread$2, AssignmentExpressionSpread$3];
10061
+ function AssignmentExpressionSpread(ctx, state2) {
10062
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "AssignmentExpressionSpread", AssignmentExpressionSpread$$);
10063
+ }
9837
10064
  var Arguments$0 = ExplicitArguments;
9838
10065
  var Arguments$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(ForbidTrailingMemberProperty, (0, import_lib2.$E)(ImplicitArguments), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
9839
10066
  var args = $2;
@@ -12015,29 +12242,71 @@ function NestedBindingPropertyList(ctx, state2) {
12015
12242
  return (0, import_lib2.$EVENT)(ctx, state2, "NestedBindingPropertyList", NestedBindingPropertyList$0);
12016
12243
  }
12017
12244
  var BindingProperty$0 = BindingRestProperty;
12018
- var BindingProperty$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), PropertyName, (0, import_lib2.$E)(_), Colon, (0, import_lib2.$E)(_), (0, import_lib2.$C)(BindingIdentifier, BindingPattern), (0, import_lib2.$E)(BindingTypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
12245
+ var BindingProperty$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), PropertyName, (0, import_lib2.$E)(Caret), (0, import_lib2.$E)(_), Colon, (0, import_lib2.$E)(_), (0, import_lib2.$C)(BindingIdentifier, BindingPattern), (0, import_lib2.$E)(BindingTypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12246
+ var ws1 = $1;
12019
12247
  var name = $2;
12020
- var value = $6;
12021
- var typeSuffix = $7;
12022
- var initializer = $8;
12248
+ var bind = $3;
12249
+ var ws2 = $4;
12250
+ var colon = $5;
12251
+ var ws3 = $6;
12252
+ var value = $7;
12253
+ var typeSuffix = $8;
12254
+ var initializer = $9;
12023
12255
  return {
12024
12256
  type: "BindingProperty",
12025
- children: [$1, name, $3, $4, $5, value, initializer],
12257
+ children: [ws1, name, ws2, colon, ws3, value, initializer],
12026
12258
  // omit typeSuffix
12027
12259
  name,
12028
12260
  value,
12029
12261
  typeSuffix,
12030
12262
  initializer,
12031
- names: value.names
12263
+ names: value.names,
12264
+ bind: !!bind
12032
12265
  };
12033
12266
  });
12034
- var BindingProperty$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$E)(Caret), BindingIdentifier, (0, import_lib2.$E)(BindingTypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12267
+ var BindingProperty$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), Caret, BindingIdentifier, (0, import_lib2.$E)(BindingTypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12035
12268
  var ws = $1;
12036
12269
  var pin = $2;
12037
12270
  var binding = $3;
12038
12271
  var typeSuffix = $4;
12039
12272
  var initializer = $5;
12040
- let children = [ws, binding, initializer];
12273
+ const children = [ws, binding];
12274
+ if (binding.type === "AtBinding") {
12275
+ children.push({
12276
+ type: "Error",
12277
+ message: "Pinned properties do not yet work with @binding"
12278
+ });
12279
+ }
12280
+ if (typeSuffix) {
12281
+ children.push({
12282
+ type: "Error",
12283
+ message: "Pinned properties cannot have type annotations"
12284
+ });
12285
+ }
12286
+ if (initializer) {
12287
+ children.push({
12288
+ type: "Error",
12289
+ message: "Pinned properties cannot have initializers"
12290
+ });
12291
+ }
12292
+ return {
12293
+ type: "PinProperty",
12294
+ children,
12295
+ name: binding,
12296
+ value: {
12297
+ type: "PinPattern",
12298
+ children: [binding],
12299
+ expression: binding
12300
+ }
12301
+ };
12302
+ });
12303
+ var BindingProperty$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), BindingIdentifier, (0, import_lib2.$E)(Caret), (0, import_lib2.$E)(BindingTypeSuffix), (0, import_lib2.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12304
+ var ws = $1;
12305
+ var binding = $2;
12306
+ var bind = $3;
12307
+ var typeSuffix = $4;
12308
+ var initializer = $5;
12309
+ const children = [ws, binding, initializer];
12041
12310
  if (binding.type === "AtBinding") {
12042
12311
  return {
12043
12312
  type: "AtBindingProperty",
@@ -12049,31 +12318,6 @@ var BindingProperty$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2
12049
12318
  names: []
12050
12319
  };
12051
12320
  }
12052
- if (pin) {
12053
- children = [ws, binding];
12054
- if (typeSuffix) {
12055
- children.push({
12056
- type: "Error",
12057
- message: "Pinned properties cannot have type annotations"
12058
- });
12059
- }
12060
- if (initializer) {
12061
- children.push({
12062
- type: "Error",
12063
- message: "Pinned properties cannot have initializers"
12064
- });
12065
- }
12066
- return {
12067
- type: "PinProperty",
12068
- children,
12069
- name: binding,
12070
- value: {
12071
- type: "PinPattern",
12072
- children: [binding],
12073
- expression: binding
12074
- }
12075
- };
12076
- }
12077
12321
  return {
12078
12322
  type: "BindingProperty",
12079
12323
  children,
@@ -12082,10 +12326,11 @@ var BindingProperty$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2
12082
12326
  typeSuffix,
12083
12327
  initializer,
12084
12328
  names: binding.names,
12085
- identifier: binding
12329
+ identifier: binding,
12330
+ bind: !!bind
12086
12331
  };
12087
12332
  });
12088
- var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2];
12333
+ var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2, BindingProperty$3];
12089
12334
  function BindingProperty(ctx, state2) {
12090
12335
  return (0, import_lib2.$EVENT_C)(ctx, state2, "BindingProperty", BindingProperty$$);
12091
12336
  }
@@ -12651,12 +12896,21 @@ var BareBlock$$ = [BareBlock$0, BareBlock$1, BareBlock$2, BareBlock$3, BareBlock
12651
12896
  function BareBlock(ctx, state2) {
12652
12897
  return (0, import_lib2.$EVENT_C)(ctx, state2, "BareBlock", BareBlock$$);
12653
12898
  }
12654
- var ThenClause$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Then, SingleLineStatements), function(value) {
12899
+ var ThenClause$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Then, ThenBlock), function(value) {
12655
12900
  return value[1];
12656
12901
  });
12657
12902
  function ThenClause(ctx, state2) {
12658
12903
  return (0, import_lib2.$EVENT)(ctx, state2, "ThenClause", ThenClause$0);
12659
12904
  }
12905
+ var ThenBlock$0 = (0, import_lib2.$T)((0, import_lib2.$S)(NoBlock, EmptyBlock), function(value) {
12906
+ return value[1];
12907
+ });
12908
+ var ThenBlock$1 = ImplicitNestedBlock;
12909
+ var ThenBlock$2 = SingleLineStatements;
12910
+ var ThenBlock$$ = [ThenBlock$0, ThenBlock$1, ThenBlock$2];
12911
+ function ThenBlock(ctx, state2) {
12912
+ return (0, import_lib2.$EVENT_C)(ctx, state2, "ThenBlock", ThenBlock$$);
12913
+ }
12660
12914
  var BracedThenClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(Then), InsertOpenBrace, ThenClause, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
12661
12915
  var open = $2;
12662
12916
  var exp = $3;
@@ -14668,11 +14922,7 @@ var Statement$1 = VariableStatement;
14668
14922
  var Statement$2 = (0, import_lib2.$T)((0, import_lib2.$S)(IfStatement, (0, import_lib2.$N)(ShouldExpressionize)), function(value) {
14669
14923
  return value[0];
14670
14924
  });
14671
- var Statement$3 = (0, import_lib2.$TS)((0, import_lib2.$S)(IterationStatement, (0, import_lib2.$N)(ShouldExpressionize)), function($skip, $loc, $0, $1, $2) {
14672
- if ($1.generator) return $skip;
14673
- if ($1.reduction) return $skip;
14674
- return $1;
14675
- });
14925
+ var Statement$3 = IterationActualStatement;
14676
14926
  var Statement$4 = (0, import_lib2.$T)((0, import_lib2.$S)(SwitchStatement, (0, import_lib2.$N)(ShouldExpressionize)), function(value) {
14677
14927
  return value[0];
14678
14928
  });
@@ -14688,6 +14938,14 @@ var Statement$$ = [Statement$0, Statement$1, Statement$2, Statement$3, Statement
14688
14938
  function Statement(ctx, state2) {
14689
14939
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Statement", Statement$$);
14690
14940
  }
14941
+ var IterationActualStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(IterationStatement, (0, import_lib2.$N)(ShouldExpressionize)), function($skip, $loc, $0, $1, $2) {
14942
+ if ($1.generator) return $skip;
14943
+ if ($1.reduction) return $skip;
14944
+ return $1;
14945
+ });
14946
+ function IterationActualStatement(ctx, state2) {
14947
+ return (0, import_lib2.$EVENT)(ctx, state2, "IterationActualStatement", IterationActualStatement$0);
14948
+ }
14691
14949
  var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
14692
14950
  var ShouldExpressionize$1 = (0, import_lib2.$S)(NotDedented, Pipe);
14693
14951
  var ShouldExpressionize$2 = BinaryOpRHS;
@@ -14790,12 +15048,12 @@ var LabelledItem$$ = [LabelledItem$0, LabelledItem$1];
14790
15048
  function LabelledItem(ctx, state2) {
14791
15049
  return (0, import_lib2.$EVENT_C)(ctx, state2, "LabelledItem", LabelledItem$$);
14792
15050
  }
14793
- var IfStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(If, Unless), (0, import_lib2.$E)(_), BoundedCondition, Then, BlockOrEmpty, (0, import_lib2.$E)(ElseClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
15051
+ var IfStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)(If, Unless), (0, import_lib2.$E)(_), BoundedCondition, ThenClause, (0, import_lib2.$E)(ElseClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
14794
15052
  var kind = $1;
14795
15053
  var ws = $2;
14796
15054
  var condition = $3;
14797
- var block = $5;
14798
- var e = $6;
15055
+ var block = $4;
15056
+ var e = $5;
14799
15057
  if (kind.negated) {
14800
15058
  kind = { ...kind, token: "if" };
14801
15059
  condition = negateCondition(condition);
@@ -15039,15 +15297,18 @@ function ForStatement(ctx, state2) {
15039
15297
  var ForClause$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(For, (0, import_lib2.$E)((0, import_lib2.$S)((0, import_lib2.$E)(_), Star)), __, ForStatementControlWithWhen), function($skip, $loc, $0, $1, $2, $3, $4) {
15040
15298
  var generator = $2;
15041
15299
  var c = $4;
15042
- const { children, declaration } = c;
15300
+ let { children, reduction } = c;
15301
+ if (generator && reduction) {
15302
+ children = [{
15303
+ type: "Error",
15304
+ message: `Cannot use reduction (${reduction.subtype}) with generators`
15305
+ }, ...children];
15306
+ }
15043
15307
  return {
15308
+ ...c,
15044
15309
  type: "ForStatement",
15045
15310
  children: [$1, ...$3, ...children],
15046
- declaration,
15047
15311
  block: null,
15048
- blockPrefix: c.blockPrefix,
15049
- hoistDec: c.hoistDec,
15050
- reduction: c.reduction,
15051
15312
  generator
15052
15313
  };
15053
15314
  });
@@ -15093,7 +15354,7 @@ var ForStatementControlWithReduction$$ = [ForStatementControlWithReduction$0, Fo
15093
15354
  function ForStatementControlWithReduction(ctx, state2) {
15094
15355
  return (0, import_lib2.$EVENT_C)(ctx, state2, "ForStatementControlWithReduction", ForStatementControlWithReduction$$);
15095
15356
  }
15096
- var ForReduction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L120, 'ForReduction "some"'), (0, import_lib2.$EXPECT)($L121, 'ForReduction "every"'), (0, import_lib2.$EXPECT)($L122, 'ForReduction "count"'), (0, import_lib2.$EXPECT)($L123, 'ForReduction "sum"'), (0, import_lib2.$EXPECT)($L124, 'ForReduction "product"'), (0, import_lib2.$EXPECT)($L125, 'ForReduction "min"'), (0, import_lib2.$EXPECT)($L126, 'ForReduction "max"'), (0, import_lib2.$EXPECT)($L127, 'ForReduction "join"')), NonIdContinue, __), function($skip, $loc, $0, $1, $2, $3) {
15357
+ var ForReduction$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L120, 'ForReduction "some"'), (0, import_lib2.$EXPECT)($L121, 'ForReduction "every"'), (0, import_lib2.$EXPECT)($L122, 'ForReduction "count"'), (0, import_lib2.$EXPECT)($L123, 'ForReduction "first"'), (0, import_lib2.$EXPECT)($L124, 'ForReduction "sum"'), (0, import_lib2.$EXPECT)($L125, 'ForReduction "product"'), (0, import_lib2.$EXPECT)($L126, 'ForReduction "min"'), (0, import_lib2.$EXPECT)($L127, 'ForReduction "max"'), (0, import_lib2.$EXPECT)($L128, 'ForReduction "join"'), (0, import_lib2.$EXPECT)($L129, 'ForReduction "concat"')), NonIdContinue, __), function($skip, $loc, $0, $1, $2, $3) {
15097
15358
  var subtype = $1;
15098
15359
  var ws = $3;
15099
15360
  return {
@@ -15942,7 +16203,7 @@ var RestoreAll$0 = (0, import_lib2.$S)(RestoreTrailingMemberProperty, RestoreBra
15942
16203
  function RestoreAll(ctx, state2) {
15943
16204
  return (0, import_lib2.$EVENT)(ctx, state2, "RestoreAll", RestoreAll$0);
15944
16205
  }
15945
- var CommaExpressionStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CommaExpression), function($skip, $loc, $0, $1) {
16206
+ var CommaExpressionStatement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(CommaExpressionSpread), function($skip, $loc, $0, $1) {
15946
16207
  return makeExpressionStatement($1);
15947
16208
  });
15948
16209
  function CommaExpressionStatement(ctx, state2) {
@@ -16016,19 +16277,19 @@ var ThrowStatement$0 = (0, import_lib2.$T)((0, import_lib2.$S)(Throw, MaybeParen
16016
16277
  function ThrowStatement(ctx, state2) {
16017
16278
  return (0, import_lib2.$EVENT)(ctx, state2, "ThrowStatement", ThrowStatement$0);
16018
16279
  }
16019
- var Break$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L128, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16280
+ var Break$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L130, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16020
16281
  return { $loc, token: $1 };
16021
16282
  });
16022
16283
  function Break(ctx, state2) {
16023
16284
  return (0, import_lib2.$EVENT)(ctx, state2, "Break", Break$0);
16024
16285
  }
16025
- var Continue$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L129, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16286
+ var Continue$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L131, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16026
16287
  return { $loc, token: $1 };
16027
16288
  });
16028
16289
  function Continue(ctx, state2) {
16029
16290
  return (0, import_lib2.$EVENT)(ctx, state2, "Continue", Continue$0);
16030
16291
  }
16031
- var Debugger$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L130, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16292
+ var Debugger$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L132, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16032
16293
  return { $loc, token: $1 };
16033
16294
  });
16034
16295
  function Debugger(ctx, state2) {
@@ -16105,7 +16366,7 @@ var MaybeParenNestedExpression$$ = [MaybeParenNestedExpression$0, MaybeParenNest
16105
16366
  function MaybeParenNestedExpression(ctx, state2) {
16106
16367
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MaybeParenNestedExpression", MaybeParenNestedExpression$$);
16107
16368
  }
16108
- var ImportDeclaration$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Import, _, Identifier, (0, import_lib2.$E)(_), Equals, __, (0, import_lib2.$EXPECT)($L131, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16369
+ var ImportDeclaration$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(Import, _, Identifier, (0, import_lib2.$E)(_), Equals, __, (0, import_lib2.$EXPECT)($L133, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16109
16370
  const imp = [
16110
16371
  { ...$1, ts: true },
16111
16372
  { ...$1, token: "const", js: true }
@@ -16293,7 +16554,7 @@ var ImpliedFrom$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'ImpliedF
16293
16554
  function ImpliedFrom(ctx, state2) {
16294
16555
  return (0, import_lib2.$EVENT)(ctx, state2, "ImpliedFrom", ImpliedFrom$0);
16295
16556
  }
16296
- var ImportAssertion$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L132, 'ImportAssertion "with"'), (0, import_lib2.$EXPECT)($L133, 'ImportAssertion "assert"')), NonIdContinue, (0, import_lib2.$E)(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
16557
+ var ImportAssertion$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L134, 'ImportAssertion "with"'), (0, import_lib2.$EXPECT)($L135, 'ImportAssertion "assert"')), NonIdContinue, (0, import_lib2.$E)(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
16297
16558
  var keyword = $2;
16298
16559
  var object = $5;
16299
16560
  return {
@@ -16614,19 +16875,19 @@ var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1];
16614
16875
  function LexicalDeclaration(ctx, state2) {
16615
16876
  return (0, import_lib2.$EVENT_C)(ctx, state2, "LexicalDeclaration", LexicalDeclaration$$);
16616
16877
  }
16617
- var ConstAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L134, 'ConstAssignment ":="'), (0, import_lib2.$EXPECT)($L135, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
16878
+ var ConstAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L136, 'ConstAssignment ":="'), (0, import_lib2.$EXPECT)($L137, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
16618
16879
  return { $loc, token: "=", decl: "const " };
16619
16880
  });
16620
16881
  function ConstAssignment(ctx, state2) {
16621
16882
  return (0, import_lib2.$EVENT)(ctx, state2, "ConstAssignment", ConstAssignment$0);
16622
16883
  }
16623
- var LetAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L136, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
16884
+ var LetAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L138, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
16624
16885
  return { $loc, token: "=", decl: "let " };
16625
16886
  });
16626
16887
  function LetAssignment(ctx, state2) {
16627
16888
  return (0, import_lib2.$EVENT)(ctx, state2, "LetAssignment", LetAssignment$0);
16628
16889
  }
16629
- var TypeAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L137, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
16890
+ var TypeAssignment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L139, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
16630
16891
  return { $loc, token: "=" };
16631
16892
  });
16632
16893
  function TypeAssignment(ctx, state2) {
@@ -17070,7 +17331,7 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
17070
17331
  function MultiLineComment(ctx, state2) {
17071
17332
  return (0, import_lib2.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
17072
17333
  }
17073
- var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L138, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R70, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L139, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
17334
+ var JSMultiLineComment$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L140, 'JSMultiLineComment "/*"'), (0, import_lib2.$Q)((0, import_lib2.$S)((0, import_lib2.$N)((0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"')), (0, import_lib2.$EXPECT)($R70, "JSMultiLineComment /./"))), (0, import_lib2.$EXPECT)($L141, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
17074
17335
  return { type: "Comment", $loc, token: $1 };
17075
17336
  });
17076
17337
  function JSMultiLineComment(ctx, state2) {
@@ -17116,7 +17377,7 @@ function _(ctx, state2) {
17116
17377
  var NonNewlineWhitespace$0 = (0, import_lib2.$TR)((0, import_lib2.$EXPECT)($R23, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
17117
17378
  return { $loc, token: $0 };
17118
17379
  });
17119
- var NonNewlineWhitespace$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L140, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
17380
+ var NonNewlineWhitespace$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L142, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
17120
17381
  return " ";
17121
17382
  });
17122
17383
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -17167,7 +17428,7 @@ var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, Statemen
17167
17428
  function StatementDelimiter(ctx, state2) {
17168
17429
  return (0, import_lib2.$EVENT_C)(ctx, state2, "StatementDelimiter", StatementDelimiter$$);
17169
17430
  }
17170
- var ClosingDelimiter$0 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L37, 'ClosingDelimiter "}"'), (0, import_lib2.$EXPECT)($L141, 'ClosingDelimiter ")"'), (0, import_lib2.$EXPECT)($L46, 'ClosingDelimiter "]"'))));
17431
+ var ClosingDelimiter$0 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L37, 'ClosingDelimiter "}"'), (0, import_lib2.$EXPECT)($L143, 'ClosingDelimiter ")"'), (0, import_lib2.$EXPECT)($L46, 'ClosingDelimiter "]"'))));
17171
17432
  function ClosingDelimiter(ctx, state2) {
17172
17433
  return (0, import_lib2.$EVENT)(ctx, state2, "ClosingDelimiter", ClosingDelimiter$0);
17173
17434
  }
@@ -17190,7 +17451,7 @@ var Loc$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Loc ""'), functi
17190
17451
  function Loc(ctx, state2) {
17191
17452
  return (0, import_lib2.$EVENT)(ctx, state2, "Loc", Loc$0);
17192
17453
  }
17193
- var Abstract$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L142, 'Abstract "abstract"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
17454
+ var Abstract$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L144, 'Abstract "abstract"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
17194
17455
  return { $loc, token: $1, ts: true };
17195
17456
  });
17196
17457
  function Abstract(ctx, state2) {
@@ -17202,43 +17463,43 @@ var Ampersand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L117, 'Ampersan
17202
17463
  function Ampersand(ctx, state2) {
17203
17464
  return (0, import_lib2.$EVENT)(ctx, state2, "Ampersand", Ampersand$0);
17204
17465
  }
17205
- var As$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L143, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17466
+ var As$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L145, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17206
17467
  return { $loc, token: $1 };
17207
17468
  });
17208
17469
  function As(ctx, state2) {
17209
17470
  return (0, import_lib2.$EVENT)(ctx, state2, "As", As$0);
17210
17471
  }
17211
- var At$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L144, 'At "@"'), function($skip, $loc, $0, $1) {
17472
+ var At$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L146, 'At "@"'), function($skip, $loc, $0, $1) {
17212
17473
  return { $loc, token: $1 };
17213
17474
  });
17214
17475
  function At(ctx, state2) {
17215
17476
  return (0, import_lib2.$EVENT)(ctx, state2, "At", At$0);
17216
17477
  }
17217
- var AtAt$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L145, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
17478
+ var AtAt$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L147, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
17218
17479
  return { $loc, token: "@" };
17219
17480
  });
17220
17481
  function AtAt(ctx, state2) {
17221
17482
  return (0, import_lib2.$EVENT)(ctx, state2, "AtAt", AtAt$0);
17222
17483
  }
17223
- var Async$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L146, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17484
+ var Async$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L148, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17224
17485
  return { $loc, token: $1, type: "Async" };
17225
17486
  });
17226
17487
  function Async(ctx, state2) {
17227
17488
  return (0, import_lib2.$EVENT)(ctx, state2, "Async", Async$0);
17228
17489
  }
17229
- var Await$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L147, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17490
+ var Await$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L149, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17230
17491
  return { $loc, token: $1, type: "Await" };
17231
17492
  });
17232
17493
  function Await(ctx, state2) {
17233
17494
  return (0, import_lib2.$EVENT)(ctx, state2, "Await", Await$0);
17234
17495
  }
17235
- var Backtick$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L148, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17496
+ var Backtick$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L150, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17236
17497
  return { $loc, token: $1 };
17237
17498
  });
17238
17499
  function Backtick(ctx, state2) {
17239
17500
  return (0, import_lib2.$EVENT)(ctx, state2, "Backtick", Backtick$0);
17240
17501
  }
17241
- var By$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L149, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17502
+ var By$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L151, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17242
17503
  return { $loc, token: $1 };
17243
17504
  });
17244
17505
  function By(ctx, state2) {
@@ -17250,19 +17511,19 @@ var Caret$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L22, 'Caret "^"'),
17250
17511
  function Caret(ctx, state2) {
17251
17512
  return (0, import_lib2.$EVENT)(ctx, state2, "Caret", Caret$0);
17252
17513
  }
17253
- var Case$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L150, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17514
+ var Case$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L152, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17254
17515
  return { $loc, token: $1 };
17255
17516
  });
17256
17517
  function Case(ctx, state2) {
17257
17518
  return (0, import_lib2.$EVENT)(ctx, state2, "Case", Case$0);
17258
17519
  }
17259
- var Catch$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L151, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17520
+ var Catch$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L153, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17260
17521
  return { $loc, token: $1 };
17261
17522
  });
17262
17523
  function Catch(ctx, state2) {
17263
17524
  return (0, import_lib2.$EVENT)(ctx, state2, "Catch", Catch$0);
17264
17525
  }
17265
- var Class$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L152, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17526
+ var Class$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L154, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17266
17527
  return { $loc, token: $1 };
17267
17528
  });
17268
17529
  function Class(ctx, state2) {
@@ -17286,13 +17547,13 @@ var CloseBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L46, 'CloseB
17286
17547
  function CloseBracket(ctx, state2) {
17287
17548
  return (0, import_lib2.$EVENT)(ctx, state2, "CloseBracket", CloseBracket$0);
17288
17549
  }
17289
- var CloseParen$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L141, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17550
+ var CloseParen$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L143, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17290
17551
  return { $loc, token: $1 };
17291
17552
  });
17292
17553
  function CloseParen(ctx, state2) {
17293
17554
  return (0, import_lib2.$EVENT)(ctx, state2, "CloseParen", CloseParen$0);
17294
17555
  }
17295
- var CoffeeSubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L153, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17556
+ var CoffeeSubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L155, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17296
17557
  return { $loc, token: "${" };
17297
17558
  });
17298
17559
  function CoffeeSubstitutionStart(ctx, state2) {
@@ -17310,37 +17571,37 @@ var Comma$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L17, 'Comma ","'),
17310
17571
  function Comma(ctx, state2) {
17311
17572
  return (0, import_lib2.$EVENT)(ctx, state2, "Comma", Comma$0);
17312
17573
  }
17313
- var Comptime$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L154, 'Comptime "comptime"'), NonIdContinue, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L16, 'Comptime ":"'))), function($skip, $loc, $0, $1, $2, $3) {
17574
+ var Comptime$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L156, 'Comptime "comptime"'), NonIdContinue, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L16, 'Comptime ":"'))), function($skip, $loc, $0, $1, $2, $3) {
17314
17575
  return { $loc, token: $1 };
17315
17576
  });
17316
17577
  function Comptime(ctx, state2) {
17317
17578
  return (0, import_lib2.$EVENT)(ctx, state2, "Comptime", Comptime$0);
17318
17579
  }
17319
- var ConstructorShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L144, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17580
+ var ConstructorShorthand$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L146, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17320
17581
  return { $loc, token: "constructor" };
17321
17582
  });
17322
17583
  function ConstructorShorthand(ctx, state2) {
17323
17584
  return (0, import_lib2.$EVENT)(ctx, state2, "ConstructorShorthand", ConstructorShorthand$0);
17324
17585
  }
17325
- var Declare$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L155, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17586
+ var Declare$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L157, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17326
17587
  return { $loc, token: $1 };
17327
17588
  });
17328
17589
  function Declare(ctx, state2) {
17329
17590
  return (0, import_lib2.$EVENT)(ctx, state2, "Declare", Declare$0);
17330
17591
  }
17331
- var Default$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L156, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17592
+ var Default$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L158, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17332
17593
  return { $loc, token: $1 };
17333
17594
  });
17334
17595
  function Default(ctx, state2) {
17335
17596
  return (0, import_lib2.$EVENT)(ctx, state2, "Default", Default$0);
17336
17597
  }
17337
- var Delete$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L157, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17598
+ var Delete$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L159, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17338
17599
  return { $loc, token: $1 };
17339
17600
  });
17340
17601
  function Delete(ctx, state2) {
17341
17602
  return (0, import_lib2.$EVENT)(ctx, state2, "Delete", Delete$0);
17342
17603
  }
17343
- var Do$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L158, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17604
+ var Do$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L160, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17344
17605
  return { $loc, token: $1 };
17345
17606
  });
17346
17607
  function Do(ctx, state2) {
@@ -17360,20 +17621,20 @@ var Dot$$ = [Dot$0, Dot$1];
17360
17621
  function Dot(ctx, state2) {
17361
17622
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Dot", Dot$$);
17362
17623
  }
17363
- var DotDot$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L159, 'DotDot ".."'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17624
+ var DotDot$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L161, 'DotDot ".."'), (0, import_lib2.$N)((0, import_lib2.$EXPECT)($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17364
17625
  return { $loc, token: $1 };
17365
17626
  });
17366
- var DotDot$1 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L160, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17627
+ var DotDot$1 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L162, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17367
17628
  return { $loc, token: ".." };
17368
17629
  });
17369
17630
  var DotDot$$ = [DotDot$0, DotDot$1];
17370
17631
  function DotDot(ctx, state2) {
17371
17632
  return (0, import_lib2.$EVENT_C)(ctx, state2, "DotDot", DotDot$$);
17372
17633
  }
17373
- var DotDotDot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L161, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17634
+ var DotDotDot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L163, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17374
17635
  return { $loc, token: $1 };
17375
17636
  });
17376
- var DotDotDot$1 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L162, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17637
+ var DotDotDot$1 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L164, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17377
17638
  return { $loc, token: "..." };
17378
17639
  });
17379
17640
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
@@ -17386,31 +17647,31 @@ var InsertDotDotDot$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L0, 'Inse
17386
17647
  function InsertDotDotDot(ctx, state2) {
17387
17648
  return (0, import_lib2.$EVENT)(ctx, state2, "InsertDotDotDot", InsertDotDotDot$0);
17388
17649
  }
17389
- var DoubleColon$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L163, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17650
+ var DoubleColon$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L165, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17390
17651
  return { $loc, token: $1 };
17391
17652
  });
17392
17653
  function DoubleColon(ctx, state2) {
17393
17654
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleColon", DoubleColon$0);
17394
17655
  }
17395
- var DoubleColonAsColon$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L163, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
17656
+ var DoubleColonAsColon$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L165, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
17396
17657
  return { $loc, token: ":" };
17397
17658
  });
17398
17659
  function DoubleColonAsColon(ctx, state2) {
17399
17660
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleColonAsColon", DoubleColonAsColon$0);
17400
17661
  }
17401
- var DoubleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L164, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17662
+ var DoubleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L166, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17402
17663
  return { $loc, token: $1 };
17403
17664
  });
17404
17665
  function DoubleQuote(ctx, state2) {
17405
17666
  return (0, import_lib2.$EVENT)(ctx, state2, "DoubleQuote", DoubleQuote$0);
17406
17667
  }
17407
- var Each$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L165, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17668
+ var Each$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L167, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17408
17669
  return { $loc, token: $1 };
17409
17670
  });
17410
17671
  function Each(ctx, state2) {
17411
17672
  return (0, import_lib2.$EVENT)(ctx, state2, "Each", Each$0);
17412
17673
  }
17413
- var Else$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L166, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17674
+ var Else$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L168, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17414
17675
  return { $loc, token: $1 };
17415
17676
  });
17416
17677
  function Else(ctx, state2) {
@@ -17422,61 +17683,61 @@ var Equals$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L3, 'Equals "="'),
17422
17683
  function Equals(ctx, state2) {
17423
17684
  return (0, import_lib2.$EVENT)(ctx, state2, "Equals", Equals$0);
17424
17685
  }
17425
- var ExclamationPoint$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L167, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
17686
+ var ExclamationPoint$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L169, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
17426
17687
  return { $loc, token: $1 };
17427
17688
  });
17428
17689
  function ExclamationPoint(ctx, state2) {
17429
17690
  return (0, import_lib2.$EVENT)(ctx, state2, "ExclamationPoint", ExclamationPoint$0);
17430
17691
  }
17431
- var Export$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L168, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17692
+ var Export$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L170, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17432
17693
  return { $loc, token: $1 };
17433
17694
  });
17434
17695
  function Export(ctx, state2) {
17435
17696
  return (0, import_lib2.$EVENT)(ctx, state2, "Export", Export$0);
17436
17697
  }
17437
- var Extends$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L169, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17698
+ var Extends$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L171, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17438
17699
  return { $loc, token: $1 };
17439
17700
  });
17440
17701
  function Extends(ctx, state2) {
17441
17702
  return (0, import_lib2.$EVENT)(ctx, state2, "Extends", Extends$0);
17442
17703
  }
17443
- var Finally$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L170, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17704
+ var Finally$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L172, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17444
17705
  return { $loc, token: $1 };
17445
17706
  });
17446
17707
  function Finally(ctx, state2) {
17447
17708
  return (0, import_lib2.$EVENT)(ctx, state2, "Finally", Finally$0);
17448
17709
  }
17449
- var For$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L171, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17710
+ var For$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L173, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17450
17711
  return { $loc, token: $1 };
17451
17712
  });
17452
17713
  function For(ctx, state2) {
17453
17714
  return (0, import_lib2.$EVENT)(ctx, state2, "For", For$0);
17454
17715
  }
17455
- var From$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L172, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17716
+ var From$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L174, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17456
17717
  return { $loc, token: $1 };
17457
17718
  });
17458
17719
  function From(ctx, state2) {
17459
17720
  return (0, import_lib2.$EVENT)(ctx, state2, "From", From$0);
17460
17721
  }
17461
- var Function$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L173, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17722
+ var Function$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L175, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17462
17723
  return { $loc, token: $1 };
17463
17724
  });
17464
17725
  function Function2(ctx, state2) {
17465
17726
  return (0, import_lib2.$EVENT)(ctx, state2, "Function", Function$0);
17466
17727
  }
17467
- var GetOrSet$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L174, 'GetOrSet "get"'), (0, import_lib2.$EXPECT)($L175, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17728
+ var GetOrSet$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L176, 'GetOrSet "get"'), (0, import_lib2.$EXPECT)($L177, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17468
17729
  return { $loc, token: $1, type: "GetOrSet" };
17469
17730
  });
17470
17731
  function GetOrSet(ctx, state2) {
17471
17732
  return (0, import_lib2.$EVENT)(ctx, state2, "GetOrSet", GetOrSet$0);
17472
17733
  }
17473
- var Hash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L176, 'Hash "#"'), function($skip, $loc, $0, $1) {
17734
+ var Hash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L178, 'Hash "#"'), function($skip, $loc, $0, $1) {
17474
17735
  return { $loc, token: $1 };
17475
17736
  });
17476
17737
  function Hash(ctx, state2) {
17477
17738
  return (0, import_lib2.$EVENT)(ctx, state2, "Hash", Hash$0);
17478
17739
  }
17479
- var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L177, 'If "if"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
17740
+ var If$0 = (0, import_lib2.$TV)((0, import_lib2.$TEXT)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L179, 'If "if"'), NonIdContinue, (0, import_lib2.$E)((0, import_lib2.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
17480
17741
  return { $loc, token: $1 };
17481
17742
  });
17482
17743
  function If(ctx, state2) {
@@ -17488,67 +17749,67 @@ var Import$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)
17488
17749
  function Import(ctx, state2) {
17489
17750
  return (0, import_lib2.$EVENT)(ctx, state2, "Import", Import$0);
17490
17751
  }
17491
- var In$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L178, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17752
+ var In$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L180, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17492
17753
  return { $loc, token: $1 };
17493
17754
  });
17494
17755
  function In(ctx, state2) {
17495
17756
  return (0, import_lib2.$EVENT)(ctx, state2, "In", In$0);
17496
17757
  }
17497
- var Infer$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L179, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17758
+ var Infer$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L181, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17498
17759
  return { $loc, token: $1 };
17499
17760
  });
17500
17761
  function Infer(ctx, state2) {
17501
17762
  return (0, import_lib2.$EVENT)(ctx, state2, "Infer", Infer$0);
17502
17763
  }
17503
- var LetOrConst$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L180, 'LetOrConst "let"'), (0, import_lib2.$EXPECT)($L181, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17764
+ var LetOrConst$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L182, 'LetOrConst "let"'), (0, import_lib2.$EXPECT)($L183, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17504
17765
  return { $loc, token: $1 };
17505
17766
  });
17506
17767
  function LetOrConst(ctx, state2) {
17507
17768
  return (0, import_lib2.$EVENT)(ctx, state2, "LetOrConst", LetOrConst$0);
17508
17769
  }
17509
- var Const$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L181, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17770
+ var Const$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L183, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17510
17771
  return { $loc, token: $1 };
17511
17772
  });
17512
17773
  function Const(ctx, state2) {
17513
17774
  return (0, import_lib2.$EVENT)(ctx, state2, "Const", Const$0);
17514
17775
  }
17515
- var Is$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L182, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17776
+ var Is$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L184, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17516
17777
  return { $loc, token: $1 };
17517
17778
  });
17518
17779
  function Is(ctx, state2) {
17519
17780
  return (0, import_lib2.$EVENT)(ctx, state2, "Is", Is$0);
17520
17781
  }
17521
- var LetOrConstOrVar$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L180, 'LetOrConstOrVar "let"'), (0, import_lib2.$EXPECT)($L181, 'LetOrConstOrVar "const"'), (0, import_lib2.$EXPECT)($L183, 'LetOrConstOrVar "var"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17782
+ var LetOrConstOrVar$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L182, 'LetOrConstOrVar "let"'), (0, import_lib2.$EXPECT)($L183, 'LetOrConstOrVar "const"'), (0, import_lib2.$EXPECT)($L185, 'LetOrConstOrVar "var"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17522
17783
  return { $loc, token: $1 };
17523
17784
  });
17524
17785
  function LetOrConstOrVar(ctx, state2) {
17525
17786
  return (0, import_lib2.$EVENT)(ctx, state2, "LetOrConstOrVar", LetOrConstOrVar$0);
17526
17787
  }
17527
- var Like$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L184, 'Like "like"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17788
+ var Like$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L186, 'Like "like"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17528
17789
  return { $loc, token: $1 };
17529
17790
  });
17530
17791
  function Like(ctx, state2) {
17531
17792
  return (0, import_lib2.$EVENT)(ctx, state2, "Like", Like$0);
17532
17793
  }
17533
- var Loop$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L185, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17794
+ var Loop$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L187, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17534
17795
  return { $loc, token: "while" };
17535
17796
  });
17536
17797
  function Loop(ctx, state2) {
17537
17798
  return (0, import_lib2.$EVENT)(ctx, state2, "Loop", Loop$0);
17538
17799
  }
17539
- var New$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L186, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17800
+ var New$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L188, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17540
17801
  return { $loc, token: $1 };
17541
17802
  });
17542
17803
  function New(ctx, state2) {
17543
17804
  return (0, import_lib2.$EVENT)(ctx, state2, "New", New$0);
17544
17805
  }
17545
- var Not$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L187, 'Not "not"'), NonIdContinue, (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($L16, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17806
+ var Not$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L189, 'Not "not"'), NonIdContinue, (0, import_lib2.$N)((0, import_lib2.$S)((0, import_lib2.$E)(_), (0, import_lib2.$EXPECT)($L16, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17546
17807
  return { $loc, token: "!" };
17547
17808
  });
17548
17809
  function Not(ctx, state2) {
17549
17810
  return (0, import_lib2.$EVENT)(ctx, state2, "Not", Not$0);
17550
17811
  }
17551
- var Of$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L188, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17812
+ var Of$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L190, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17552
17813
  return { $loc, token: $1 };
17553
17814
  });
17554
17815
  function Of(ctx, state2) {
@@ -17566,7 +17827,7 @@ var OpenBrace$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L1, 'OpenBrace
17566
17827
  function OpenBrace(ctx, state2) {
17567
17828
  return (0, import_lib2.$EVENT)(ctx, state2, "OpenBrace", OpenBrace$0);
17568
17829
  }
17569
- var OpenBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L189, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
17830
+ var OpenBracket$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L191, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
17570
17831
  return { $loc, token: $1 };
17571
17832
  });
17572
17833
  function OpenBracket(ctx, state2) {
@@ -17578,49 +17839,49 @@ var OpenParen$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L4, 'OpenParen
17578
17839
  function OpenParen(ctx, state2) {
17579
17840
  return (0, import_lib2.$EVENT)(ctx, state2, "OpenParen", OpenParen$0);
17580
17841
  }
17581
- var Operator$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L190, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17842
+ var Operator$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L192, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17582
17843
  return { $loc, token: $1 };
17583
17844
  });
17584
17845
  function Operator(ctx, state2) {
17585
17846
  return (0, import_lib2.$EVENT)(ctx, state2, "Operator", Operator$0);
17586
17847
  }
17587
- var Override$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L191, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17848
+ var Override$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L193, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17588
17849
  return { $loc, token: $1, ts: true };
17589
17850
  });
17590
17851
  function Override(ctx, state2) {
17591
17852
  return (0, import_lib2.$EVENT)(ctx, state2, "Override", Override$0);
17592
17853
  }
17593
- var Own$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L192, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17854
+ var Own$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L194, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17594
17855
  return { $loc, token: $1 };
17595
17856
  });
17596
17857
  function Own(ctx, state2) {
17597
17858
  return (0, import_lib2.$EVENT)(ctx, state2, "Own", Own$0);
17598
17859
  }
17599
- var Public$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L193, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17860
+ var Public$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L195, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17600
17861
  return { $loc, token: $1 };
17601
17862
  });
17602
17863
  function Public(ctx, state2) {
17603
17864
  return (0, import_lib2.$EVENT)(ctx, state2, "Public", Public$0);
17604
17865
  }
17605
- var Private$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L194, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17866
+ var Private$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L196, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17606
17867
  return { $loc, token: $1 };
17607
17868
  });
17608
17869
  function Private(ctx, state2) {
17609
17870
  return (0, import_lib2.$EVENT)(ctx, state2, "Private", Private$0);
17610
17871
  }
17611
- var Protected$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L195, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17872
+ var Protected$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L197, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17612
17873
  return { $loc, token: $1 };
17613
17874
  });
17614
17875
  function Protected(ctx, state2) {
17615
17876
  return (0, import_lib2.$EVENT)(ctx, state2, "Protected", Protected$0);
17616
17877
  }
17617
- var Pipe$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L196, 'Pipe "||>"'), (0, import_lib2.$EXPECT)($L197, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
17878
+ var Pipe$0 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L198, 'Pipe "||>"'), (0, import_lib2.$EXPECT)($L199, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
17618
17879
  return { $loc, token: "||>" };
17619
17880
  });
17620
- var Pipe$1 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L198, 'Pipe "|>="'), (0, import_lib2.$EXPECT)($L199, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
17881
+ var Pipe$1 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L200, 'Pipe "|>="'), (0, import_lib2.$EXPECT)($L201, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
17621
17882
  return { $loc, token: "|>=" };
17622
17883
  });
17623
- var Pipe$2 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L200, 'Pipe "|>"'), (0, import_lib2.$EXPECT)($L201, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
17884
+ var Pipe$2 = (0, import_lib2.$TV)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L202, 'Pipe "|>"'), (0, import_lib2.$EXPECT)($L203, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
17624
17885
  return { $loc, token: "|>" };
17625
17886
  });
17626
17887
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -17633,19 +17894,19 @@ var QuestionMark$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L6, 'Questio
17633
17894
  function QuestionMark(ctx, state2) {
17634
17895
  return (0, import_lib2.$EVENT)(ctx, state2, "QuestionMark", QuestionMark$0);
17635
17896
  }
17636
- var Readonly$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L202, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17897
+ var Readonly$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L204, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17637
17898
  return { $loc, token: $1, ts: true };
17638
17899
  });
17639
17900
  function Readonly(ctx, state2) {
17640
17901
  return (0, import_lib2.$EVENT)(ctx, state2, "Readonly", Readonly$0);
17641
17902
  }
17642
- var Return$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L203, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17903
+ var Return$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L205, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17643
17904
  return { $loc, token: $1 };
17644
17905
  });
17645
17906
  function Return(ctx, state2) {
17646
17907
  return (0, import_lib2.$EVENT)(ctx, state2, "Return", Return$0);
17647
17908
  }
17648
- var Satisfies$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L204, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17909
+ var Satisfies$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L206, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17649
17910
  return { $loc, token: $1 };
17650
17911
  });
17651
17912
  function Satisfies(ctx, state2) {
@@ -17657,7 +17918,7 @@ var Semicolon$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L119, 'Semicolo
17657
17918
  function Semicolon(ctx, state2) {
17658
17919
  return (0, import_lib2.$EVENT)(ctx, state2, "Semicolon", Semicolon$0);
17659
17920
  }
17660
- var SingleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L205, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
17921
+ var SingleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L207, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
17661
17922
  return { $loc, token: $1 };
17662
17923
  });
17663
17924
  function SingleQuote(ctx, state2) {
@@ -17669,149 +17930,149 @@ var Star$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L75, 'Star "*"'), fu
17669
17930
  function Star(ctx, state2) {
17670
17931
  return (0, import_lib2.$EVENT)(ctx, state2, "Star", Star$0);
17671
17932
  }
17672
- var Static$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L206, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17933
+ var Static$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L208, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17673
17934
  return { $loc, token: $1 };
17674
17935
  });
17675
- var Static$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L144, 'Static "@"'), (0, import_lib2.$N)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L4, 'Static "("'), (0, import_lib2.$EXPECT)($L144, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
17936
+ var Static$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L146, 'Static "@"'), (0, import_lib2.$N)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L4, 'Static "("'), (0, import_lib2.$EXPECT)($L146, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
17676
17937
  return { $loc, token: "static " };
17677
17938
  });
17678
17939
  var Static$$ = [Static$0, Static$1];
17679
17940
  function Static(ctx, state2) {
17680
17941
  return (0, import_lib2.$EVENT_C)(ctx, state2, "Static", Static$$);
17681
17942
  }
17682
- var SubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L207, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
17943
+ var SubstitutionStart$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L209, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
17683
17944
  return { $loc, token: $1 };
17684
17945
  });
17685
17946
  function SubstitutionStart(ctx, state2) {
17686
17947
  return (0, import_lib2.$EVENT)(ctx, state2, "SubstitutionStart", SubstitutionStart$0);
17687
17948
  }
17688
- var Super$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L208, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17949
+ var Super$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L210, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17689
17950
  return { $loc, token: $1 };
17690
17951
  });
17691
17952
  function Super(ctx, state2) {
17692
17953
  return (0, import_lib2.$EVENT)(ctx, state2, "Super", Super$0);
17693
17954
  }
17694
- var Switch$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L209, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17955
+ var Switch$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L211, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17695
17956
  return { $loc, token: $1 };
17696
17957
  });
17697
17958
  function Switch(ctx, state2) {
17698
17959
  return (0, import_lib2.$EVENT)(ctx, state2, "Switch", Switch$0);
17699
17960
  }
17700
- var Target$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L210, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17961
+ var Target$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L212, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17701
17962
  return { $loc, token: $1 };
17702
17963
  });
17703
17964
  function Target(ctx, state2) {
17704
17965
  return (0, import_lib2.$EVENT)(ctx, state2, "Target", Target$0);
17705
17966
  }
17706
- var Then$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L211, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
17967
+ var Then$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L213, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
17707
17968
  return { $loc, token: "" };
17708
17969
  });
17709
17970
  function Then(ctx, state2) {
17710
17971
  return (0, import_lib2.$EVENT)(ctx, state2, "Then", Then$0);
17711
17972
  }
17712
- var This$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L212, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17973
+ var This$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L214, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17713
17974
  return { $loc, token: $1 };
17714
17975
  });
17715
17976
  function This(ctx, state2) {
17716
17977
  return (0, import_lib2.$EVENT)(ctx, state2, "This", This$0);
17717
17978
  }
17718
- var Throw$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L213, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17979
+ var Throw$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L215, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17719
17980
  return { $loc, token: $1 };
17720
17981
  });
17721
17982
  function Throw(ctx, state2) {
17722
17983
  return (0, import_lib2.$EVENT)(ctx, state2, "Throw", Throw$0);
17723
17984
  }
17724
- var TripleDoubleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L214, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
17985
+ var TripleDoubleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L216, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
17725
17986
  return { $loc, token: "`" };
17726
17987
  });
17727
17988
  function TripleDoubleQuote(ctx, state2) {
17728
17989
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleDoubleQuote", TripleDoubleQuote$0);
17729
17990
  }
17730
- var TripleSingleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L215, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
17991
+ var TripleSingleQuote$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L217, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
17731
17992
  return { $loc, token: "`" };
17732
17993
  });
17733
17994
  function TripleSingleQuote(ctx, state2) {
17734
17995
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSingleQuote", TripleSingleQuote$0);
17735
17996
  }
17736
- var TripleSlash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L216, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
17997
+ var TripleSlash$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L218, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
17737
17998
  return { $loc, token: "/" };
17738
17999
  });
17739
18000
  function TripleSlash(ctx, state2) {
17740
18001
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleSlash", TripleSlash$0);
17741
18002
  }
17742
- var TripleTick$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L217, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18003
+ var TripleTick$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L219, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
17743
18004
  return { $loc, token: "`" };
17744
18005
  });
17745
18006
  function TripleTick(ctx, state2) {
17746
18007
  return (0, import_lib2.$EVENT)(ctx, state2, "TripleTick", TripleTick$0);
17747
18008
  }
17748
- var Try$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L218, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18009
+ var Try$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L220, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17749
18010
  return { $loc, token: $1 };
17750
18011
  });
17751
18012
  function Try(ctx, state2) {
17752
18013
  return (0, import_lib2.$EVENT)(ctx, state2, "Try", Try$0);
17753
18014
  }
17754
- var Typeof$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L219, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18015
+ var Typeof$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L221, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17755
18016
  return { $loc, token: $1 };
17756
18017
  });
17757
18018
  function Typeof(ctx, state2) {
17758
18019
  return (0, import_lib2.$EVENT)(ctx, state2, "Typeof", Typeof$0);
17759
18020
  }
17760
- var Undefined$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L220, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18021
+ var Undefined$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L222, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17761
18022
  return { $loc, token: $1 };
17762
18023
  });
17763
18024
  function Undefined(ctx, state2) {
17764
18025
  return (0, import_lib2.$EVENT)(ctx, state2, "Undefined", Undefined$0);
17765
18026
  }
17766
- var Unless$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L221, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18027
+ var Unless$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L223, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17767
18028
  return { $loc, token: $1, negated: true };
17768
18029
  });
17769
18030
  function Unless(ctx, state2) {
17770
18031
  return (0, import_lib2.$EVENT)(ctx, state2, "Unless", Unless$0);
17771
18032
  }
17772
- var Until$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L222, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18033
+ var Until$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L224, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17773
18034
  return { $loc, token: $1, negated: true };
17774
18035
  });
17775
18036
  function Until(ctx, state2) {
17776
18037
  return (0, import_lib2.$EVENT)(ctx, state2, "Until", Until$0);
17777
18038
  }
17778
- var Using$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L223, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18039
+ var Using$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L225, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17779
18040
  return { $loc, token: $1 };
17780
18041
  });
17781
18042
  function Using(ctx, state2) {
17782
18043
  return (0, import_lib2.$EVENT)(ctx, state2, "Using", Using$0);
17783
18044
  }
17784
- var Var$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L183, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18045
+ var Var$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L185, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17785
18046
  return { $loc, token: $1 };
17786
18047
  });
17787
18048
  function Var(ctx, state2) {
17788
18049
  return (0, import_lib2.$EVENT)(ctx, state2, "Var", Var$0);
17789
18050
  }
17790
- var Void$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L224, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18051
+ var Void$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L226, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17791
18052
  return { $loc, token: $1 };
17792
18053
  });
17793
18054
  function Void(ctx, state2) {
17794
18055
  return (0, import_lib2.$EVENT)(ctx, state2, "Void", Void$0);
17795
18056
  }
17796
- var When$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L225, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18057
+ var When$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L227, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17797
18058
  return { $loc, token: "case" };
17798
18059
  });
17799
18060
  function When(ctx, state2) {
17800
18061
  return (0, import_lib2.$EVENT)(ctx, state2, "When", When$0);
17801
18062
  }
17802
- var While$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L226, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18063
+ var While$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L228, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17803
18064
  return { $loc, token: $1 };
17804
18065
  });
17805
18066
  function While(ctx, state2) {
17806
18067
  return (0, import_lib2.$EVENT)(ctx, state2, "While", While$0);
17807
18068
  }
17808
- var With$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L132, 'With "with"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18069
+ var With$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L134, 'With "with"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17809
18070
  return { $loc, token: $1 };
17810
18071
  });
17811
18072
  function With(ctx, state2) {
17812
18073
  return (0, import_lib2.$EVENT)(ctx, state2, "With", With$0);
17813
18074
  }
17814
- var Yield$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L227, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18075
+ var Yield$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L229, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17815
18076
  return { $loc, token: $1, type: "Yield" };
17816
18077
  });
17817
18078
  function Yield(ctx, state2) {
@@ -17888,7 +18149,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
17888
18149
  function JSXElement(ctx, state2) {
17889
18150
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
17890
18151
  }
17891
- var JSXSelfClosingElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L228, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
18152
+ var JSXSelfClosingElement$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib2.$E)(TypeArguments), (0, import_lib2.$E)(JSXAttributes), (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L230, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
17892
18153
  return { type: "JSXElement", children: $0, tag: $2 };
17893
18154
  });
17894
18155
  function JSXSelfClosingElement(ctx, state2) {
@@ -17921,7 +18182,7 @@ var JSXOptionalClosingElement$$ = [JSXOptionalClosingElement$0, JSXOptionalClosi
17921
18182
  function JSXOptionalClosingElement(ctx, state2) {
17922
18183
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
17923
18184
  }
17924
- var JSXClosingElement$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L229, 'JSXClosingElement "</"'), (0, import_lib2.$E)(Whitespace), JSXElementName, (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L45, 'JSXClosingElement ">"'));
18185
+ var JSXClosingElement$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L231, 'JSXClosingElement "</"'), (0, import_lib2.$E)(Whitespace), JSXElementName, (0, import_lib2.$E)(Whitespace), (0, import_lib2.$EXPECT)($L45, 'JSXClosingElement ">"'));
17925
18186
  function JSXClosingElement(ctx, state2) {
17926
18187
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXClosingElement", JSXClosingElement$0);
17927
18188
  }
@@ -17941,7 +18202,7 @@ var JSXFragment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)
17941
18202
  ];
17942
18203
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
17943
18204
  });
17944
- var JSXFragment$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeJSXEnabled, (0, import_lib2.$EXPECT)($L230, 'JSXFragment "<>"'), (0, import_lib2.$E)(JSXChildren), (0, import_lib2.$E)(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
18205
+ var JSXFragment$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(CoffeeJSXEnabled, (0, import_lib2.$EXPECT)($L232, 'JSXFragment "<>"'), (0, import_lib2.$E)(JSXChildren), (0, import_lib2.$E)(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
17945
18206
  var children = $3;
17946
18207
  $0 = $0.slice(1);
17947
18208
  return {
@@ -17954,7 +18215,7 @@ var JSXFragment$$ = [JSXFragment$0, JSXFragment$1];
17954
18215
  function JSXFragment(ctx, state2) {
17955
18216
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXFragment", JSXFragment$$);
17956
18217
  }
17957
- var PushJSXOpeningFragment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L230, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
18218
+ var PushJSXOpeningFragment$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L232, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
17958
18219
  state.JSXTagStack.push("");
17959
18220
  return $1;
17960
18221
  });
@@ -17970,11 +18231,11 @@ var JSXOptionalClosingFragment$$ = [JSXOptionalClosingFragment$0, JSXOptionalClo
17970
18231
  function JSXOptionalClosingFragment(ctx, state2) {
17971
18232
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
17972
18233
  }
17973
- var JSXClosingFragment$0 = (0, import_lib2.$EXPECT)($L231, 'JSXClosingFragment "</>"');
18234
+ var JSXClosingFragment$0 = (0, import_lib2.$EXPECT)($L233, 'JSXClosingFragment "</>"');
17974
18235
  function JSXClosingFragment(ctx, state2) {
17975
18236
  return (0, import_lib2.$EVENT)(ctx, state2, "JSXClosingFragment", JSXClosingFragment$0);
17976
18237
  }
17977
- var JSXElementName$0 = (0, import_lib2.$TV)((0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L176, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
18238
+ var JSXElementName$0 = (0, import_lib2.$TV)((0, import_lib2.$Y)((0, import_lib2.$S)((0, import_lib2.$C)((0, import_lib2.$EXPECT)($L178, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
17978
18239
  return config.defaultElement;
17979
18240
  });
17980
18241
  var JSXElementName$1 = (0, import_lib2.$TEXT)((0, import_lib2.$S)(JSXIdentifierName, (0, import_lib2.$C)((0, import_lib2.$S)(Colon, JSXIdentifierName), (0, import_lib2.$Q)((0, import_lib2.$S)(Dot, JSXIdentifierName)))));
@@ -18151,7 +18412,7 @@ var JSXAttribute$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(Identifier, (0, im
18151
18412
  }
18152
18413
  return $skip;
18153
18414
  });
18154
- var JSXAttribute$5 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L176, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
18415
+ var JSXAttribute$5 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L178, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
18155
18416
  return [" ", "id=", $2];
18156
18417
  });
18157
18418
  var JSXAttribute$6 = (0, import_lib2.$TS)((0, import_lib2.$S)(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -18487,7 +18748,7 @@ var JSXChildGeneral$$ = [JSXChildGeneral$0, JSXChildGeneral$1, JSXChildGeneral$2
18487
18748
  function JSXChildGeneral(ctx, state2) {
18488
18749
  return (0, import_lib2.$EVENT_C)(ctx, state2, "JSXChildGeneral", JSXChildGeneral$$);
18489
18750
  }
18490
- var JSXComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L232, 'JSXComment "<!--"'), JSXCommentContent, (0, import_lib2.$EXPECT)($L233, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
18751
+ var JSXComment$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L234, 'JSXComment "<!--"'), JSXCommentContent, (0, import_lib2.$EXPECT)($L235, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
18491
18752
  return ["{/*", $2, "*/}"];
18492
18753
  });
18493
18754
  function JSXComment(ctx, state2) {
@@ -18771,37 +19032,37 @@ var InterfaceExtendsTarget$0 = ImplementsTarget;
18771
19032
  function InterfaceExtendsTarget(ctx, state2) {
18772
19033
  return (0, import_lib2.$EVENT)(ctx, state2, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
18773
19034
  }
18774
- var TypeKeyword$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L234, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19035
+ var TypeKeyword$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L236, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18775
19036
  return { $loc, token: $1 };
18776
19037
  });
18777
19038
  function TypeKeyword(ctx, state2) {
18778
19039
  return (0, import_lib2.$EVENT)(ctx, state2, "TypeKeyword", TypeKeyword$0);
18779
19040
  }
18780
- var Enum$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L235, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19041
+ var Enum$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L237, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18781
19042
  return { $loc, token: $1 };
18782
19043
  });
18783
19044
  function Enum(ctx, state2) {
18784
19045
  return (0, import_lib2.$EVENT)(ctx, state2, "Enum", Enum$0);
18785
19046
  }
18786
- var Interface$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L236, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19047
+ var Interface$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L238, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18787
19048
  return { $loc, token: $1 };
18788
19049
  });
18789
19050
  function Interface(ctx, state2) {
18790
19051
  return (0, import_lib2.$EVENT)(ctx, state2, "Interface", Interface$0);
18791
19052
  }
18792
- var Global$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L237, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19053
+ var Global$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L239, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18793
19054
  return { $loc, token: $1 };
18794
19055
  });
18795
19056
  function Global(ctx, state2) {
18796
19057
  return (0, import_lib2.$EVENT)(ctx, state2, "Global", Global$0);
18797
19058
  }
18798
- var Module$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L238, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19059
+ var Module$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L240, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18799
19060
  return { $loc, token: $1 };
18800
19061
  });
18801
19062
  function Module(ctx, state2) {
18802
19063
  return (0, import_lib2.$EVENT)(ctx, state2, "Module", Module$0);
18803
19064
  }
18804
- var Namespace$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L239, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19065
+ var Namespace$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L241, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18805
19066
  return { $loc, token: $1 };
18806
19067
  });
18807
19068
  function Namespace(ctx, state2) {
@@ -19110,7 +19371,7 @@ var ReturnTypeSuffix$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib
19110
19371
  function ReturnTypeSuffix(ctx, state2) {
19111
19372
  return (0, import_lib2.$EVENT)(ctx, state2, "ReturnTypeSuffix", ReturnTypeSuffix$0);
19112
19373
  }
19113
- var ReturnType$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L240, 'ReturnType "asserts"'), NonIdContinue)), ForbidIndentedApplication, (0, import_lib2.$E)(TypePredicate), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4) {
19374
+ var ReturnType$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$E)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L242, 'ReturnType "asserts"'), NonIdContinue)), ForbidIndentedApplication, (0, import_lib2.$E)(TypePredicate), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4) {
19114
19375
  var asserts = $1;
19115
19376
  var t = $3;
19116
19377
  if (!t) return $skip;
@@ -19203,8 +19464,8 @@ var TypeUnarySuffix$$ = [TypeUnarySuffix$0, TypeUnarySuffix$1, TypeUnarySuffix$2
19203
19464
  function TypeUnarySuffix(ctx, state2) {
19204
19465
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeUnarySuffix", TypeUnarySuffix$$);
19205
19466
  }
19206
- var TypeUnaryOp$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L241, 'TypeUnaryOp "keyof"'), NonIdContinue);
19207
- var TypeUnaryOp$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L202, 'TypeUnaryOp "readonly"'), NonIdContinue);
19467
+ var TypeUnaryOp$0 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L243, 'TypeUnaryOp "keyof"'), NonIdContinue);
19468
+ var TypeUnaryOp$1 = (0, import_lib2.$S)((0, import_lib2.$EXPECT)($L204, 'TypeUnaryOp "readonly"'), NonIdContinue);
19208
19469
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
19209
19470
  function TypeUnaryOp(ctx, state2) {
19210
19471
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeUnaryOp", TypeUnaryOp$$);
@@ -19234,7 +19495,7 @@ var TypeIndexedAccess$$ = [TypeIndexedAccess$0, TypeIndexedAccess$1, TypeIndexed
19234
19495
  function TypeIndexedAccess(ctx, state2) {
19235
19496
  return (0, import_lib2.$EVENT_C)(ctx, state2, "TypeIndexedAccess", TypeIndexedAccess$$);
19236
19497
  }
19237
- var UnknownAlias$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L242, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
19498
+ var UnknownAlias$0 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L244, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
19238
19499
  return { $loc, token: "unknown" };
19239
19500
  });
19240
19501
  function UnknownAlias(ctx, state2) {
@@ -19611,13 +19872,13 @@ var TypeLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EX
19611
19872
  if (sign[0] === "+") return num;
19612
19873
  return $0;
19613
19874
  });
19614
- var TypeLiteral$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L224, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19875
+ var TypeLiteral$3 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L226, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
19615
19876
  return { type: "VoidType", $loc, token: $1 };
19616
19877
  });
19617
- var TypeLiteral$4 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L243, 'TypeLiteral "unique"'), _, (0, import_lib2.$EXPECT)($L244, 'TypeLiteral "symbol"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
19878
+ var TypeLiteral$4 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L245, 'TypeLiteral "unique"'), _, (0, import_lib2.$EXPECT)($L246, 'TypeLiteral "symbol"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
19618
19879
  return { type: "UniqueSymbolType", children: $0 };
19619
19880
  });
19620
- var TypeLiteral$5 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L245, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
19881
+ var TypeLiteral$5 = (0, import_lib2.$TV)((0, import_lib2.$EXPECT)($L247, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
19621
19882
  return { $loc, token: "[]" };
19622
19883
  });
19623
19884
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4, TypeLiteral$5];
@@ -19636,7 +19897,7 @@ var InlineInterfacePropertyDelimiter$0 = (0, import_lib2.$C)((0, import_lib2.$S)
19636
19897
  var InlineInterfacePropertyDelimiter$1 = (0, import_lib2.$T)((0, import_lib2.$S)((0, import_lib2.$Y)((0, import_lib2.$S)(SameLineOrIndentedFurther, InlineBasicInterfaceProperty)), InsertComma), function(value) {
19637
19898
  return value[1];
19638
19899
  });
19639
- var InlineInterfacePropertyDelimiter$2 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L16, 'InlineInterfacePropertyDelimiter ":"'), (0, import_lib2.$EXPECT)($L141, 'InlineInterfacePropertyDelimiter ")"'), (0, import_lib2.$EXPECT)($L46, 'InlineInterfacePropertyDelimiter "]"'), (0, import_lib2.$EXPECT)($L37, 'InlineInterfacePropertyDelimiter "}"'))));
19900
+ var InlineInterfacePropertyDelimiter$2 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$C)((0, import_lib2.$EXPECT)($L16, 'InlineInterfacePropertyDelimiter ":"'), (0, import_lib2.$EXPECT)($L143, 'InlineInterfacePropertyDelimiter ")"'), (0, import_lib2.$EXPECT)($L46, 'InlineInterfacePropertyDelimiter "]"'), (0, import_lib2.$EXPECT)($L37, 'InlineInterfacePropertyDelimiter "}"'))));
19640
19901
  var InlineInterfacePropertyDelimiter$3 = (0, import_lib2.$Y)(EOS);
19641
19902
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
19642
19903
  function InlineInterfacePropertyDelimiter(ctx, state2) {
@@ -19876,7 +20137,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
19876
20137
  function CivetPrologue(ctx, state2) {
19877
20138
  return (0, import_lib2.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
19878
20139
  }
19879
- var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L246, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R98, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
20140
+ var CivetPrologueContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$EXPECT)($L248, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib2.$Q)(CivetOption), (0, import_lib2.$EXPECT)($R98, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
19880
20141
  var options = $3;
19881
20142
  return {
19882
20143
  type: "CivetPrologue",
@@ -20585,7 +20846,7 @@ __export(sourcemap_civet_exports, {
20585
20846
  locationTable: () => locationTable,
20586
20847
  lookupLineColumn: () => lookupLineColumn
20587
20848
  });
20588
- var locationTable = function(input) {
20849
+ function locationTable(input) {
20589
20850
  const linesRe = /([^\r\n]*)(\r\n|\r|\n|$)/y;
20590
20851
  const lines = [];
20591
20852
  let line = 0;
@@ -20600,96 +20861,108 @@ var locationTable = function(input) {
20600
20861
  }
20601
20862
  }
20602
20863
  return lines;
20603
- };
20604
- var lookupLineColumn = function(table, pos) {
20864
+ }
20865
+ function lookupLineColumn(table, pos) {
20605
20866
  let l = 0;
20606
20867
  let prevEnd = 0;
20607
20868
  while (table[l] <= pos) {
20608
20869
  prevEnd = table[l++];
20609
20870
  }
20610
20871
  return [l, pos - prevEnd];
20611
- };
20612
- var SourceMap = function(sourceString) {
20613
- const srcTable = locationTable(sourceString);
20614
- const sm = {
20615
- lines: [[]],
20616
- line: 0,
20617
- colOffset: 0,
20618
- // relative to previous entry
20619
- srcLine: 0,
20620
- srcColumn: 0,
20621
- srcOffset: 0,
20622
- srcTable
20623
- };
20624
- const EOL2 = /\r?\n|\r/;
20625
- return {
20626
- data: sm,
20627
- source: function() {
20628
- return sourceString;
20629
- },
20630
- renderMappings: function() {
20631
- let lastSourceLine = 0;
20632
- let lastSourceColumn = 0;
20633
- return sm.lines.map((line) => {
20634
- return line.map((entry) => {
20635
- if (entry.length === 4) {
20636
- let [colDelta, sourceFileIndex, srcLine, srcCol] = entry;
20637
- const lineDelta = srcLine - lastSourceLine;
20638
- colDelta = srcCol - lastSourceColumn;
20639
- lastSourceLine = srcLine;
20640
- lastSourceColumn = srcCol;
20641
- return `${encodeVlq(entry[0])}${encodeVlq(sourceFileIndex)}${encodeVlq(lineDelta)}${encodeVlq(colDelta)}`;
20642
- } else {
20643
- return encodeVlq(entry[0]);
20872
+ }
20873
+ var EOL2 = /\r?\n|\r/;
20874
+ var SourceMap = class {
20875
+ lines;
20876
+ line;
20877
+ colOffset;
20878
+ // relative to previous entry
20879
+ srcLine;
20880
+ srcColumn;
20881
+ srcOffset;
20882
+ srcTable;
20883
+ source;
20884
+ constructor(source1) {
20885
+ this.source = source1;
20886
+ this.lines = [[]];
20887
+ this.line = 0;
20888
+ this.colOffset = 0;
20889
+ this.srcLine = 0;
20890
+ this.srcColumn = 0;
20891
+ this.srcOffset = 0;
20892
+ this.srcTable = locationTable(this.source);
20893
+ }
20894
+ renderMappings() {
20895
+ let lastSourceLine = 0;
20896
+ let lastSourceColumn = 0;
20897
+ return (() => {
20898
+ const results = [];
20899
+ for (let ref1 = this.lines, i1 = 0, len3 = ref1.length; i1 < len3; i1++) {
20900
+ const line = ref1[i1];
20901
+ results.push((() => {
20902
+ const results1 = [];
20903
+ for (let i2 = 0, len1 = line.length; i2 < len1; i2++) {
20904
+ const entry = line[i2];
20905
+ if (entry.length === 4) {
20906
+ let [colDelta, sourceFileIndex, srcLine, srcCol] = entry;
20907
+ const lineDelta = srcLine - lastSourceLine;
20908
+ colDelta = srcCol - lastSourceColumn;
20909
+ lastSourceLine = srcLine;
20910
+ lastSourceColumn = srcCol;
20911
+ results1.push(`${encodeVlq(entry[0])}${encodeVlq(sourceFileIndex)}${encodeVlq(lineDelta)}${encodeVlq(colDelta)}`);
20912
+ } else {
20913
+ results1.push(encodeVlq(entry[0]));
20914
+ }
20644
20915
  }
20645
- }).join(",");
20646
- }).join(";");
20647
- },
20648
- json: function(srcFileName, outFileName) {
20649
- return {
20650
- version: 3,
20651
- file: outFileName,
20652
- sources: [srcFileName],
20653
- mappings: this.renderMappings(),
20654
- names: [],
20655
- sourcesContent: [sourceString],
20656
- toString: function() {
20657
- return JSON.stringify(this);
20658
- }
20659
- };
20660
- },
20661
- updateSourceMap: function(outputStr, inputPos, colOffset = 0) {
20662
- const outLines = outputStr.split(EOL2);
20663
- let srcLine, srcCol;
20916
+ return results1;
20917
+ })().join(","));
20918
+ }
20919
+ return results;
20920
+ })().join(";");
20921
+ }
20922
+ json(srcFileName, outFileName) {
20923
+ return {
20924
+ version: 3,
20925
+ file: outFileName,
20926
+ sources: [srcFileName],
20927
+ mappings: this.renderMappings(),
20928
+ names: [],
20929
+ sourcesContent: [this.source],
20930
+ toString: function() {
20931
+ return JSON.stringify(this);
20932
+ }
20933
+ };
20934
+ }
20935
+ updateSourceMap(outputStr, inputPos, colOffset = 0) {
20936
+ const outLines = outputStr.split(EOL2);
20937
+ let srcLine, srcCol;
20938
+ if (inputPos != null) {
20939
+ [srcLine, srcCol] = lookupLineColumn(this.srcTable, inputPos);
20940
+ srcCol += colOffset;
20941
+ this.srcLine = srcLine;
20942
+ this.srcColumn = srcCol;
20943
+ this.srcOffset = inputPos + outputStr.length;
20944
+ }
20945
+ for (let i3 = 0, len22 = outLines.length; i3 < len22; i3++) {
20946
+ const i = i3;
20947
+ const line = outLines[i3];
20948
+ if (i > 0) {
20949
+ this.line++;
20950
+ this.srcLine++;
20951
+ this.colOffset = 0;
20952
+ this.lines[this.line] = [];
20953
+ this.srcColumn = srcCol = colOffset;
20954
+ }
20955
+ const l = this.colOffset;
20956
+ this.colOffset = line.length;
20957
+ this.srcColumn += line.length;
20664
20958
  if (inputPos != null) {
20665
- [srcLine, srcCol] = lookupLineColumn(srcTable, inputPos);
20666
- srcCol += colOffset;
20667
- sm.srcLine = srcLine;
20668
- sm.srcColumn = srcCol;
20669
- sm.srcOffset = inputPos + outputStr.length;
20670
- }
20671
- for (let i1 = 0, len3 = outLines.length; i1 < len3; i1++) {
20672
- const i = i1;
20673
- const line = outLines[i1];
20674
- if (i > 0) {
20675
- sm.line++;
20676
- sm.srcLine++;
20677
- sm.colOffset = 0;
20678
- sm.lines[sm.line] = [];
20679
- sm.srcColumn = srcCol = colOffset;
20680
- }
20681
- const l = sm.colOffset;
20682
- sm.colOffset = line.length;
20683
- sm.srcColumn += line.length;
20684
- if (inputPos != null) {
20685
- sm.lines[sm.line].push([l, 0, srcLine + i, srcCol]);
20686
- } else if (l != 0) {
20687
- sm.lines[sm.line].push([l]);
20688
- }
20959
+ this.lines[this.line].push([l, 0, srcLine + i, srcCol]);
20960
+ } else if (l != 0) {
20961
+ this.lines[this.line].push([l]);
20689
20962
  }
20690
- return;
20691
20963
  }
20692
- };
20964
+ return;
20965
+ }
20693
20966
  };
20694
20967
  var smRegexp = /\n\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,([+a-zA-Z0-9\/]*=?=?)$/;
20695
20968
  var remap = function(codeWithSourceMap, upstreamMap, sourcePath, targetPath) {
@@ -20700,8 +20973,8 @@ var remap = function(codeWithSourceMap, upstreamMap, sourcePath, targetPath) {
20700
20973
  });
20701
20974
  if (sourceMapText) {
20702
20975
  const parsed = parseWithLines(sourceMapText);
20703
- const composedLines = composeLines(upstreamMap.data.lines, parsed.lines);
20704
- upstreamMap.data.lines = composedLines;
20976
+ const composedLines = composeLines(upstreamMap.lines, parsed.lines);
20977
+ upstreamMap.lines = composedLines;
20705
20978
  }
20706
20979
  const remappedSourceMapJSON = upstreamMap.json(sourcePath, targetPath);
20707
20980
  const newSourceMap = `${"sourceMapping"}URL=data:application/json;charset=utf-8;base64,${base64Encode(JSON.stringify(remappedSourceMapJSON))}`;
@@ -20763,10 +21036,10 @@ var VLQ_CONTINUATION_BIT = 1 << VLQ_SHIFT;
20763
21036
  var VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
20764
21037
  var encodeVlq = function(value) {
20765
21038
  let answer = "";
20766
- let ref1;
20767
- if (value < 0) ref1 = 1;
20768
- else ref1 = 0;
20769
- const signBit = ref1;
21039
+ let ref2;
21040
+ if (value < 0) ref2 = 1;
21041
+ else ref2 = 0;
21042
+ const signBit = ref2;
20770
21043
  let valueToEncode = (Math.abs(value) << 1) + signBit;
20771
21044
  while (valueToEncode || !answer) {
20772
21045
  let nextChunk = valueToEncode & VLQ_VALUE_MASK;
@@ -20938,8 +21211,8 @@ var WorkerPool = class {
20938
21211
  async run(op, ...args) {
20939
21212
  const id = this.jobId++;
20940
21213
  return await new Promise(async (resolve2, reject) => {
20941
- this.callbacks.set(id, { resolve: resolve2, reject });
20942
21214
  const job = { id, op, args };
21215
+ this.callbacks.set(id, { job, resolve: resolve2, reject });
20943
21216
  if (this.idle.length) {
20944
21217
  const worker = this.idle.shift();
20945
21218
  worker.ref();
@@ -20960,8 +21233,32 @@ var WorkerPool = class {
20960
21233
  const callback = this.callbacks.get(response.id);
20961
21234
  this.callbacks.delete(response.id);
20962
21235
  if (response.error) {
20963
- callback.reject(response.error);
21236
+ const message = `${response.error.name}: ${response.error.message}`;
21237
+ let ref;
21238
+ if (response.error.type in globalThis) {
21239
+ ref = new globalThis[response.error.type](message);
21240
+ } else {
21241
+ ref = new Error(message);
21242
+ }
21243
+ ;
21244
+ const error = ref;
21245
+ try {
21246
+ error.name = response.error.name;
21247
+ } catch (e) {
21248
+ }
21249
+ callback.reject(error);
20964
21250
  } else {
21251
+ let ref1;
21252
+ if (ref1 = response.result?.sourceMap) {
21253
+ const sourceMap = ref1;
21254
+ response.result.sourceMap = new SourceMap(sourceMap.source);
21255
+ Object.assign(response.result.sourceMap, sourceMap);
21256
+ }
21257
+ let ref2;
21258
+ if (ref2 = callback.job.args[1]?.errors) {
21259
+ const errors = ref2;
21260
+ errors.splice(0, 1 / 0, ...response.errors);
21261
+ }
20965
21262
  callback.resolve(response.result);
20966
21263
  }
20967
21264
  if (this.spawned > this.threads) {
@@ -21145,7 +21442,7 @@ ${counts}`;
21145
21442
  return;
21146
21443
  }
21147
21444
  if (options.sourceMap || options.inlineMap) {
21148
- options.sourceMap = SourceMap2(src);
21445
+ options.sourceMap = new SourceMap2(src);
21149
21446
  const code = generate_civet_default(ast2, options);
21150
21447
  checkErrors();
21151
21448
  if (options.inlineMap) {
@@ -21160,7 +21457,7 @@ ${counts}`;
21160
21457
  const result = generate_civet_default(ast2, options);
21161
21458
  if (options.errors?.length) {
21162
21459
  delete options.errors;
21163
- options.sourceMap = SourceMap2(src);
21460
+ options.sourceMap = new SourceMap2(src);
21164
21461
  generate_civet_default(ast2, options);
21165
21462
  checkErrors();
21166
21463
  }