@danielx/civet 0.7.25 → 0.7.27

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.mjs CHANGED
@@ -60,7 +60,7 @@ var require_machine = __commonJS({
60
60
  $N: () => $N2,
61
61
  $P: () => $P2,
62
62
  $Q: () => $Q2,
63
- $R: () => $R97,
63
+ $R: () => $R98,
64
64
  $R$0: () => $R$02,
65
65
  $S: () => $S2,
66
66
  $T: () => $T2,
@@ -97,7 +97,7 @@ var require_machine = __commonJS({
97
97
  return;
98
98
  };
99
99
  }
100
- function $R97(regExp) {
100
+ function $R98(regExp) {
101
101
  return function(_ctx, state2) {
102
102
  const { input, pos } = state2;
103
103
  regExp.lastIndex = state2.pos;
@@ -504,6 +504,7 @@ __export(lib_exports, {
504
504
  expressionizeTypeIf: () => expressionizeTypeIf,
505
505
  forRange: () => forRange,
506
506
  gatherBindingCode: () => gatherBindingCode,
507
+ gatherBindingPatternTypeSuffix: () => gatherBindingPatternTypeSuffix,
507
508
  gatherRecursive: () => gatherRecursive,
508
509
  gatherRecursiveAll: () => gatherRecursiveAll,
509
510
  gatherRecursiveWithinFunction: () => gatherRecursiveWithinFunction,
@@ -1307,7 +1308,7 @@ function maybeRefAssignment(exp, base = "ref") {
1307
1308
 
1308
1309
  // source/parser/binding.civet
1309
1310
  function adjustAtBindings(statements, asThis = false) {
1310
- gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
1311
+ gatherRecursiveAll(statements, ($) => $.type === "AtBindingProperty").forEach((binding) => {
1311
1312
  const { ref } = binding;
1312
1313
  if (asThis) {
1313
1314
  const atBinding = binding.binding;
@@ -1326,17 +1327,19 @@ function adjustAtBindings(statements, asThis = false) {
1326
1327
  });
1327
1328
  }
1328
1329
  function adjustBindingElements(elements) {
1329
- const names = elements.flatMap((p) => p.names || []), { length } = elements;
1330
+ const names = elements.flatMap(($1) => $1.names || []);
1331
+ const { length } = elements;
1330
1332
  let blockPrefix, restIndex = -1, restCount = 0;
1331
- elements.forEach(({ type }, i) => {
1333
+ for (let i1 = 0, len3 = elements.length; i1 < len3; i1++) {
1334
+ const i = i1;
1335
+ const { type } = elements[i1];
1332
1336
  if (type === "BindingRestElement") {
1333
- if (restIndex < 0)
1337
+ if (restIndex < 0) {
1334
1338
  restIndex = i;
1335
- return restCount++;
1339
+ }
1340
+ restCount++;
1336
1341
  }
1337
- ;
1338
- return;
1339
- });
1342
+ }
1340
1343
  if (restCount === 0) {
1341
1344
  return {
1342
1345
  children: elements,
@@ -1355,7 +1358,7 @@ function adjustBindingElements(elements) {
1355
1358
  l++;
1356
1359
  blockPrefix = {
1357
1360
  type: "PostRestBindingElements",
1358
- children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1361
+ children: ["[", trimFirstSpace(after), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1359
1362
  names: after.flatMap((p) => p.names)
1360
1363
  };
1361
1364
  }
@@ -1415,6 +1418,100 @@ function arrayElementHasTrailingComma(elementNode) {
1415
1418
  const lastChild = (ref1 = elementNode.children)[ref1.length - 1];
1416
1419
  return lastChild && lastChild[lastChild.length - 1]?.token === ",";
1417
1420
  }
1421
+ function gatherBindingPatternTypeSuffix(pattern) {
1422
+ if (pattern.typeSuffix != null) {
1423
+ return pattern;
1424
+ }
1425
+ let count = 0;
1426
+ switch (pattern.type) {
1427
+ case "ArrayBindingPattern": {
1428
+ const results = [];
1429
+ for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
1430
+ const elem = ref2[i2];
1431
+ let { typeSuffix } = elem;
1432
+ typeSuffix ??= elem.binding?.typeSuffix;
1433
+ if (typeSuffix) {
1434
+ count++;
1435
+ }
1436
+ let typeElement = [typeSuffix?.t, elem.delim];
1437
+ if (typeSuffix?.optional) {
1438
+ typeElement[0] = parenthesizeType(typeElement[0]);
1439
+ typeElement.unshift("undefined |");
1440
+ }
1441
+ if (elem.type === "BindingRestElement") {
1442
+ typeElement[0] ??= "unknown[]";
1443
+ typeElement.unshift(elem.dots);
1444
+ } else {
1445
+ typeElement[0] ??= "unknown";
1446
+ }
1447
+ results.push(typeElement);
1448
+ }
1449
+ ;
1450
+ const types = results;
1451
+ if (count) {
1452
+ const t = [": [", types, "]"];
1453
+ pattern.typeSuffix = {
1454
+ type: "TypeSuffix",
1455
+ ts: true,
1456
+ t,
1457
+ children: [t]
1458
+ };
1459
+ }
1460
+ ;
1461
+ break;
1462
+ }
1463
+ case "ObjectBindingPattern": {
1464
+ let restType;
1465
+ const results1 = [];
1466
+ for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
1467
+ const prop = ref3[i3];
1468
+ let { typeSuffix } = prop;
1469
+ typeSuffix ??= prop.value?.typeSuffix;
1470
+ if (typeSuffix) {
1471
+ count++;
1472
+ }
1473
+ typeSuffix ??= {
1474
+ type: "TypeSuffix",
1475
+ ts: true,
1476
+ children: [": unknown"]
1477
+ };
1478
+ switch (prop.type) {
1479
+ case "BindingProperty": {
1480
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
1481
+ results1.push([...ws, prop.name, typeSuffix, prop.delim]);
1482
+ break;
1483
+ }
1484
+ case "AtBindingProperty": {
1485
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
1486
+ results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
1487
+ break;
1488
+ }
1489
+ case "BindingRestProperty": {
1490
+ restType = prop.typeSuffix?.t;
1491
+ continue;
1492
+ }
1493
+ }
1494
+ }
1495
+ ;
1496
+ const types = results1;
1497
+ if (count) {
1498
+ const t = ["{", types, "}"];
1499
+ if (restType != null) {
1500
+ t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
1501
+ }
1502
+ pattern.typeSuffix = {
1503
+ type: "TypeSuffix",
1504
+ ts: true,
1505
+ t,
1506
+ children: [": ", t]
1507
+ };
1508
+ }
1509
+ ;
1510
+ break;
1511
+ }
1512
+ }
1513
+ return pattern;
1514
+ }
1418
1515
 
1419
1516
  // source/parser/function.civet
1420
1517
  function isVoidType(t) {
@@ -3244,6 +3341,9 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
3244
3341
  let [splices, assignments] = gatherBindingCode(pattern);
3245
3342
  splices = splices.map((s) => [", ", s]);
3246
3343
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
3344
+ if ("typeSuffix" in pattern) {
3345
+ suffix ??= pattern.typeSuffix;
3346
+ }
3247
3347
  const initializer = makeNode({
3248
3348
  type: "Initializer",
3249
3349
  expression: e,
@@ -6514,6 +6614,7 @@ var grammar = {
6514
6614
  NestedBindingPropertyList,
6515
6615
  BindingProperty,
6516
6616
  BindingRestProperty,
6617
+ BindingTypeSuffix,
6517
6618
  NestedBindingElements,
6518
6619
  BindingElement,
6519
6620
  BindingRestElement,
@@ -6851,6 +6952,7 @@ var grammar = {
6851
6952
  DotDot,
6852
6953
  DotDotDot,
6853
6954
  DoubleColon,
6955
+ DoubleColonAsColon,
6854
6956
  DoubleQuote,
6855
6957
  Each,
6856
6958
  Else,
@@ -6965,6 +7067,8 @@ var grammar = {
6965
7067
  JSXChildExpression,
6966
7068
  IndentedJSXChildExpression,
6967
7069
  NestedJSXChildExpression,
7070
+ JSXAngleChild,
7071
+ JSXAngleChildExpression,
6968
7072
  UsingDeclaration,
6969
7073
  UsingBinding,
6970
7074
  UsingJSModeError,
@@ -7357,7 +7461,7 @@ var $R2 = (0, import_lib3.$R)(new RegExp("(as|of|satisfies|then|when|implements|
7357
7461
  var $R3 = (0, import_lib3.$R)(new RegExp("[0-9]", "suy"));
7358
7462
  var $R4 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
7359
7463
  var $R5 = (0, import_lib3.$R)(new RegExp("[ \\t]", "suy"));
7360
- var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#]", "suy"));
7464
+ var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{]", "suy"));
7361
7465
  var $R7 = (0, import_lib3.$R)(new RegExp("[&=]", "suy"));
7362
7466
  var $R8 = (0, import_lib3.$R)(new RegExp("(?=['\"`])", "suy"));
7363
7467
  var $R9 = (0, import_lib3.$R)(new RegExp("(?=[\\/?])", "suy"));
@@ -7374,80 +7478,81 @@ var $R19 = (0, import_lib3.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
7374
7478
  var $R20 = (0, import_lib3.$R)(new RegExp("[ \\t]*", "suy"));
7375
7479
  var $R21 = (0, import_lib3.$R)(new RegExp("[ \\t]+", "suy"));
7376
7480
  var $R22 = (0, import_lib3.$R)(new RegExp("[!+-]?", "suy"));
7377
- var $R23 = (0, import_lib3.$R)(new RegExp("[=>]", "suy"));
7378
- var $R24 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy"));
7379
- var $R25 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7380
- var $R26 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7381
- var $R27 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
7382
- var $R28 = (0, import_lib3.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
7383
- var $R29 = (0, import_lib3.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
7384
- var $R30 = (0, import_lib3.$R)(new RegExp("(?=[\\s\\),])", "suy"));
7385
- var $R31 = (0, import_lib3.$R)(new RegExp('[^;"\\s]+', "suy"));
7386
- var $R32 = (0, import_lib3.$R)(new RegExp("(?=[0-9.])", "suy"));
7387
- var $R33 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
7388
- var $R34 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
7389
- var $R35 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
7390
- var $R36 = (0, import_lib3.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
7391
- var $R37 = (0, import_lib3.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
7392
- var $R38 = (0, import_lib3.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
7393
- var $R39 = (0, import_lib3.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
7394
- var $R40 = (0, import_lib3.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
7395
- var $R41 = (0, import_lib3.$R)(new RegExp("(?=[0-9])", "suy"));
7396
- var $R42 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
7397
- var $R43 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
7398
- var $R44 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
7399
- var $R45 = (0, import_lib3.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
7400
- var $R46 = (0, import_lib3.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
7401
- var $R47 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
7402
- var $R48 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
7403
- var $R49 = (0, import_lib3.$R)(new RegExp("(?:\\\\.)", "suy"));
7404
- var $R50 = (0, import_lib3.$R)(new RegExp("[\\s]+", "suy"));
7405
- var $R51 = (0, import_lib3.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
7406
- var $R52 = (0, import_lib3.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
7407
- var $R53 = (0, import_lib3.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
7408
- var $R54 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
7409
- var $R55 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7410
- var $R56 = (0, import_lib3.$R)(new RegExp("(?=[`'\"])", "suy"));
7411
- var $R57 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
7412
- var $R58 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
7413
- var $R59 = (0, import_lib3.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
7414
- var $R60 = (0, import_lib3.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
7415
- var $R61 = (0, import_lib3.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
7416
- var $R62 = (0, import_lib3.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
7417
- var $R63 = (0, import_lib3.$R)(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
7418
- var $R64 = (0, import_lib3.$R)(new RegExp("(?=\\/|#)", "suy"));
7419
- var $R65 = (0, import_lib3.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
7420
- var $R66 = (0, import_lib3.$R)(new RegExp(".", "suy"));
7421
- var $R67 = (0, import_lib3.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
7422
- var $R68 = (0, import_lib3.$R)(new RegExp("[^]*?###", "suy"));
7423
- var $R69 = (0, import_lib3.$R)(new RegExp("###(?!#)", "suy"));
7424
- var $R70 = (0, import_lib3.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
7425
- var $R71 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
7426
- var $R72 = (0, import_lib3.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
7427
- var $R73 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
7428
- var $R74 = (0, import_lib3.$R)(new RegExp("[=:]", "suy"));
7429
- var $R75 = (0, import_lib3.$R)(new RegExp("['\u2019]s", "suy"));
7430
- var $R76 = (0, import_lib3.$R)(new RegExp("\\s", "suy"));
7431
- var $R77 = (0, import_lib3.$R)(new RegExp("(?=[<])", "suy"));
7432
- var $R78 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7433
- var $R79 = (0, import_lib3.$R)(new RegExp("[!+-]", "suy"));
7434
- var $R80 = (0, import_lib3.$R)(new RegExp("[\\s>]|\\/>", "suy"));
7435
- var $R81 = (0, import_lib3.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
7436
- var $R82 = (0, import_lib3.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
7437
- var $R83 = (0, import_lib3.$R)(new RegExp("[<>]", "suy"));
7438
- var $R84 = (0, import_lib3.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
7439
- var $R85 = (0, import_lib3.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
7440
- var $R86 = (0, import_lib3.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
7441
- var $R87 = (0, import_lib3.$R)(new RegExp("[+-]?", "suy"));
7442
- var $R88 = (0, import_lib3.$R)(new RegExp("(?=if|unless)", "suy"));
7443
- var $R89 = (0, import_lib3.$R)(new RegExp("#![^\\r\\n]*", "suy"));
7444
- var $R90 = (0, import_lib3.$R)(new RegExp("[\\t ]*", "suy"));
7445
- var $R91 = (0, import_lib3.$R)(new RegExp("[\\s]*", "suy"));
7446
- var $R92 = (0, import_lib3.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
7447
- var $R93 = (0, import_lib3.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
7448
- var $R94 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
7449
- var $R95 = (0, import_lib3.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
7450
- var $R96 = (0, import_lib3.$R)(new RegExp("[^]*", "suy"));
7481
+ var $R23 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7482
+ var $R24 = (0, import_lib3.$R)(new RegExp("[=>]", "suy"));
7483
+ var $R25 = (0, import_lib3.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy"));
7484
+ var $R26 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7485
+ var $R27 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7486
+ var $R28 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
7487
+ var $R29 = (0, import_lib3.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
7488
+ var $R30 = (0, import_lib3.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
7489
+ var $R31 = (0, import_lib3.$R)(new RegExp("(?=[\\s\\),])", "suy"));
7490
+ var $R32 = (0, import_lib3.$R)(new RegExp('[^;"\\s]+', "suy"));
7491
+ var $R33 = (0, import_lib3.$R)(new RegExp("(?=[0-9.])", "suy"));
7492
+ var $R34 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
7493
+ var $R35 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
7494
+ var $R36 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
7495
+ var $R37 = (0, import_lib3.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
7496
+ var $R38 = (0, import_lib3.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
7497
+ var $R39 = (0, import_lib3.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
7498
+ var $R40 = (0, import_lib3.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
7499
+ var $R41 = (0, import_lib3.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
7500
+ var $R42 = (0, import_lib3.$R)(new RegExp("(?=[0-9])", "suy"));
7501
+ var $R43 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
7502
+ var $R44 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
7503
+ var $R45 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
7504
+ var $R46 = (0, import_lib3.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
7505
+ var $R47 = (0, import_lib3.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
7506
+ var $R48 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
7507
+ var $R49 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
7508
+ var $R50 = (0, import_lib3.$R)(new RegExp("(?:\\\\.)", "suy"));
7509
+ var $R51 = (0, import_lib3.$R)(new RegExp("[\\s]+", "suy"));
7510
+ var $R52 = (0, import_lib3.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
7511
+ var $R53 = (0, import_lib3.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
7512
+ var $R54 = (0, import_lib3.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
7513
+ var $R55 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
7514
+ var $R56 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7515
+ var $R57 = (0, import_lib3.$R)(new RegExp("(?=[`'\"])", "suy"));
7516
+ var $R58 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
7517
+ var $R59 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
7518
+ var $R60 = (0, import_lib3.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
7519
+ var $R61 = (0, import_lib3.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
7520
+ var $R62 = (0, import_lib3.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
7521
+ var $R63 = (0, import_lib3.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
7522
+ var $R64 = (0, import_lib3.$R)(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
7523
+ var $R65 = (0, import_lib3.$R)(new RegExp("(?=\\/|#)", "suy"));
7524
+ var $R66 = (0, import_lib3.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
7525
+ var $R67 = (0, import_lib3.$R)(new RegExp(".", "suy"));
7526
+ var $R68 = (0, import_lib3.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
7527
+ var $R69 = (0, import_lib3.$R)(new RegExp("[^]*?###", "suy"));
7528
+ var $R70 = (0, import_lib3.$R)(new RegExp("###(?!#)", "suy"));
7529
+ var $R71 = (0, import_lib3.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
7530
+ var $R72 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
7531
+ var $R73 = (0, import_lib3.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
7532
+ var $R74 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
7533
+ var $R75 = (0, import_lib3.$R)(new RegExp("[=:]", "suy"));
7534
+ var $R76 = (0, import_lib3.$R)(new RegExp("['\u2019]s", "suy"));
7535
+ var $R77 = (0, import_lib3.$R)(new RegExp("\\s", "suy"));
7536
+ var $R78 = (0, import_lib3.$R)(new RegExp("(?=[<])", "suy"));
7537
+ var $R79 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7538
+ var $R80 = (0, import_lib3.$R)(new RegExp("[!+-]", "suy"));
7539
+ var $R81 = (0, import_lib3.$R)(new RegExp("[\\s>]|\\/>", "suy"));
7540
+ var $R82 = (0, import_lib3.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
7541
+ var $R83 = (0, import_lib3.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
7542
+ var $R84 = (0, import_lib3.$R)(new RegExp("[<>]", "suy"));
7543
+ var $R85 = (0, import_lib3.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
7544
+ var $R86 = (0, import_lib3.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
7545
+ var $R87 = (0, import_lib3.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
7546
+ var $R88 = (0, import_lib3.$R)(new RegExp("[+-]?", "suy"));
7547
+ var $R89 = (0, import_lib3.$R)(new RegExp("(?=if|unless)", "suy"));
7548
+ var $R90 = (0, import_lib3.$R)(new RegExp("#![^\\r\\n]*", "suy"));
7549
+ var $R91 = (0, import_lib3.$R)(new RegExp("[\\t ]*", "suy"));
7550
+ var $R92 = (0, import_lib3.$R)(new RegExp("[\\s]*", "suy"));
7551
+ var $R93 = (0, import_lib3.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
7552
+ var $R94 = (0, import_lib3.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
7553
+ var $R95 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
7554
+ var $R96 = (0, import_lib3.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
7555
+ var $R97 = (0, import_lib3.$R)(new RegExp("[^]*", "suy"));
7451
7556
  var Program$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Reset, Init, (0, import_lib3.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7452
7557
  var reset = $1;
7453
7558
  var init = $2;
@@ -8342,7 +8447,7 @@ var ParenthesizedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenPar
8342
8447
  function ParenthesizedExpression(ctx, state2) {
8343
8448
  return (0, import_lib3.$EVENT)(ctx, state2, "ParenthesizedExpression", ParenthesizedExpression$0);
8344
8449
  }
8345
- var Placeholder$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R6, "Placeholder /\\p{ID_Continue}|[\\u200C\\u200D$.#]/")), (0, import_lib3.$E)(PlaceholderTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
8450
+ var Placeholder$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R6, "Placeholder /\\p{ID_Continue}|[\\u200C\\u200D$.#{]/")), (0, import_lib3.$E)(PlaceholderTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
8346
8451
  var dot = $1;
8347
8452
  var typeSuffix = $3;
8348
8453
  return {
@@ -8362,7 +8467,7 @@ var Placeholder$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Ampersand, (0, impo
8362
8467
  children: [amp]
8363
8468
  };
8364
8469
  });
8365
- var Placeholder$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(ExplicitAccessStart), (0, import_lib3.$Y)(PropertyAccess), (0, import_lib3.$N)(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
8470
+ var Placeholder$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(ExplicitAccessStart), (0, import_lib3.$Y)((0, import_lib3.$C)(PropertyAccess, PropertyGlob)), (0, import_lib3.$N)(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
8366
8471
  return {
8367
8472
  type: "Placeholder",
8368
8473
  subtype: "&",
@@ -9431,9 +9536,10 @@ var ParameterElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
9431
9536
  var typeSuffix = $5;
9432
9537
  var initializer = $6;
9433
9538
  var delim = $7;
9539
+ typeSuffix ??= binding.typeSuffix;
9434
9540
  return {
9435
9541
  type: "Parameter",
9436
- children: $0,
9542
+ children: [$1, accessModifier, $3, binding, typeSuffix, initializer, delim],
9437
9543
  names: binding.names,
9438
9544
  typeSuffix,
9439
9545
  accessModifier,
@@ -9549,12 +9655,13 @@ var ObjectBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
9549
9655
  var c = $3;
9550
9656
  var ws2 = $4;
9551
9657
  var close = $5;
9552
- return {
9658
+ const properties = c.children;
9659
+ return gatherBindingPatternTypeSuffix({
9553
9660
  type: "ObjectBindingPattern",
9554
- children: [ws1, open, c.children, ws2, close],
9661
+ children: [ws1, open, properties, ws2, close],
9555
9662
  names: c.names,
9556
- properties: c.children
9557
- };
9663
+ properties
9664
+ });
9558
9665
  });
9559
9666
  function ObjectBindingPattern(ctx, state2) {
9560
9667
  return (0, import_lib3.$EVENT)(ctx, state2, "ObjectBindingPattern", ObjectBindingPattern$0);
@@ -9589,13 +9696,13 @@ var ArrayBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9589
9696
  var c = $3;
9590
9697
  var ws2 = $4;
9591
9698
  var close = $5;
9592
- return {
9699
+ return gatherBindingPatternTypeSuffix({
9593
9700
  ...c,
9594
9701
  // names, blockPrefix, length
9595
9702
  type: "ArrayBindingPattern",
9596
9703
  elements: c.children,
9597
9704
  children: [ws1, open, c.children, ws2, close]
9598
- };
9705
+ });
9599
9706
  });
9600
9707
  function ArrayBindingPattern(ctx, state2) {
9601
9708
  return (0, import_lib3.$EVENT)(ctx, state2, "ArrayBindingPattern", ArrayBindingPattern$0);
@@ -9616,6 +9723,7 @@ var BindingElementList$0 = (0, import_lib3.$TV)((0, import_lib3.$P)((0, import_l
9616
9723
  return elements.map(([element, delim]) => {
9617
9724
  return {
9618
9725
  ...element,
9726
+ delim,
9619
9727
  // BindingElement.children is a tuple of the form [ws, element]
9620
9728
  children: [...element.children, delim]
9621
9729
  };
@@ -9666,38 +9774,57 @@ function NestedBindingPropertyList(ctx, state2) {
9666
9774
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingPropertyList", NestedBindingPropertyList$0);
9667
9775
  }
9668
9776
  var BindingProperty$0 = BindingRestProperty;
9669
- var BindingProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), PropertyName, (0, import_lib3.$E)(_), Colon, (0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
9777
+ var BindingProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), PropertyName, (0, import_lib3.$E)(_), Colon, (0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9670
9778
  var name = $2;
9671
9779
  var value = $6;
9672
- var initializer = $7;
9780
+ var typeSuffix = $7;
9781
+ var initializer = $8;
9673
9782
  return {
9674
9783
  type: "BindingProperty",
9675
- children: $0,
9784
+ children: [$1, name, $3, $4, $5, value, initializer],
9785
+ // omit typeSuffix
9676
9786
  name,
9677
9787
  value,
9788
+ typeSuffix,
9678
9789
  initializer,
9679
9790
  names: value.names
9680
9791
  };
9681
9792
  });
9682
- var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(Caret), BindingIdentifier, (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
9793
+ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(Caret), BindingIdentifier, (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9683
9794
  var ws = $1;
9684
9795
  var pin = $2;
9685
9796
  var binding = $3;
9686
- var initializer = $4;
9797
+ var typeSuffix = $4;
9798
+ var initializer = $5;
9799
+ let children = [ws, binding, initializer];
9687
9800
  if (binding.type === "AtBinding") {
9688
9801
  return {
9689
9802
  type: "AtBindingProperty",
9690
- children: $0,
9803
+ children,
9691
9804
  binding,
9805
+ typeSuffix,
9692
9806
  ref: binding.ref,
9693
9807
  initializer,
9694
9808
  names: []
9695
9809
  };
9696
9810
  }
9697
9811
  if (pin) {
9812
+ children = [ws, binding];
9813
+ if (typeSuffix) {
9814
+ children.push({
9815
+ type: "Error",
9816
+ message: "Pinned properties cannot have type annotations"
9817
+ });
9818
+ }
9819
+ if (initializer) {
9820
+ children.push({
9821
+ type: "Error",
9822
+ message: "Pinned properties cannot have initializers"
9823
+ });
9824
+ }
9698
9825
  return {
9699
9826
  type: "PinProperty",
9700
- children: [ws, binding],
9827
+ children,
9701
9828
  name: binding,
9702
9829
  value: {
9703
9830
  type: "PinPattern",
@@ -9707,9 +9834,10 @@ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3
9707
9834
  }
9708
9835
  return {
9709
9836
  type: "BindingProperty",
9710
- children: $0,
9837
+ children,
9711
9838
  name: binding,
9712
9839
  value: void 0,
9840
+ typeSuffix,
9713
9841
  initializer,
9714
9842
  names: binding.names,
9715
9843
  identifier: binding
@@ -9719,13 +9847,15 @@ var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2
9719
9847
  function BindingProperty(ctx, state2) {
9720
9848
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingProperty", BindingProperty$$);
9721
9849
  }
9722
- var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2, $3) {
9850
+ var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier, (0, import_lib3.$E)(BindingTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4) {
9723
9851
  var ws = $1;
9724
9852
  var dots = $2;
9725
9853
  var id = $3;
9854
+ var typeSuffix = $4;
9726
9855
  return {
9727
9856
  ...id,
9728
9857
  type: "BindingRestProperty",
9858
+ typeSuffix,
9729
9859
  children: [...ws || [], dots, ...id.children]
9730
9860
  };
9731
9861
  });
@@ -9736,6 +9866,7 @@ var BindingRestProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9736
9866
  return {
9737
9867
  ...id,
9738
9868
  type: "BindingRestProperty",
9869
+ typeSuffix: void 0,
9739
9870
  children: [...ws || [], dots, ...id.children]
9740
9871
  };
9741
9872
  });
@@ -9743,6 +9874,21 @@ var BindingRestProperty$$ = [BindingRestProperty$0, BindingRestProperty$1];
9743
9874
  function BindingRestProperty(ctx, state2) {
9744
9875
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingRestProperty", BindingRestProperty$$);
9745
9876
  }
9877
+ var BindingTypeSuffix$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(QuestionMark), (0, import_lib3.$E)(_), DoubleColonAsColon, MaybeNestedType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9878
+ var optional = $2;
9879
+ var colon = $4;
9880
+ var t = $5;
9881
+ return {
9882
+ type: "TypeSuffix",
9883
+ ts: true,
9884
+ optional,
9885
+ t,
9886
+ children: $0
9887
+ };
9888
+ });
9889
+ function BindingTypeSuffix(ctx, state2) {
9890
+ return (0, import_lib3.$EVENT)(ctx, state2, "BindingTypeSuffix", BindingTypeSuffix$0);
9891
+ }
9746
9892
  var NestedBindingElements$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedBindingElementList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
9747
9893
  var elements = $2;
9748
9894
  if (!elements.length)
@@ -9753,10 +9899,11 @@ function NestedBindingElements(ctx, state2) {
9753
9899
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingElements", NestedBindingElements$0);
9754
9900
  }
9755
9901
  var BindingElement$0 = BindingRestElement;
9756
- var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3) {
9902
+ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
9757
9903
  var ws = $1;
9758
9904
  var binding = $2;
9759
- var initializer = $3;
9905
+ var typeSuffix = $3;
9906
+ var initializer = $4;
9760
9907
  if (binding.children) {
9761
9908
  binding = {
9762
9909
  ...binding,
@@ -9765,16 +9912,17 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9765
9912
  };
9766
9913
  }
9767
9914
  return {
9915
+ type: "BindingElement",
9768
9916
  names: binding.names,
9917
+ typeSuffix,
9918
+ binding,
9769
9919
  children: [ws, binding]
9770
9920
  };
9771
9921
  });
9772
9922
  var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9773
9923
  return {
9774
- children: [{
9775
- type: "ElisionElement",
9776
- children: [""]
9777
- }],
9924
+ type: "ElisionElement",
9925
+ children: [""],
9778
9926
  names: []
9779
9927
  };
9780
9928
  });
@@ -9782,14 +9930,17 @@ var BindingElement$$ = [BindingElement$0, BindingElement$1, BindingElement$2];
9782
9930
  function BindingElement(ctx, state2) {
9783
9931
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingElement", BindingElement$$);
9784
9932
  }
9785
- var BindingRestElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$C)(BindingIdentifier, BindingPattern, EmptyBindingPattern)), function($skip, $loc, $0, $1, $2, $3) {
9933
+ var BindingRestElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$C)(BindingIdentifier, BindingPattern, EmptyBindingPattern), (0, import_lib3.$E)(BindingTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4) {
9786
9934
  var ws = $1;
9787
9935
  var dots = $2;
9788
9936
  var binding = $3;
9937
+ var typeSuffix = $4;
9789
9938
  return {
9790
9939
  type: "BindingRestElement",
9791
9940
  children: [ws, [dots, binding]],
9941
+ dots,
9792
9942
  binding,
9943
+ typeSuffix,
9793
9944
  name: binding.name,
9794
9945
  names: binding.names,
9795
9946
  rest: true
@@ -9802,6 +9953,7 @@ var BindingRestElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
9802
9953
  return {
9803
9954
  type: "BindingRestElement",
9804
9955
  children: [...ws || [], dots, binding],
9956
+ dots,
9805
9957
  binding,
9806
9958
  name: binding.name,
9807
9959
  names: binding.names,
@@ -11340,9 +11492,15 @@ function SnugNamedProperty(ctx, state2) {
11340
11492
  var PropertyName$0 = NumericLiteral;
11341
11493
  var PropertyName$1 = ComputedPropertyName;
11342
11494
  var PropertyName$2 = StringLiteral;
11343
- var PropertyName$3 = IdentifierName;
11344
- var PropertyName$4 = LengthShorthand;
11345
- var PropertyName$$ = [PropertyName$0, PropertyName$1, PropertyName$2, PropertyName$3, PropertyName$4];
11495
+ var PropertyName$3 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$E)(IdentifierName), (0, import_lib3.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib3.$EXPECT)($R23, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
11496
+ return {
11497
+ token: `"${$1}"`,
11498
+ $loc
11499
+ };
11500
+ });
11501
+ var PropertyName$4 = IdentifierName;
11502
+ var PropertyName$5 = LengthShorthand;
11503
+ var PropertyName$$ = [PropertyName$0, PropertyName$1, PropertyName$2, PropertyName$3, PropertyName$4, PropertyName$5];
11346
11504
  function PropertyName(ctx, state2) {
11347
11505
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PropertyName", PropertyName$$);
11348
11506
  }
@@ -11733,7 +11891,7 @@ var AssignmentOpSymbol$22 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, '
11733
11891
  var AssignmentOpSymbol$23 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
11734
11892
  return "??=";
11735
11893
  });
11736
- var AssignmentOpSymbol$24 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "AssignmentOpSymbol /[=>]/"))), function(value) {
11894
+ var AssignmentOpSymbol$24 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R24, "AssignmentOpSymbol /[=>]/"))), function(value) {
11737
11895
  return value[0];
11738
11896
  });
11739
11897
  var AssignmentOpSymbol$25 = (0, import_lib3.$T)((0, import_lib3.$S)(CoffeeWordAssignmentOp), function(value) {
@@ -11781,7 +11939,7 @@ var IdentifierBinaryOp$0 = (0, import_lib3.$TV)(Identifier, function($skip, $loc
11781
11939
  function IdentifierBinaryOp(ctx, state2) {
11782
11940
  return (0, import_lib3.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11783
11941
  }
11784
- var BinaryOp$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R24, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
11942
+ var BinaryOp$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R25, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
11785
11943
  var op = value[1];
11786
11944
  return op;
11787
11945
  });
@@ -11926,7 +12084,7 @@ var BinaryOpSymbol$35 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3
11926
12084
  prec: "^^"
11927
12085
  };
11928
12086
  });
11929
- var BinaryOpSymbol$36 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($R25, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
12087
+ var BinaryOpSymbol$36 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($R26, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11930
12088
  return {
11931
12089
  call: getHelperRef("xnor"),
11932
12090
  special: true,
@@ -12090,24 +12248,24 @@ var Xor$$ = [Xor$0, Xor$1];
12090
12248
  function Xor(ctx, state2) {
12091
12249
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Xor", Xor$$);
12092
12250
  }
12093
- var Xnor$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R25, "Xnor /!\\^\\^?/"));
12251
+ var Xnor$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R26, "Xnor /!\\^\\^?/"));
12094
12252
  var Xnor$1 = (0, import_lib3.$EXPECT)($L109, 'Xnor "xnor"');
12095
12253
  var Xnor$$ = [Xnor$0, Xnor$1];
12096
12254
  function Xnor(ctx, state2) {
12097
12255
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
12098
12256
  }
12099
- var UnaryOp$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R26, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12257
+ var UnaryOp$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R27, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12100
12258
  return { $loc, token: $0 };
12101
12259
  });
12102
12260
  var UnaryOp$1 = AwaitOp;
12103
- var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Delete, Void, Typeof), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R27, "UnaryOp /[:.]/")), (0, import_lib3.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
12261
+ var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Delete, Void, Typeof), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R28, "UnaryOp /[:.]/")), (0, import_lib3.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
12104
12262
  var op = $1;
12105
12263
  var ws = $3;
12106
12264
  if (!ws)
12107
12265
  return [op, [" "]];
12108
12266
  return [op, ws];
12109
12267
  });
12110
- var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R27, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
12268
+ var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R28, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
12111
12269
  return [value[0], value[3]];
12112
12270
  });
12113
12271
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12203,7 +12361,7 @@ var NonPipelinePostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(
12203
12361
  function NonPipelinePostfixedExpression(ctx, state2) {
12204
12362
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
12205
12363
  }
12206
- var PostfixStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R28, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
12364
+ var PostfixStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R29, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
12207
12365
  return value[1];
12208
12366
  });
12209
12367
  function PostfixStatement(ctx, state2) {
@@ -12366,7 +12524,7 @@ var IfClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(If
12366
12524
  function IfClause(ctx, state2) {
12367
12525
  return (0, import_lib3.$EVENT)(ctx, state2, "IfClause", IfClause$0);
12368
12526
  }
12369
- var IterationStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R29, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
12527
+ var IterationStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R30, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
12370
12528
  return value[1];
12371
12529
  });
12372
12530
  function IterationStatement(ctx, state2) {
@@ -12763,7 +12921,7 @@ var ForDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(LetOrConst, ForB
12763
12921
  names: binding.names
12764
12922
  };
12765
12923
  });
12766
- var ForDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertConst, ForBinding, (0, import_lib3.$EXPECT)($R30, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
12924
+ var ForDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertConst, ForBinding, (0, import_lib3.$EXPECT)($R31, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
12767
12925
  var c = $1;
12768
12926
  var binding = $2;
12769
12927
  return {
@@ -13693,7 +13851,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
13693
13851
  function UnprocessedModuleSpecifier(ctx, state2) {
13694
13852
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
13695
13853
  }
13696
- var UnquotedSpecifier$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($R31, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
13854
+ var UnquotedSpecifier$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
13697
13855
  var spec = $0;
13698
13856
  return { $loc, token: `"${spec}"` };
13699
13857
  });
@@ -13890,9 +14048,10 @@ var LexicalBinding$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(BindingPattern,
13890
14048
  var suffix = $2;
13891
14049
  var initializer = $3;
13892
14050
  const [splices, thisAssignments] = gatherBindingCode(pattern);
14051
+ suffix ??= pattern.typeSuffix;
13893
14052
  return {
13894
14053
  type: "Binding",
13895
- children: $0,
14054
+ children: [pattern, suffix, initializer],
13896
14055
  names: pattern.names,
13897
14056
  pattern,
13898
14057
  suffix,
@@ -13951,7 +14110,7 @@ var VariableDeclarationList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Lexical
13951
14110
  function VariableDeclarationList(ctx, state2) {
13952
14111
  return (0, import_lib3.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
13953
14112
  }
13954
- var NumericLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R32, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
14113
+ var NumericLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R33, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
13955
14114
  var token = $2;
13956
14115
  return { type: "NumericLiteral", $loc, token };
13957
14116
  });
@@ -13967,36 +14126,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
13967
14126
  function NumericLiteralKind(ctx, state2) {
13968
14127
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
13969
14128
  }
13970
- var DecimalBigIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R33, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
14129
+ var DecimalBigIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
13971
14130
  function DecimalBigIntegerLiteral(ctx, state2) {
13972
14131
  return (0, import_lib3.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
13973
14132
  }
13974
- var DecimalLiteral$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R34, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
14133
+ var DecimalLiteral$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R35, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
13975
14134
  return $1 + ".";
13976
14135
  });
13977
- var DecimalLiteral$1 = (0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R35, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib3.$E)(ExponentPart)));
13978
- var DecimalLiteral$2 = (0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R36, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib3.$E)(ExponentPart)));
14136
+ var DecimalLiteral$1 = (0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R36, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib3.$E)(ExponentPart)));
14137
+ var DecimalLiteral$2 = (0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R37, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib3.$E)(ExponentPart)));
13979
14138
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
13980
14139
  function DecimalLiteral(ctx, state2) {
13981
14140
  return (0, import_lib3.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
13982
14141
  }
13983
- var ExponentPart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R37, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
14142
+ var ExponentPart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
13984
14143
  function ExponentPart(ctx, state2) {
13985
14144
  return (0, import_lib3.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
13986
14145
  }
13987
- var BinaryIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R38, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
14146
+ var BinaryIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
13988
14147
  function BinaryIntegerLiteral(ctx, state2) {
13989
14148
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
13990
14149
  }
13991
- var OctalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R39, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
14150
+ var OctalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
13992
14151
  function OctalIntegerLiteral(ctx, state2) {
13993
14152
  return (0, import_lib3.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
13994
14153
  }
13995
- var HexIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R40, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
14154
+ var HexIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R41, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
13996
14155
  function HexIntegerLiteral(ctx, state2) {
13997
14156
  return (0, import_lib3.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
13998
14157
  }
13999
- var IntegerLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R41, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
14158
+ var IntegerLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R42, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
14000
14159
  var token = $2;
14001
14160
  return { $loc, token };
14002
14161
  });
@@ -14012,7 +14171,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
14012
14171
  function IntegerLiteralKind(ctx, state2) {
14013
14172
  return (0, import_lib3.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
14014
14173
  }
14015
- var DecimalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R42, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14174
+ var DecimalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14016
14175
  function DecimalIntegerLiteral(ctx, state2) {
14017
14176
  return (0, import_lib3.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
14018
14177
  }
@@ -14036,25 +14195,25 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
14036
14195
  function StringLiteral(ctx, state2) {
14037
14196
  return (0, import_lib3.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
14038
14197
  }
14039
- var DoubleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R43, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14198
+ var DoubleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R44, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14040
14199
  return { $loc, token: $0 };
14041
14200
  });
14042
14201
  function DoubleStringCharacters(ctx, state2) {
14043
14202
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
14044
14203
  }
14045
- var SingleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R44, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14204
+ var SingleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R45, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14046
14205
  return { $loc, token: $0 };
14047
14206
  });
14048
14207
  function SingleStringCharacters(ctx, state2) {
14049
14208
  return (0, import_lib3.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
14050
14209
  }
14051
- var TripleDoubleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R45, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14210
+ var TripleDoubleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R46, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14052
14211
  return { $loc, token: $0 };
14053
14212
  });
14054
14213
  function TripleDoubleStringCharacters(ctx, state2) {
14055
14214
  return (0, import_lib3.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
14056
14215
  }
14057
- var TripleSingleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R46, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14216
+ var TripleSingleStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R47, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14058
14217
  return { $loc, token: $0 };
14059
14218
  });
14060
14219
  function TripleSingleStringCharacters(ctx, state2) {
@@ -14077,7 +14236,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib3.$TS)((0, import_lib
14077
14236
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
14078
14237
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
14079
14238
  }
14080
- var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R47, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14239
+ var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R48, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14081
14240
  return { $loc, token: $0 };
14082
14241
  });
14083
14242
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -14097,7 +14256,7 @@ var RegularExpressionClass$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, i
14097
14256
  function RegularExpressionClass(ctx, state2) {
14098
14257
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
14099
14258
  }
14100
- var RegularExpressionClassCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R48, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14259
+ var RegularExpressionClassCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R49, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14101
14260
  return { $loc, token: $0 };
14102
14261
  });
14103
14262
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -14154,7 +14313,7 @@ var HeregexPart$1 = (0, import_lib3.$T)((0, import_lib3.$S)(CoffeeStringSubstitu
14154
14313
  var HeregexPart$2 = (0, import_lib3.$T)((0, import_lib3.$S)(TemplateSubstitution), function(value) {
14155
14314
  return { "type": "Substitution", "children": value[0] };
14156
14315
  });
14157
- var HeregexPart$3 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R49, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14316
+ var HeregexPart$3 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R50, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14158
14317
  let token = $0;
14159
14318
  switch ($0[1]) {
14160
14319
  case "\n":
@@ -14172,13 +14331,13 @@ var HeregexPart$3 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R49, "Heregex
14172
14331
  var HeregexPart$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(HeregexComment), function($skip, $loc, $0, $1) {
14173
14332
  return { $loc, token: "" };
14174
14333
  });
14175
- var HeregexPart$5 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R50, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14334
+ var HeregexPart$5 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R51, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14176
14335
  return { $loc, token: "" };
14177
14336
  });
14178
- var HeregexPart$6 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R51, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14337
+ var HeregexPart$6 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R52, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14179
14338
  return { $loc, token: "\\/" };
14180
14339
  });
14181
- var HeregexPart$7 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R52, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14340
+ var HeregexPart$7 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R53, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14182
14341
  return { $loc, token: $0 };
14183
14342
  });
14184
14343
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -14191,7 +14350,7 @@ var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
14191
14350
  function HeregexComment(ctx, state2) {
14192
14351
  return (0, import_lib3.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
14193
14352
  }
14194
- var RegularExpressionBody$0 = (0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R53, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib3.$Q)(RegExpPart));
14353
+ var RegularExpressionBody$0 = (0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R54, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib3.$Q)(RegExpPart));
14195
14354
  function RegularExpressionBody(ctx, state2) {
14196
14355
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
14197
14356
  }
@@ -14201,15 +14360,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
14201
14360
  function RegExpPart(ctx, state2) {
14202
14361
  return (0, import_lib3.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
14203
14362
  }
14204
- var RegExpCharacter$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R54, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
14363
+ var RegExpCharacter$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
14205
14364
  function RegExpCharacter(ctx, state2) {
14206
14365
  return (0, import_lib3.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
14207
14366
  }
14208
- var RegularExpressionFlags$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R55, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
14367
+ var RegularExpressionFlags$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
14209
14368
  function RegularExpressionFlags(ctx, state2) {
14210
14369
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
14211
14370
  }
14212
- var TemplateLiteral$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R56, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
14371
+ var TemplateLiteral$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
14213
14372
  return value[1];
14214
14373
  });
14215
14374
  function TemplateLiteral(ctx, state2) {
@@ -14249,28 +14408,28 @@ var TemplateSubstitution$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Substituti
14249
14408
  function TemplateSubstitution(ctx, state2) {
14250
14409
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
14251
14410
  }
14252
- var TemplateCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R57, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14411
+ var TemplateCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R58, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14253
14412
  return { $loc, token: $0 };
14254
14413
  });
14255
14414
  function TemplateCharacters(ctx, state2) {
14256
14415
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
14257
14416
  }
14258
- var TemplateBlockCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R58, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14417
+ var TemplateBlockCharacters$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R59, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14259
14418
  return { $loc, token: $0 };
14260
14419
  });
14261
14420
  function TemplateBlockCharacters(ctx, state2) {
14262
14421
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
14263
14422
  }
14264
- var ReservedWord$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R59, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
14265
- var ReservedWord$1 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R60, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
14266
- var ReservedWord$2 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R61, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
14267
- var ReservedWord$3 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R62, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
14268
- var ReservedWord$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R63, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
14423
+ var ReservedWord$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R60, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
14424
+ var ReservedWord$1 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
14425
+ var ReservedWord$2 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
14426
+ var ReservedWord$3 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
14427
+ var ReservedWord$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R64, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
14269
14428
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
14270
14429
  function ReservedWord(ctx, state2) {
14271
14430
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
14272
14431
  }
14273
- var Comment$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R64, "Comment /(?=\\/|#)/"), _Comment), function(value) {
14432
+ var Comment$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
14274
14433
  return value[1];
14275
14434
  });
14276
14435
  function Comment(ctx, state2) {
@@ -14288,7 +14447,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
14288
14447
  function SingleLineComment(ctx, state2) {
14289
14448
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
14290
14449
  }
14291
- var JSSingleLineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R65, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14450
+ var JSSingleLineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R66, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14292
14451
  return { type: "Comment", $loc, token: $0 };
14293
14452
  });
14294
14453
  function JSSingleLineComment(ctx, state2) {
@@ -14300,30 +14459,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
14300
14459
  function MultiLineComment(ctx, state2) {
14301
14460
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
14302
14461
  }
14303
- var JSMultiLineComment$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib3.$EXPECT)($R66, "JSMultiLineComment /./"))), (0, import_lib3.$EXPECT)($L131, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
14462
+ var JSMultiLineComment$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib3.$EXPECT)($R67, "JSMultiLineComment /./"))), (0, import_lib3.$EXPECT)($L131, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
14304
14463
  return { type: "Comment", $loc, token: $1 };
14305
14464
  });
14306
14465
  function JSMultiLineComment(ctx, state2) {
14307
14466
  return (0, import_lib3.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
14308
14467
  }
14309
- var CoffeeSingleLineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R67, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14468
+ var CoffeeSingleLineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R68, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14310
14469
  return { type: "Comment", $loc, token: `//${$1}` };
14311
14470
  });
14312
14471
  function CoffeeSingleLineComment(ctx, state2) {
14313
14472
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
14314
14473
  }
14315
- var CoffeeMultiLineComment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeHereCommentStart, (0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R68, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
14474
+ var CoffeeMultiLineComment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeHereCommentStart, (0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R69, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
14316
14475
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
14317
14476
  return { type: "Comment", $loc, token: `/*${$2}*/` };
14318
14477
  });
14319
14478
  function CoffeeMultiLineComment(ctx, state2) {
14320
14479
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
14321
14480
  }
14322
- var CoffeeHereCommentStart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R69, "CoffeeHereCommentStart /###(?!#)/"));
14481
+ var CoffeeHereCommentStart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
14323
14482
  function CoffeeHereCommentStart(ctx, state2) {
14324
14483
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
14325
14484
  }
14326
- var InlineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R70, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14485
+ var InlineComment$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R71, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14327
14486
  return { $loc, token: $0 };
14328
14487
  });
14329
14488
  function InlineComment(ctx, state2) {
@@ -14337,7 +14496,7 @@ var TrailingComment$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_l
14337
14496
  function TrailingComment(ctx, state2) {
14338
14497
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
14339
14498
  }
14340
- var _$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R71, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib3.$P)((0, import_lib3.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
14499
+ var _$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R72, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib3.$P)((0, import_lib3.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
14341
14500
  return value[1];
14342
14501
  });
14343
14502
  function _(ctx, state2) {
@@ -14360,7 +14519,7 @@ var Trimmed_$0 = (0, import_lib3.$TV)(_, function($skip, $loc, $0, $1) {
14360
14519
  function Trimmed_(ctx, state2) {
14361
14520
  return (0, import_lib3.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
14362
14521
  }
14363
- var __$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R72, "__ /(?=\\s|\\/|#)/"), (0, import_lib3.$Q)((0, import_lib3.$C)(Whitespace, Comment))), function(value) {
14522
+ var __$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R73, "__ /(?=\\s|\\/|#)/"), (0, import_lib3.$Q)((0, import_lib3.$C)(Whitespace, Comment))), function(value) {
14364
14523
  return value[1];
14365
14524
  });
14366
14525
  var __$1 = (0, import_lib3.$EXPECT)($L0, '__ ""');
@@ -14368,7 +14527,7 @@ var __$$ = [__$0, __$1];
14368
14527
  function __(ctx, state2) {
14369
14528
  return (0, import_lib3.$EVENT_C)(ctx, state2, "__", __$$);
14370
14529
  }
14371
- var Whitespace$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R50, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14530
+ var Whitespace$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R51, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14372
14531
  return { $loc, token: $0 };
14373
14532
  });
14374
14533
  function Whitespace(ctx, state2) {
@@ -14406,7 +14565,7 @@ var SemicolonDelimiter$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
14406
14565
  function SemicolonDelimiter(ctx, state2) {
14407
14566
  return (0, import_lib3.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
14408
14567
  }
14409
- var NonIdContinue$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R73, "NonIdContinue /(?!\\p{ID_Continue})/"));
14568
+ var NonIdContinue$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
14410
14569
  function NonIdContinue(ctx, state2) {
14411
14570
  return (0, import_lib3.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
14412
14571
  }
@@ -14524,7 +14683,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L
14524
14683
  function CoffeeSubstitutionStart(ctx, state2) {
14525
14684
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
14526
14685
  }
14527
- var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L16, 'Colon ":"'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R74, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
14686
+ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L16, 'Colon ":"'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R75, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
14528
14687
  return { $loc, token: $1 };
14529
14688
  });
14530
14689
  function Colon(ctx, state2) {
@@ -14575,7 +14734,7 @@ function Do(ctx, state2) {
14575
14734
  var Dot$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
14576
14735
  return { $loc, token: $1 };
14577
14736
  });
14578
- var Dot$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R75, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
14737
+ var Dot$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R76, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
14579
14738
  var ws = $2;
14580
14739
  return [
14581
14740
  { $loc, token: "." },
@@ -14612,6 +14771,12 @@ var DoubleColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'Double
14612
14771
  function DoubleColon(ctx, state2) {
14613
14772
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColon", DoubleColon$0);
14614
14773
  }
14774
+ var DoubleColonAsColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
14775
+ return { $loc, token: ":" };
14776
+ });
14777
+ function DoubleColonAsColon(ctx, state2) {
14778
+ return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColonAsColon", DoubleColonAsColon$0);
14779
+ }
14615
14780
  var DoubleQuote$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L156, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
14616
14781
  return { $loc, token: $1 };
14617
14782
  });
@@ -14696,7 +14861,7 @@ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, i
14696
14861
  function If(ctx, state2) {
14697
14862
  return (0, import_lib3.$EVENT)(ctx, state2, "If", If$0);
14698
14863
  }
14699
- var Import$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'Import "import"'), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R76, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14864
+ var Import$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'Import "import"'), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R77, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14700
14865
  return { $loc, token: $1 };
14701
14866
  });
14702
14867
  function Import(ctx, state2) {
@@ -15054,7 +15219,7 @@ var JSXImplicitFragment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXTag, (0,
15054
15219
  function JSXImplicitFragment(ctx, state2) {
15055
15220
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
15056
15221
  }
15057
- var JSXTag$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R77, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15222
+ var JSXTag$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15058
15223
  return value[1];
15059
15224
  });
15060
15225
  function JSXTag(ctx, state2) {
@@ -15201,7 +15366,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
15201
15366
  function JSXElementName(ctx, state2) {
15202
15367
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
15203
15368
  }
15204
- var JSXIdentifierName$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R78, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
15369
+ var JSXIdentifierName$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
15205
15370
  function JSXIdentifierName(ctx, state2) {
15206
15371
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
15207
15372
  }
@@ -15380,7 +15545,7 @@ var JSXAttribute$6 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, JSXShorthandS
15380
15545
  class: $2
15381
15546
  };
15382
15547
  });
15383
- var JSXAttribute$7 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R79, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib3.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
15548
+ var JSXAttribute$7 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$TEXT)((0, import_lib3.$EXPECT)($R80, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib3.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
15384
15549
  var toggle = $1;
15385
15550
  var id = $2;
15386
15551
  const value = toggle === "+" ? "true" : "false";
@@ -15390,11 +15555,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
15390
15555
  function JSXAttribute(ctx, state2) {
15391
15556
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
15392
15557
  }
15393
- var JSXAttributeSpace$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R80, "JSXAttributeSpace /[\\s>]|\\/>/"));
15558
+ var JSXAttributeSpace$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
15394
15559
  function JSXAttributeSpace(ctx, state2) {
15395
15560
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
15396
15561
  }
15397
- var JSXShorthandString$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R81, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15562
+ var JSXShorthandString$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R82, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15398
15563
  return quoteString($0);
15399
15564
  });
15400
15565
  var JSXShorthandString$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -15412,9 +15577,22 @@ var JSXAttributeName$$ = [JSXAttributeName$0, JSXAttributeName$1];
15412
15577
  function JSXAttributeName(ctx, state2) {
15413
15578
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeName", JSXAttributeName$$);
15414
15579
  }
15415
- var JSXAttributeInitializer$0 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15580
+ var JSXAttributeInitializer$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeJSXEnabled), (0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$Q)(NonNewlineWhitespace), EOL)), InsertInlineOpenBrace, PushIndent, (0, import_lib3.$E)(PostfixedExpression), PopIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15581
+ var ws1 = $2;
15582
+ var equals = $3;
15583
+ var ws2 = $4;
15584
+ var open = $5;
15585
+ var indent = $6;
15586
+ var expression = $7;
15587
+ var close = $9;
15588
+ if (!expression)
15589
+ return $skip;
15590
+ return [ws1, equals, ws2, open, indent, expression, close];
15591
+ });
15592
+ var JSXAttributeInitializer$1 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15593
+ var JSXAttributeInitializer$$ = [JSXAttributeInitializer$0, JSXAttributeInitializer$1];
15416
15594
  function JSXAttributeInitializer(ctx, state2) {
15417
- return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$0);
15595
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$$);
15418
15596
  }
15419
15597
  var JSXAttributeValue$0 = (0, import_lib3.$S)(OpenBrace, PostfixedExpression, (0, import_lib3.$E)(Whitespace), CloseBrace);
15420
15598
  var JSXAttributeValue$1 = JSXElement;
@@ -15428,7 +15606,7 @@ var JSXAttributeValue$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineO
15428
15606
  }
15429
15607
  return [open, value, close];
15430
15608
  });
15431
- var JSXAttributeValue$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R82, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
15609
+ var JSXAttributeValue$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
15432
15610
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
15433
15611
  function JSXAttributeValue(ctx, state2) {
15434
15612
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -15441,7 +15619,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InlineJ
15441
15619
  function InlineJSXAttributeValue(ctx, state2) {
15442
15620
  return (0, import_lib3.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
15443
15621
  }
15444
- var InlineJSXBinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($R83, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
15622
+ var InlineJSXBinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($R84, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
15445
15623
  var op = $2;
15446
15624
  var rhs = $3;
15447
15625
  return [[], op, [], rhs];
@@ -15458,7 +15636,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, im
15458
15636
  function InlineJSXUnaryExpression(ctx, state2) {
15459
15637
  return (0, import_lib3.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
15460
15638
  }
15461
- var InlineJSXUnaryOp$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R84, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15639
+ var InlineJSXUnaryOp$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R85, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15462
15640
  return { $loc, token: $0 };
15463
15641
  });
15464
15642
  function InlineJSXUnaryOp(ctx, state2) {
@@ -15663,8 +15841,9 @@ var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace,
15663
15841
  expression
15664
15842
  };
15665
15843
  });
15666
- var JSXChild$6 = JSXText;
15667
- var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6];
15844
+ var JSXChild$6 = JSXAngleChild;
15845
+ var JSXChild$7 = JSXText;
15846
+ var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6, JSXChild$7];
15668
15847
  function JSXChild(ctx, state2) {
15669
15848
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15670
15849
  }
@@ -15674,13 +15853,13 @@ var JSXComment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXP
15674
15853
  function JSXComment(ctx, state2) {
15675
15854
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
15676
15855
  }
15677
- var JSXCommentContent$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R85, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15856
+ var JSXCommentContent$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R86, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15678
15857
  return { $loc, token: $0.replace(/\*\//g, "* /") };
15679
15858
  });
15680
15859
  function JSXCommentContent(ctx, state2) {
15681
15860
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
15682
15861
  }
15683
- var JSXText$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R86, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15862
+ var JSXText$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R87, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15684
15863
  return {
15685
15864
  type: "JSXText",
15686
15865
  token: $0,
@@ -15706,6 +15885,42 @@ var NestedJSXChildExpression$0 = (0, import_lib3.$S)(JSXNested, JSXChildExpressi
15706
15885
  function NestedJSXChildExpression(ctx, state2) {
15707
15886
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedJSXChildExpression", NestedJSXChildExpression$0);
15708
15887
  }
15888
+ var JSXAngleChild$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CloseAngleBracket, InsertInlineOpenBrace, JSXAngleChildExpression, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15889
+ var open = $2;
15890
+ var expression = $3;
15891
+ var close = $4;
15892
+ if (!expression)
15893
+ return $skip;
15894
+ return [open, expression, close];
15895
+ });
15896
+ function JSXAngleChild(ctx, state2) {
15897
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXAngleChild", JSXAngleChild$0);
15898
+ }
15899
+ var JSXAngleChildExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(JSXEOS), ForbidNewlineBinaryOp, (0, import_lib3.$E)(JSXChildExpression), RestoreNewlineBinaryOp), function($skip, $loc, $0, $1, $2, $3, $4) {
15900
+ var expression = $3;
15901
+ if (!expression)
15902
+ return $skip;
15903
+ return expression;
15904
+ });
15905
+ var JSXAngleChildExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(JSXEOS), ImplicitNestedBlock), function($skip, $loc, $0, $1, $2) {
15906
+ var block = $2;
15907
+ if (!block)
15908
+ return $skip;
15909
+ const statement = {
15910
+ type: "DoStatement",
15911
+ children: [block],
15912
+ block
15913
+ };
15914
+ return {
15915
+ type: "StatementExpression",
15916
+ statement,
15917
+ children: [statement]
15918
+ };
15919
+ });
15920
+ var JSXAngleChildExpression$$ = [JSXAngleChildExpression$0, JSXAngleChildExpression$1];
15921
+ function JSXAngleChildExpression(ctx, state2) {
15922
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAngleChildExpression", JSXAngleChildExpression$$);
15923
+ }
15709
15924
  var UsingDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Using, (0, import_lib3.$E)(_), UsingBinding, (0, import_lib3.$Q)((0, import_lib3.$S)(__, Comma, __, UsingBinding)), UsingJSModeError), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15710
15925
  var decl = $1;
15711
15926
  var binding = $3;
@@ -16112,7 +16327,7 @@ var TypeProperty$0 = (0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)
16112
16327
  function TypeProperty(ctx, state2) {
16113
16328
  return (0, import_lib3.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
16114
16329
  }
16115
- var TypeIndexSignature$0 = (0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R87, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib3.$E)((0, import_lib3.$S)(__, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R13, "TypeIndexSignature /[+-]/")), (0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), QuestionMark)))));
16330
+ var TypeIndexSignature$0 = (0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R88, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib3.$E)((0, import_lib3.$S)(__, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R13, "TypeIndexSignature /[+-]/")), (0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), QuestionMark)))));
16116
16331
  function TypeIndexSignature(ctx, state2) {
16117
16332
  return (0, import_lib3.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
16118
16333
  }
@@ -16406,7 +16621,7 @@ var NestedType$0 = (0, import_lib3.$S)(Nested, TypeElement, ArrayElementDelimite
16406
16621
  function NestedType(ctx, state2) {
16407
16622
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedType", NestedType$0);
16408
16623
  }
16409
- var TypeConditional$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($R88, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
16624
+ var TypeConditional$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($R89, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
16410
16625
  return [$1, expressionizeTypeIf($3)];
16411
16626
  });
16412
16627
  var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
@@ -16610,15 +16825,15 @@ var ThisType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_),
16610
16825
  function ThisType(ctx, state2) {
16611
16826
  return (0, import_lib3.$EVENT)(ctx, state2, "ThisType", ThisType$0);
16612
16827
  }
16613
- var Shebang$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R89, "Shebang /#![^\\r\\n]*/")), EOL);
16828
+ var Shebang$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R90, "Shebang /#![^\\r\\n]*/")), EOL);
16614
16829
  function Shebang(ctx, state2) {
16615
16830
  return (0, import_lib3.$EVENT)(ctx, state2, "Shebang", Shebang$0);
16616
16831
  }
16617
- var CivetPrologue$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R90, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib3.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib3.$C)(EOL, (0, import_lib3.$Y)(RestOfLine))), function(value) {
16832
+ var CivetPrologue$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R91, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib3.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib3.$C)(EOL, (0, import_lib3.$Y)(RestOfLine))), function(value) {
16618
16833
  var content = value[2];
16619
16834
  return content;
16620
16835
  });
16621
- var CivetPrologue$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R90, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib3.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib3.$C)(EOL, (0, import_lib3.$Y)(RestOfLine))), function(value) {
16836
+ var CivetPrologue$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R91, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib3.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib3.$C)(EOL, (0, import_lib3.$Y)(RestOfLine))), function(value) {
16622
16837
  var content = value[2];
16623
16838
  return content;
16624
16839
  });
@@ -16626,7 +16841,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
16626
16841
  function CivetPrologue(ctx, state2) {
16627
16842
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
16628
16843
  }
16629
- var CivetPrologueContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib3.$Q)(CivetOption), (0, import_lib3.$EXPECT)($R91, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
16844
+ var CivetPrologueContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib3.$Q)(CivetOption), (0, import_lib3.$EXPECT)($R92, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
16630
16845
  var options = $3;
16631
16846
  return {
16632
16847
  type: "CivetPrologue",
@@ -16637,7 +16852,7 @@ var CivetPrologueContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
16637
16852
  function CivetPrologueContent(ctx, state2) {
16638
16853
  return (0, import_lib3.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
16639
16854
  }
16640
- var CivetOption$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R92, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16855
+ var CivetOption$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R93, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16641
16856
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
16642
16857
  if (l)
16643
16858
  return l.toUpperCase();
@@ -16654,11 +16869,11 @@ var CivetOption$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R92, "CivetOp
16654
16869
  function CivetOption(ctx, state2) {
16655
16870
  return (0, import_lib3.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
16656
16871
  }
16657
- var UnknownPrologue$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R90, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib3.$TEXT)(SimpleStatementDelimiter), EOS);
16872
+ var UnknownPrologue$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R91, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib3.$TEXT)(SimpleStatementDelimiter), EOS);
16658
16873
  function UnknownPrologue(ctx, state2) {
16659
16874
  return (0, import_lib3.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
16660
16875
  }
16661
- var TripleSlashDirective$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R93, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib3.$E)(EOS));
16876
+ var TripleSlashDirective$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R94, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib3.$E)(EOS));
16662
16877
  function TripleSlashDirective(ctx, state2) {
16663
16878
  return (0, import_lib3.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
16664
16879
  }
@@ -16674,13 +16889,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
16674
16889
  function PrologueString(ctx, state2) {
16675
16890
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
16676
16891
  }
16677
- var EOS$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R94, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib3.$P)(RestOfLine)), function(value) {
16892
+ var EOS$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R95, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib3.$P)(RestOfLine)), function(value) {
16678
16893
  return value[1];
16679
16894
  });
16680
16895
  function EOS(ctx, state2) {
16681
16896
  return (0, import_lib3.$EVENT)(ctx, state2, "EOS", EOS$0);
16682
16897
  }
16683
- var EOL$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R95, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16898
+ var EOL$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R96, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16684
16899
  return { $loc, token: $0 };
16685
16900
  });
16686
16901
  function EOL(ctx, state2) {
@@ -17051,7 +17266,7 @@ var Prologue$0 = (0, import_lib3.$Q)((0, import_lib3.$C)(TripleSlashDirective, (
17051
17266
  function Prologue(ctx, state2) {
17052
17267
  return (0, import_lib3.$EVENT)(ctx, state2, "Prologue", Prologue$0);
17053
17268
  }
17054
- var ProloguePrefix$0 = (0, import_lib3.$S)(Prologue, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R96, "ProloguePrefix /[^]*/")));
17269
+ var ProloguePrefix$0 = (0, import_lib3.$S)(Prologue, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R97, "ProloguePrefix /[^]*/")));
17055
17270
  function ProloguePrefix(ctx, state2) {
17056
17271
  return (0, import_lib3.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
17057
17272
  }