@danielx/civet 0.6.21 → 0.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -27,9 +27,9 @@ var Civet = (() => {
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // source/lib.js
30
+ // source/lib.ts
31
31
  var require_lib = __commonJS({
32
- "source/lib.js"(exports, module) {
32
+ "source/lib.ts"(exports, module) {
33
33
  "use strict";
34
34
  function addParentPointers(node, parent) {
35
35
  if (node == null)
@@ -49,6 +49,25 @@ var Civet = (() => {
49
49
  }
50
50
  }
51
51
  }
52
+ function updateParentPointers(node, parent, depth = 1) {
53
+ if (node == null)
54
+ return;
55
+ if (typeof node !== "object")
56
+ return;
57
+ if (Array.isArray(node)) {
58
+ for (const child of node) {
59
+ updateParentPointers(child, parent, depth);
60
+ }
61
+ return;
62
+ }
63
+ if (parent != null)
64
+ node.parent = parent;
65
+ if (depth && node.children) {
66
+ for (const child of node.children) {
67
+ updateParentPointers(child, node, depth - 1);
68
+ }
69
+ }
70
+ }
52
71
  function addPostfixStatement(statement, ws, post) {
53
72
  let children, expressions;
54
73
  if (post.blockPrefix?.length) {
@@ -338,25 +357,26 @@ var Civet = (() => {
338
357
  };
339
358
  }
340
359
  function expressionizeIteration(exp) {
341
- const i = exp.children.indexOf(exp.block);
342
- if (exp.subtype === "DoStatement") {
343
- insertReturn(exp.block);
344
- exp.children.splice(i, 1, ...wrapIIFE(exp.children, exp.async));
360
+ const { async, subtype, block, children, statement } = exp;
361
+ const i = children.indexOf(statement);
362
+ if (i < 0) {
363
+ throw new Error("Could not find iteration statement in iteration expression");
364
+ }
365
+ if (subtype === "DoStatement") {
366
+ insertReturn(block);
367
+ children.splice(i, 1, ...wrapIIFE(statement, async));
345
368
  return;
346
369
  }
347
370
  const resultsRef = makeRef("results");
348
- insertPush(exp.block, resultsRef);
349
- exp.children.splice(
371
+ insertPush(block, resultsRef);
372
+ children.splice(
350
373
  i,
351
374
  1,
352
- wrapIIFE([
353
- "const ",
354
- resultsRef,
355
- "=[];",
356
- ...exp.children,
357
- "; return ",
358
- resultsRef
359
- ], exp.async)
375
+ ...wrapIIFE([
376
+ ["", ["const ", resultsRef, "=[]"], ";"],
377
+ ...children,
378
+ ["", ["; return ", resultsRef]]
379
+ ], async)
360
380
  );
361
381
  }
362
382
  function processBinaryOpExpression($0) {
@@ -686,6 +706,7 @@ var Civet = (() => {
686
706
  }
687
707
  function processParams(f) {
688
708
  const { type, parameters, block } = f;
709
+ const isConstructor = f.name === "constructor";
689
710
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
690
711
  parameters.tp.parameters.push(",");
691
712
  }
@@ -702,7 +723,7 @@ var Civet = (() => {
702
723
  indent = expressions[0][0];
703
724
  }
704
725
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
705
- injectParamProps: f.name === "constructor"
726
+ injectParamProps: isConstructor
706
727
  });
707
728
  const delimiter = {
708
729
  type: "SemicolonDelimiter",
@@ -714,6 +735,23 @@ var Civet = (() => {
714
735
  children: [indent, ...s.children, delimiter]
715
736
  } : [indent, s, delimiter]
716
737
  );
738
+ if (!prefix.length)
739
+ return;
740
+ if (isConstructor) {
741
+ const superCalls = gatherNodes(expressions, (exp) => exp.type === "CallExpression" && exp.children[0]?.token === "super");
742
+ if (superCalls.length) {
743
+ const { child } = findAncestor(
744
+ superCalls[0],
745
+ (ancestor) => ancestor === block
746
+ );
747
+ const index = findChildIndex(expressions, child);
748
+ if (index < 0) {
749
+ throw new Error("Could not find super call within top-level expressions");
750
+ }
751
+ expressions.splice(index + 1, 0, ...prefix);
752
+ return;
753
+ }
754
+ }
717
755
  expressions.unshift(...prefix);
718
756
  }
719
757
  function removeParentPointers(node) {
@@ -734,6 +772,24 @@ var Civet = (() => {
734
772
  }
735
773
  }
736
774
  }
775
+ function findChildIndex(parent, child) {
776
+ const children = Array.isArray(parent) ? parent : parent.children;
777
+ const len = children.length;
778
+ for (let i = 0; i < len; i++) {
779
+ const c = children[i];
780
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
781
+ return i;
782
+ }
783
+ function arrayRecurse(array) {
784
+ const len2 = array.length;
785
+ for (let i = 0; i < len2; i++) {
786
+ const c = array[i];
787
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
788
+ return true;
789
+ }
790
+ }
791
+ return -1;
792
+ }
737
793
  function findAncestor(node, predicate, stopPredicate) {
738
794
  let { parent } = node;
739
795
  while (parent && !stopPredicate?.(parent, node)) {
@@ -829,11 +885,15 @@ var Civet = (() => {
829
885
  }
830
886
  function insertHoistDec(block, node, dec) {
831
887
  const { expressions } = block;
832
- const index = expressions.findIndex(([, s]) => node === s);
888
+ const index = expressions.findIndex((exp) => exp === node || Array.isArray(exp) && exp[1] === node);
833
889
  if (index < 0)
834
890
  throw new Error("Couldn't find expression in block for hoistable declaration.");
835
- const indent = expressions[index][0];
836
- expressions.splice(index, 0, [indent, dec, ";"]);
891
+ if (expressions[index] === node) {
892
+ expressions.splice(index, 0, ["", dec, ";"]);
893
+ } else {
894
+ const indent = expressions[index][0];
895
+ expressions.splice(index, 0, [indent, dec, ";"]);
896
+ }
837
897
  }
838
898
  function patternAsValue(pattern) {
839
899
  switch (pattern.type) {
@@ -1029,22 +1089,22 @@ var Civet = (() => {
1029
1089
  if (target.token)
1030
1090
  return target.token.match(/^ ?/)[0];
1031
1091
  }
1032
- function processForInOf($0) {
1033
- let [awaits, each, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1092
+ function processForInOf($0, getRef) {
1093
+ let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1034
1094
  if (exp.type === "RangeExpression" && inOf.token === "of" && !declaration2) {
1035
1095
  return forRange(open, declaration, exp, step, close);
1036
1096
  } else if (step) {
1037
1097
  throw new Error("for..of/in cannot use 'by' except with range literals");
1038
1098
  }
1039
- let eachError;
1099
+ let eachOwnError;
1040
1100
  let hoistDec, blockPrefix = [];
1041
- if (each) {
1101
+ if (eachOwn && eachOwn[0].token === "each") {
1042
1102
  if (inOf.token === "of") {
1043
1103
  const counterRef = makeRef("i");
1044
1104
  const lenRef = makeRef("len");
1045
- const expRef = maybeRef(exp);
1105
+ const expRef2 = maybeRef(exp);
1046
1106
  const increment = "++";
1047
- let indexAssignment, assignmentNames = [...declaration.names];
1107
+ let assignmentNames = [...declaration.names];
1048
1108
  if (declaration2) {
1049
1109
  const [, , ws22, decl22] = declaration2;
1050
1110
  blockPrefix.push(["", [
@@ -1055,34 +1115,46 @@ var Civet = (() => {
1055
1115
  ], ";"]);
1056
1116
  assignmentNames.push(...decl22.names);
1057
1117
  }
1058
- const expRefDec = expRef !== exp ? [insertTrimmingSpace(expRef, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1118
+ const expRefDec = expRef2 !== exp ? [insertTrimmingSpace(expRef2, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1059
1119
  blockPrefix.push(["", {
1060
1120
  type: "AssignmentExpression",
1061
- children: [declaration, " = ", insertTrimmingSpace(expRef, ""), "[", counterRef, "]"],
1121
+ children: [declaration, " = ", insertTrimmingSpace(expRef2, ""), "[", counterRef, "]"],
1062
1122
  names: assignmentNames
1063
1123
  }, ";"]);
1064
1124
  declaration = {
1065
1125
  type: "Declaration",
1066
- children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef, ""), ".length"],
1126
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef2, ""), ".length"],
1067
1127
  names: []
1068
1128
  };
1069
1129
  const condition = [counterRef, " < ", lenRef, "; "];
1070
1130
  const children = [open, declaration, "; ", condition, counterRef, increment, close];
1071
1131
  return { declaration, children, blockPrefix };
1072
1132
  } else {
1073
- eachError = {
1133
+ eachOwnError = {
1074
1134
  type: "Error",
1075
1135
  message: "'each' is only meaningful in for..of loops"
1076
1136
  };
1077
1137
  }
1078
1138
  }
1079
- if (!declaration2) {
1139
+ let own = eachOwn && eachOwn[0].token === "own";
1140
+ let expRef;
1141
+ if (own && inOf.token !== "in") {
1142
+ own = false;
1143
+ eachOwnError = {
1144
+ type: "Error",
1145
+ message: "'own' is only meaningful in for..in loops"
1146
+ };
1147
+ }
1148
+ if (!declaration2 && !own) {
1080
1149
  return {
1081
1150
  declaration,
1082
- children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close]
1151
+ blockPrefix,
1152
+ children: [awaits, eachOwnError, open, declaration, ws, inOf, expRef ?? exp, step, close]
1083
1153
  };
1084
1154
  }
1085
- const [, , ws2, decl2] = declaration2;
1155
+ let ws2, decl2;
1156
+ if (declaration2)
1157
+ [, , ws2, decl2] = declaration2;
1086
1158
  switch (inOf.token) {
1087
1159
  case "of": {
1088
1160
  const counterRef = makeRef("i");
@@ -1099,16 +1171,16 @@ var Civet = (() => {
1099
1171
  break;
1100
1172
  }
1101
1173
  case "in": {
1102
- const expRef = maybeRef(exp);
1103
- if (expRef !== exp) {
1174
+ const expRef2 = maybeRef(exp);
1175
+ if (expRef2 !== exp) {
1104
1176
  hoistDec = {
1105
1177
  type: "Declaration",
1106
- children: ["let ", expRef],
1178
+ children: ["let ", expRef2],
1107
1179
  names: []
1108
1180
  };
1109
1181
  exp = {
1110
1182
  type: "AssignmentExpression",
1111
- children: [" ", expRef, " =", exp]
1183
+ children: [" ", expRef2, " =", exp]
1112
1184
  };
1113
1185
  }
1114
1186
  let { binding } = declaration;
@@ -1126,11 +1198,17 @@ var Civet = (() => {
1126
1198
  names: []
1127
1199
  };
1128
1200
  }
1129
- blockPrefix.push(["", {
1130
- type: "Declaration",
1131
- children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1132
- names: decl2.names
1133
- }, ";"]);
1201
+ if (own) {
1202
+ const hasPropRef = getRef("hasProp");
1203
+ blockPrefix.push(["", "if (!", hasPropRef, "(", insertTrimmingSpace(expRef2, ""), ", ", insertTrimmingSpace(binding, ""), ")) continue", ";"]);
1204
+ }
1205
+ if (decl2) {
1206
+ blockPrefix.push(["", {
1207
+ type: "Declaration",
1208
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef2, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1209
+ names: decl2.names
1210
+ }, ";"]);
1211
+ }
1134
1212
  break;
1135
1213
  }
1136
1214
  default:
@@ -1138,7 +1216,7 @@ var Civet = (() => {
1138
1216
  }
1139
1217
  return {
1140
1218
  declaration,
1141
- children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close],
1219
+ children: [awaits, eachOwnError, open, declaration, ws, inOf, exp, step, close],
1142
1220
  blockPrefix,
1143
1221
  hoistDec
1144
1222
  };
@@ -1401,11 +1479,11 @@ var Civet = (() => {
1401
1479
  }
1402
1480
  return makeRef(base);
1403
1481
  }
1404
- function makeRef(base = "ref") {
1482
+ function makeRef(base = "ref", id = base) {
1405
1483
  return {
1406
1484
  type: "Ref",
1407
1485
  base,
1408
- id: base
1486
+ id
1409
1487
  };
1410
1488
  }
1411
1489
  function maybeRef(exp, base = "ref") {
@@ -1664,20 +1742,20 @@ var Civet = (() => {
1664
1742
  });
1665
1743
  }
1666
1744
  function attachPostfixStatementAsExpression(exp, post) {
1667
- let clause;
1668
1745
  switch (post[1].type) {
1669
1746
  case "ForStatement":
1670
1747
  case "IterationStatement":
1671
- case "DoStatement":
1672
- clause = addPostfixStatement(exp, ...post);
1748
+ case "DoStatement": {
1749
+ const statement = addPostfixStatement(exp, ...post);
1673
1750
  return {
1674
1751
  type: "IterationExpression",
1675
- children: [clause],
1676
- block: clause.block
1752
+ children: [statement],
1753
+ block: statement.block,
1754
+ statement
1677
1755
  };
1756
+ }
1678
1757
  case "IfStatement":
1679
- clause = expressionizeIfClause(post[1], exp);
1680
- return clause;
1758
+ return expressionizeIfClause(post[1], exp);
1681
1759
  default:
1682
1760
  throw new Error("Unknown postfix statement");
1683
1761
  }
@@ -1892,12 +1970,7 @@ var Civet = (() => {
1892
1970
  input: key
1893
1971
  })) {
1894
1972
  shared.forEach((p) => {
1895
- const ref = {
1896
- type: "Ref",
1897
- base: `_${key}`,
1898
- id: key
1899
- };
1900
- aliasBinding(p, ref);
1973
+ aliasBinding(p, makeRef(`_${key}`, key));
1901
1974
  });
1902
1975
  return;
1903
1976
  }
@@ -2168,8 +2241,8 @@ var Civet = (() => {
2168
2241
  processFunctions(statements, config);
2169
2242
  processSwitchExpressions(statements);
2170
2243
  processTryExpressions(statements);
2171
- hoistRefDecs(statements);
2172
2244
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
2245
+ hoistRefDecs(statements);
2173
2246
  statements.unshift(...m.prelude);
2174
2247
  if (config.autoLet) {
2175
2248
  createLetDecs(statements, []);
@@ -2612,13 +2685,14 @@ var Civet = (() => {
2612
2685
  prefix = "(()=>";
2613
2686
  suffix = ")()";
2614
2687
  }
2615
- const expressions = Array.isArray(exp) ? [[...exp]] : [exp];
2688
+ const expressions = Array.isArray(exp) ? [...exp] : [exp];
2616
2689
  const block = {
2617
2690
  type: "BlockStatement",
2618
2691
  expressions,
2619
2692
  children: ["{", expressions, "}"],
2620
2693
  bare: false
2621
2694
  };
2695
+ updateParentPointers(block);
2622
2696
  return [
2623
2697
  prefix,
2624
2698
  block,
@@ -3176,6 +3250,7 @@ ${input.slice(result.pos)}
3176
3250
  AccessModifier,
3177
3251
  FieldDefinition,
3178
3252
  ThisLiteral,
3253
+ PrivateThis,
3179
3254
  AtThis,
3180
3255
  LeftHandSideExpression,
3181
3256
  CallExpression,
@@ -3527,6 +3602,7 @@ ${input.slice(result.pos)}
3527
3602
  From,
3528
3603
  Function,
3529
3604
  GetOrSet,
3605
+ Hash,
3530
3606
  If,
3531
3607
  Import,
3532
3608
  In,
@@ -3543,6 +3619,7 @@ ${input.slice(result.pos)}
3543
3619
  OpenBracket,
3544
3620
  OpenParen,
3545
3621
  Operator,
3622
+ Own,
3546
3623
  Public,
3547
3624
  Private,
3548
3625
  Protected,
@@ -3556,6 +3633,7 @@ ${input.slice(result.pos)}
3556
3633
  Star,
3557
3634
  Static,
3558
3635
  SubstitutionStart,
3636
+ Super,
3559
3637
  Switch,
3560
3638
  Target,
3561
3639
  Then,
@@ -3761,164 +3839,164 @@ ${input.slice(result.pos)}
3761
3839
  var $L12 = $L(":");
3762
3840
  var $L13 = $L("implements");
3763
3841
  var $L14 = $L("<:");
3764
- var $L15 = $L("#");
3765
- var $L16 = $L("super");
3766
- var $L17 = $L("import");
3767
- var $L18 = $L("!");
3768
- var $L19 = $L("^");
3769
- var $L20 = $L("-");
3770
- var $L21 = $L("import.meta");
3771
- var $L22 = $L("return.value");
3772
- var $L23 = $L(",");
3773
- var $L24 = $L("->");
3774
- var $L25 = $L("\u2192");
3775
- var $L26 = $L("}");
3776
- var $L27 = $L("null");
3777
- var $L28 = $L("true");
3778
- var $L29 = $L("false");
3779
- var $L30 = $L("yes");
3780
- var $L31 = $L("on");
3781
- var $L32 = $L("no");
3782
- var $L33 = $L("off");
3783
- var $L34 = $L(">");
3784
- var $L35 = $L("]");
3785
- var $L36 = $L("**=");
3786
- var $L37 = $L("*=");
3787
- var $L38 = $L("/=");
3788
- var $L39 = $L("%=");
3789
- var $L40 = $L("+=");
3790
- var $L41 = $L("-=");
3791
- var $L42 = $L("<<=");
3792
- var $L43 = $L(">>>=");
3793
- var $L44 = $L(">>=");
3794
- var $L45 = $L("&&=");
3795
- var $L46 = $L("&=");
3796
- var $L47 = $L("^=");
3797
- var $L48 = $L("||=");
3798
- var $L49 = $L("|=");
3799
- var $L50 = $L("??=");
3800
- var $L51 = $L("?=");
3801
- var $L52 = $L("and=");
3802
- var $L53 = $L("or=");
3803
- var $L54 = $L("**");
3804
- var $L55 = $L("*");
3805
- var $L56 = $L("/");
3806
- var $L57 = $L("%%");
3807
- var $L58 = $L("%");
3808
- var $L59 = $L("+");
3809
- var $L60 = $L("<=");
3810
- var $L61 = $L("\u2264");
3811
- var $L62 = $L(">=");
3812
- var $L63 = $L("\u2265");
3813
- var $L64 = $L("<?");
3814
- var $L65 = $L("!<?");
3815
- var $L66 = $L("<<");
3816
- var $L67 = $L("\xAB");
3817
- var $L68 = $L(">>>");
3818
- var $L69 = $L("\u22D9");
3819
- var $L70 = $L(">>");
3820
- var $L71 = $L("\xBB");
3821
- var $L72 = $L("!==");
3822
- var $L73 = $L("\u2262");
3823
- var $L74 = $L("!=");
3824
- var $L75 = $L("\u2260");
3825
- var $L76 = $L("isnt");
3826
- var $L77 = $L("===");
3827
- var $L78 = $L("\u2263");
3828
- var $L79 = $L("\u2A76");
3829
- var $L80 = $L("==");
3830
- var $L81 = $L("\u2261");
3831
- var $L82 = $L("\u2A75");
3832
- var $L83 = $L("and");
3833
- var $L84 = $L("&&");
3834
- var $L85 = $L("of");
3835
- var $L86 = $L("or");
3836
- var $L87 = $L("||");
3837
- var $L88 = $L("\u2016");
3838
- var $L89 = $L("^^");
3839
- var $L90 = $L("xor");
3840
- var $L91 = $L("xnor");
3841
- var $L92 = $L("??");
3842
- var $L93 = $L("\u2047");
3843
- var $L94 = $L("instanceof");
3844
- var $L95 = $L("\u2208");
3845
- var $L96 = $L("\u220B");
3846
- var $L97 = $L("\u220C");
3847
- var $L98 = $L("\u2209");
3848
- var $L99 = $L("&");
3849
- var $L100 = $L("|");
3850
- var $L101 = $L(";");
3851
- var $L102 = $L("$:");
3852
- var $L103 = $L("own");
3853
- var $L104 = $L("break");
3854
- var $L105 = $L("continue");
3855
- var $L106 = $L("debugger");
3856
- var $L107 = $L("assert");
3857
- var $L108 = $L(":=");
3858
- var $L109 = $L("\u2254");
3859
- var $L110 = $L(".=");
3860
- var $L111 = $L("/*");
3861
- var $L112 = $L("*/");
3862
- var $L113 = $L("\\");
3863
- var $L114 = $L("[");
3864
- var $L115 = $L("`");
3865
- var $L116 = $L("abstract");
3866
- var $L117 = $L("as");
3867
- var $L118 = $L("@");
3868
- var $L119 = $L("@@");
3869
- var $L120 = $L("async");
3870
- var $L121 = $L("await");
3871
- var $L122 = $L("by");
3872
- var $L123 = $L("case");
3873
- var $L124 = $L("catch");
3874
- var $L125 = $L("class");
3875
- var $L126 = $L(")");
3876
- var $L127 = $L("#{");
3877
- var $L128 = $L("declare");
3878
- var $L129 = $L("default");
3879
- var $L130 = $L("delete");
3880
- var $L131 = $L("do");
3881
- var $L132 = $L("..");
3882
- var $L133 = $L("\u2025");
3883
- var $L134 = $L("...");
3884
- var $L135 = $L("\u2026");
3885
- var $L136 = $L("::");
3886
- var $L137 = $L('"');
3887
- var $L138 = $L("each");
3888
- var $L139 = $L("else");
3889
- var $L140 = $L("export");
3890
- var $L141 = $L("extends");
3891
- var $L142 = $L("finally");
3892
- var $L143 = $L("for");
3893
- var $L144 = $L("from");
3894
- var $L145 = $L("function");
3895
- var $L146 = $L("get");
3896
- var $L147 = $L("set");
3897
- var $L148 = $L("if");
3898
- var $L149 = $L("in");
3899
- var $L150 = $L("let");
3900
- var $L151 = $L("const");
3901
- var $L152 = $L("is");
3902
- var $L153 = $L("loop");
3903
- var $L154 = $L("new");
3904
- var $L155 = $L("not");
3905
- var $L156 = $L("<");
3906
- var $L157 = $L("operator");
3907
- var $L158 = $L("public");
3908
- var $L159 = $L("private");
3909
- var $L160 = $L("protected");
3910
- var $L161 = $L("||>");
3911
- var $L162 = $L("|\u25B7");
3912
- var $L163 = $L("|>=");
3913
- var $L164 = $L("\u25B7=");
3914
- var $L165 = $L("|>");
3915
- var $L166 = $L("\u25B7");
3916
- var $L167 = $L("readonly");
3917
- var $L168 = $L("return");
3918
- var $L169 = $L("satisfies");
3919
- var $L170 = $L("'");
3920
- var $L171 = $L("static");
3921
- var $L172 = $L("${");
3842
+ var $L15 = $L("import");
3843
+ var $L16 = $L("!");
3844
+ var $L17 = $L("^");
3845
+ var $L18 = $L("-");
3846
+ var $L19 = $L("import.meta");
3847
+ var $L20 = $L("return.value");
3848
+ var $L21 = $L(",");
3849
+ var $L22 = $L("->");
3850
+ var $L23 = $L("\u2192");
3851
+ var $L24 = $L("}");
3852
+ var $L25 = $L("null");
3853
+ var $L26 = $L("true");
3854
+ var $L27 = $L("false");
3855
+ var $L28 = $L("yes");
3856
+ var $L29 = $L("on");
3857
+ var $L30 = $L("no");
3858
+ var $L31 = $L("off");
3859
+ var $L32 = $L(">");
3860
+ var $L33 = $L("]");
3861
+ var $L34 = $L("**=");
3862
+ var $L35 = $L("*=");
3863
+ var $L36 = $L("/=");
3864
+ var $L37 = $L("%=");
3865
+ var $L38 = $L("+=");
3866
+ var $L39 = $L("-=");
3867
+ var $L40 = $L("<<=");
3868
+ var $L41 = $L(">>>=");
3869
+ var $L42 = $L(">>=");
3870
+ var $L43 = $L("&&=");
3871
+ var $L44 = $L("&=");
3872
+ var $L45 = $L("^=");
3873
+ var $L46 = $L("||=");
3874
+ var $L47 = $L("|=");
3875
+ var $L48 = $L("??=");
3876
+ var $L49 = $L("?=");
3877
+ var $L50 = $L("and=");
3878
+ var $L51 = $L("or=");
3879
+ var $L52 = $L("**");
3880
+ var $L53 = $L("*");
3881
+ var $L54 = $L("/");
3882
+ var $L55 = $L("%%");
3883
+ var $L56 = $L("%");
3884
+ var $L57 = $L("+");
3885
+ var $L58 = $L("<=");
3886
+ var $L59 = $L("\u2264");
3887
+ var $L60 = $L(">=");
3888
+ var $L61 = $L("\u2265");
3889
+ var $L62 = $L("<?");
3890
+ var $L63 = $L("!<?");
3891
+ var $L64 = $L("<<");
3892
+ var $L65 = $L("\xAB");
3893
+ var $L66 = $L(">>>");
3894
+ var $L67 = $L("\u22D9");
3895
+ var $L68 = $L(">>");
3896
+ var $L69 = $L("\xBB");
3897
+ var $L70 = $L("!==");
3898
+ var $L71 = $L("\u2262");
3899
+ var $L72 = $L("!=");
3900
+ var $L73 = $L("\u2260");
3901
+ var $L74 = $L("isnt");
3902
+ var $L75 = $L("===");
3903
+ var $L76 = $L("\u2263");
3904
+ var $L77 = $L("\u2A76");
3905
+ var $L78 = $L("==");
3906
+ var $L79 = $L("\u2261");
3907
+ var $L80 = $L("\u2A75");
3908
+ var $L81 = $L("and");
3909
+ var $L82 = $L("&&");
3910
+ var $L83 = $L("of");
3911
+ var $L84 = $L("or");
3912
+ var $L85 = $L("||");
3913
+ var $L86 = $L("\u2016");
3914
+ var $L87 = $L("^^");
3915
+ var $L88 = $L("xor");
3916
+ var $L89 = $L("xnor");
3917
+ var $L90 = $L("??");
3918
+ var $L91 = $L("\u2047");
3919
+ var $L92 = $L("instanceof");
3920
+ var $L93 = $L("\u2208");
3921
+ var $L94 = $L("\u220B");
3922
+ var $L95 = $L("\u220C");
3923
+ var $L96 = $L("\u2209");
3924
+ var $L97 = $L("&");
3925
+ var $L98 = $L("|");
3926
+ var $L99 = $L(";");
3927
+ var $L100 = $L("$:");
3928
+ var $L101 = $L("break");
3929
+ var $L102 = $L("continue");
3930
+ var $L103 = $L("debugger");
3931
+ var $L104 = $L("assert");
3932
+ var $L105 = $L(":=");
3933
+ var $L106 = $L("\u2254");
3934
+ var $L107 = $L(".=");
3935
+ var $L108 = $L("/*");
3936
+ var $L109 = $L("*/");
3937
+ var $L110 = $L("\\");
3938
+ var $L111 = $L("[");
3939
+ var $L112 = $L("`");
3940
+ var $L113 = $L("abstract");
3941
+ var $L114 = $L("as");
3942
+ var $L115 = $L("@");
3943
+ var $L116 = $L("@@");
3944
+ var $L117 = $L("async");
3945
+ var $L118 = $L("await");
3946
+ var $L119 = $L("by");
3947
+ var $L120 = $L("case");
3948
+ var $L121 = $L("catch");
3949
+ var $L122 = $L("class");
3950
+ var $L123 = $L(")");
3951
+ var $L124 = $L("#{");
3952
+ var $L125 = $L("declare");
3953
+ var $L126 = $L("default");
3954
+ var $L127 = $L("delete");
3955
+ var $L128 = $L("do");
3956
+ var $L129 = $L("..");
3957
+ var $L130 = $L("\u2025");
3958
+ var $L131 = $L("...");
3959
+ var $L132 = $L("\u2026");
3960
+ var $L133 = $L("::");
3961
+ var $L134 = $L('"');
3962
+ var $L135 = $L("each");
3963
+ var $L136 = $L("else");
3964
+ var $L137 = $L("export");
3965
+ var $L138 = $L("extends");
3966
+ var $L139 = $L("finally");
3967
+ var $L140 = $L("for");
3968
+ var $L141 = $L("from");
3969
+ var $L142 = $L("function");
3970
+ var $L143 = $L("get");
3971
+ var $L144 = $L("set");
3972
+ var $L145 = $L("#");
3973
+ var $L146 = $L("if");
3974
+ var $L147 = $L("in");
3975
+ var $L148 = $L("let");
3976
+ var $L149 = $L("const");
3977
+ var $L150 = $L("is");
3978
+ var $L151 = $L("loop");
3979
+ var $L152 = $L("new");
3980
+ var $L153 = $L("not");
3981
+ var $L154 = $L("<");
3982
+ var $L155 = $L("operator");
3983
+ var $L156 = $L("own");
3984
+ var $L157 = $L("public");
3985
+ var $L158 = $L("private");
3986
+ var $L159 = $L("protected");
3987
+ var $L160 = $L("||>");
3988
+ var $L161 = $L("|\u25B7");
3989
+ var $L162 = $L("|>=");
3990
+ var $L163 = $L("\u25B7=");
3991
+ var $L164 = $L("|>");
3992
+ var $L165 = $L("\u25B7");
3993
+ var $L166 = $L("readonly");
3994
+ var $L167 = $L("return");
3995
+ var $L168 = $L("satisfies");
3996
+ var $L169 = $L("'");
3997
+ var $L170 = $L("static");
3998
+ var $L171 = $L("${");
3999
+ var $L172 = $L("super");
3922
4000
  var $L173 = $L("switch");
3923
4001
  var $L174 = $L("target");
3924
4002
  var $L175 = $L("then");
@@ -6433,12 +6511,13 @@ ${input.slice(result.pos)}
6433
6511
  }
6434
6512
  }
6435
6513
  var ThisLiteral$0 = This;
6436
- var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L15, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6514
+ var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E(Hash), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6437
6515
  var at = $1;
6438
6516
  var id = $2;
6439
6517
  return [at, ".", id];
6440
6518
  });
6441
6519
  var ThisLiteral$2 = AtThis;
6520
+ var ThisLiteral$3 = PrivateThis;
6442
6521
  function ThisLiteral(state) {
6443
6522
  let eventData;
6444
6523
  if (state.events) {
@@ -6450,17 +6529,47 @@ ${input.slice(result.pos)}
6450
6529
  }
6451
6530
  }
6452
6531
  if (state.tokenize) {
6453
- const result = $TOKEN("ThisLiteral", state, ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state));
6532
+ const result = $TOKEN("ThisLiteral", state, ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state) || ThisLiteral$3(state));
6454
6533
  if (state.events)
6455
6534
  state.events.exit?.("ThisLiteral", state, result, eventData);
6456
6535
  return result;
6457
6536
  } else {
6458
- const result = ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state);
6537
+ const result = ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state) || ThisLiteral$3(state);
6459
6538
  if (state.events)
6460
6539
  state.events.exit?.("ThisLiteral", state, result, eventData);
6461
6540
  return result;
6462
6541
  }
6463
6542
  }
6543
+ var PrivateThis$0 = $TS($S(PrivateIdentifier, $Y($S($P(_), $C($S(Not, __, In), In)))), function($skip, $loc, $0, $1, $2) {
6544
+ var id = $1;
6545
+ return id;
6546
+ });
6547
+ var PrivateThis$1 = $TV(PrivateIdentifier, function($skip, $loc, $0, $1) {
6548
+ var id = $0;
6549
+ return ["this.", id];
6550
+ });
6551
+ function PrivateThis(state) {
6552
+ let eventData;
6553
+ if (state.events) {
6554
+ const result = state.events.enter?.("PrivateThis", state);
6555
+ if (result) {
6556
+ if (result.cache)
6557
+ return result.cache;
6558
+ eventData = result.data;
6559
+ }
6560
+ }
6561
+ if (state.tokenize) {
6562
+ const result = $TOKEN("PrivateThis", state, PrivateThis$0(state) || PrivateThis$1(state));
6563
+ if (state.events)
6564
+ state.events.exit?.("PrivateThis", state, result, eventData);
6565
+ return result;
6566
+ } else {
6567
+ const result = PrivateThis$0(state) || PrivateThis$1(state);
6568
+ if (state.events)
6569
+ state.events.exit?.("PrivateThis", state, result, eventData);
6570
+ return result;
6571
+ }
6572
+ }
6464
6573
  var AtThis$0 = $TV(At, function($skip, $loc, $0, $1) {
6465
6574
  var at = $0;
6466
6575
  return { ...at, token: "this" };
@@ -6511,14 +6620,14 @@ ${input.slice(result.pos)}
6511
6620
  return result;
6512
6621
  }
6513
6622
  }
6514
- var CallExpression$0 = $TS($S($EXPECT($L16, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6623
+ var CallExpression$0 = $TS($S(Super, ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6515
6624
  var rest = $3;
6516
6625
  return processCallMemberExpression({
6517
6626
  type: "CallExpression",
6518
6627
  children: [$1, ...$2, ...rest.flat()]
6519
6628
  });
6520
6629
  });
6521
- var CallExpression$1 = $TS($S($EXPECT($L17, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6630
+ var CallExpression$1 = $TS($S($EXPECT($L15, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6522
6631
  var rest = $3;
6523
6632
  return processCallMemberExpression({
6524
6633
  type: "CallExpression",
@@ -6646,7 +6755,7 @@ ${input.slice(result.pos)}
6646
6755
  return result;
6647
6756
  }
6648
6757
  }
6649
- var NonNullAssertion$0 = $T($S($EXPECT($L18, fail, 'NonNullAssertion "!"'), $N($EXPECT($L19, fail, 'NonNullAssertion "^"'))), function(value) {
6758
+ var NonNullAssertion$0 = $T($S($EXPECT($L16, fail, 'NonNullAssertion "!"'), $N($EXPECT($L17, fail, 'NonNullAssertion "^"'))), function(value) {
6650
6759
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6651
6760
  });
6652
6761
  function NonNullAssertion(state) {
@@ -6790,7 +6899,7 @@ ${input.slice(result.pos)}
6790
6899
  ]
6791
6900
  };
6792
6901
  });
6793
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L20, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6902
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L18, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6794
6903
  var dot = $1;
6795
6904
  var neg = $2;
6796
6905
  var num = $3;
@@ -7010,8 +7119,8 @@ ${input.slice(result.pos)}
7010
7119
  return result;
7011
7120
  }
7012
7121
  }
7013
- var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), MemberBracketContent);
7014
- var SuperProperty$1 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7122
+ var SuperProperty$0 = $S(Super, MemberBracketContent);
7123
+ var SuperProperty$1 = $S(Super, $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7015
7124
  function SuperProperty(state) {
7016
7125
  let eventData;
7017
7126
  if (state.events) {
@@ -7035,7 +7144,7 @@ ${input.slice(result.pos)}
7035
7144
  }
7036
7145
  }
7037
7146
  var MetaProperty$0 = $S(New, Dot, Target);
7038
- var MetaProperty$1 = $TS($S($EXPECT($L21, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7147
+ var MetaProperty$1 = $TS($S($EXPECT($L19, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7039
7148
  return { $loc, token: $1 };
7040
7149
  });
7041
7150
  var MetaProperty$2 = ReturnValue;
@@ -7061,7 +7170,7 @@ ${input.slice(result.pos)}
7061
7170
  return result;
7062
7171
  }
7063
7172
  }
7064
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7173
+ var ReturnValue$0 = $TV($C($S($EXPECT($L20, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7065
7174
  return { type: "ReturnValue", children: [$1[0]] };
7066
7175
  });
7067
7176
  function ReturnValue(state) {
@@ -7333,8 +7442,17 @@ ${input.slice(result.pos)}
7333
7442
  ref
7334
7443
  };
7335
7444
  });
7336
- var NWBindingIdentifier$1 = Identifier;
7337
- var NWBindingIdentifier$2 = $TS($S(ReturnValue), function($skip, $loc, $0, $1) {
7445
+ var NWBindingIdentifier$1 = $TS($S(Hash, AtIdentifierRef), function($skip, $loc, $0, $1, $2) {
7446
+ var ref = $2;
7447
+ ref = { ...ref, id: `#${ref.id}` };
7448
+ return {
7449
+ type: "AtBinding",
7450
+ children: [ref],
7451
+ ref
7452
+ };
7453
+ });
7454
+ var NWBindingIdentifier$2 = Identifier;
7455
+ var NWBindingIdentifier$3 = $TS($S(ReturnValue), function($skip, $loc, $0, $1) {
7338
7456
  return { children: [$1], names: [] };
7339
7457
  });
7340
7458
  function NWBindingIdentifier(state) {
@@ -7348,12 +7466,12 @@ ${input.slice(result.pos)}
7348
7466
  }
7349
7467
  }
7350
7468
  if (state.tokenize) {
7351
- const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state));
7469
+ const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state) || NWBindingIdentifier$3(state));
7352
7470
  if (state.events)
7353
7471
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
7354
7472
  return result;
7355
7473
  } else {
7356
- const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state);
7474
+ const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state) || NWBindingIdentifier$3(state);
7357
7475
  if (state.events)
7358
7476
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
7359
7477
  return result;
@@ -7361,11 +7479,7 @@ ${input.slice(result.pos)}
7361
7479
  }
7362
7480
  var AtIdentifierRef$0 = $TV(ReservedWord, function($skip, $loc, $0, $1) {
7363
7481
  var r = $0;
7364
- return {
7365
- type: "Ref",
7366
- base: `_${r}`,
7367
- id: r
7368
- };
7482
+ return makeRef(`_${r}`, r);
7369
7483
  });
7370
7484
  var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
7371
7485
  var id = $0;
@@ -7393,7 +7507,7 @@ ${input.slice(result.pos)}
7393
7507
  return result;
7394
7508
  }
7395
7509
  }
7396
- var PinPattern$0 = $TS($S($EXPECT($L19, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7510
+ var PinPattern$0 = $TS($S($EXPECT($L17, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7397
7511
  var identifier = $2;
7398
7512
  return {
7399
7513
  type: "PinPattern",
@@ -7766,7 +7880,7 @@ ${input.slice(result.pos)}
7766
7880
  names: value.names
7767
7881
  };
7768
7882
  });
7769
- var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L19, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7883
+ var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L17, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7770
7884
  var ws = $1;
7771
7885
  var pin = $2;
7772
7886
  var binding = $3;
@@ -7911,7 +8025,7 @@ ${input.slice(result.pos)}
7911
8025
  children: [ws, binding]
7912
8026
  };
7913
8027
  });
7914
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
8028
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L21, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7915
8029
  return {
7916
8030
  children: [{
7917
8031
  type: "ElisionElement",
@@ -8449,7 +8563,7 @@ ${input.slice(result.pos)}
8449
8563
  return result;
8450
8564
  }
8451
8565
  }
8452
- var Arrow$0 = $TV($C($EXPECT($L24, fail, 'Arrow "->"'), $EXPECT($L25, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8566
+ var Arrow$0 = $TV($C($EXPECT($L22, fail, 'Arrow "->"'), $EXPECT($L23, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8453
8567
  return { $loc, token: "->" };
8454
8568
  });
8455
8569
  function Arrow(state) {
@@ -8979,7 +9093,7 @@ ${input.slice(result.pos)}
8979
9093
  children: [$1, expressions]
8980
9094
  };
8981
9095
  });
8982
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L26, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9096
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L24, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8983
9097
  const expressions = [];
8984
9098
  return {
8985
9099
  type: "BlockStatement",
@@ -9160,7 +9274,7 @@ ${input.slice(result.pos)}
9160
9274
  return result;
9161
9275
  }
9162
9276
  }
9163
- var NullLiteral$0 = $TS($S($EXPECT($L27, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9277
+ var NullLiteral$0 = $TS($S($EXPECT($L25, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9164
9278
  return { $loc, token: $1 };
9165
9279
  });
9166
9280
  function NullLiteral(state) {
@@ -9188,7 +9302,7 @@ ${input.slice(result.pos)}
9188
9302
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9189
9303
  return value[1];
9190
9304
  });
9191
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'BooleanLiteral "true"'), $EXPECT($L29, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9305
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L26, fail, 'BooleanLiteral "true"'), $EXPECT($L27, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9192
9306
  return { $loc, token: $1 };
9193
9307
  });
9194
9308
  function BooleanLiteral(state) {
@@ -9213,10 +9327,10 @@ ${input.slice(result.pos)}
9213
9327
  return result;
9214
9328
  }
9215
9329
  }
9216
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9330
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L28, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9217
9331
  return { $loc, token: "true" };
9218
9332
  });
9219
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L33, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9333
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9220
9334
  return { $loc, token: "false" };
9221
9335
  });
9222
9336
  function CoffeeScriptBooleanLiteral(state) {
@@ -9322,7 +9436,7 @@ ${input.slice(result.pos)}
9322
9436
  return result;
9323
9437
  }
9324
9438
  }
9325
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L34, fail, 'UpcomingAssignment ">"')))));
9439
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L32, fail, 'UpcomingAssignment ">"')))));
9326
9440
  function UpcomingAssignment(state) {
9327
9441
  let eventData;
9328
9442
  if (state.events) {
@@ -9586,7 +9700,7 @@ ${input.slice(result.pos)}
9586
9700
  }
9587
9701
  }
9588
9702
  var ArrayElementDelimiter$0 = $S(__, Comma);
9589
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L35, fail, 'ArrayElementDelimiter "]"')));
9703
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L33, fail, 'ArrayElementDelimiter "]"')));
9590
9704
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9591
9705
  return value[1];
9592
9706
  });
@@ -10092,7 +10206,7 @@ ${input.slice(result.pos)}
10092
10206
  }
10093
10207
  }
10094
10208
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
10095
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
10209
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L24, fail, 'ObjectPropertyDelimiter "}"')));
10096
10210
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
10097
10211
  return value[1];
10098
10212
  });
@@ -10264,7 +10378,7 @@ ${input.slice(result.pos)}
10264
10378
  return result;
10265
10379
  }
10266
10380
  }
10267
- var NamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10381
+ var NamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10268
10382
  var name = $1;
10269
10383
  var exp = $4;
10270
10384
  return {
@@ -10297,12 +10411,18 @@ ${input.slice(result.pos)}
10297
10411
  return result;
10298
10412
  }
10299
10413
  }
10300
- var SnugNamedProperty$0 = $TS($S(PropertyName, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
10301
- var exp = $3;
10414
+ var SnugNamedProperty$0 = $TS($S(PropertyName, Colon, ExtendedExpression, $E($S($S($E(_), PostfixStatement), $Y($S(Nested, NamedProperty))))), function($skip, $loc, $0, $1, $2, $3, $4) {
10415
+ var name = $1;
10416
+ var colon = $2;
10417
+ var expression = $3;
10418
+ var post = $4;
10419
+ if (post) {
10420
+ expression = attachPostfixStatementAsExpression(expression, post[0]);
10421
+ }
10302
10422
  return {
10303
10423
  type: "Property",
10304
- children: $0,
10305
- names: exp.names || []
10424
+ children: [name, colon, expression],
10425
+ names: expression.names || []
10306
10426
  };
10307
10427
  });
10308
10428
  function SnugNamedProperty(state) {
@@ -10372,7 +10492,7 @@ ${input.slice(result.pos)}
10372
10492
  implicit: true
10373
10493
  };
10374
10494
  });
10375
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10495
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L18, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10376
10496
  const expression = [$2, $3];
10377
10497
  return {
10378
10498
  type: "ComputedPropertyName",
@@ -10661,7 +10781,7 @@ ${input.slice(result.pos)}
10661
10781
  return result;
10662
10782
  }
10663
10783
  }
10664
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L15, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
10784
+ var PrivateIdentifier$0 = $TV($TEXT($S(Hash, IdentifierName)), function($skip, $loc, $0, $1) {
10665
10785
  return {
10666
10786
  type: "Identifier",
10667
10787
  name: $0,
@@ -10792,22 +10912,22 @@ ${input.slice(result.pos)}
10792
10912
  return result;
10793
10913
  }
10794
10914
  }
10795
- var AssignmentOpSymbol$0 = $EXPECT($L36, fail, 'AssignmentOpSymbol "**="');
10796
- var AssignmentOpSymbol$1 = $EXPECT($L37, fail, 'AssignmentOpSymbol "*="');
10797
- var AssignmentOpSymbol$2 = $EXPECT($L38, fail, 'AssignmentOpSymbol "/="');
10798
- var AssignmentOpSymbol$3 = $EXPECT($L39, fail, 'AssignmentOpSymbol "%="');
10799
- var AssignmentOpSymbol$4 = $EXPECT($L40, fail, 'AssignmentOpSymbol "+="');
10800
- var AssignmentOpSymbol$5 = $EXPECT($L41, fail, 'AssignmentOpSymbol "-="');
10801
- var AssignmentOpSymbol$6 = $EXPECT($L42, fail, 'AssignmentOpSymbol "<<="');
10802
- var AssignmentOpSymbol$7 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>>="');
10803
- var AssignmentOpSymbol$8 = $EXPECT($L44, fail, 'AssignmentOpSymbol ">>="');
10804
- var AssignmentOpSymbol$9 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&&="');
10805
- var AssignmentOpSymbol$10 = $EXPECT($L46, fail, 'AssignmentOpSymbol "&="');
10806
- var AssignmentOpSymbol$11 = $EXPECT($L47, fail, 'AssignmentOpSymbol "^="');
10807
- var AssignmentOpSymbol$12 = $EXPECT($L48, fail, 'AssignmentOpSymbol "||="');
10808
- var AssignmentOpSymbol$13 = $EXPECT($L49, fail, 'AssignmentOpSymbol "|="');
10809
- var AssignmentOpSymbol$14 = $EXPECT($L50, fail, 'AssignmentOpSymbol "??="');
10810
- var AssignmentOpSymbol$15 = $T($EXPECT($L51, fail, 'AssignmentOpSymbol "?="'), function(value) {
10915
+ var AssignmentOpSymbol$0 = $EXPECT($L34, fail, 'AssignmentOpSymbol "**="');
10916
+ var AssignmentOpSymbol$1 = $EXPECT($L35, fail, 'AssignmentOpSymbol "*="');
10917
+ var AssignmentOpSymbol$2 = $EXPECT($L36, fail, 'AssignmentOpSymbol "/="');
10918
+ var AssignmentOpSymbol$3 = $EXPECT($L37, fail, 'AssignmentOpSymbol "%="');
10919
+ var AssignmentOpSymbol$4 = $EXPECT($L38, fail, 'AssignmentOpSymbol "+="');
10920
+ var AssignmentOpSymbol$5 = $EXPECT($L39, fail, 'AssignmentOpSymbol "-="');
10921
+ var AssignmentOpSymbol$6 = $EXPECT($L40, fail, 'AssignmentOpSymbol "<<="');
10922
+ var AssignmentOpSymbol$7 = $EXPECT($L41, fail, 'AssignmentOpSymbol ">>>="');
10923
+ var AssignmentOpSymbol$8 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>="');
10924
+ var AssignmentOpSymbol$9 = $EXPECT($L43, fail, 'AssignmentOpSymbol "&&="');
10925
+ var AssignmentOpSymbol$10 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&="');
10926
+ var AssignmentOpSymbol$11 = $EXPECT($L45, fail, 'AssignmentOpSymbol "^="');
10927
+ var AssignmentOpSymbol$12 = $EXPECT($L46, fail, 'AssignmentOpSymbol "||="');
10928
+ var AssignmentOpSymbol$13 = $EXPECT($L47, fail, 'AssignmentOpSymbol "|="');
10929
+ var AssignmentOpSymbol$14 = $EXPECT($L48, fail, 'AssignmentOpSymbol "??="');
10930
+ var AssignmentOpSymbol$15 = $T($EXPECT($L49, fail, 'AssignmentOpSymbol "?="'), function(value) {
10811
10931
  return "??=";
10812
10932
  });
10813
10933
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10838,10 +10958,10 @@ ${input.slice(result.pos)}
10838
10958
  return result;
10839
10959
  }
10840
10960
  }
10841
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10961
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L50, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10842
10962
  return "&&=";
10843
10963
  });
10844
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L53, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10964
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10845
10965
  return "||=";
10846
10966
  });
10847
10967
  function CoffeeWordAssignmentOp(state) {
@@ -10948,27 +11068,27 @@ ${input.slice(result.pos)}
10948
11068
  return result;
10949
11069
  }
10950
11070
  }
10951
- var BinaryOpSymbol$0 = $EXPECT($L54, fail, 'BinaryOpSymbol "**"');
10952
- var BinaryOpSymbol$1 = $EXPECT($L55, fail, 'BinaryOpSymbol "*"');
10953
- var BinaryOpSymbol$2 = $EXPECT($L56, fail, 'BinaryOpSymbol "/"');
10954
- var BinaryOpSymbol$3 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
11071
+ var BinaryOpSymbol$0 = $EXPECT($L52, fail, 'BinaryOpSymbol "**"');
11072
+ var BinaryOpSymbol$1 = $EXPECT($L53, fail, 'BinaryOpSymbol "*"');
11073
+ var BinaryOpSymbol$2 = $EXPECT($L54, fail, 'BinaryOpSymbol "/"');
11074
+ var BinaryOpSymbol$3 = $TV($EXPECT($L55, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10955
11075
  return {
10956
11076
  call: module.getRef("modulo"),
10957
11077
  special: true
10958
11078
  };
10959
11079
  });
10960
- var BinaryOpSymbol$4 = $EXPECT($L58, fail, 'BinaryOpSymbol "%"');
10961
- var BinaryOpSymbol$5 = $EXPECT($L59, fail, 'BinaryOpSymbol "+"');
10962
- var BinaryOpSymbol$6 = $EXPECT($L20, fail, 'BinaryOpSymbol "-"');
10963
- var BinaryOpSymbol$7 = $EXPECT($L60, fail, 'BinaryOpSymbol "<="');
10964
- var BinaryOpSymbol$8 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
11080
+ var BinaryOpSymbol$4 = $EXPECT($L56, fail, 'BinaryOpSymbol "%"');
11081
+ var BinaryOpSymbol$5 = $EXPECT($L57, fail, 'BinaryOpSymbol "+"');
11082
+ var BinaryOpSymbol$6 = $EXPECT($L18, fail, 'BinaryOpSymbol "-"');
11083
+ var BinaryOpSymbol$7 = $EXPECT($L58, fail, 'BinaryOpSymbol "<="');
11084
+ var BinaryOpSymbol$8 = $T($EXPECT($L59, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10965
11085
  return "<=";
10966
11086
  });
10967
- var BinaryOpSymbol$9 = $EXPECT($L62, fail, 'BinaryOpSymbol ">="');
10968
- var BinaryOpSymbol$10 = $T($EXPECT($L63, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
11087
+ var BinaryOpSymbol$9 = $EXPECT($L60, fail, 'BinaryOpSymbol ">="');
11088
+ var BinaryOpSymbol$10 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10969
11089
  return ">=";
10970
11090
  });
10971
- var BinaryOpSymbol$11 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
11091
+ var BinaryOpSymbol$11 = $TV($EXPECT($L62, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10972
11092
  return {
10973
11093
  $loc,
10974
11094
  token: "instanceof",
@@ -10976,7 +11096,7 @@ ${input.slice(result.pos)}
10976
11096
  special: true
10977
11097
  };
10978
11098
  });
10979
- var BinaryOpSymbol$12 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
11099
+ var BinaryOpSymbol$12 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10980
11100
  return {
10981
11101
  $loc,
10982
11102
  token: "instanceof",
@@ -10985,79 +11105,79 @@ ${input.slice(result.pos)}
10985
11105
  negated: true
10986
11106
  };
10987
11107
  });
10988
- var BinaryOpSymbol$13 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
10989
- var BinaryOpSymbol$14 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
11108
+ var BinaryOpSymbol$13 = $EXPECT($L64, fail, 'BinaryOpSymbol "<<"');
11109
+ var BinaryOpSymbol$14 = $T($EXPECT($L65, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10990
11110
  return "<<";
10991
11111
  });
10992
11112
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10993
11113
  return "<";
10994
11114
  });
10995
- var BinaryOpSymbol$16 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>>"');
10996
- var BinaryOpSymbol$17 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
11115
+ var BinaryOpSymbol$16 = $EXPECT($L66, fail, 'BinaryOpSymbol ">>>"');
11116
+ var BinaryOpSymbol$17 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10997
11117
  return ">>>";
10998
11118
  });
10999
- var BinaryOpSymbol$18 = $EXPECT($L70, fail, 'BinaryOpSymbol ">>"');
11000
- var BinaryOpSymbol$19 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
11119
+ var BinaryOpSymbol$18 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>"');
11120
+ var BinaryOpSymbol$19 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
11001
11121
  return ">>";
11002
11122
  });
11003
- var BinaryOpSymbol$20 = $EXPECT($L34, fail, 'BinaryOpSymbol ">"');
11004
- var BinaryOpSymbol$21 = $EXPECT($L72, fail, 'BinaryOpSymbol "!=="');
11005
- var BinaryOpSymbol$22 = $T($EXPECT($L73, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11123
+ var BinaryOpSymbol$20 = $EXPECT($L32, fail, 'BinaryOpSymbol ">"');
11124
+ var BinaryOpSymbol$21 = $EXPECT($L70, fail, 'BinaryOpSymbol "!=="');
11125
+ var BinaryOpSymbol$22 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11006
11126
  return "!==";
11007
11127
  });
11008
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "!="'), $EXPECT($L75, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11128
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L72, fail, 'BinaryOpSymbol "!="'), $EXPECT($L73, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11009
11129
  if (module.config.coffeeEq)
11010
11130
  return "!==";
11011
11131
  return "!=";
11012
11132
  });
11013
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11133
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L74, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11014
11134
  if (module.config.coffeeIsnt)
11015
11135
  return "!==";
11016
11136
  return $skip;
11017
11137
  });
11018
- var BinaryOpSymbol$25 = $EXPECT($L77, fail, 'BinaryOpSymbol "==="');
11019
- var BinaryOpSymbol$26 = $T($C($EXPECT($L78, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11138
+ var BinaryOpSymbol$25 = $EXPECT($L75, fail, 'BinaryOpSymbol "==="');
11139
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L76, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L77, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11020
11140
  return "===";
11021
11141
  });
11022
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L80, fail, 'BinaryOpSymbol "=="'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L82, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11142
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L78, fail, 'BinaryOpSymbol "=="'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L80, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11023
11143
  if (module.config.coffeeEq)
11024
11144
  return "===";
11025
11145
  return "==";
11026
11146
  });
11027
- var BinaryOpSymbol$28 = $T($S($EXPECT($L83, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11147
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L81, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11028
11148
  return "&&";
11029
11149
  });
11030
- var BinaryOpSymbol$29 = $EXPECT($L84, fail, 'BinaryOpSymbol "&&"');
11031
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11150
+ var BinaryOpSymbol$29 = $EXPECT($L82, fail, 'BinaryOpSymbol "&&"');
11151
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L83, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11032
11152
  return "in";
11033
11153
  });
11034
- var BinaryOpSymbol$31 = $T($S($EXPECT($L86, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11154
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L84, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11035
11155
  return "||";
11036
11156
  });
11037
- var BinaryOpSymbol$32 = $EXPECT($L87, fail, 'BinaryOpSymbol "||"');
11038
- var BinaryOpSymbol$33 = $T($EXPECT($L88, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11157
+ var BinaryOpSymbol$32 = $EXPECT($L85, fail, 'BinaryOpSymbol "||"');
11158
+ var BinaryOpSymbol$33 = $T($EXPECT($L86, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11039
11159
  return "||";
11040
11160
  });
11041
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L89, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11161
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L87, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L88, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11042
11162
  return {
11043
11163
  call: module.getRef("xor"),
11044
11164
  special: true
11045
11165
  };
11046
11166
  });
11047
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11167
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L89, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11048
11168
  return {
11049
11169
  call: module.getRef("xnor"),
11050
11170
  special: true
11051
11171
  };
11052
11172
  });
11053
- var BinaryOpSymbol$36 = $EXPECT($L92, fail, 'BinaryOpSymbol "??"');
11054
- var BinaryOpSymbol$37 = $T($EXPECT($L93, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11173
+ var BinaryOpSymbol$36 = $EXPECT($L90, fail, 'BinaryOpSymbol "??"');
11174
+ var BinaryOpSymbol$37 = $T($EXPECT($L91, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11055
11175
  return "??";
11056
11176
  });
11057
11177
  var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, fail, 'BinaryOpSymbol "?"')), function(value) {
11058
11178
  return "??";
11059
11179
  });
11060
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11180
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L92, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11061
11181
  return {
11062
11182
  $loc,
11063
11183
  token: $1,
@@ -11065,7 +11185,7 @@ ${input.slice(result.pos)}
11065
11185
  special: true
11066
11186
  };
11067
11187
  });
11068
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11188
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L92, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11069
11189
  return {
11070
11190
  $loc,
11071
11191
  token: "instanceof",
@@ -11074,7 +11194,7 @@ ${input.slice(result.pos)}
11074
11194
  negated: true
11075
11195
  };
11076
11196
  });
11077
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11197
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L83, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11078
11198
  return {
11079
11199
  $loc,
11080
11200
  token: "in",
@@ -11082,7 +11202,7 @@ ${input.slice(result.pos)}
11082
11202
  negated: true
11083
11203
  };
11084
11204
  });
11085
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L95, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11205
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L93, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11086
11206
  return {
11087
11207
  method: "includes",
11088
11208
  relational: true,
@@ -11090,14 +11210,14 @@ ${input.slice(result.pos)}
11090
11210
  special: true
11091
11211
  };
11092
11212
  });
11093
- var BinaryOpSymbol$43 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11213
+ var BinaryOpSymbol$43 = $TV($EXPECT($L94, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11094
11214
  return {
11095
11215
  method: "includes",
11096
11216
  relational: true,
11097
11217
  special: true
11098
11218
  };
11099
11219
  });
11100
- var BinaryOpSymbol$44 = $TV($EXPECT($L97, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11220
+ var BinaryOpSymbol$44 = $TV($EXPECT($L95, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11101
11221
  return {
11102
11222
  method: "includes",
11103
11223
  relational: true,
@@ -11114,7 +11234,7 @@ ${input.slice(result.pos)}
11114
11234
  special: true
11115
11235
  };
11116
11236
  });
11117
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11237
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L96, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11118
11238
  return {
11119
11239
  method: "includes",
11120
11240
  relational: true,
@@ -11158,9 +11278,9 @@ ${input.slice(result.pos)}
11158
11278
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
11159
11279
  return "in";
11160
11280
  });
11161
- var BinaryOpSymbol$51 = $EXPECT($L99, fail, 'BinaryOpSymbol "&"');
11162
- var BinaryOpSymbol$52 = $EXPECT($L19, fail, 'BinaryOpSymbol "^"');
11163
- var BinaryOpSymbol$53 = $EXPECT($L100, fail, 'BinaryOpSymbol "|"');
11281
+ var BinaryOpSymbol$51 = $EXPECT($L97, fail, 'BinaryOpSymbol "&"');
11282
+ var BinaryOpSymbol$52 = $EXPECT($L17, fail, 'BinaryOpSymbol "^"');
11283
+ var BinaryOpSymbol$53 = $EXPECT($L98, fail, 'BinaryOpSymbol "|"');
11164
11284
  function BinaryOpSymbol(state) {
11165
11285
  let eventData;
11166
11286
  if (state.events) {
@@ -11183,8 +11303,8 @@ ${input.slice(result.pos)}
11183
11303
  return result;
11184
11304
  }
11185
11305
  }
11186
- var Xor$0 = $EXPECT($L89, fail, 'Xor "^^"');
11187
- var Xor$1 = $S($EXPECT($L90, fail, 'Xor "xor"'), NonIdContinue);
11306
+ var Xor$0 = $EXPECT($L87, fail, 'Xor "^^"');
11307
+ var Xor$1 = $S($EXPECT($L88, fail, 'Xor "xor"'), NonIdContinue);
11188
11308
  function Xor(state) {
11189
11309
  let eventData;
11190
11310
  if (state.events) {
@@ -11208,7 +11328,7 @@ ${input.slice(result.pos)}
11208
11328
  }
11209
11329
  }
11210
11330
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
11211
- var Xnor$1 = $EXPECT($L91, fail, 'Xnor "xnor"');
11331
+ var Xnor$1 = $EXPECT($L89, fail, 'Xnor "xnor"');
11212
11332
  function Xnor(state) {
11213
11333
  let eventData;
11214
11334
  if (state.events) {
@@ -11496,7 +11616,7 @@ ${input.slice(result.pos)}
11496
11616
  return result;
11497
11617
  }
11498
11618
  }
11499
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11619
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L99, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11500
11620
  return { type: "EmptyStatement", children: $1 || [] };
11501
11621
  });
11502
11622
  function EmptyStatement(state) {
@@ -11575,7 +11695,7 @@ ${input.slice(result.pos)}
11575
11695
  var w = $3;
11576
11696
  return [id, colon, w];
11577
11697
  });
11578
- var Label$1 = $S($EXPECT($L102, fail, 'Label "$:"'), Whitespace);
11698
+ var Label$1 = $S($EXPECT($L100, fail, 'Label "$:"'), Whitespace);
11579
11699
  function Label(state) {
11580
11700
  let eventData;
11581
11701
  if (state.events) {
@@ -12053,6 +12173,7 @@ ${input.slice(result.pos)}
12053
12173
  subtype: statement.type,
12054
12174
  children: [statement],
12055
12175
  block: statement.block,
12176
+ statement,
12056
12177
  async
12057
12178
  };
12058
12179
  });
@@ -12419,7 +12540,7 @@ ${input.slice(result.pos)}
12419
12540
  }
12420
12541
  if (declaration.own) {
12421
12542
  const hasPropRef = module.getRef("hasProp");
12422
- blockPrefix.push(["", "if (!", hasPropRef, ".call(", exp, ", ", declaration, ")) continue", ";"]);
12543
+ blockPrefix.push(["", "if (!", hasPropRef, "(", exp, ", ", declaration, ")) continue", ";"]);
12423
12544
  }
12424
12545
  if (index) {
12425
12546
  blockPrefix.push(["", {
@@ -12544,7 +12665,7 @@ ${input.slice(result.pos)}
12544
12665
  return result;
12545
12666
  }
12546
12667
  }
12547
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L103, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12668
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, Own)), ForBinding), function($skip, $loc, $0, $1, $2) {
12548
12669
  var own = $1;
12549
12670
  var binding = $2;
12550
12671
  return {
@@ -12590,11 +12711,11 @@ ${input.slice(result.pos)}
12590
12711
  children: $0
12591
12712
  };
12592
12713
  });
12593
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), $E($S(Each, __)), $S(OpenParen, __), ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12594
- return processForInOf($0);
12714
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), $E($S($C(Each, Own), __)), $S(OpenParen, __), ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12715
+ return processForInOf($0, module.getRef);
12595
12716
  });
12596
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), $E($S(Each, __)), InsertOpenParen, ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12597
- return processForInOf($0);
12717
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), $E($S($C(Each, Own), __)), InsertOpenParen, ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12718
+ return processForInOf($0, module.getRef);
12598
12719
  });
12599
12720
  var ForStatementParameters$4 = ForRangeParameters;
12600
12721
  function ForStatementParameters(state) {
@@ -14173,7 +14294,7 @@ ${input.slice(result.pos)}
14173
14294
  return result;
14174
14295
  }
14175
14296
  }
14176
- var Break$0 = $TS($S($EXPECT($L104, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14297
+ var Break$0 = $TS($S($EXPECT($L101, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14177
14298
  return { $loc, token: $1 };
14178
14299
  });
14179
14300
  function Break(state) {
@@ -14198,7 +14319,7 @@ ${input.slice(result.pos)}
14198
14319
  return result;
14199
14320
  }
14200
14321
  }
14201
- var Continue$0 = $TS($S($EXPECT($L105, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14322
+ var Continue$0 = $TS($S($EXPECT($L102, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14202
14323
  return { $loc, token: $1 };
14203
14324
  });
14204
14325
  function Continue(state) {
@@ -14223,7 +14344,7 @@ ${input.slice(result.pos)}
14223
14344
  return result;
14224
14345
  }
14225
14346
  }
14226
- var Debugger$0 = $TS($S($EXPECT($L106, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14347
+ var Debugger$0 = $TS($S($EXPECT($L103, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14227
14348
  return { $loc, token: $1 };
14228
14349
  });
14229
14350
  function Debugger(state) {
@@ -14529,7 +14650,7 @@ ${input.slice(result.pos)}
14529
14650
  return result;
14530
14651
  }
14531
14652
  }
14532
- var ImportAssertion$0 = $S($E(_), $EXPECT($L107, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14653
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L104, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14533
14654
  function ImportAssertion(state) {
14534
14655
  let eventData;
14535
14656
  if (state.events) {
@@ -15099,7 +15220,7 @@ ${input.slice(result.pos)}
15099
15220
  return result;
15100
15221
  }
15101
15222
  }
15102
- var ConstAssignment$0 = $TV($C($EXPECT($L108, fail, 'ConstAssignment ":="'), $EXPECT($L109, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15223
+ var ConstAssignment$0 = $TV($C($EXPECT($L105, fail, 'ConstAssignment ":="'), $EXPECT($L106, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15103
15224
  return { $loc, token: "=" };
15104
15225
  });
15105
15226
  function ConstAssignment(state) {
@@ -15124,7 +15245,7 @@ ${input.slice(result.pos)}
15124
15245
  return result;
15125
15246
  }
15126
15247
  }
15127
- var LetAssignment$0 = $TV($EXPECT($L110, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15248
+ var LetAssignment$0 = $TV($EXPECT($L107, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15128
15249
  return { $loc, token: "=" };
15129
15250
  });
15130
15251
  function LetAssignment(state) {
@@ -15770,7 +15891,7 @@ ${input.slice(result.pos)}
15770
15891
  }
15771
15892
  }
15772
15893
  var RegularExpressionLiteral$0 = HeregexLiteral;
15773
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15894
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15774
15895
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
15775
15896
  });
15776
15897
  function RegularExpressionLiteral(state) {
@@ -16337,7 +16458,7 @@ ${input.slice(result.pos)}
16337
16458
  return result;
16338
16459
  }
16339
16460
  }
16340
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L112, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16461
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L108, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L109, fail, 'JSMultiLineComment "*/"')), $EXPECT($R42, fail, "JSMultiLineComment /./"))), $EXPECT($L109, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
16341
16462
  return { type: "Comment", $loc, token: $1 };
16342
16463
  });
16343
16464
  function JSMultiLineComment(state) {
@@ -16436,7 +16557,7 @@ ${input.slice(result.pos)}
16436
16557
  return result;
16437
16558
  }
16438
16559
  }
16439
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L111, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L112, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L112, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16560
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L108, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L109, fail, 'InlineComment "*/"')), $EXPECT($R46, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L109, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
16440
16561
  return { $loc, token: $1 };
16441
16562
  });
16442
16563
  function InlineComment(state) {
@@ -16533,7 +16654,7 @@ ${input.slice(result.pos)}
16533
16654
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16534
16655
  return { $loc, token: $0 };
16535
16656
  });
16536
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L113, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16657
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L110, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16537
16658
  return "";
16538
16659
  });
16539
16660
  function NonNewlineWhitespace(state) {
@@ -16685,7 +16806,7 @@ ${input.slice(result.pos)}
16685
16806
  }
16686
16807
  }
16687
16808
  var StatementDelimiter$0 = SemicolonDelimiter;
16688
- var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, fail, 'StatementDelimiter "("'), $EXPECT($L114, fail, 'StatementDelimiter "["'), $EXPECT($L115, fail, 'StatementDelimiter "`"'), $EXPECT($L59, fail, 'StatementDelimiter "+"'), $EXPECT($L20, fail, 'StatementDelimiter "-"'), $EXPECT($L55, fail, 'StatementDelimiter "*"'), $EXPECT($L56, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16809
+ var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, fail, 'StatementDelimiter "("'), $EXPECT($L111, fail, 'StatementDelimiter "["'), $EXPECT($L112, fail, 'StatementDelimiter "`"'), $EXPECT($L57, fail, 'StatementDelimiter "+"'), $EXPECT($L18, fail, 'StatementDelimiter "-"'), $EXPECT($L53, fail, 'StatementDelimiter "*"'), $EXPECT($L54, fail, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, fail, 'StatementDelimiter "("'))))), InsertSemicolon);
16689
16810
  var StatementDelimiter$2 = $Y(EOS);
16690
16811
  function StatementDelimiter(state) {
16691
16812
  let eventData;
@@ -16785,7 +16906,7 @@ ${input.slice(result.pos)}
16785
16906
  return result;
16786
16907
  }
16787
16908
  }
16788
- var Abstract$0 = $TV($TEXT($S($EXPECT($L116, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16909
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L113, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16789
16910
  return { $loc, token: $1, ts: true };
16790
16911
  });
16791
16912
  function Abstract(state) {
@@ -16810,7 +16931,7 @@ ${input.slice(result.pos)}
16810
16931
  return result;
16811
16932
  }
16812
16933
  }
16813
- var Ampersand$0 = $TV($EXPECT($L99, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16934
+ var Ampersand$0 = $TV($EXPECT($L97, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16814
16935
  return { $loc, token: $1 };
16815
16936
  });
16816
16937
  function Ampersand(state) {
@@ -16835,7 +16956,7 @@ ${input.slice(result.pos)}
16835
16956
  return result;
16836
16957
  }
16837
16958
  }
16838
- var As$0 = $TS($S($EXPECT($L117, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16959
+ var As$0 = $TS($S($EXPECT($L114, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16839
16960
  return { $loc, token: $1 };
16840
16961
  });
16841
16962
  function As(state) {
@@ -16860,7 +16981,7 @@ ${input.slice(result.pos)}
16860
16981
  return result;
16861
16982
  }
16862
16983
  }
16863
- var At$0 = $TV($EXPECT($L118, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16984
+ var At$0 = $TV($EXPECT($L115, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16864
16985
  return { $loc, token: $1 };
16865
16986
  });
16866
16987
  function At(state) {
@@ -16885,7 +17006,7 @@ ${input.slice(result.pos)}
16885
17006
  return result;
16886
17007
  }
16887
17008
  }
16888
- var AtAt$0 = $TV($EXPECT($L119, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
17009
+ var AtAt$0 = $TV($EXPECT($L116, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16889
17010
  return { $loc, token: "@" };
16890
17011
  });
16891
17012
  function AtAt(state) {
@@ -16910,7 +17031,7 @@ ${input.slice(result.pos)}
16910
17031
  return result;
16911
17032
  }
16912
17033
  }
16913
- var Async$0 = $TS($S($EXPECT($L120, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17034
+ var Async$0 = $TS($S($EXPECT($L117, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16914
17035
  return { $loc, token: $1, type: "Async" };
16915
17036
  });
16916
17037
  function Async(state) {
@@ -16935,7 +17056,7 @@ ${input.slice(result.pos)}
16935
17056
  return result;
16936
17057
  }
16937
17058
  }
16938
- var Await$0 = $TS($S($EXPECT($L121, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17059
+ var Await$0 = $TS($S($EXPECT($L118, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16939
17060
  return { $loc, token: $1, type: "Await" };
16940
17061
  });
16941
17062
  function Await(state) {
@@ -16960,7 +17081,7 @@ ${input.slice(result.pos)}
16960
17081
  return result;
16961
17082
  }
16962
17083
  }
16963
- var Backtick$0 = $TV($EXPECT($L115, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17084
+ var Backtick$0 = $TV($EXPECT($L112, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16964
17085
  return { $loc, token: $1 };
16965
17086
  });
16966
17087
  function Backtick(state) {
@@ -16985,7 +17106,7 @@ ${input.slice(result.pos)}
16985
17106
  return result;
16986
17107
  }
16987
17108
  }
16988
- var By$0 = $TS($S($EXPECT($L122, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17109
+ var By$0 = $TS($S($EXPECT($L119, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16989
17110
  return { $loc, token: $1 };
16990
17111
  });
16991
17112
  function By(state) {
@@ -17010,7 +17131,7 @@ ${input.slice(result.pos)}
17010
17131
  return result;
17011
17132
  }
17012
17133
  }
17013
- var Case$0 = $TS($S($EXPECT($L123, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17134
+ var Case$0 = $TS($S($EXPECT($L120, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17014
17135
  return { $loc, token: $1 };
17015
17136
  });
17016
17137
  function Case(state) {
@@ -17035,7 +17156,7 @@ ${input.slice(result.pos)}
17035
17156
  return result;
17036
17157
  }
17037
17158
  }
17038
- var Catch$0 = $TS($S($EXPECT($L124, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17159
+ var Catch$0 = $TS($S($EXPECT($L121, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17039
17160
  return { $loc, token: $1 };
17040
17161
  });
17041
17162
  function Catch(state) {
@@ -17060,7 +17181,7 @@ ${input.slice(result.pos)}
17060
17181
  return result;
17061
17182
  }
17062
17183
  }
17063
- var Class$0 = $TS($S($EXPECT($L125, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17184
+ var Class$0 = $TS($S($EXPECT($L122, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17064
17185
  return { $loc, token: $1 };
17065
17186
  });
17066
17187
  function Class(state) {
@@ -17085,7 +17206,7 @@ ${input.slice(result.pos)}
17085
17206
  return result;
17086
17207
  }
17087
17208
  }
17088
- var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17209
+ var CloseBrace$0 = $TV($EXPECT($L24, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17089
17210
  return { $loc, token: $1 };
17090
17211
  });
17091
17212
  function CloseBrace(state) {
@@ -17110,7 +17231,7 @@ ${input.slice(result.pos)}
17110
17231
  return result;
17111
17232
  }
17112
17233
  }
17113
- var CloseBracket$0 = $TV($EXPECT($L35, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17234
+ var CloseBracket$0 = $TV($EXPECT($L33, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17114
17235
  return { $loc, token: $1 };
17115
17236
  });
17116
17237
  function CloseBracket(state) {
@@ -17135,7 +17256,7 @@ ${input.slice(result.pos)}
17135
17256
  return result;
17136
17257
  }
17137
17258
  }
17138
- var CloseParen$0 = $TV($EXPECT($L126, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17259
+ var CloseParen$0 = $TV($EXPECT($L123, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17139
17260
  return { $loc, token: $1 };
17140
17261
  });
17141
17262
  function CloseParen(state) {
@@ -17160,7 +17281,7 @@ ${input.slice(result.pos)}
17160
17281
  return result;
17161
17282
  }
17162
17283
  }
17163
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17284
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L124, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17164
17285
  return { $loc, token: "${" };
17165
17286
  });
17166
17287
  function CoffeeSubstitutionStart(state) {
@@ -17210,7 +17331,7 @@ ${input.slice(result.pos)}
17210
17331
  return result;
17211
17332
  }
17212
17333
  }
17213
- var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17334
+ var Comma$0 = $TV($EXPECT($L21, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17214
17335
  return { $loc, token: $1 };
17215
17336
  });
17216
17337
  function Comma(state) {
@@ -17235,7 +17356,7 @@ ${input.slice(result.pos)}
17235
17356
  return result;
17236
17357
  }
17237
17358
  }
17238
- var ConstructorShorthand$0 = $TV($EXPECT($L118, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17359
+ var ConstructorShorthand$0 = $TV($EXPECT($L115, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17239
17360
  return { $loc, token: "constructor" };
17240
17361
  });
17241
17362
  function ConstructorShorthand(state) {
@@ -17260,7 +17381,7 @@ ${input.slice(result.pos)}
17260
17381
  return result;
17261
17382
  }
17262
17383
  }
17263
- var Declare$0 = $TS($S($EXPECT($L128, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17384
+ var Declare$0 = $TS($S($EXPECT($L125, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17264
17385
  return { $loc, token: $1 };
17265
17386
  });
17266
17387
  function Declare(state) {
@@ -17285,7 +17406,7 @@ ${input.slice(result.pos)}
17285
17406
  return result;
17286
17407
  }
17287
17408
  }
17288
- var Default$0 = $TS($S($EXPECT($L129, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17409
+ var Default$0 = $TS($S($EXPECT($L126, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17289
17410
  return { $loc, token: $1 };
17290
17411
  });
17291
17412
  function Default(state) {
@@ -17310,7 +17431,7 @@ ${input.slice(result.pos)}
17310
17431
  return result;
17311
17432
  }
17312
17433
  }
17313
- var Delete$0 = $TS($S($EXPECT($L130, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17434
+ var Delete$0 = $TS($S($EXPECT($L127, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17314
17435
  return { $loc, token: $1 };
17315
17436
  });
17316
17437
  function Delete(state) {
@@ -17335,7 +17456,7 @@ ${input.slice(result.pos)}
17335
17456
  return result;
17336
17457
  }
17337
17458
  }
17338
- var Do$0 = $TS($S($EXPECT($L131, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17459
+ var Do$0 = $TS($S($EXPECT($L128, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17339
17460
  return { $loc, token: $1 };
17340
17461
  });
17341
17462
  function Do(state) {
@@ -17392,10 +17513,10 @@ ${input.slice(result.pos)}
17392
17513
  return result;
17393
17514
  }
17394
17515
  }
17395
- var DotDot$0 = $TS($S($EXPECT($L132, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17516
+ var DotDot$0 = $TS($S($EXPECT($L129, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17396
17517
  return { $loc, token: $1 };
17397
17518
  });
17398
- var DotDot$1 = $TV($EXPECT($L133, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17519
+ var DotDot$1 = $TV($EXPECT($L130, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17399
17520
  return { $loc, token: ".." };
17400
17521
  });
17401
17522
  function DotDot(state) {
@@ -17420,10 +17541,10 @@ ${input.slice(result.pos)}
17420
17541
  return result;
17421
17542
  }
17422
17543
  }
17423
- var DotDotDot$0 = $TV($EXPECT($L134, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17544
+ var DotDotDot$0 = $TV($EXPECT($L131, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17424
17545
  return { $loc, token: $1 };
17425
17546
  });
17426
- var DotDotDot$1 = $TV($EXPECT($L135, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17547
+ var DotDotDot$1 = $TV($EXPECT($L132, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17427
17548
  return { $loc, token: "..." };
17428
17549
  });
17429
17550
  function DotDotDot(state) {
@@ -17448,7 +17569,7 @@ ${input.slice(result.pos)}
17448
17569
  return result;
17449
17570
  }
17450
17571
  }
17451
- var DoubleColon$0 = $TV($EXPECT($L136, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17572
+ var DoubleColon$0 = $TV($EXPECT($L133, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17452
17573
  return { $loc, token: $1 };
17453
17574
  });
17454
17575
  function DoubleColon(state) {
@@ -17473,7 +17594,7 @@ ${input.slice(result.pos)}
17473
17594
  return result;
17474
17595
  }
17475
17596
  }
17476
- var DoubleQuote$0 = $TV($EXPECT($L137, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17597
+ var DoubleQuote$0 = $TV($EXPECT($L134, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17477
17598
  return { $loc, token: $1 };
17478
17599
  });
17479
17600
  function DoubleQuote(state) {
@@ -17498,7 +17619,7 @@ ${input.slice(result.pos)}
17498
17619
  return result;
17499
17620
  }
17500
17621
  }
17501
- var Each$0 = $TS($S($EXPECT($L138, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17622
+ var Each$0 = $TS($S($EXPECT($L135, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17502
17623
  return { $loc, token: $1 };
17503
17624
  });
17504
17625
  function Each(state) {
@@ -17523,7 +17644,7 @@ ${input.slice(result.pos)}
17523
17644
  return result;
17524
17645
  }
17525
17646
  }
17526
- var Else$0 = $TS($S($EXPECT($L139, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17647
+ var Else$0 = $TS($S($EXPECT($L136, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17527
17648
  return { $loc, token: $1 };
17528
17649
  });
17529
17650
  function Else(state) {
@@ -17573,7 +17694,7 @@ ${input.slice(result.pos)}
17573
17694
  return result;
17574
17695
  }
17575
17696
  }
17576
- var Export$0 = $TS($S($EXPECT($L140, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17697
+ var Export$0 = $TS($S($EXPECT($L137, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17577
17698
  return { $loc, token: $1 };
17578
17699
  });
17579
17700
  function Export(state) {
@@ -17598,7 +17719,7 @@ ${input.slice(result.pos)}
17598
17719
  return result;
17599
17720
  }
17600
17721
  }
17601
- var Extends$0 = $TS($S($EXPECT($L141, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17722
+ var Extends$0 = $TS($S($EXPECT($L138, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17602
17723
  return { $loc, token: $1 };
17603
17724
  });
17604
17725
  function Extends(state) {
@@ -17623,7 +17744,7 @@ ${input.slice(result.pos)}
17623
17744
  return result;
17624
17745
  }
17625
17746
  }
17626
- var Finally$0 = $TS($S($EXPECT($L142, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17747
+ var Finally$0 = $TS($S($EXPECT($L139, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17627
17748
  return { $loc, token: $1 };
17628
17749
  });
17629
17750
  function Finally(state) {
@@ -17648,7 +17769,7 @@ ${input.slice(result.pos)}
17648
17769
  return result;
17649
17770
  }
17650
17771
  }
17651
- var For$0 = $TS($S($EXPECT($L143, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17772
+ var For$0 = $TS($S($EXPECT($L140, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17652
17773
  return { $loc, token: $1 };
17653
17774
  });
17654
17775
  function For(state) {
@@ -17673,7 +17794,7 @@ ${input.slice(result.pos)}
17673
17794
  return result;
17674
17795
  }
17675
17796
  }
17676
- var From$0 = $TS($S($EXPECT($L144, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17797
+ var From$0 = $TS($S($EXPECT($L141, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17677
17798
  return { $loc, token: $1 };
17678
17799
  });
17679
17800
  function From(state) {
@@ -17698,7 +17819,7 @@ ${input.slice(result.pos)}
17698
17819
  return result;
17699
17820
  }
17700
17821
  }
17701
- var Function$0 = $TS($S($EXPECT($L145, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17822
+ var Function$0 = $TS($S($EXPECT($L142, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17702
17823
  return { $loc, token: $1 };
17703
17824
  });
17704
17825
  function Function(state) {
@@ -17723,7 +17844,7 @@ ${input.slice(result.pos)}
17723
17844
  return result;
17724
17845
  }
17725
17846
  }
17726
- var GetOrSet$0 = $TS($S($C($EXPECT($L146, fail, 'GetOrSet "get"'), $EXPECT($L147, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17847
+ var GetOrSet$0 = $TS($S($C($EXPECT($L143, fail, 'GetOrSet "get"'), $EXPECT($L144, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17727
17848
  return { $loc, token: $1, type: "GetOrSet" };
17728
17849
  });
17729
17850
  function GetOrSet(state) {
@@ -17748,7 +17869,32 @@ ${input.slice(result.pos)}
17748
17869
  return result;
17749
17870
  }
17750
17871
  }
17751
- var If$0 = $TV($TEXT($S($EXPECT($L148, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17872
+ var Hash$0 = $TV($EXPECT($L145, fail, 'Hash "#"'), function($skip, $loc, $0, $1) {
17873
+ return { $loc, token: $1 };
17874
+ });
17875
+ function Hash(state) {
17876
+ let eventData;
17877
+ if (state.events) {
17878
+ const result = state.events.enter?.("Hash", state);
17879
+ if (result) {
17880
+ if (result.cache)
17881
+ return result.cache;
17882
+ eventData = result.data;
17883
+ }
17884
+ }
17885
+ if (state.tokenize) {
17886
+ const result = $TOKEN("Hash", state, Hash$0(state));
17887
+ if (state.events)
17888
+ state.events.exit?.("Hash", state, result, eventData);
17889
+ return result;
17890
+ } else {
17891
+ const result = Hash$0(state);
17892
+ if (state.events)
17893
+ state.events.exit?.("Hash", state, result, eventData);
17894
+ return result;
17895
+ }
17896
+ }
17897
+ var If$0 = $TV($TEXT($S($EXPECT($L146, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17752
17898
  return { $loc, token: $1 };
17753
17899
  });
17754
17900
  function If(state) {
@@ -17773,7 +17919,7 @@ ${input.slice(result.pos)}
17773
17919
  return result;
17774
17920
  }
17775
17921
  }
17776
- var Import$0 = $TS($S($EXPECT($L17, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17922
+ var Import$0 = $TS($S($EXPECT($L15, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17777
17923
  return { $loc, token: $1 };
17778
17924
  });
17779
17925
  function Import(state) {
@@ -17798,7 +17944,7 @@ ${input.slice(result.pos)}
17798
17944
  return result;
17799
17945
  }
17800
17946
  }
17801
- var In$0 = $TS($S($EXPECT($L149, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17947
+ var In$0 = $TS($S($EXPECT($L147, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17802
17948
  return { $loc, token: $1 };
17803
17949
  });
17804
17950
  function In(state) {
@@ -17823,7 +17969,7 @@ ${input.slice(result.pos)}
17823
17969
  return result;
17824
17970
  }
17825
17971
  }
17826
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, fail, 'LetOrConst "let"'), $EXPECT($L151, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17972
+ var LetOrConst$0 = $TS($S($C($EXPECT($L148, fail, 'LetOrConst "let"'), $EXPECT($L149, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17827
17973
  return { $loc, token: $1 };
17828
17974
  });
17829
17975
  function LetOrConst(state) {
@@ -17848,7 +17994,7 @@ ${input.slice(result.pos)}
17848
17994
  return result;
17849
17995
  }
17850
17996
  }
17851
- var Const$0 = $TS($S($EXPECT($L151, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17997
+ var Const$0 = $TS($S($EXPECT($L149, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17852
17998
  return { $loc, token: $1 };
17853
17999
  });
17854
18000
  function Const(state) {
@@ -17873,7 +18019,7 @@ ${input.slice(result.pos)}
17873
18019
  return result;
17874
18020
  }
17875
18021
  }
17876
- var Is$0 = $TS($S($EXPECT($L152, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18022
+ var Is$0 = $TS($S($EXPECT($L150, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17877
18023
  return { $loc, token: $1 };
17878
18024
  });
17879
18025
  function Is(state) {
@@ -17922,7 +18068,7 @@ ${input.slice(result.pos)}
17922
18068
  return result;
17923
18069
  }
17924
18070
  }
17925
- var Loop$0 = $TS($S($EXPECT($L153, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18071
+ var Loop$0 = $TS($S($EXPECT($L151, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17926
18072
  return { $loc, token: "while(true)" };
17927
18073
  });
17928
18074
  function Loop(state) {
@@ -17947,7 +18093,7 @@ ${input.slice(result.pos)}
17947
18093
  return result;
17948
18094
  }
17949
18095
  }
17950
- var New$0 = $TS($S($EXPECT($L154, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18096
+ var New$0 = $TS($S($EXPECT($L152, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17951
18097
  return { $loc, token: $1 };
17952
18098
  });
17953
18099
  function New(state) {
@@ -17972,7 +18118,7 @@ ${input.slice(result.pos)}
17972
18118
  return result;
17973
18119
  }
17974
18120
  }
17975
- var Not$0 = $TS($S($EXPECT($L155, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
18121
+ var Not$0 = $TS($S($EXPECT($L153, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17976
18122
  return { $loc, token: "!" };
17977
18123
  });
17978
18124
  function Not(state) {
@@ -17997,7 +18143,7 @@ ${input.slice(result.pos)}
17997
18143
  return result;
17998
18144
  }
17999
18145
  }
18000
- var Of$0 = $TS($S($EXPECT($L85, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18146
+ var Of$0 = $TS($S($EXPECT($L83, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18001
18147
  return { $loc, token: $1 };
18002
18148
  });
18003
18149
  function Of(state) {
@@ -18022,7 +18168,7 @@ ${input.slice(result.pos)}
18022
18168
  return result;
18023
18169
  }
18024
18170
  }
18025
- var OpenAngleBracket$0 = $TV($EXPECT($L156, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18171
+ var OpenAngleBracket$0 = $TV($EXPECT($L154, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18026
18172
  return { $loc, token: $1 };
18027
18173
  });
18028
18174
  function OpenAngleBracket(state) {
@@ -18072,7 +18218,7 @@ ${input.slice(result.pos)}
18072
18218
  return result;
18073
18219
  }
18074
18220
  }
18075
- var OpenBracket$0 = $TV($EXPECT($L114, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18221
+ var OpenBracket$0 = $TV($EXPECT($L111, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18076
18222
  return { $loc, token: $1 };
18077
18223
  });
18078
18224
  function OpenBracket(state) {
@@ -18122,7 +18268,7 @@ ${input.slice(result.pos)}
18122
18268
  return result;
18123
18269
  }
18124
18270
  }
18125
- var Operator$0 = $TS($S($EXPECT($L157, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18271
+ var Operator$0 = $TS($S($EXPECT($L155, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18126
18272
  return { $loc, token: $1 };
18127
18273
  });
18128
18274
  function Operator(state) {
@@ -18147,7 +18293,32 @@ ${input.slice(result.pos)}
18147
18293
  return result;
18148
18294
  }
18149
18295
  }
18150
- var Public$0 = $TS($S($EXPECT($L158, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18296
+ var Own$0 = $TS($S($EXPECT($L156, fail, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18297
+ return { $loc, token: $1 };
18298
+ });
18299
+ function Own(state) {
18300
+ let eventData;
18301
+ if (state.events) {
18302
+ const result = state.events.enter?.("Own", state);
18303
+ if (result) {
18304
+ if (result.cache)
18305
+ return result.cache;
18306
+ eventData = result.data;
18307
+ }
18308
+ }
18309
+ if (state.tokenize) {
18310
+ const result = $TOKEN("Own", state, Own$0(state));
18311
+ if (state.events)
18312
+ state.events.exit?.("Own", state, result, eventData);
18313
+ return result;
18314
+ } else {
18315
+ const result = Own$0(state);
18316
+ if (state.events)
18317
+ state.events.exit?.("Own", state, result, eventData);
18318
+ return result;
18319
+ }
18320
+ }
18321
+ var Public$0 = $TS($S($EXPECT($L157, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18151
18322
  return { $loc, token: $1 };
18152
18323
  });
18153
18324
  function Public(state) {
@@ -18172,7 +18343,7 @@ ${input.slice(result.pos)}
18172
18343
  return result;
18173
18344
  }
18174
18345
  }
18175
- var Private$0 = $TS($S($EXPECT($L159, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18346
+ var Private$0 = $TS($S($EXPECT($L158, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18176
18347
  return { $loc, token: $1 };
18177
18348
  });
18178
18349
  function Private(state) {
@@ -18197,7 +18368,7 @@ ${input.slice(result.pos)}
18197
18368
  return result;
18198
18369
  }
18199
18370
  }
18200
- var Protected$0 = $TS($S($EXPECT($L160, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18371
+ var Protected$0 = $TS($S($EXPECT($L159, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18201
18372
  return { $loc, token: $1 };
18202
18373
  });
18203
18374
  function Protected(state) {
@@ -18222,13 +18393,13 @@ ${input.slice(result.pos)}
18222
18393
  return result;
18223
18394
  }
18224
18395
  }
18225
- var Pipe$0 = $TV($C($EXPECT($L161, fail, 'Pipe "||>"'), $EXPECT($L162, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18396
+ var Pipe$0 = $TV($C($EXPECT($L160, fail, 'Pipe "||>"'), $EXPECT($L161, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18226
18397
  return { $loc, token: "||>" };
18227
18398
  });
18228
- var Pipe$1 = $TV($C($EXPECT($L163, fail, 'Pipe "|>="'), $EXPECT($L164, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18399
+ var Pipe$1 = $TV($C($EXPECT($L162, fail, 'Pipe "|>="'), $EXPECT($L163, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18229
18400
  return { $loc, token: "|>=" };
18230
18401
  });
18231
- var Pipe$2 = $TV($C($EXPECT($L165, fail, 'Pipe "|>"'), $EXPECT($L166, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18402
+ var Pipe$2 = $TV($C($EXPECT($L164, fail, 'Pipe "|>"'), $EXPECT($L165, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18232
18403
  return { $loc, token: "|>" };
18233
18404
  });
18234
18405
  function Pipe(state) {
@@ -18278,7 +18449,7 @@ ${input.slice(result.pos)}
18278
18449
  return result;
18279
18450
  }
18280
18451
  }
18281
- var Readonly$0 = $TS($S($EXPECT($L167, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18452
+ var Readonly$0 = $TS($S($EXPECT($L166, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18282
18453
  return { $loc, token: $1, ts: true };
18283
18454
  });
18284
18455
  function Readonly(state) {
@@ -18303,7 +18474,7 @@ ${input.slice(result.pos)}
18303
18474
  return result;
18304
18475
  }
18305
18476
  }
18306
- var Return$0 = $TS($S($EXPECT($L168, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18477
+ var Return$0 = $TS($S($EXPECT($L167, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18307
18478
  return { $loc, token: $1 };
18308
18479
  });
18309
18480
  function Return(state) {
@@ -18328,7 +18499,7 @@ ${input.slice(result.pos)}
18328
18499
  return result;
18329
18500
  }
18330
18501
  }
18331
- var Satisfies$0 = $TS($S($EXPECT($L169, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18502
+ var Satisfies$0 = $TS($S($EXPECT($L168, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18332
18503
  return { $loc, token: $1 };
18333
18504
  });
18334
18505
  function Satisfies(state) {
@@ -18353,7 +18524,7 @@ ${input.slice(result.pos)}
18353
18524
  return result;
18354
18525
  }
18355
18526
  }
18356
- var Semicolon$0 = $TV($EXPECT($L101, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18527
+ var Semicolon$0 = $TV($EXPECT($L99, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18357
18528
  return { $loc, token: $1 };
18358
18529
  });
18359
18530
  function Semicolon(state) {
@@ -18378,7 +18549,7 @@ ${input.slice(result.pos)}
18378
18549
  return result;
18379
18550
  }
18380
18551
  }
18381
- var SingleQuote$0 = $TV($EXPECT($L170, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18552
+ var SingleQuote$0 = $TV($EXPECT($L169, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18382
18553
  return { $loc, token: $1 };
18383
18554
  });
18384
18555
  function SingleQuote(state) {
@@ -18403,7 +18574,7 @@ ${input.slice(result.pos)}
18403
18574
  return result;
18404
18575
  }
18405
18576
  }
18406
- var Star$0 = $TV($EXPECT($L55, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18577
+ var Star$0 = $TV($EXPECT($L53, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18407
18578
  return { $loc, token: $1 };
18408
18579
  });
18409
18580
  function Star(state) {
@@ -18428,10 +18599,10 @@ ${input.slice(result.pos)}
18428
18599
  return result;
18429
18600
  }
18430
18601
  }
18431
- var Static$0 = $TS($S($EXPECT($L171, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18602
+ var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18432
18603
  return { $loc, token: $1 };
18433
18604
  });
18434
- var Static$1 = $TS($S($EXPECT($L118, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L118, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18605
+ var Static$1 = $TS($S($EXPECT($L115, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L115, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
18435
18606
  return { $loc, token: "static " };
18436
18607
  });
18437
18608
  function Static(state) {
@@ -18456,7 +18627,7 @@ ${input.slice(result.pos)}
18456
18627
  return result;
18457
18628
  }
18458
18629
  }
18459
- var SubstitutionStart$0 = $TV($EXPECT($L172, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18630
+ var SubstitutionStart$0 = $TV($EXPECT($L171, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18460
18631
  return { $loc, token: $1 };
18461
18632
  });
18462
18633
  function SubstitutionStart(state) {
@@ -18481,6 +18652,31 @@ ${input.slice(result.pos)}
18481
18652
  return result;
18482
18653
  }
18483
18654
  }
18655
+ var Super$0 = $TS($S($EXPECT($L172, fail, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18656
+ return { $loc, token: $1 };
18657
+ });
18658
+ function Super(state) {
18659
+ let eventData;
18660
+ if (state.events) {
18661
+ const result = state.events.enter?.("Super", state);
18662
+ if (result) {
18663
+ if (result.cache)
18664
+ return result.cache;
18665
+ eventData = result.data;
18666
+ }
18667
+ }
18668
+ if (state.tokenize) {
18669
+ const result = $TOKEN("Super", state, Super$0(state));
18670
+ if (state.events)
18671
+ state.events.exit?.("Super", state, result, eventData);
18672
+ return result;
18673
+ } else {
18674
+ const result = Super$0(state);
18675
+ if (state.events)
18676
+ state.events.exit?.("Super", state, result, eventData);
18677
+ return result;
18678
+ }
18679
+ }
18484
18680
  var Switch$0 = $TS($S($EXPECT($L173, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18485
18681
  return { $loc, token: $1 };
18486
18682
  });
@@ -19051,7 +19247,7 @@ ${input.slice(result.pos)}
19051
19247
  return result;
19052
19248
  }
19053
19249
  }
19054
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L156, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L191, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19250
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L154, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L191, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19055
19251
  return { type: "JSXElement", children: $0, tag: $2 };
19056
19252
  });
19057
19253
  function JSXSelfClosingElement(state) {
@@ -19127,7 +19323,7 @@ ${input.slice(result.pos)}
19127
19323
  return result;
19128
19324
  }
19129
19325
  }
19130
- var JSXOpeningElement$0 = $S($EXPECT($L156, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19326
+ var JSXOpeningElement$0 = $S($EXPECT($L154, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L32, fail, 'JSXOpeningElement ">"'));
19131
19327
  function JSXOpeningElement(state) {
19132
19328
  let eventData;
19133
19329
  if (state.events) {
@@ -19179,7 +19375,7 @@ ${input.slice(result.pos)}
19179
19375
  return result;
19180
19376
  }
19181
19377
  }
19182
- var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19378
+ var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L32, fail, 'JSXClosingElement ">"'));
19183
19379
  function JSXClosingElement(state) {
19184
19380
  let eventData;
19185
19381
  if (state.events) {
@@ -19325,7 +19521,7 @@ ${input.slice(result.pos)}
19325
19521
  return result;
19326
19522
  }
19327
19523
  }
19328
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L15, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
19524
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L145, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
19329
19525
  return module.config.defaultElement;
19330
19526
  });
19331
19527
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -19552,7 +19748,7 @@ ${input.slice(result.pos)}
19552
19748
  }
19553
19749
  return $skip;
19554
19750
  });
19555
- var JSXAttribute$5 = $TS($S($EXPECT($L15, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19751
+ var JSXAttribute$5 = $TS($S($EXPECT($L145, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19556
19752
  return [" ", "id=", $2];
19557
19753
  });
19558
19754
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -19882,7 +20078,7 @@ ${input.slice(result.pos)}
19882
20078
  return result;
19883
20079
  }
19884
20080
  }
19885
- var InlineJSXCallExpression$0 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
20081
+ var InlineJSXCallExpression$0 = $TS($S(Super, ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19886
20082
  var args = $2;
19887
20083
  var rest = $3;
19888
20084
  return processCallMemberExpression({
@@ -19894,7 +20090,7 @@ ${input.slice(result.pos)}
19894
20090
  ]
19895
20091
  });
19896
20092
  });
19897
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
20093
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L15, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19898
20094
  var args = $2;
19899
20095
  var rest = $3;
19900
20096
  return processCallMemberExpression({
@@ -20142,7 +20338,7 @@ ${input.slice(result.pos)}
20142
20338
  }
20143
20339
  return $skip;
20144
20340
  });
20145
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L26, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20341
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L24, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20146
20342
  return { children: [], jsxChildren: [] };
20147
20343
  });
20148
20344
  function JSXNestedChildren(state) {
@@ -21459,7 +21655,7 @@ ${input.slice(result.pos)}
21459
21655
  return result;
21460
21656
  }
21461
21657
  }
21462
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21658
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L150, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21463
21659
  var lhs = $1;
21464
21660
  var rhs = $2;
21465
21661
  if (!rhs)
@@ -21604,7 +21800,7 @@ ${input.slice(result.pos)}
21604
21800
  var TypeUnaryOp$0 = $S($EXPECT($L204, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21605
21801
  var TypeUnaryOp$1 = $S($EXPECT($L183, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21606
21802
  var TypeUnaryOp$2 = $S($EXPECT($L205, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21607
- var TypeUnaryOp$3 = $S($EXPECT($L167, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21803
+ var TypeUnaryOp$3 = $S($EXPECT($L166, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21608
21804
  function TypeUnaryOp(state) {
21609
21805
  let eventData;
21610
21806
  if (state.events) {
@@ -21695,8 +21891,8 @@ ${input.slice(result.pos)}
21695
21891
  return result;
21696
21892
  }
21697
21893
  }
21698
- var ImportType$0 = $S($EXPECT($L17, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21699
- var ImportType$1 = $S($EXPECT($L17, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21894
+ var ImportType$0 = $S($EXPECT($L15, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21895
+ var ImportType$1 = $S($EXPECT($L15, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21700
21896
  function ImportType(state) {
21701
21897
  let eventData;
21702
21898
  if (state.events) {
@@ -21867,7 +22063,7 @@ ${input.slice(result.pos)}
21867
22063
  return result;
21868
22064
  }
21869
22065
  }
21870
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L141, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
22066
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L138, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
21871
22067
  if ($2)
21872
22068
  return $0;
21873
22069
  return $1;
@@ -22077,7 +22273,7 @@ ${input.slice(result.pos)}
22077
22273
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
22078
22274
  return value[1];
22079
22275
  });
22080
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22276
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L123, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L33, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L24, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22081
22277
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
22082
22278
  function InlineInterfacePropertyDelimiter(state) {
22083
22279
  let eventData;
@@ -22101,10 +22297,10 @@ ${input.slice(result.pos)}
22101
22297
  return result;
22102
22298
  }
22103
22299
  }
22104
- var TypeBinaryOp$0 = $TV($EXPECT($L100, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22300
+ var TypeBinaryOp$0 = $TV($EXPECT($L98, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22105
22301
  return { $loc, token: "|" };
22106
22302
  });
22107
- var TypeBinaryOp$1 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22303
+ var TypeBinaryOp$1 = $TV($EXPECT($L97, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22108
22304
  return { $loc, token: "&" };
22109
22305
  });
22110
22306
  function TypeBinaryOp(state) {
@@ -22158,7 +22354,7 @@ ${input.slice(result.pos)}
22158
22354
  return result;
22159
22355
  }
22160
22356
  }
22161
- var TypeArrowFunction$0 = $TV($C($EXPECT($L9, fail, 'TypeArrowFunction "=>"'), $EXPECT($L10, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L24, fail, 'TypeArrowFunction "->"'), $EXPECT($L25, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
22357
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L9, fail, 'TypeArrowFunction "=>"'), $EXPECT($L10, fail, 'TypeArrowFunction "\u21D2"'), $EXPECT($L22, fail, 'TypeArrowFunction "->"'), $EXPECT($L23, fail, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
22162
22358
  return { $loc, token: "=>" };
22163
22359
  });
22164
22360
  function TypeArrowFunction(state) {
@@ -22183,7 +22379,7 @@ ${input.slice(result.pos)}
22183
22379
  return result;
22184
22380
  }
22185
22381
  }
22186
- var TypeArguments$0 = $TS($S($EXPECT($L156, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22382
+ var TypeArguments$0 = $TS($S($EXPECT($L154, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L32, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22187
22383
  var args = $2;
22188
22384
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
22189
22385
  });
@@ -22255,7 +22451,7 @@ ${input.slice(result.pos)}
22255
22451
  return result;
22256
22452
  }
22257
22453
  }
22258
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L156, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L34, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22454
+ var TypeParameters$0 = $TS($S($E(_), $EXPECT($L154, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L32, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22259
22455
  var parameters = $3;
22260
22456
  return {
22261
22457
  type: "TypeParameters",
@@ -22286,7 +22482,7 @@ ${input.slice(result.pos)}
22286
22482
  return result;
22287
22483
  }
22288
22484
  }
22289
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22485
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L149, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22290
22486
  function TypeParameter(state) {
22291
22487
  let eventData;
22292
22488
  if (state.events) {
@@ -22309,7 +22505,7 @@ ${input.slice(result.pos)}
22309
22505
  return result;
22310
22506
  }
22311
22507
  }
22312
- var TypeConstraint$0 = $S(__, $EXPECT($L141, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22508
+ var TypeConstraint$0 = $S(__, $EXPECT($L138, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22313
22509
  function TypeConstraint(state) {
22314
22510
  let eventData;
22315
22511
  if (state.events) {
@@ -22356,7 +22552,7 @@ ${input.slice(result.pos)}
22356
22552
  }
22357
22553
  }
22358
22554
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
22359
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'TypeParameterDelimiter ">"')));
22555
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L32, fail, 'TypeParameterDelimiter ">"')));
22360
22556
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
22361
22557
  return value[1];
22362
22558
  });
@@ -23628,9 +23824,9 @@ ${input.slice(result.pos)}
23628
23824
  hasProp(hasPropRef) {
23629
23825
  const typeSuffix = {
23630
23826
  ts: true,
23631
- children: [": <T>(this: T, prop: keyof T) => boolean"]
23827
+ children: [": <T>(object: T, prop: keyof T) => boolean"]
23632
23828
  };
23633
- module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = {}.hasOwnProperty", asAny, ";\n"]]);
23829
+ module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = {}.constructor.hasOwn", asAny, ";\n"]]);
23634
23830
  },
23635
23831
  is(isRef) {
23636
23832
  const typeSuffix = {