@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.js CHANGED
@@ -62,7 +62,7 @@ var require_machine = __commonJS({
62
62
  $N: () => $N2,
63
63
  $P: () => $P2,
64
64
  $Q: () => $Q2,
65
- $R: () => $R97,
65
+ $R: () => $R98,
66
66
  $R$0: () => $R$02,
67
67
  $S: () => $S2,
68
68
  $T: () => $T2,
@@ -99,7 +99,7 @@ var require_machine = __commonJS({
99
99
  return;
100
100
  };
101
101
  }
102
- function $R97(regExp) {
102
+ function $R98(regExp) {
103
103
  return function(_ctx, state2) {
104
104
  const { input, pos } = state2;
105
105
  regExp.lastIndex = state2.pos;
@@ -524,6 +524,7 @@ __export(lib_exports, {
524
524
  expressionizeTypeIf: () => expressionizeTypeIf,
525
525
  forRange: () => forRange,
526
526
  gatherBindingCode: () => gatherBindingCode,
527
+ gatherBindingPatternTypeSuffix: () => gatherBindingPatternTypeSuffix,
527
528
  gatherRecursive: () => gatherRecursive,
528
529
  gatherRecursiveAll: () => gatherRecursiveAll,
529
530
  gatherRecursiveWithinFunction: () => gatherRecursiveWithinFunction,
@@ -1327,7 +1328,7 @@ function maybeRefAssignment(exp, base = "ref") {
1327
1328
 
1328
1329
  // source/parser/binding.civet
1329
1330
  function adjustAtBindings(statements, asThis = false) {
1330
- gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
1331
+ gatherRecursiveAll(statements, ($) => $.type === "AtBindingProperty").forEach((binding) => {
1331
1332
  const { ref } = binding;
1332
1333
  if (asThis) {
1333
1334
  const atBinding = binding.binding;
@@ -1346,17 +1347,19 @@ function adjustAtBindings(statements, asThis = false) {
1346
1347
  });
1347
1348
  }
1348
1349
  function adjustBindingElements(elements) {
1349
- const names = elements.flatMap((p) => p.names || []), { length } = elements;
1350
+ const names = elements.flatMap(($1) => $1.names || []);
1351
+ const { length } = elements;
1350
1352
  let blockPrefix, restIndex = -1, restCount = 0;
1351
- elements.forEach(({ type }, i) => {
1353
+ for (let i1 = 0, len3 = elements.length; i1 < len3; i1++) {
1354
+ const i = i1;
1355
+ const { type } = elements[i1];
1352
1356
  if (type === "BindingRestElement") {
1353
- if (restIndex < 0)
1357
+ if (restIndex < 0) {
1354
1358
  restIndex = i;
1355
- return restCount++;
1359
+ }
1360
+ restCount++;
1356
1361
  }
1357
- ;
1358
- return;
1359
- });
1362
+ }
1360
1363
  if (restCount === 0) {
1361
1364
  return {
1362
1365
  children: elements,
@@ -1375,7 +1378,7 @@ function adjustBindingElements(elements) {
1375
1378
  l++;
1376
1379
  blockPrefix = {
1377
1380
  type: "PostRestBindingElements",
1378
- children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1381
+ children: ["[", trimFirstSpace(after), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1379
1382
  names: after.flatMap((p) => p.names)
1380
1383
  };
1381
1384
  }
@@ -1435,6 +1438,100 @@ function arrayElementHasTrailingComma(elementNode) {
1435
1438
  const lastChild = (ref1 = elementNode.children)[ref1.length - 1];
1436
1439
  return lastChild && lastChild[lastChild.length - 1]?.token === ",";
1437
1440
  }
1441
+ function gatherBindingPatternTypeSuffix(pattern) {
1442
+ if (pattern.typeSuffix != null) {
1443
+ return pattern;
1444
+ }
1445
+ let count = 0;
1446
+ switch (pattern.type) {
1447
+ case "ArrayBindingPattern": {
1448
+ const results = [];
1449
+ for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
1450
+ const elem = ref2[i2];
1451
+ let { typeSuffix } = elem;
1452
+ typeSuffix ??= elem.binding?.typeSuffix;
1453
+ if (typeSuffix) {
1454
+ count++;
1455
+ }
1456
+ let typeElement = [typeSuffix?.t, elem.delim];
1457
+ if (typeSuffix?.optional) {
1458
+ typeElement[0] = parenthesizeType(typeElement[0]);
1459
+ typeElement.unshift("undefined |");
1460
+ }
1461
+ if (elem.type === "BindingRestElement") {
1462
+ typeElement[0] ??= "unknown[]";
1463
+ typeElement.unshift(elem.dots);
1464
+ } else {
1465
+ typeElement[0] ??= "unknown";
1466
+ }
1467
+ results.push(typeElement);
1468
+ }
1469
+ ;
1470
+ const types = results;
1471
+ if (count) {
1472
+ const t = [": [", types, "]"];
1473
+ pattern.typeSuffix = {
1474
+ type: "TypeSuffix",
1475
+ ts: true,
1476
+ t,
1477
+ children: [t]
1478
+ };
1479
+ }
1480
+ ;
1481
+ break;
1482
+ }
1483
+ case "ObjectBindingPattern": {
1484
+ let restType;
1485
+ const results1 = [];
1486
+ for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
1487
+ const prop = ref3[i3];
1488
+ let { typeSuffix } = prop;
1489
+ typeSuffix ??= prop.value?.typeSuffix;
1490
+ if (typeSuffix) {
1491
+ count++;
1492
+ }
1493
+ typeSuffix ??= {
1494
+ type: "TypeSuffix",
1495
+ ts: true,
1496
+ children: [": unknown"]
1497
+ };
1498
+ switch (prop.type) {
1499
+ case "BindingProperty": {
1500
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
1501
+ results1.push([...ws, prop.name, typeSuffix, prop.delim]);
1502
+ break;
1503
+ }
1504
+ case "AtBindingProperty": {
1505
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
1506
+ results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
1507
+ break;
1508
+ }
1509
+ case "BindingRestProperty": {
1510
+ restType = prop.typeSuffix?.t;
1511
+ continue;
1512
+ }
1513
+ }
1514
+ }
1515
+ ;
1516
+ const types = results1;
1517
+ if (count) {
1518
+ const t = ["{", types, "}"];
1519
+ if (restType != null) {
1520
+ t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
1521
+ }
1522
+ pattern.typeSuffix = {
1523
+ type: "TypeSuffix",
1524
+ ts: true,
1525
+ t,
1526
+ children: [": ", t]
1527
+ };
1528
+ }
1529
+ ;
1530
+ break;
1531
+ }
1532
+ }
1533
+ return pattern;
1534
+ }
1438
1535
 
1439
1536
  // source/parser/function.civet
1440
1537
  function isVoidType(t) {
@@ -3264,6 +3361,9 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
3264
3361
  let [splices, assignments] = gatherBindingCode(pattern);
3265
3362
  splices = splices.map((s) => [", ", s]);
3266
3363
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
3364
+ if ("typeSuffix" in pattern) {
3365
+ suffix ??= pattern.typeSuffix;
3366
+ }
3267
3367
  const initializer = makeNode({
3268
3368
  type: "Initializer",
3269
3369
  expression: e,
@@ -6534,6 +6634,7 @@ var grammar = {
6534
6634
  NestedBindingPropertyList,
6535
6635
  BindingProperty,
6536
6636
  BindingRestProperty,
6637
+ BindingTypeSuffix,
6537
6638
  NestedBindingElements,
6538
6639
  BindingElement,
6539
6640
  BindingRestElement,
@@ -6871,6 +6972,7 @@ var grammar = {
6871
6972
  DotDot,
6872
6973
  DotDotDot,
6873
6974
  DoubleColon,
6975
+ DoubleColonAsColon,
6874
6976
  DoubleQuote,
6875
6977
  Each,
6876
6978
  Else,
@@ -6985,6 +7087,8 @@ var grammar = {
6985
7087
  JSXChildExpression,
6986
7088
  IndentedJSXChildExpression,
6987
7089
  NestedJSXChildExpression,
7090
+ JSXAngleChild,
7091
+ JSXAngleChildExpression,
6988
7092
  UsingDeclaration,
6989
7093
  UsingBinding,
6990
7094
  UsingJSModeError,
@@ -7377,7 +7481,7 @@ var $R2 = (0, import_lib3.$R)(new RegExp("(as|of|satisfies|then|when|implements|
7377
7481
  var $R3 = (0, import_lib3.$R)(new RegExp("[0-9]", "suy"));
7378
7482
  var $R4 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
7379
7483
  var $R5 = (0, import_lib3.$R)(new RegExp("[ \\t]", "suy"));
7380
- var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#]", "suy"));
7484
+ var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{]", "suy"));
7381
7485
  var $R7 = (0, import_lib3.$R)(new RegExp("[&=]", "suy"));
7382
7486
  var $R8 = (0, import_lib3.$R)(new RegExp("(?=['\"`])", "suy"));
7383
7487
  var $R9 = (0, import_lib3.$R)(new RegExp("(?=[\\/?])", "suy"));
@@ -7394,80 +7498,81 @@ var $R19 = (0, import_lib3.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
7394
7498
  var $R20 = (0, import_lib3.$R)(new RegExp("[ \\t]*", "suy"));
7395
7499
  var $R21 = (0, import_lib3.$R)(new RegExp("[ \\t]+", "suy"));
7396
7500
  var $R22 = (0, import_lib3.$R)(new RegExp("[!+-]?", "suy"));
7397
- var $R23 = (0, import_lib3.$R)(new RegExp("[=>]", "suy"));
7398
- 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"));
7399
- var $R25 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7400
- var $R26 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7401
- var $R27 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
7402
- var $R28 = (0, import_lib3.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
7403
- var $R29 = (0, import_lib3.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
7404
- var $R30 = (0, import_lib3.$R)(new RegExp("(?=[\\s\\),])", "suy"));
7405
- var $R31 = (0, import_lib3.$R)(new RegExp('[^;"\\s]+', "suy"));
7406
- var $R32 = (0, import_lib3.$R)(new RegExp("(?=[0-9.])", "suy"));
7407
- var $R33 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
7408
- var $R34 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
7409
- var $R35 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
7410
- var $R36 = (0, import_lib3.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
7411
- var $R37 = (0, import_lib3.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
7412
- var $R38 = (0, import_lib3.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
7413
- var $R39 = (0, import_lib3.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
7414
- var $R40 = (0, import_lib3.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
7415
- var $R41 = (0, import_lib3.$R)(new RegExp("(?=[0-9])", "suy"));
7416
- var $R42 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
7417
- var $R43 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
7418
- var $R44 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
7419
- var $R45 = (0, import_lib3.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
7420
- var $R46 = (0, import_lib3.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
7421
- var $R47 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
7422
- var $R48 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
7423
- var $R49 = (0, import_lib3.$R)(new RegExp("(?:\\\\.)", "suy"));
7424
- var $R50 = (0, import_lib3.$R)(new RegExp("[\\s]+", "suy"));
7425
- var $R51 = (0, import_lib3.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
7426
- var $R52 = (0, import_lib3.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
7427
- var $R53 = (0, import_lib3.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
7428
- var $R54 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
7429
- var $R55 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7430
- var $R56 = (0, import_lib3.$R)(new RegExp("(?=[`'\"])", "suy"));
7431
- var $R57 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
7432
- var $R58 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
7433
- var $R59 = (0, import_lib3.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
7434
- var $R60 = (0, import_lib3.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
7435
- var $R61 = (0, import_lib3.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
7436
- var $R62 = (0, import_lib3.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
7437
- 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"));
7438
- var $R64 = (0, import_lib3.$R)(new RegExp("(?=\\/|#)", "suy"));
7439
- var $R65 = (0, import_lib3.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
7440
- var $R66 = (0, import_lib3.$R)(new RegExp(".", "suy"));
7441
- var $R67 = (0, import_lib3.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
7442
- var $R68 = (0, import_lib3.$R)(new RegExp("[^]*?###", "suy"));
7443
- var $R69 = (0, import_lib3.$R)(new RegExp("###(?!#)", "suy"));
7444
- var $R70 = (0, import_lib3.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
7445
- var $R71 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
7446
- var $R72 = (0, import_lib3.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
7447
- var $R73 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
7448
- var $R74 = (0, import_lib3.$R)(new RegExp("[=:]", "suy"));
7449
- var $R75 = (0, import_lib3.$R)(new RegExp("['\u2019]s", "suy"));
7450
- var $R76 = (0, import_lib3.$R)(new RegExp("\\s", "suy"));
7451
- var $R77 = (0, import_lib3.$R)(new RegExp("(?=[<])", "suy"));
7452
- var $R78 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7453
- var $R79 = (0, import_lib3.$R)(new RegExp("[!+-]", "suy"));
7454
- var $R80 = (0, import_lib3.$R)(new RegExp("[\\s>]|\\/>", "suy"));
7455
- var $R81 = (0, import_lib3.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
7456
- var $R82 = (0, import_lib3.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
7457
- var $R83 = (0, import_lib3.$R)(new RegExp("[<>]", "suy"));
7458
- var $R84 = (0, import_lib3.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
7459
- var $R85 = (0, import_lib3.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
7460
- var $R86 = (0, import_lib3.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
7461
- var $R87 = (0, import_lib3.$R)(new RegExp("[+-]?", "suy"));
7462
- var $R88 = (0, import_lib3.$R)(new RegExp("(?=if|unless)", "suy"));
7463
- var $R89 = (0, import_lib3.$R)(new RegExp("#![^\\r\\n]*", "suy"));
7464
- var $R90 = (0, import_lib3.$R)(new RegExp("[\\t ]*", "suy"));
7465
- var $R91 = (0, import_lib3.$R)(new RegExp("[\\s]*", "suy"));
7466
- var $R92 = (0, import_lib3.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
7467
- var $R93 = (0, import_lib3.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
7468
- var $R94 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
7469
- var $R95 = (0, import_lib3.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
7470
- var $R96 = (0, import_lib3.$R)(new RegExp("[^]*", "suy"));
7501
+ var $R23 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7502
+ var $R24 = (0, import_lib3.$R)(new RegExp("[=>]", "suy"));
7503
+ 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"));
7504
+ var $R26 = (0, import_lib3.$R)(new RegExp("!\\^\\^?", "suy"));
7505
+ var $R27 = (0, import_lib3.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
7506
+ var $R28 = (0, import_lib3.$R)(new RegExp("[:.]", "suy"));
7507
+ var $R29 = (0, import_lib3.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
7508
+ var $R30 = (0, import_lib3.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
7509
+ var $R31 = (0, import_lib3.$R)(new RegExp("(?=[\\s\\),])", "suy"));
7510
+ var $R32 = (0, import_lib3.$R)(new RegExp('[^;"\\s]+', "suy"));
7511
+ var $R33 = (0, import_lib3.$R)(new RegExp("(?=[0-9.])", "suy"));
7512
+ var $R34 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
7513
+ var $R35 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
7514
+ var $R36 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
7515
+ var $R37 = (0, import_lib3.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
7516
+ var $R38 = (0, import_lib3.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
7517
+ var $R39 = (0, import_lib3.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
7518
+ var $R40 = (0, import_lib3.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
7519
+ var $R41 = (0, import_lib3.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
7520
+ var $R42 = (0, import_lib3.$R)(new RegExp("(?=[0-9])", "suy"));
7521
+ var $R43 = (0, import_lib3.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
7522
+ var $R44 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
7523
+ var $R45 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
7524
+ var $R46 = (0, import_lib3.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
7525
+ var $R47 = (0, import_lib3.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
7526
+ var $R48 = (0, import_lib3.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
7527
+ var $R49 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
7528
+ var $R50 = (0, import_lib3.$R)(new RegExp("(?:\\\\.)", "suy"));
7529
+ var $R51 = (0, import_lib3.$R)(new RegExp("[\\s]+", "suy"));
7530
+ var $R52 = (0, import_lib3.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
7531
+ var $R53 = (0, import_lib3.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
7532
+ var $R54 = (0, import_lib3.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
7533
+ var $R55 = (0, import_lib3.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
7534
+ var $R56 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7535
+ var $R57 = (0, import_lib3.$R)(new RegExp("(?=[`'\"])", "suy"));
7536
+ var $R58 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
7537
+ var $R59 = (0, import_lib3.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
7538
+ var $R60 = (0, import_lib3.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
7539
+ var $R61 = (0, import_lib3.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
7540
+ var $R62 = (0, import_lib3.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
7541
+ var $R63 = (0, import_lib3.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
7542
+ 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"));
7543
+ var $R65 = (0, import_lib3.$R)(new RegExp("(?=\\/|#)", "suy"));
7544
+ var $R66 = (0, import_lib3.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
7545
+ var $R67 = (0, import_lib3.$R)(new RegExp(".", "suy"));
7546
+ var $R68 = (0, import_lib3.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
7547
+ var $R69 = (0, import_lib3.$R)(new RegExp("[^]*?###", "suy"));
7548
+ var $R70 = (0, import_lib3.$R)(new RegExp("###(?!#)", "suy"));
7549
+ var $R71 = (0, import_lib3.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
7550
+ var $R72 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
7551
+ var $R73 = (0, import_lib3.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
7552
+ var $R74 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
7553
+ var $R75 = (0, import_lib3.$R)(new RegExp("[=:]", "suy"));
7554
+ var $R76 = (0, import_lib3.$R)(new RegExp("['\u2019]s", "suy"));
7555
+ var $R77 = (0, import_lib3.$R)(new RegExp("\\s", "suy"));
7556
+ var $R78 = (0, import_lib3.$R)(new RegExp("(?=[<])", "suy"));
7557
+ var $R79 = (0, import_lib3.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
7558
+ var $R80 = (0, import_lib3.$R)(new RegExp("[!+-]", "suy"));
7559
+ var $R81 = (0, import_lib3.$R)(new RegExp("[\\s>]|\\/>", "suy"));
7560
+ var $R82 = (0, import_lib3.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
7561
+ var $R83 = (0, import_lib3.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
7562
+ var $R84 = (0, import_lib3.$R)(new RegExp("[<>]", "suy"));
7563
+ var $R85 = (0, import_lib3.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
7564
+ var $R86 = (0, import_lib3.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
7565
+ var $R87 = (0, import_lib3.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
7566
+ var $R88 = (0, import_lib3.$R)(new RegExp("[+-]?", "suy"));
7567
+ var $R89 = (0, import_lib3.$R)(new RegExp("(?=if|unless)", "suy"));
7568
+ var $R90 = (0, import_lib3.$R)(new RegExp("#![^\\r\\n]*", "suy"));
7569
+ var $R91 = (0, import_lib3.$R)(new RegExp("[\\t ]*", "suy"));
7570
+ var $R92 = (0, import_lib3.$R)(new RegExp("[\\s]*", "suy"));
7571
+ var $R93 = (0, import_lib3.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
7572
+ var $R94 = (0, import_lib3.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
7573
+ var $R95 = (0, import_lib3.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
7574
+ var $R96 = (0, import_lib3.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
7575
+ var $R97 = (0, import_lib3.$R)(new RegExp("[^]*", "suy"));
7471
7576
  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) {
7472
7577
  var reset = $1;
7473
7578
  var init = $2;
@@ -8362,7 +8467,7 @@ var ParenthesizedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenPar
8362
8467
  function ParenthesizedExpression(ctx, state2) {
8363
8468
  return (0, import_lib3.$EVENT)(ctx, state2, "ParenthesizedExpression", ParenthesizedExpression$0);
8364
8469
  }
8365
- 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) {
8470
+ 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) {
8366
8471
  var dot = $1;
8367
8472
  var typeSuffix = $3;
8368
8473
  return {
@@ -8382,7 +8487,7 @@ var Placeholder$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Ampersand, (0, impo
8382
8487
  children: [amp]
8383
8488
  };
8384
8489
  });
8385
- 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) {
8490
+ 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) {
8386
8491
  return {
8387
8492
  type: "Placeholder",
8388
8493
  subtype: "&",
@@ -9451,9 +9556,10 @@ var ParameterElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
9451
9556
  var typeSuffix = $5;
9452
9557
  var initializer = $6;
9453
9558
  var delim = $7;
9559
+ typeSuffix ??= binding.typeSuffix;
9454
9560
  return {
9455
9561
  type: "Parameter",
9456
- children: $0,
9562
+ children: [$1, accessModifier, $3, binding, typeSuffix, initializer, delim],
9457
9563
  names: binding.names,
9458
9564
  typeSuffix,
9459
9565
  accessModifier,
@@ -9569,12 +9675,13 @@ var ObjectBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
9569
9675
  var c = $3;
9570
9676
  var ws2 = $4;
9571
9677
  var close = $5;
9572
- return {
9678
+ const properties = c.children;
9679
+ return gatherBindingPatternTypeSuffix({
9573
9680
  type: "ObjectBindingPattern",
9574
- children: [ws1, open, c.children, ws2, close],
9681
+ children: [ws1, open, properties, ws2, close],
9575
9682
  names: c.names,
9576
- properties: c.children
9577
- };
9683
+ properties
9684
+ });
9578
9685
  });
9579
9686
  function ObjectBindingPattern(ctx, state2) {
9580
9687
  return (0, import_lib3.$EVENT)(ctx, state2, "ObjectBindingPattern", ObjectBindingPattern$0);
@@ -9609,13 +9716,13 @@ var ArrayBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9609
9716
  var c = $3;
9610
9717
  var ws2 = $4;
9611
9718
  var close = $5;
9612
- return {
9719
+ return gatherBindingPatternTypeSuffix({
9613
9720
  ...c,
9614
9721
  // names, blockPrefix, length
9615
9722
  type: "ArrayBindingPattern",
9616
9723
  elements: c.children,
9617
9724
  children: [ws1, open, c.children, ws2, close]
9618
- };
9725
+ });
9619
9726
  });
9620
9727
  function ArrayBindingPattern(ctx, state2) {
9621
9728
  return (0, import_lib3.$EVENT)(ctx, state2, "ArrayBindingPattern", ArrayBindingPattern$0);
@@ -9636,6 +9743,7 @@ var BindingElementList$0 = (0, import_lib3.$TV)((0, import_lib3.$P)((0, import_l
9636
9743
  return elements.map(([element, delim]) => {
9637
9744
  return {
9638
9745
  ...element,
9746
+ delim,
9639
9747
  // BindingElement.children is a tuple of the form [ws, element]
9640
9748
  children: [...element.children, delim]
9641
9749
  };
@@ -9686,38 +9794,57 @@ function NestedBindingPropertyList(ctx, state2) {
9686
9794
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingPropertyList", NestedBindingPropertyList$0);
9687
9795
  }
9688
9796
  var BindingProperty$0 = BindingRestProperty;
9689
- 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) {
9797
+ 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) {
9690
9798
  var name = $2;
9691
9799
  var value = $6;
9692
- var initializer = $7;
9800
+ var typeSuffix = $7;
9801
+ var initializer = $8;
9693
9802
  return {
9694
9803
  type: "BindingProperty",
9695
- children: $0,
9804
+ children: [$1, name, $3, $4, $5, value, initializer],
9805
+ // omit typeSuffix
9696
9806
  name,
9697
9807
  value,
9808
+ typeSuffix,
9698
9809
  initializer,
9699
9810
  names: value.names
9700
9811
  };
9701
9812
  });
9702
- 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) {
9813
+ 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) {
9703
9814
  var ws = $1;
9704
9815
  var pin = $2;
9705
9816
  var binding = $3;
9706
- var initializer = $4;
9817
+ var typeSuffix = $4;
9818
+ var initializer = $5;
9819
+ let children = [ws, binding, initializer];
9707
9820
  if (binding.type === "AtBinding") {
9708
9821
  return {
9709
9822
  type: "AtBindingProperty",
9710
- children: $0,
9823
+ children,
9711
9824
  binding,
9825
+ typeSuffix,
9712
9826
  ref: binding.ref,
9713
9827
  initializer,
9714
9828
  names: []
9715
9829
  };
9716
9830
  }
9717
9831
  if (pin) {
9832
+ children = [ws, binding];
9833
+ if (typeSuffix) {
9834
+ children.push({
9835
+ type: "Error",
9836
+ message: "Pinned properties cannot have type annotations"
9837
+ });
9838
+ }
9839
+ if (initializer) {
9840
+ children.push({
9841
+ type: "Error",
9842
+ message: "Pinned properties cannot have initializers"
9843
+ });
9844
+ }
9718
9845
  return {
9719
9846
  type: "PinProperty",
9720
- children: [ws, binding],
9847
+ children,
9721
9848
  name: binding,
9722
9849
  value: {
9723
9850
  type: "PinPattern",
@@ -9727,9 +9854,10 @@ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3
9727
9854
  }
9728
9855
  return {
9729
9856
  type: "BindingProperty",
9730
- children: $0,
9857
+ children,
9731
9858
  name: binding,
9732
9859
  value: void 0,
9860
+ typeSuffix,
9733
9861
  initializer,
9734
9862
  names: binding.names,
9735
9863
  identifier: binding
@@ -9739,13 +9867,15 @@ var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2
9739
9867
  function BindingProperty(ctx, state2) {
9740
9868
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingProperty", BindingProperty$$);
9741
9869
  }
9742
- var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2, $3) {
9870
+ 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) {
9743
9871
  var ws = $1;
9744
9872
  var dots = $2;
9745
9873
  var id = $3;
9874
+ var typeSuffix = $4;
9746
9875
  return {
9747
9876
  ...id,
9748
9877
  type: "BindingRestProperty",
9878
+ typeSuffix,
9749
9879
  children: [...ws || [], dots, ...id.children]
9750
9880
  };
9751
9881
  });
@@ -9756,6 +9886,7 @@ var BindingRestProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9756
9886
  return {
9757
9887
  ...id,
9758
9888
  type: "BindingRestProperty",
9889
+ typeSuffix: void 0,
9759
9890
  children: [...ws || [], dots, ...id.children]
9760
9891
  };
9761
9892
  });
@@ -9763,6 +9894,21 @@ var BindingRestProperty$$ = [BindingRestProperty$0, BindingRestProperty$1];
9763
9894
  function BindingRestProperty(ctx, state2) {
9764
9895
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingRestProperty", BindingRestProperty$$);
9765
9896
  }
9897
+ 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) {
9898
+ var optional = $2;
9899
+ var colon = $4;
9900
+ var t = $5;
9901
+ return {
9902
+ type: "TypeSuffix",
9903
+ ts: true,
9904
+ optional,
9905
+ t,
9906
+ children: $0
9907
+ };
9908
+ });
9909
+ function BindingTypeSuffix(ctx, state2) {
9910
+ return (0, import_lib3.$EVENT)(ctx, state2, "BindingTypeSuffix", BindingTypeSuffix$0);
9911
+ }
9766
9912
  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) {
9767
9913
  var elements = $2;
9768
9914
  if (!elements.length)
@@ -9773,10 +9919,11 @@ function NestedBindingElements(ctx, state2) {
9773
9919
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingElements", NestedBindingElements$0);
9774
9920
  }
9775
9921
  var BindingElement$0 = BindingRestElement;
9776
- 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) {
9922
+ 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) {
9777
9923
  var ws = $1;
9778
9924
  var binding = $2;
9779
- var initializer = $3;
9925
+ var typeSuffix = $3;
9926
+ var initializer = $4;
9780
9927
  if (binding.children) {
9781
9928
  binding = {
9782
9929
  ...binding,
@@ -9785,16 +9932,17 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9785
9932
  };
9786
9933
  }
9787
9934
  return {
9935
+ type: "BindingElement",
9788
9936
  names: binding.names,
9937
+ typeSuffix,
9938
+ binding,
9789
9939
  children: [ws, binding]
9790
9940
  };
9791
9941
  });
9792
9942
  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) {
9793
9943
  return {
9794
- children: [{
9795
- type: "ElisionElement",
9796
- children: [""]
9797
- }],
9944
+ type: "ElisionElement",
9945
+ children: [""],
9798
9946
  names: []
9799
9947
  };
9800
9948
  });
@@ -9802,14 +9950,17 @@ var BindingElement$$ = [BindingElement$0, BindingElement$1, BindingElement$2];
9802
9950
  function BindingElement(ctx, state2) {
9803
9951
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingElement", BindingElement$$);
9804
9952
  }
9805
- 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) {
9953
+ 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) {
9806
9954
  var ws = $1;
9807
9955
  var dots = $2;
9808
9956
  var binding = $3;
9957
+ var typeSuffix = $4;
9809
9958
  return {
9810
9959
  type: "BindingRestElement",
9811
9960
  children: [ws, [dots, binding]],
9961
+ dots,
9812
9962
  binding,
9963
+ typeSuffix,
9813
9964
  name: binding.name,
9814
9965
  names: binding.names,
9815
9966
  rest: true
@@ -9822,6 +9973,7 @@ var BindingRestElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
9822
9973
  return {
9823
9974
  type: "BindingRestElement",
9824
9975
  children: [...ws || [], dots, binding],
9976
+ dots,
9825
9977
  binding,
9826
9978
  name: binding.name,
9827
9979
  names: binding.names,
@@ -11360,9 +11512,15 @@ function SnugNamedProperty(ctx, state2) {
11360
11512
  var PropertyName$0 = NumericLiteral;
11361
11513
  var PropertyName$1 = ComputedPropertyName;
11362
11514
  var PropertyName$2 = StringLiteral;
11363
- var PropertyName$3 = IdentifierName;
11364
- var PropertyName$4 = LengthShorthand;
11365
- var PropertyName$$ = [PropertyName$0, PropertyName$1, PropertyName$2, PropertyName$3, PropertyName$4];
11515
+ 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) {
11516
+ return {
11517
+ token: `"${$1}"`,
11518
+ $loc
11519
+ };
11520
+ });
11521
+ var PropertyName$4 = IdentifierName;
11522
+ var PropertyName$5 = LengthShorthand;
11523
+ var PropertyName$$ = [PropertyName$0, PropertyName$1, PropertyName$2, PropertyName$3, PropertyName$4, PropertyName$5];
11366
11524
  function PropertyName(ctx, state2) {
11367
11525
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PropertyName", PropertyName$$);
11368
11526
  }
@@ -11753,7 +11911,7 @@ var AssignmentOpSymbol$22 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, '
11753
11911
  var AssignmentOpSymbol$23 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
11754
11912
  return "??=";
11755
11913
  });
11756
- 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) {
11914
+ 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) {
11757
11915
  return value[0];
11758
11916
  });
11759
11917
  var AssignmentOpSymbol$25 = (0, import_lib3.$T)((0, import_lib3.$S)(CoffeeWordAssignmentOp), function(value) {
@@ -11801,7 +11959,7 @@ var IdentifierBinaryOp$0 = (0, import_lib3.$TV)(Identifier, function($skip, $loc
11801
11959
  function IdentifierBinaryOp(ctx, state2) {
11802
11960
  return (0, import_lib3.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
11803
11961
  }
11804
- 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) {
11962
+ 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) {
11805
11963
  var op = value[1];
11806
11964
  return op;
11807
11965
  });
@@ -11946,7 +12104,7 @@ var BinaryOpSymbol$35 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3
11946
12104
  prec: "^^"
11947
12105
  };
11948
12106
  });
11949
- 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) {
12107
+ 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) {
11950
12108
  return {
11951
12109
  call: getHelperRef("xnor"),
11952
12110
  special: true,
@@ -12110,24 +12268,24 @@ var Xor$$ = [Xor$0, Xor$1];
12110
12268
  function Xor(ctx, state2) {
12111
12269
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Xor", Xor$$);
12112
12270
  }
12113
- var Xnor$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R25, "Xnor /!\\^\\^?/"));
12271
+ var Xnor$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R26, "Xnor /!\\^\\^?/"));
12114
12272
  var Xnor$1 = (0, import_lib3.$EXPECT)($L109, 'Xnor "xnor"');
12115
12273
  var Xnor$$ = [Xnor$0, Xnor$1];
12116
12274
  function Xnor(ctx, state2) {
12117
12275
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
12118
12276
  }
12119
- 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) {
12277
+ 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) {
12120
12278
  return { $loc, token: $0 };
12121
12279
  });
12122
12280
  var UnaryOp$1 = AwaitOp;
12123
- 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) {
12281
+ 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) {
12124
12282
  var op = $1;
12125
12283
  var ws = $3;
12126
12284
  if (!ws)
12127
12285
  return [op, [" "]];
12128
12286
  return [op, ws];
12129
12287
  });
12130
- 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) {
12288
+ 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) {
12131
12289
  return [value[0], value[3]];
12132
12290
  });
12133
12291
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12223,7 +12381,7 @@ var NonPipelinePostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(
12223
12381
  function NonPipelinePostfixedExpression(ctx, state2) {
12224
12382
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
12225
12383
  }
12226
- 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) {
12384
+ 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) {
12227
12385
  return value[1];
12228
12386
  });
12229
12387
  function PostfixStatement(ctx, state2) {
@@ -12386,7 +12544,7 @@ var IfClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(If
12386
12544
  function IfClause(ctx, state2) {
12387
12545
  return (0, import_lib3.$EVENT)(ctx, state2, "IfClause", IfClause$0);
12388
12546
  }
12389
- 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) {
12547
+ 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) {
12390
12548
  return value[1];
12391
12549
  });
12392
12550
  function IterationStatement(ctx, state2) {
@@ -12783,7 +12941,7 @@ var ForDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(LetOrConst, ForB
12783
12941
  names: binding.names
12784
12942
  };
12785
12943
  });
12786
- 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) {
12944
+ 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) {
12787
12945
  var c = $1;
12788
12946
  var binding = $2;
12789
12947
  return {
@@ -13713,7 +13871,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
13713
13871
  function UnprocessedModuleSpecifier(ctx, state2) {
13714
13872
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
13715
13873
  }
13716
- var UnquotedSpecifier$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($R31, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
13874
+ var UnquotedSpecifier$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
13717
13875
  var spec = $0;
13718
13876
  return { $loc, token: `"${spec}"` };
13719
13877
  });
@@ -13910,9 +14068,10 @@ var LexicalBinding$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(BindingPattern,
13910
14068
  var suffix = $2;
13911
14069
  var initializer = $3;
13912
14070
  const [splices, thisAssignments] = gatherBindingCode(pattern);
14071
+ suffix ??= pattern.typeSuffix;
13913
14072
  return {
13914
14073
  type: "Binding",
13915
- children: $0,
14074
+ children: [pattern, suffix, initializer],
13916
14075
  names: pattern.names,
13917
14076
  pattern,
13918
14077
  suffix,
@@ -13971,7 +14130,7 @@ var VariableDeclarationList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Lexical
13971
14130
  function VariableDeclarationList(ctx, state2) {
13972
14131
  return (0, import_lib3.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
13973
14132
  }
13974
- 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) {
14133
+ 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) {
13975
14134
  var token = $2;
13976
14135
  return { type: "NumericLiteral", $loc, token };
13977
14136
  });
@@ -13987,36 +14146,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
13987
14146
  function NumericLiteralKind(ctx, state2) {
13988
14147
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
13989
14148
  }
13990
- var DecimalBigIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R33, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
14149
+ var DecimalBigIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
13991
14150
  function DecimalBigIntegerLiteral(ctx, state2) {
13992
14151
  return (0, import_lib3.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
13993
14152
  }
13994
- 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) {
14153
+ 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) {
13995
14154
  return $1 + ".";
13996
14155
  });
13997
- 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)));
13998
- 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)));
14156
+ 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)));
14157
+ 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)));
13999
14158
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
14000
14159
  function DecimalLiteral(ctx, state2) {
14001
14160
  return (0, import_lib3.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
14002
14161
  }
14003
- var ExponentPart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R37, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
14162
+ var ExponentPart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
14004
14163
  function ExponentPart(ctx, state2) {
14005
14164
  return (0, import_lib3.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
14006
14165
  }
14007
- var BinaryIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R38, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
14166
+ var BinaryIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
14008
14167
  function BinaryIntegerLiteral(ctx, state2) {
14009
14168
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
14010
14169
  }
14011
- var OctalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R39, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
14170
+ var OctalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
14012
14171
  function OctalIntegerLiteral(ctx, state2) {
14013
14172
  return (0, import_lib3.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
14014
14173
  }
14015
- 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?/"));
14174
+ 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?/"));
14016
14175
  function HexIntegerLiteral(ctx, state2) {
14017
14176
  return (0, import_lib3.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
14018
14177
  }
14019
- 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) {
14178
+ 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) {
14020
14179
  var token = $2;
14021
14180
  return { $loc, token };
14022
14181
  });
@@ -14032,7 +14191,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
14032
14191
  function IntegerLiteralKind(ctx, state2) {
14033
14192
  return (0, import_lib3.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
14034
14193
  }
14035
- var DecimalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R42, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14194
+ var DecimalIntegerLiteral$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14036
14195
  function DecimalIntegerLiteral(ctx, state2) {
14037
14196
  return (0, import_lib3.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
14038
14197
  }
@@ -14056,25 +14215,25 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
14056
14215
  function StringLiteral(ctx, state2) {
14057
14216
  return (0, import_lib3.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
14058
14217
  }
14059
- 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) {
14218
+ 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) {
14060
14219
  return { $loc, token: $0 };
14061
14220
  });
14062
14221
  function DoubleStringCharacters(ctx, state2) {
14063
14222
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
14064
14223
  }
14065
- 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) {
14224
+ 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) {
14066
14225
  return { $loc, token: $0 };
14067
14226
  });
14068
14227
  function SingleStringCharacters(ctx, state2) {
14069
14228
  return (0, import_lib3.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
14070
14229
  }
14071
- 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) {
14230
+ 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) {
14072
14231
  return { $loc, token: $0 };
14073
14232
  });
14074
14233
  function TripleDoubleStringCharacters(ctx, state2) {
14075
14234
  return (0, import_lib3.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
14076
14235
  }
14077
- 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) {
14236
+ 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) {
14078
14237
  return { $loc, token: $0 };
14079
14238
  });
14080
14239
  function TripleSingleStringCharacters(ctx, state2) {
@@ -14097,7 +14256,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib3.$TS)((0, import_lib
14097
14256
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
14098
14257
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
14099
14258
  }
14100
- 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) {
14259
+ 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) {
14101
14260
  return { $loc, token: $0 };
14102
14261
  });
14103
14262
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -14117,7 +14276,7 @@ var RegularExpressionClass$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, i
14117
14276
  function RegularExpressionClass(ctx, state2) {
14118
14277
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
14119
14278
  }
14120
- 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) {
14279
+ 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) {
14121
14280
  return { $loc, token: $0 };
14122
14281
  });
14123
14282
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -14174,7 +14333,7 @@ var HeregexPart$1 = (0, import_lib3.$T)((0, import_lib3.$S)(CoffeeStringSubstitu
14174
14333
  var HeregexPart$2 = (0, import_lib3.$T)((0, import_lib3.$S)(TemplateSubstitution), function(value) {
14175
14334
  return { "type": "Substitution", "children": value[0] };
14176
14335
  });
14177
- 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) {
14336
+ 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) {
14178
14337
  let token = $0;
14179
14338
  switch ($0[1]) {
14180
14339
  case "\n":
@@ -14192,13 +14351,13 @@ var HeregexPart$3 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R49, "Heregex
14192
14351
  var HeregexPart$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(HeregexComment), function($skip, $loc, $0, $1) {
14193
14352
  return { $loc, token: "" };
14194
14353
  });
14195
- 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) {
14354
+ 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) {
14196
14355
  return { $loc, token: "" };
14197
14356
  });
14198
- 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) {
14357
+ 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) {
14199
14358
  return { $loc, token: "\\/" };
14200
14359
  });
14201
- 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) {
14360
+ 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) {
14202
14361
  return { $loc, token: $0 };
14203
14362
  });
14204
14363
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -14211,7 +14370,7 @@ var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
14211
14370
  function HeregexComment(ctx, state2) {
14212
14371
  return (0, import_lib3.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
14213
14372
  }
14214
- 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));
14373
+ 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));
14215
14374
  function RegularExpressionBody(ctx, state2) {
14216
14375
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
14217
14376
  }
@@ -14221,15 +14380,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
14221
14380
  function RegExpPart(ctx, state2) {
14222
14381
  return (0, import_lib3.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
14223
14382
  }
14224
- var RegExpCharacter$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R54, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
14383
+ var RegExpCharacter$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
14225
14384
  function RegExpCharacter(ctx, state2) {
14226
14385
  return (0, import_lib3.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
14227
14386
  }
14228
- var RegularExpressionFlags$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R55, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
14387
+ var RegularExpressionFlags$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
14229
14388
  function RegularExpressionFlags(ctx, state2) {
14230
14389
  return (0, import_lib3.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
14231
14390
  }
14232
- var TemplateLiteral$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R56, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
14391
+ var TemplateLiteral$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
14233
14392
  return value[1];
14234
14393
  });
14235
14394
  function TemplateLiteral(ctx, state2) {
@@ -14269,28 +14428,28 @@ var TemplateSubstitution$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Substituti
14269
14428
  function TemplateSubstitution(ctx, state2) {
14270
14429
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
14271
14430
  }
14272
- 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) {
14431
+ 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) {
14273
14432
  return { $loc, token: $0 };
14274
14433
  });
14275
14434
  function TemplateCharacters(ctx, state2) {
14276
14435
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
14277
14436
  }
14278
- 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) {
14437
+ 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) {
14279
14438
  return { $loc, token: $0 };
14280
14439
  });
14281
14440
  function TemplateBlockCharacters(ctx, state2) {
14282
14441
  return (0, import_lib3.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
14283
14442
  }
14284
- 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);
14285
- var ReservedWord$1 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R60, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
14286
- var ReservedWord$2 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R61, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
14287
- var ReservedWord$3 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R62, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
14288
- 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})/"));
14443
+ 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);
14444
+ var ReservedWord$1 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
14445
+ var ReservedWord$2 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
14446
+ var ReservedWord$3 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
14447
+ 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})/"));
14289
14448
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
14290
14449
  function ReservedWord(ctx, state2) {
14291
14450
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
14292
14451
  }
14293
- var Comment$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R64, "Comment /(?=\\/|#)/"), _Comment), function(value) {
14452
+ var Comment$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
14294
14453
  return value[1];
14295
14454
  });
14296
14455
  function Comment(ctx, state2) {
@@ -14308,7 +14467,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
14308
14467
  function SingleLineComment(ctx, state2) {
14309
14468
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
14310
14469
  }
14311
- 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) {
14470
+ 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) {
14312
14471
  return { type: "Comment", $loc, token: $0 };
14313
14472
  });
14314
14473
  function JSSingleLineComment(ctx, state2) {
@@ -14320,30 +14479,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
14320
14479
  function MultiLineComment(ctx, state2) {
14321
14480
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
14322
14481
  }
14323
- 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) {
14482
+ 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) {
14324
14483
  return { type: "Comment", $loc, token: $1 };
14325
14484
  });
14326
14485
  function JSMultiLineComment(ctx, state2) {
14327
14486
  return (0, import_lib3.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
14328
14487
  }
14329
- 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) {
14488
+ 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) {
14330
14489
  return { type: "Comment", $loc, token: `//${$1}` };
14331
14490
  });
14332
14491
  function CoffeeSingleLineComment(ctx, state2) {
14333
14492
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
14334
14493
  }
14335
- 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) {
14494
+ 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) {
14336
14495
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
14337
14496
  return { type: "Comment", $loc, token: `/*${$2}*/` };
14338
14497
  });
14339
14498
  function CoffeeMultiLineComment(ctx, state2) {
14340
14499
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
14341
14500
  }
14342
- var CoffeeHereCommentStart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R69, "CoffeeHereCommentStart /###(?!#)/"));
14501
+ var CoffeeHereCommentStart$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
14343
14502
  function CoffeeHereCommentStart(ctx, state2) {
14344
14503
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
14345
14504
  }
14346
- 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) {
14505
+ 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) {
14347
14506
  return { $loc, token: $0 };
14348
14507
  });
14349
14508
  function InlineComment(ctx, state2) {
@@ -14357,7 +14516,7 @@ var TrailingComment$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_l
14357
14516
  function TrailingComment(ctx, state2) {
14358
14517
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
14359
14518
  }
14360
- 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) {
14519
+ 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) {
14361
14520
  return value[1];
14362
14521
  });
14363
14522
  function _(ctx, state2) {
@@ -14380,7 +14539,7 @@ var Trimmed_$0 = (0, import_lib3.$TV)(_, function($skip, $loc, $0, $1) {
14380
14539
  function Trimmed_(ctx, state2) {
14381
14540
  return (0, import_lib3.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
14382
14541
  }
14383
- 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) {
14542
+ 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) {
14384
14543
  return value[1];
14385
14544
  });
14386
14545
  var __$1 = (0, import_lib3.$EXPECT)($L0, '__ ""');
@@ -14388,7 +14547,7 @@ var __$$ = [__$0, __$1];
14388
14547
  function __(ctx, state2) {
14389
14548
  return (0, import_lib3.$EVENT_C)(ctx, state2, "__", __$$);
14390
14549
  }
14391
- 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) {
14550
+ 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) {
14392
14551
  return { $loc, token: $0 };
14393
14552
  });
14394
14553
  function Whitespace(ctx, state2) {
@@ -14426,7 +14585,7 @@ var SemicolonDelimiter$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
14426
14585
  function SemicolonDelimiter(ctx, state2) {
14427
14586
  return (0, import_lib3.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
14428
14587
  }
14429
- var NonIdContinue$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R73, "NonIdContinue /(?!\\p{ID_Continue})/"));
14588
+ var NonIdContinue$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
14430
14589
  function NonIdContinue(ctx, state2) {
14431
14590
  return (0, import_lib3.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
14432
14591
  }
@@ -14544,7 +14703,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L
14544
14703
  function CoffeeSubstitutionStart(ctx, state2) {
14545
14704
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
14546
14705
  }
14547
- 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) {
14706
+ 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) {
14548
14707
  return { $loc, token: $1 };
14549
14708
  });
14550
14709
  function Colon(ctx, state2) {
@@ -14595,7 +14754,7 @@ function Do(ctx, state2) {
14595
14754
  var Dot$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
14596
14755
  return { $loc, token: $1 };
14597
14756
  });
14598
- 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) {
14757
+ 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) {
14599
14758
  var ws = $2;
14600
14759
  return [
14601
14760
  { $loc, token: "." },
@@ -14632,6 +14791,12 @@ var DoubleColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'Double
14632
14791
  function DoubleColon(ctx, state2) {
14633
14792
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColon", DoubleColon$0);
14634
14793
  }
14794
+ var DoubleColonAsColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
14795
+ return { $loc, token: ":" };
14796
+ });
14797
+ function DoubleColonAsColon(ctx, state2) {
14798
+ return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColonAsColon", DoubleColonAsColon$0);
14799
+ }
14635
14800
  var DoubleQuote$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L156, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
14636
14801
  return { $loc, token: $1 };
14637
14802
  });
@@ -14716,7 +14881,7 @@ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, i
14716
14881
  function If(ctx, state2) {
14717
14882
  return (0, import_lib3.$EVENT)(ctx, state2, "If", If$0);
14718
14883
  }
14719
- 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) {
14884
+ 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) {
14720
14885
  return { $loc, token: $1 };
14721
14886
  });
14722
14887
  function Import(ctx, state2) {
@@ -15074,7 +15239,7 @@ var JSXImplicitFragment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXTag, (0,
15074
15239
  function JSXImplicitFragment(ctx, state2) {
15075
15240
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
15076
15241
  }
15077
- var JSXTag$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R77, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15242
+ var JSXTag$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15078
15243
  return value[1];
15079
15244
  });
15080
15245
  function JSXTag(ctx, state2) {
@@ -15221,7 +15386,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
15221
15386
  function JSXElementName(ctx, state2) {
15222
15387
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
15223
15388
  }
15224
- var JSXIdentifierName$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R78, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
15389
+ var JSXIdentifierName$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
15225
15390
  function JSXIdentifierName(ctx, state2) {
15226
15391
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
15227
15392
  }
@@ -15400,7 +15565,7 @@ var JSXAttribute$6 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, JSXShorthandS
15400
15565
  class: $2
15401
15566
  };
15402
15567
  });
15403
- 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) {
15568
+ 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) {
15404
15569
  var toggle = $1;
15405
15570
  var id = $2;
15406
15571
  const value = toggle === "+" ? "true" : "false";
@@ -15410,11 +15575,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
15410
15575
  function JSXAttribute(ctx, state2) {
15411
15576
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
15412
15577
  }
15413
- var JSXAttributeSpace$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R80, "JSXAttributeSpace /[\\s>]|\\/>/"));
15578
+ var JSXAttributeSpace$0 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
15414
15579
  function JSXAttributeSpace(ctx, state2) {
15415
15580
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
15416
15581
  }
15417
- 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) {
15582
+ 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) {
15418
15583
  return quoteString($0);
15419
15584
  });
15420
15585
  var JSXShorthandString$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -15432,9 +15597,22 @@ var JSXAttributeName$$ = [JSXAttributeName$0, JSXAttributeName$1];
15432
15597
  function JSXAttributeName(ctx, state2) {
15433
15598
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeName", JSXAttributeName$$);
15434
15599
  }
15435
- var JSXAttributeInitializer$0 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15600
+ 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) {
15601
+ var ws1 = $2;
15602
+ var equals = $3;
15603
+ var ws2 = $4;
15604
+ var open = $5;
15605
+ var indent = $6;
15606
+ var expression = $7;
15607
+ var close = $9;
15608
+ if (!expression)
15609
+ return $skip;
15610
+ return [ws1, equals, ws2, open, indent, expression, close];
15611
+ });
15612
+ var JSXAttributeInitializer$1 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15613
+ var JSXAttributeInitializer$$ = [JSXAttributeInitializer$0, JSXAttributeInitializer$1];
15436
15614
  function JSXAttributeInitializer(ctx, state2) {
15437
- return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$0);
15615
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$$);
15438
15616
  }
15439
15617
  var JSXAttributeValue$0 = (0, import_lib3.$S)(OpenBrace, PostfixedExpression, (0, import_lib3.$E)(Whitespace), CloseBrace);
15440
15618
  var JSXAttributeValue$1 = JSXElement;
@@ -15448,7 +15626,7 @@ var JSXAttributeValue$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineO
15448
15626
  }
15449
15627
  return [open, value, close];
15450
15628
  });
15451
- var JSXAttributeValue$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R82, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
15629
+ var JSXAttributeValue$4 = (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
15452
15630
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
15453
15631
  function JSXAttributeValue(ctx, state2) {
15454
15632
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -15461,7 +15639,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InlineJ
15461
15639
  function InlineJSXAttributeValue(ctx, state2) {
15462
15640
  return (0, import_lib3.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
15463
15641
  }
15464
- 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) {
15642
+ 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) {
15465
15643
  var op = $2;
15466
15644
  var rhs = $3;
15467
15645
  return [[], op, [], rhs];
@@ -15478,7 +15656,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, im
15478
15656
  function InlineJSXUnaryExpression(ctx, state2) {
15479
15657
  return (0, import_lib3.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
15480
15658
  }
15481
- 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) {
15659
+ 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) {
15482
15660
  return { $loc, token: $0 };
15483
15661
  });
15484
15662
  function InlineJSXUnaryOp(ctx, state2) {
@@ -15683,8 +15861,9 @@ var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace,
15683
15861
  expression
15684
15862
  };
15685
15863
  });
15686
- var JSXChild$6 = JSXText;
15687
- var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6];
15864
+ var JSXChild$6 = JSXAngleChild;
15865
+ var JSXChild$7 = JSXText;
15866
+ var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6, JSXChild$7];
15688
15867
  function JSXChild(ctx, state2) {
15689
15868
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15690
15869
  }
@@ -15694,13 +15873,13 @@ var JSXComment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXP
15694
15873
  function JSXComment(ctx, state2) {
15695
15874
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
15696
15875
  }
15697
- 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) {
15876
+ 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) {
15698
15877
  return { $loc, token: $0.replace(/\*\//g, "* /") };
15699
15878
  });
15700
15879
  function JSXCommentContent(ctx, state2) {
15701
15880
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
15702
15881
  }
15703
- 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) {
15882
+ 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) {
15704
15883
  return {
15705
15884
  type: "JSXText",
15706
15885
  token: $0,
@@ -15726,6 +15905,42 @@ var NestedJSXChildExpression$0 = (0, import_lib3.$S)(JSXNested, JSXChildExpressi
15726
15905
  function NestedJSXChildExpression(ctx, state2) {
15727
15906
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedJSXChildExpression", NestedJSXChildExpression$0);
15728
15907
  }
15908
+ var JSXAngleChild$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CloseAngleBracket, InsertInlineOpenBrace, JSXAngleChildExpression, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15909
+ var open = $2;
15910
+ var expression = $3;
15911
+ var close = $4;
15912
+ if (!expression)
15913
+ return $skip;
15914
+ return [open, expression, close];
15915
+ });
15916
+ function JSXAngleChild(ctx, state2) {
15917
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXAngleChild", JSXAngleChild$0);
15918
+ }
15919
+ 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) {
15920
+ var expression = $3;
15921
+ if (!expression)
15922
+ return $skip;
15923
+ return expression;
15924
+ });
15925
+ var JSXAngleChildExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(JSXEOS), ImplicitNestedBlock), function($skip, $loc, $0, $1, $2) {
15926
+ var block = $2;
15927
+ if (!block)
15928
+ return $skip;
15929
+ const statement = {
15930
+ type: "DoStatement",
15931
+ children: [block],
15932
+ block
15933
+ };
15934
+ return {
15935
+ type: "StatementExpression",
15936
+ statement,
15937
+ children: [statement]
15938
+ };
15939
+ });
15940
+ var JSXAngleChildExpression$$ = [JSXAngleChildExpression$0, JSXAngleChildExpression$1];
15941
+ function JSXAngleChildExpression(ctx, state2) {
15942
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAngleChildExpression", JSXAngleChildExpression$$);
15943
+ }
15729
15944
  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) {
15730
15945
  var decl = $1;
15731
15946
  var binding = $3;
@@ -16132,7 +16347,7 @@ var TypeProperty$0 = (0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)
16132
16347
  function TypeProperty(ctx, state2) {
16133
16348
  return (0, import_lib3.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
16134
16349
  }
16135
- 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)))));
16350
+ 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)))));
16136
16351
  function TypeIndexSignature(ctx, state2) {
16137
16352
  return (0, import_lib3.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
16138
16353
  }
@@ -16426,7 +16641,7 @@ var NestedType$0 = (0, import_lib3.$S)(Nested, TypeElement, ArrayElementDelimite
16426
16641
  function NestedType(ctx, state2) {
16427
16642
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedType", NestedType$0);
16428
16643
  }
16429
- 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) {
16644
+ 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) {
16430
16645
  return [$1, expressionizeTypeIf($3)];
16431
16646
  });
16432
16647
  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) {
@@ -16630,15 +16845,15 @@ var ThisType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$E)(_),
16630
16845
  function ThisType(ctx, state2) {
16631
16846
  return (0, import_lib3.$EVENT)(ctx, state2, "ThisType", ThisType$0);
16632
16847
  }
16633
- var Shebang$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R89, "Shebang /#![^\\r\\n]*/")), EOL);
16848
+ var Shebang$0 = (0, import_lib3.$S)((0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R90, "Shebang /#![^\\r\\n]*/")), EOL);
16634
16849
  function Shebang(ctx, state2) {
16635
16850
  return (0, import_lib3.$EVENT)(ctx, state2, "Shebang", Shebang$0);
16636
16851
  }
16637
- 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) {
16852
+ 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) {
16638
16853
  var content = value[2];
16639
16854
  return content;
16640
16855
  });
16641
- 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) {
16856
+ 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) {
16642
16857
  var content = value[2];
16643
16858
  return content;
16644
16859
  });
@@ -16646,7 +16861,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
16646
16861
  function CivetPrologue(ctx, state2) {
16647
16862
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
16648
16863
  }
16649
- 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) {
16864
+ 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) {
16650
16865
  var options = $3;
16651
16866
  return {
16652
16867
  type: "CivetPrologue",
@@ -16657,7 +16872,7 @@ var CivetPrologueContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
16657
16872
  function CivetPrologueContent(ctx, state2) {
16658
16873
  return (0, import_lib3.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
16659
16874
  }
16660
- 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) {
16875
+ 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) {
16661
16876
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
16662
16877
  if (l)
16663
16878
  return l.toUpperCase();
@@ -16674,11 +16889,11 @@ var CivetOption$0 = (0, import_lib3.$TR)((0, import_lib3.$EXPECT)($R92, "CivetOp
16674
16889
  function CivetOption(ctx, state2) {
16675
16890
  return (0, import_lib3.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
16676
16891
  }
16677
- 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);
16892
+ 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);
16678
16893
  function UnknownPrologue(ctx, state2) {
16679
16894
  return (0, import_lib3.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
16680
16895
  }
16681
- 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));
16896
+ 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));
16682
16897
  function TripleSlashDirective(ctx, state2) {
16683
16898
  return (0, import_lib3.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
16684
16899
  }
@@ -16694,13 +16909,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
16694
16909
  function PrologueString(ctx, state2) {
16695
16910
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
16696
16911
  }
16697
- 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) {
16912
+ 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) {
16698
16913
  return value[1];
16699
16914
  });
16700
16915
  function EOS(ctx, state2) {
16701
16916
  return (0, import_lib3.$EVENT)(ctx, state2, "EOS", EOS$0);
16702
16917
  }
16703
- 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) {
16918
+ 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) {
16704
16919
  return { $loc, token: $0 };
16705
16920
  });
16706
16921
  function EOL(ctx, state2) {
@@ -17071,7 +17286,7 @@ var Prologue$0 = (0, import_lib3.$Q)((0, import_lib3.$C)(TripleSlashDirective, (
17071
17286
  function Prologue(ctx, state2) {
17072
17287
  return (0, import_lib3.$EVENT)(ctx, state2, "Prologue", Prologue$0);
17073
17288
  }
17074
- var ProloguePrefix$0 = (0, import_lib3.$S)(Prologue, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R96, "ProloguePrefix /[^]*/")));
17289
+ var ProloguePrefix$0 = (0, import_lib3.$S)(Prologue, (0, import_lib3.$R$0)((0, import_lib3.$EXPECT)($R97, "ProloguePrefix /[^]*/")));
17075
17290
  function ProloguePrefix(ctx, state2) {
17076
17291
  return (0, import_lib3.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
17077
17292
  }