@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/main.mjs CHANGED
@@ -24,9 +24,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // source/lib.js
27
+ // source/lib.ts
28
28
  var require_lib = __commonJS({
29
- "source/lib.js"(exports, module) {
29
+ "source/lib.ts"(exports, module) {
30
30
  "use strict";
31
31
  function addParentPointers(node, parent) {
32
32
  if (node == null)
@@ -46,6 +46,25 @@ var require_lib = __commonJS({
46
46
  }
47
47
  }
48
48
  }
49
+ function updateParentPointers(node, parent, depth = 1) {
50
+ if (node == null)
51
+ return;
52
+ if (typeof node !== "object")
53
+ return;
54
+ if (Array.isArray(node)) {
55
+ for (const child of node) {
56
+ updateParentPointers(child, parent, depth);
57
+ }
58
+ return;
59
+ }
60
+ if (parent != null)
61
+ node.parent = parent;
62
+ if (depth && node.children) {
63
+ for (const child of node.children) {
64
+ updateParentPointers(child, node, depth - 1);
65
+ }
66
+ }
67
+ }
49
68
  function addPostfixStatement(statement, ws, post) {
50
69
  let children, expressions;
51
70
  if (post.blockPrefix?.length) {
@@ -335,25 +354,26 @@ var require_lib = __commonJS({
335
354
  };
336
355
  }
337
356
  function expressionizeIteration(exp) {
338
- const i = exp.children.indexOf(exp.block);
339
- if (exp.subtype === "DoStatement") {
340
- insertReturn(exp.block);
341
- exp.children.splice(i, 1, ...wrapIIFE(exp.children, exp.async));
357
+ const { async, subtype, block, children, statement } = exp;
358
+ const i = children.indexOf(statement);
359
+ if (i < 0) {
360
+ throw new Error("Could not find iteration statement in iteration expression");
361
+ }
362
+ if (subtype === "DoStatement") {
363
+ insertReturn(block);
364
+ children.splice(i, 1, ...wrapIIFE(statement, async));
342
365
  return;
343
366
  }
344
367
  const resultsRef = makeRef("results");
345
- insertPush(exp.block, resultsRef);
346
- exp.children.splice(
368
+ insertPush(block, resultsRef);
369
+ children.splice(
347
370
  i,
348
371
  1,
349
- wrapIIFE([
350
- "const ",
351
- resultsRef,
352
- "=[];",
353
- ...exp.children,
354
- "; return ",
355
- resultsRef
356
- ], exp.async)
372
+ ...wrapIIFE([
373
+ ["", ["const ", resultsRef, "=[]"], ";"],
374
+ ...children,
375
+ ["", ["; return ", resultsRef]]
376
+ ], async)
357
377
  );
358
378
  }
359
379
  function processBinaryOpExpression($0) {
@@ -683,6 +703,7 @@ var require_lib = __commonJS({
683
703
  }
684
704
  function processParams(f) {
685
705
  const { type, parameters, block } = f;
706
+ const isConstructor = f.name === "constructor";
686
707
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
687
708
  parameters.tp.parameters.push(",");
688
709
  }
@@ -699,7 +720,7 @@ var require_lib = __commonJS({
699
720
  indent = expressions[0][0];
700
721
  }
701
722
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
702
- injectParamProps: f.name === "constructor"
723
+ injectParamProps: isConstructor
703
724
  });
704
725
  const delimiter = {
705
726
  type: "SemicolonDelimiter",
@@ -711,6 +732,23 @@ var require_lib = __commonJS({
711
732
  children: [indent, ...s.children, delimiter]
712
733
  } : [indent, s, delimiter]
713
734
  );
735
+ if (!prefix.length)
736
+ return;
737
+ if (isConstructor) {
738
+ const superCalls = gatherNodes(expressions, (exp) => exp.type === "CallExpression" && exp.children[0]?.token === "super");
739
+ if (superCalls.length) {
740
+ const { child } = findAncestor(
741
+ superCalls[0],
742
+ (ancestor) => ancestor === block
743
+ );
744
+ const index = findChildIndex(expressions, child);
745
+ if (index < 0) {
746
+ throw new Error("Could not find super call within top-level expressions");
747
+ }
748
+ expressions.splice(index + 1, 0, ...prefix);
749
+ return;
750
+ }
751
+ }
714
752
  expressions.unshift(...prefix);
715
753
  }
716
754
  function removeParentPointers(node) {
@@ -731,6 +769,24 @@ var require_lib = __commonJS({
731
769
  }
732
770
  }
733
771
  }
772
+ function findChildIndex(parent, child) {
773
+ const children = Array.isArray(parent) ? parent : parent.children;
774
+ const len = children.length;
775
+ for (let i = 0; i < len; i++) {
776
+ const c = children[i];
777
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
778
+ return i;
779
+ }
780
+ function arrayRecurse(array) {
781
+ const len2 = array.length;
782
+ for (let i = 0; i < len2; i++) {
783
+ const c = array[i];
784
+ if (c === child || Array.isArray(c) && arrayRecurse(c))
785
+ return true;
786
+ }
787
+ }
788
+ return -1;
789
+ }
734
790
  function findAncestor(node, predicate, stopPredicate) {
735
791
  let { parent } = node;
736
792
  while (parent && !stopPredicate?.(parent, node)) {
@@ -826,11 +882,15 @@ var require_lib = __commonJS({
826
882
  }
827
883
  function insertHoistDec(block, node, dec) {
828
884
  const { expressions } = block;
829
- const index = expressions.findIndex(([, s]) => node === s);
885
+ const index = expressions.findIndex((exp) => exp === node || Array.isArray(exp) && exp[1] === node);
830
886
  if (index < 0)
831
887
  throw new Error("Couldn't find expression in block for hoistable declaration.");
832
- const indent = expressions[index][0];
833
- expressions.splice(index, 0, [indent, dec, ";"]);
888
+ if (expressions[index] === node) {
889
+ expressions.splice(index, 0, ["", dec, ";"]);
890
+ } else {
891
+ const indent = expressions[index][0];
892
+ expressions.splice(index, 0, [indent, dec, ";"]);
893
+ }
834
894
  }
835
895
  function patternAsValue(pattern) {
836
896
  switch (pattern.type) {
@@ -1026,22 +1086,22 @@ var require_lib = __commonJS({
1026
1086
  if (target.token)
1027
1087
  return target.token.match(/^ ?/)[0];
1028
1088
  }
1029
- function processForInOf($0) {
1030
- let [awaits, each, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1089
+ function processForInOf($0, getRef) {
1090
+ let [awaits, eachOwn, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1031
1091
  if (exp.type === "RangeExpression" && inOf.token === "of" && !declaration2) {
1032
1092
  return forRange(open, declaration, exp, step, close);
1033
1093
  } else if (step) {
1034
1094
  throw new Error("for..of/in cannot use 'by' except with range literals");
1035
1095
  }
1036
- let eachError;
1096
+ let eachOwnError;
1037
1097
  let hoistDec, blockPrefix = [];
1038
- if (each) {
1098
+ if (eachOwn && eachOwn[0].token === "each") {
1039
1099
  if (inOf.token === "of") {
1040
1100
  const counterRef = makeRef("i");
1041
1101
  const lenRef = makeRef("len");
1042
- const expRef = maybeRef(exp);
1102
+ const expRef2 = maybeRef(exp);
1043
1103
  const increment = "++";
1044
- let indexAssignment, assignmentNames = [...declaration.names];
1104
+ let assignmentNames = [...declaration.names];
1045
1105
  if (declaration2) {
1046
1106
  const [, , ws22, decl22] = declaration2;
1047
1107
  blockPrefix.push(["", [
@@ -1052,34 +1112,46 @@ var require_lib = __commonJS({
1052
1112
  ], ";"]);
1053
1113
  assignmentNames.push(...decl22.names);
1054
1114
  }
1055
- const expRefDec = expRef !== exp ? [insertTrimmingSpace(expRef, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1115
+ const expRefDec = expRef2 !== exp ? [insertTrimmingSpace(expRef2, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1056
1116
  blockPrefix.push(["", {
1057
1117
  type: "AssignmentExpression",
1058
- children: [declaration, " = ", insertTrimmingSpace(expRef, ""), "[", counterRef, "]"],
1118
+ children: [declaration, " = ", insertTrimmingSpace(expRef2, ""), "[", counterRef, "]"],
1059
1119
  names: assignmentNames
1060
1120
  }, ";"]);
1061
1121
  declaration = {
1062
1122
  type: "Declaration",
1063
- children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef, ""), ".length"],
1123
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef2, ""), ".length"],
1064
1124
  names: []
1065
1125
  };
1066
1126
  const condition = [counterRef, " < ", lenRef, "; "];
1067
1127
  const children = [open, declaration, "; ", condition, counterRef, increment, close];
1068
1128
  return { declaration, children, blockPrefix };
1069
1129
  } else {
1070
- eachError = {
1130
+ eachOwnError = {
1071
1131
  type: "Error",
1072
1132
  message: "'each' is only meaningful in for..of loops"
1073
1133
  };
1074
1134
  }
1075
1135
  }
1076
- if (!declaration2) {
1136
+ let own = eachOwn && eachOwn[0].token === "own";
1137
+ let expRef;
1138
+ if (own && inOf.token !== "in") {
1139
+ own = false;
1140
+ eachOwnError = {
1141
+ type: "Error",
1142
+ message: "'own' is only meaningful in for..in loops"
1143
+ };
1144
+ }
1145
+ if (!declaration2 && !own) {
1077
1146
  return {
1078
1147
  declaration,
1079
- children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close]
1148
+ blockPrefix,
1149
+ children: [awaits, eachOwnError, open, declaration, ws, inOf, expRef ?? exp, step, close]
1080
1150
  };
1081
1151
  }
1082
- const [, , ws2, decl2] = declaration2;
1152
+ let ws2, decl2;
1153
+ if (declaration2)
1154
+ [, , ws2, decl2] = declaration2;
1083
1155
  switch (inOf.token) {
1084
1156
  case "of": {
1085
1157
  const counterRef = makeRef("i");
@@ -1096,16 +1168,16 @@ var require_lib = __commonJS({
1096
1168
  break;
1097
1169
  }
1098
1170
  case "in": {
1099
- const expRef = maybeRef(exp);
1100
- if (expRef !== exp) {
1171
+ const expRef2 = maybeRef(exp);
1172
+ if (expRef2 !== exp) {
1101
1173
  hoistDec = {
1102
1174
  type: "Declaration",
1103
- children: ["let ", expRef],
1175
+ children: ["let ", expRef2],
1104
1176
  names: []
1105
1177
  };
1106
1178
  exp = {
1107
1179
  type: "AssignmentExpression",
1108
- children: [" ", expRef, " =", exp]
1180
+ children: [" ", expRef2, " =", exp]
1109
1181
  };
1110
1182
  }
1111
1183
  let { binding } = declaration;
@@ -1123,11 +1195,17 @@ var require_lib = __commonJS({
1123
1195
  names: []
1124
1196
  };
1125
1197
  }
1126
- blockPrefix.push(["", {
1127
- type: "Declaration",
1128
- children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1129
- names: decl2.names
1130
- }, ";"]);
1198
+ if (own) {
1199
+ const hasPropRef = getRef("hasProp");
1200
+ blockPrefix.push(["", "if (!", hasPropRef, "(", insertTrimmingSpace(expRef2, ""), ", ", insertTrimmingSpace(binding, ""), ")) continue", ";"]);
1201
+ }
1202
+ if (decl2) {
1203
+ blockPrefix.push(["", {
1204
+ type: "Declaration",
1205
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef2, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1206
+ names: decl2.names
1207
+ }, ";"]);
1208
+ }
1131
1209
  break;
1132
1210
  }
1133
1211
  default:
@@ -1135,7 +1213,7 @@ var require_lib = __commonJS({
1135
1213
  }
1136
1214
  return {
1137
1215
  declaration,
1138
- children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close],
1216
+ children: [awaits, eachOwnError, open, declaration, ws, inOf, exp, step, close],
1139
1217
  blockPrefix,
1140
1218
  hoistDec
1141
1219
  };
@@ -1398,11 +1476,11 @@ var require_lib = __commonJS({
1398
1476
  }
1399
1477
  return makeRef(base);
1400
1478
  }
1401
- function makeRef(base = "ref") {
1479
+ function makeRef(base = "ref", id = base) {
1402
1480
  return {
1403
1481
  type: "Ref",
1404
1482
  base,
1405
- id: base
1483
+ id
1406
1484
  };
1407
1485
  }
1408
1486
  function maybeRef(exp, base = "ref") {
@@ -1661,20 +1739,20 @@ var require_lib = __commonJS({
1661
1739
  });
1662
1740
  }
1663
1741
  function attachPostfixStatementAsExpression(exp, post) {
1664
- let clause;
1665
1742
  switch (post[1].type) {
1666
1743
  case "ForStatement":
1667
1744
  case "IterationStatement":
1668
- case "DoStatement":
1669
- clause = addPostfixStatement(exp, ...post);
1745
+ case "DoStatement": {
1746
+ const statement = addPostfixStatement(exp, ...post);
1670
1747
  return {
1671
1748
  type: "IterationExpression",
1672
- children: [clause],
1673
- block: clause.block
1749
+ children: [statement],
1750
+ block: statement.block,
1751
+ statement
1674
1752
  };
1753
+ }
1675
1754
  case "IfStatement":
1676
- clause = expressionizeIfClause(post[1], exp);
1677
- return clause;
1755
+ return expressionizeIfClause(post[1], exp);
1678
1756
  default:
1679
1757
  throw new Error("Unknown postfix statement");
1680
1758
  }
@@ -1889,12 +1967,7 @@ var require_lib = __commonJS({
1889
1967
  input: key
1890
1968
  })) {
1891
1969
  shared.forEach((p) => {
1892
- const ref = {
1893
- type: "Ref",
1894
- base: `_${key}`,
1895
- id: key
1896
- };
1897
- aliasBinding(p, ref);
1970
+ aliasBinding(p, makeRef(`_${key}`, key));
1898
1971
  });
1899
1972
  return;
1900
1973
  }
@@ -2165,8 +2238,8 @@ var require_lib = __commonJS({
2165
2238
  processFunctions(statements, config);
2166
2239
  processSwitchExpressions(statements);
2167
2240
  processTryExpressions(statements);
2168
- hoistRefDecs(statements);
2169
2241
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
2242
+ hoistRefDecs(statements);
2170
2243
  statements.unshift(...m.prelude);
2171
2244
  if (config.autoLet) {
2172
2245
  createLetDecs(statements, []);
@@ -2609,13 +2682,14 @@ var require_lib = __commonJS({
2609
2682
  prefix = "(()=>";
2610
2683
  suffix = ")()";
2611
2684
  }
2612
- const expressions = Array.isArray(exp) ? [[...exp]] : [exp];
2685
+ const expressions = Array.isArray(exp) ? [...exp] : [exp];
2613
2686
  const block = {
2614
2687
  type: "BlockStatement",
2615
2688
  expressions,
2616
2689
  children: ["{", expressions, "}"],
2617
2690
  bare: false
2618
2691
  };
2692
+ updateParentPointers(block);
2619
2693
  return [
2620
2694
  prefix,
2621
2695
  block,
@@ -3173,6 +3247,7 @@ ${input.slice(result.pos)}
3173
3247
  AccessModifier,
3174
3248
  FieldDefinition,
3175
3249
  ThisLiteral,
3250
+ PrivateThis,
3176
3251
  AtThis,
3177
3252
  LeftHandSideExpression,
3178
3253
  CallExpression,
@@ -3524,6 +3599,7 @@ ${input.slice(result.pos)}
3524
3599
  From,
3525
3600
  Function,
3526
3601
  GetOrSet,
3602
+ Hash,
3527
3603
  If,
3528
3604
  Import,
3529
3605
  In,
@@ -3540,6 +3616,7 @@ ${input.slice(result.pos)}
3540
3616
  OpenBracket,
3541
3617
  OpenParen,
3542
3618
  Operator,
3619
+ Own,
3543
3620
  Public,
3544
3621
  Private,
3545
3622
  Protected,
@@ -3553,6 +3630,7 @@ ${input.slice(result.pos)}
3553
3630
  Star,
3554
3631
  Static,
3555
3632
  SubstitutionStart,
3633
+ Super,
3556
3634
  Switch,
3557
3635
  Target,
3558
3636
  Then,
@@ -3758,164 +3836,164 @@ ${input.slice(result.pos)}
3758
3836
  var $L12 = $L(":");
3759
3837
  var $L13 = $L("implements");
3760
3838
  var $L14 = $L("<:");
3761
- var $L15 = $L("#");
3762
- var $L16 = $L("super");
3763
- var $L17 = $L("import");
3764
- var $L18 = $L("!");
3765
- var $L19 = $L("^");
3766
- var $L20 = $L("-");
3767
- var $L21 = $L("import.meta");
3768
- var $L22 = $L("return.value");
3769
- var $L23 = $L(",");
3770
- var $L24 = $L("->");
3771
- var $L25 = $L("\u2192");
3772
- var $L26 = $L("}");
3773
- var $L27 = $L("null");
3774
- var $L28 = $L("true");
3775
- var $L29 = $L("false");
3776
- var $L30 = $L("yes");
3777
- var $L31 = $L("on");
3778
- var $L32 = $L("no");
3779
- var $L33 = $L("off");
3780
- var $L34 = $L(">");
3781
- var $L35 = $L("]");
3782
- var $L36 = $L("**=");
3783
- var $L37 = $L("*=");
3784
- var $L38 = $L("/=");
3785
- var $L39 = $L("%=");
3786
- var $L40 = $L("+=");
3787
- var $L41 = $L("-=");
3788
- var $L42 = $L("<<=");
3789
- var $L43 = $L(">>>=");
3790
- var $L44 = $L(">>=");
3791
- var $L45 = $L("&&=");
3792
- var $L46 = $L("&=");
3793
- var $L47 = $L("^=");
3794
- var $L48 = $L("||=");
3795
- var $L49 = $L("|=");
3796
- var $L50 = $L("??=");
3797
- var $L51 = $L("?=");
3798
- var $L52 = $L("and=");
3799
- var $L53 = $L("or=");
3800
- var $L54 = $L("**");
3801
- var $L55 = $L("*");
3802
- var $L56 = $L("/");
3803
- var $L57 = $L("%%");
3804
- var $L58 = $L("%");
3805
- var $L59 = $L("+");
3806
- var $L60 = $L("<=");
3807
- var $L61 = $L("\u2264");
3808
- var $L62 = $L(">=");
3809
- var $L63 = $L("\u2265");
3810
- var $L64 = $L("<?");
3811
- var $L65 = $L("!<?");
3812
- var $L66 = $L("<<");
3813
- var $L67 = $L("\xAB");
3814
- var $L68 = $L(">>>");
3815
- var $L69 = $L("\u22D9");
3816
- var $L70 = $L(">>");
3817
- var $L71 = $L("\xBB");
3818
- var $L72 = $L("!==");
3819
- var $L73 = $L("\u2262");
3820
- var $L74 = $L("!=");
3821
- var $L75 = $L("\u2260");
3822
- var $L76 = $L("isnt");
3823
- var $L77 = $L("===");
3824
- var $L78 = $L("\u2263");
3825
- var $L79 = $L("\u2A76");
3826
- var $L80 = $L("==");
3827
- var $L81 = $L("\u2261");
3828
- var $L82 = $L("\u2A75");
3829
- var $L83 = $L("and");
3830
- var $L84 = $L("&&");
3831
- var $L85 = $L("of");
3832
- var $L86 = $L("or");
3833
- var $L87 = $L("||");
3834
- var $L88 = $L("\u2016");
3835
- var $L89 = $L("^^");
3836
- var $L90 = $L("xor");
3837
- var $L91 = $L("xnor");
3838
- var $L92 = $L("??");
3839
- var $L93 = $L("\u2047");
3840
- var $L94 = $L("instanceof");
3841
- var $L95 = $L("\u2208");
3842
- var $L96 = $L("\u220B");
3843
- var $L97 = $L("\u220C");
3844
- var $L98 = $L("\u2209");
3845
- var $L99 = $L("&");
3846
- var $L100 = $L("|");
3847
- var $L101 = $L(";");
3848
- var $L102 = $L("$:");
3849
- var $L103 = $L("own");
3850
- var $L104 = $L("break");
3851
- var $L105 = $L("continue");
3852
- var $L106 = $L("debugger");
3853
- var $L107 = $L("assert");
3854
- var $L108 = $L(":=");
3855
- var $L109 = $L("\u2254");
3856
- var $L110 = $L(".=");
3857
- var $L111 = $L("/*");
3858
- var $L112 = $L("*/");
3859
- var $L113 = $L("\\");
3860
- var $L114 = $L("[");
3861
- var $L115 = $L("`");
3862
- var $L116 = $L("abstract");
3863
- var $L117 = $L("as");
3864
- var $L118 = $L("@");
3865
- var $L119 = $L("@@");
3866
- var $L120 = $L("async");
3867
- var $L121 = $L("await");
3868
- var $L122 = $L("by");
3869
- var $L123 = $L("case");
3870
- var $L124 = $L("catch");
3871
- var $L125 = $L("class");
3872
- var $L126 = $L(")");
3873
- var $L127 = $L("#{");
3874
- var $L128 = $L("declare");
3875
- var $L129 = $L("default");
3876
- var $L130 = $L("delete");
3877
- var $L131 = $L("do");
3878
- var $L132 = $L("..");
3879
- var $L133 = $L("\u2025");
3880
- var $L134 = $L("...");
3881
- var $L135 = $L("\u2026");
3882
- var $L136 = $L("::");
3883
- var $L137 = $L('"');
3884
- var $L138 = $L("each");
3885
- var $L139 = $L("else");
3886
- var $L140 = $L("export");
3887
- var $L141 = $L("extends");
3888
- var $L142 = $L("finally");
3889
- var $L143 = $L("for");
3890
- var $L144 = $L("from");
3891
- var $L145 = $L("function");
3892
- var $L146 = $L("get");
3893
- var $L147 = $L("set");
3894
- var $L148 = $L("if");
3895
- var $L149 = $L("in");
3896
- var $L150 = $L("let");
3897
- var $L151 = $L("const");
3898
- var $L152 = $L("is");
3899
- var $L153 = $L("loop");
3900
- var $L154 = $L("new");
3901
- var $L155 = $L("not");
3902
- var $L156 = $L("<");
3903
- var $L157 = $L("operator");
3904
- var $L158 = $L("public");
3905
- var $L159 = $L("private");
3906
- var $L160 = $L("protected");
3907
- var $L161 = $L("||>");
3908
- var $L162 = $L("|\u25B7");
3909
- var $L163 = $L("|>=");
3910
- var $L164 = $L("\u25B7=");
3911
- var $L165 = $L("|>");
3912
- var $L166 = $L("\u25B7");
3913
- var $L167 = $L("readonly");
3914
- var $L168 = $L("return");
3915
- var $L169 = $L("satisfies");
3916
- var $L170 = $L("'");
3917
- var $L171 = $L("static");
3918
- var $L172 = $L("${");
3839
+ var $L15 = $L("import");
3840
+ var $L16 = $L("!");
3841
+ var $L17 = $L("^");
3842
+ var $L18 = $L("-");
3843
+ var $L19 = $L("import.meta");
3844
+ var $L20 = $L("return.value");
3845
+ var $L21 = $L(",");
3846
+ var $L22 = $L("->");
3847
+ var $L23 = $L("\u2192");
3848
+ var $L24 = $L("}");
3849
+ var $L25 = $L("null");
3850
+ var $L26 = $L("true");
3851
+ var $L27 = $L("false");
3852
+ var $L28 = $L("yes");
3853
+ var $L29 = $L("on");
3854
+ var $L30 = $L("no");
3855
+ var $L31 = $L("off");
3856
+ var $L32 = $L(">");
3857
+ var $L33 = $L("]");
3858
+ var $L34 = $L("**=");
3859
+ var $L35 = $L("*=");
3860
+ var $L36 = $L("/=");
3861
+ var $L37 = $L("%=");
3862
+ var $L38 = $L("+=");
3863
+ var $L39 = $L("-=");
3864
+ var $L40 = $L("<<=");
3865
+ var $L41 = $L(">>>=");
3866
+ var $L42 = $L(">>=");
3867
+ var $L43 = $L("&&=");
3868
+ var $L44 = $L("&=");
3869
+ var $L45 = $L("^=");
3870
+ var $L46 = $L("||=");
3871
+ var $L47 = $L("|=");
3872
+ var $L48 = $L("??=");
3873
+ var $L49 = $L("?=");
3874
+ var $L50 = $L("and=");
3875
+ var $L51 = $L("or=");
3876
+ var $L52 = $L("**");
3877
+ var $L53 = $L("*");
3878
+ var $L54 = $L("/");
3879
+ var $L55 = $L("%%");
3880
+ var $L56 = $L("%");
3881
+ var $L57 = $L("+");
3882
+ var $L58 = $L("<=");
3883
+ var $L59 = $L("\u2264");
3884
+ var $L60 = $L(">=");
3885
+ var $L61 = $L("\u2265");
3886
+ var $L62 = $L("<?");
3887
+ var $L63 = $L("!<?");
3888
+ var $L64 = $L("<<");
3889
+ var $L65 = $L("\xAB");
3890
+ var $L66 = $L(">>>");
3891
+ var $L67 = $L("\u22D9");
3892
+ var $L68 = $L(">>");
3893
+ var $L69 = $L("\xBB");
3894
+ var $L70 = $L("!==");
3895
+ var $L71 = $L("\u2262");
3896
+ var $L72 = $L("!=");
3897
+ var $L73 = $L("\u2260");
3898
+ var $L74 = $L("isnt");
3899
+ var $L75 = $L("===");
3900
+ var $L76 = $L("\u2263");
3901
+ var $L77 = $L("\u2A76");
3902
+ var $L78 = $L("==");
3903
+ var $L79 = $L("\u2261");
3904
+ var $L80 = $L("\u2A75");
3905
+ var $L81 = $L("and");
3906
+ var $L82 = $L("&&");
3907
+ var $L83 = $L("of");
3908
+ var $L84 = $L("or");
3909
+ var $L85 = $L("||");
3910
+ var $L86 = $L("\u2016");
3911
+ var $L87 = $L("^^");
3912
+ var $L88 = $L("xor");
3913
+ var $L89 = $L("xnor");
3914
+ var $L90 = $L("??");
3915
+ var $L91 = $L("\u2047");
3916
+ var $L92 = $L("instanceof");
3917
+ var $L93 = $L("\u2208");
3918
+ var $L94 = $L("\u220B");
3919
+ var $L95 = $L("\u220C");
3920
+ var $L96 = $L("\u2209");
3921
+ var $L97 = $L("&");
3922
+ var $L98 = $L("|");
3923
+ var $L99 = $L(";");
3924
+ var $L100 = $L("$:");
3925
+ var $L101 = $L("break");
3926
+ var $L102 = $L("continue");
3927
+ var $L103 = $L("debugger");
3928
+ var $L104 = $L("assert");
3929
+ var $L105 = $L(":=");
3930
+ var $L106 = $L("\u2254");
3931
+ var $L107 = $L(".=");
3932
+ var $L108 = $L("/*");
3933
+ var $L109 = $L("*/");
3934
+ var $L110 = $L("\\");
3935
+ var $L111 = $L("[");
3936
+ var $L112 = $L("`");
3937
+ var $L113 = $L("abstract");
3938
+ var $L114 = $L("as");
3939
+ var $L115 = $L("@");
3940
+ var $L116 = $L("@@");
3941
+ var $L117 = $L("async");
3942
+ var $L118 = $L("await");
3943
+ var $L119 = $L("by");
3944
+ var $L120 = $L("case");
3945
+ var $L121 = $L("catch");
3946
+ var $L122 = $L("class");
3947
+ var $L123 = $L(")");
3948
+ var $L124 = $L("#{");
3949
+ var $L125 = $L("declare");
3950
+ var $L126 = $L("default");
3951
+ var $L127 = $L("delete");
3952
+ var $L128 = $L("do");
3953
+ var $L129 = $L("..");
3954
+ var $L130 = $L("\u2025");
3955
+ var $L131 = $L("...");
3956
+ var $L132 = $L("\u2026");
3957
+ var $L133 = $L("::");
3958
+ var $L134 = $L('"');
3959
+ var $L135 = $L("each");
3960
+ var $L136 = $L("else");
3961
+ var $L137 = $L("export");
3962
+ var $L138 = $L("extends");
3963
+ var $L139 = $L("finally");
3964
+ var $L140 = $L("for");
3965
+ var $L141 = $L("from");
3966
+ var $L142 = $L("function");
3967
+ var $L143 = $L("get");
3968
+ var $L144 = $L("set");
3969
+ var $L145 = $L("#");
3970
+ var $L146 = $L("if");
3971
+ var $L147 = $L("in");
3972
+ var $L148 = $L("let");
3973
+ var $L149 = $L("const");
3974
+ var $L150 = $L("is");
3975
+ var $L151 = $L("loop");
3976
+ var $L152 = $L("new");
3977
+ var $L153 = $L("not");
3978
+ var $L154 = $L("<");
3979
+ var $L155 = $L("operator");
3980
+ var $L156 = $L("own");
3981
+ var $L157 = $L("public");
3982
+ var $L158 = $L("private");
3983
+ var $L159 = $L("protected");
3984
+ var $L160 = $L("||>");
3985
+ var $L161 = $L("|\u25B7");
3986
+ var $L162 = $L("|>=");
3987
+ var $L163 = $L("\u25B7=");
3988
+ var $L164 = $L("|>");
3989
+ var $L165 = $L("\u25B7");
3990
+ var $L166 = $L("readonly");
3991
+ var $L167 = $L("return");
3992
+ var $L168 = $L("satisfies");
3993
+ var $L169 = $L("'");
3994
+ var $L170 = $L("static");
3995
+ var $L171 = $L("${");
3996
+ var $L172 = $L("super");
3919
3997
  var $L173 = $L("switch");
3920
3998
  var $L174 = $L("target");
3921
3999
  var $L175 = $L("then");
@@ -6430,12 +6508,13 @@ ${input.slice(result.pos)}
6430
6508
  }
6431
6509
  }
6432
6510
  var ThisLiteral$0 = This;
6433
- var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E($EXPECT($L15, fail, 'ThisLiteral "#"')), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6511
+ var ThisLiteral$1 = $TS($S(AtThis, $TEXT($S($E(Hash), IdentifierName))), function($skip, $loc, $0, $1, $2) {
6434
6512
  var at = $1;
6435
6513
  var id = $2;
6436
6514
  return [at, ".", id];
6437
6515
  });
6438
6516
  var ThisLiteral$2 = AtThis;
6517
+ var ThisLiteral$3 = PrivateThis;
6439
6518
  function ThisLiteral(state) {
6440
6519
  let eventData;
6441
6520
  if (state.events) {
@@ -6447,17 +6526,47 @@ ${input.slice(result.pos)}
6447
6526
  }
6448
6527
  }
6449
6528
  if (state.tokenize) {
6450
- const result = $TOKEN("ThisLiteral", state, ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state));
6529
+ const result = $TOKEN("ThisLiteral", state, ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state) || ThisLiteral$3(state));
6451
6530
  if (state.events)
6452
6531
  state.events.exit?.("ThisLiteral", state, result, eventData);
6453
6532
  return result;
6454
6533
  } else {
6455
- const result = ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state);
6534
+ const result = ThisLiteral$0(state) || ThisLiteral$1(state) || ThisLiteral$2(state) || ThisLiteral$3(state);
6456
6535
  if (state.events)
6457
6536
  state.events.exit?.("ThisLiteral", state, result, eventData);
6458
6537
  return result;
6459
6538
  }
6460
6539
  }
6540
+ var PrivateThis$0 = $TS($S(PrivateIdentifier, $Y($S($P(_), $C($S(Not, __, In), In)))), function($skip, $loc, $0, $1, $2) {
6541
+ var id = $1;
6542
+ return id;
6543
+ });
6544
+ var PrivateThis$1 = $TV(PrivateIdentifier, function($skip, $loc, $0, $1) {
6545
+ var id = $0;
6546
+ return ["this.", id];
6547
+ });
6548
+ function PrivateThis(state) {
6549
+ let eventData;
6550
+ if (state.events) {
6551
+ const result = state.events.enter?.("PrivateThis", state);
6552
+ if (result) {
6553
+ if (result.cache)
6554
+ return result.cache;
6555
+ eventData = result.data;
6556
+ }
6557
+ }
6558
+ if (state.tokenize) {
6559
+ const result = $TOKEN("PrivateThis", state, PrivateThis$0(state) || PrivateThis$1(state));
6560
+ if (state.events)
6561
+ state.events.exit?.("PrivateThis", state, result, eventData);
6562
+ return result;
6563
+ } else {
6564
+ const result = PrivateThis$0(state) || PrivateThis$1(state);
6565
+ if (state.events)
6566
+ state.events.exit?.("PrivateThis", state, result, eventData);
6567
+ return result;
6568
+ }
6569
+ }
6461
6570
  var AtThis$0 = $TV(At, function($skip, $loc, $0, $1) {
6462
6571
  var at = $0;
6463
6572
  return { ...at, token: "this" };
@@ -6508,14 +6617,14 @@ ${input.slice(result.pos)}
6508
6617
  return result;
6509
6618
  }
6510
6619
  }
6511
- var CallExpression$0 = $TS($S($EXPECT($L16, fail, 'CallExpression "super"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6620
+ var CallExpression$0 = $TS($S(Super, ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6512
6621
  var rest = $3;
6513
6622
  return processCallMemberExpression({
6514
6623
  type: "CallExpression",
6515
6624
  children: [$1, ...$2, ...rest.flat()]
6516
6625
  });
6517
6626
  });
6518
- var CallExpression$1 = $TS($S($EXPECT($L17, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6627
+ var CallExpression$1 = $TS($S($EXPECT($L15, fail, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6519
6628
  var rest = $3;
6520
6629
  return processCallMemberExpression({
6521
6630
  type: "CallExpression",
@@ -6643,7 +6752,7 @@ ${input.slice(result.pos)}
6643
6752
  return result;
6644
6753
  }
6645
6754
  }
6646
- var NonNullAssertion$0 = $T($S($EXPECT($L18, fail, 'NonNullAssertion "!"'), $N($EXPECT($L19, fail, 'NonNullAssertion "^"'))), function(value) {
6755
+ var NonNullAssertion$0 = $T($S($EXPECT($L16, fail, 'NonNullAssertion "!"'), $N($EXPECT($L17, fail, 'NonNullAssertion "^"'))), function(value) {
6647
6756
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6648
6757
  });
6649
6758
  function NonNullAssertion(state) {
@@ -6787,7 +6896,7 @@ ${input.slice(result.pos)}
6787
6896
  ]
6788
6897
  };
6789
6898
  });
6790
- var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L20, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6899
+ var MemberBracketContent$3 = $TS($S(Dot, $EXPECT($L18, fail, 'MemberBracketContent "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6791
6900
  var dot = $1;
6792
6901
  var neg = $2;
6793
6902
  var num = $3;
@@ -7007,8 +7116,8 @@ ${input.slice(result.pos)}
7007
7116
  return result;
7008
7117
  }
7009
7118
  }
7010
- var SuperProperty$0 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), MemberBracketContent);
7011
- var SuperProperty$1 = $S($EXPECT($L16, fail, 'SuperProperty "super"'), $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7119
+ var SuperProperty$0 = $S(Super, MemberBracketContent);
7120
+ var SuperProperty$1 = $S(Super, $N($C(QuestionMark, NonNullAssertion)), PropertyAccess);
7012
7121
  function SuperProperty(state) {
7013
7122
  let eventData;
7014
7123
  if (state.events) {
@@ -7032,7 +7141,7 @@ ${input.slice(result.pos)}
7032
7141
  }
7033
7142
  }
7034
7143
  var MetaProperty$0 = $S(New, Dot, Target);
7035
- var MetaProperty$1 = $TS($S($EXPECT($L21, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7144
+ var MetaProperty$1 = $TS($S($EXPECT($L19, fail, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7036
7145
  return { $loc, token: $1 };
7037
7146
  });
7038
7147
  var MetaProperty$2 = ReturnValue;
@@ -7058,7 +7167,7 @@ ${input.slice(result.pos)}
7058
7167
  return result;
7059
7168
  }
7060
7169
  }
7061
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7170
+ var ReturnValue$0 = $TV($C($S($EXPECT($L20, fail, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
7062
7171
  return { type: "ReturnValue", children: [$1[0]] };
7063
7172
  });
7064
7173
  function ReturnValue(state) {
@@ -7330,8 +7439,17 @@ ${input.slice(result.pos)}
7330
7439
  ref
7331
7440
  };
7332
7441
  });
7333
- var NWBindingIdentifier$1 = Identifier;
7334
- var NWBindingIdentifier$2 = $TS($S(ReturnValue), function($skip, $loc, $0, $1) {
7442
+ var NWBindingIdentifier$1 = $TS($S(Hash, AtIdentifierRef), function($skip, $loc, $0, $1, $2) {
7443
+ var ref = $2;
7444
+ ref = { ...ref, id: `#${ref.id}` };
7445
+ return {
7446
+ type: "AtBinding",
7447
+ children: [ref],
7448
+ ref
7449
+ };
7450
+ });
7451
+ var NWBindingIdentifier$2 = Identifier;
7452
+ var NWBindingIdentifier$3 = $TS($S(ReturnValue), function($skip, $loc, $0, $1) {
7335
7453
  return { children: [$1], names: [] };
7336
7454
  });
7337
7455
  function NWBindingIdentifier(state) {
@@ -7345,12 +7463,12 @@ ${input.slice(result.pos)}
7345
7463
  }
7346
7464
  }
7347
7465
  if (state.tokenize) {
7348
- const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state));
7466
+ const result = $TOKEN("NWBindingIdentifier", state, NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state) || NWBindingIdentifier$3(state));
7349
7467
  if (state.events)
7350
7468
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
7351
7469
  return result;
7352
7470
  } else {
7353
- const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state);
7471
+ const result = NWBindingIdentifier$0(state) || NWBindingIdentifier$1(state) || NWBindingIdentifier$2(state) || NWBindingIdentifier$3(state);
7354
7472
  if (state.events)
7355
7473
  state.events.exit?.("NWBindingIdentifier", state, result, eventData);
7356
7474
  return result;
@@ -7358,11 +7476,7 @@ ${input.slice(result.pos)}
7358
7476
  }
7359
7477
  var AtIdentifierRef$0 = $TV(ReservedWord, function($skip, $loc, $0, $1) {
7360
7478
  var r = $0;
7361
- return {
7362
- type: "Ref",
7363
- base: `_${r}`,
7364
- id: r
7365
- };
7479
+ return makeRef(`_${r}`, r);
7366
7480
  });
7367
7481
  var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
7368
7482
  var id = $0;
@@ -7390,7 +7504,7 @@ ${input.slice(result.pos)}
7390
7504
  return result;
7391
7505
  }
7392
7506
  }
7393
- var PinPattern$0 = $TS($S($EXPECT($L19, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7507
+ var PinPattern$0 = $TS($S($EXPECT($L17, fail, 'PinPattern "^"'), Identifier), function($skip, $loc, $0, $1, $2) {
7394
7508
  var identifier = $2;
7395
7509
  return {
7396
7510
  type: "PinPattern",
@@ -7763,7 +7877,7 @@ ${input.slice(result.pos)}
7763
7877
  names: value.names
7764
7878
  };
7765
7879
  });
7766
- var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L19, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7880
+ var BindingProperty$2 = $TS($S($E(_), $E($EXPECT($L17, fail, 'BindingProperty "^"')), BindingIdentifier, $E(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
7767
7881
  var ws = $1;
7768
7882
  var pin = $2;
7769
7883
  var binding = $3;
@@ -7908,7 +8022,7 @@ ${input.slice(result.pos)}
7908
8022
  children: [ws, binding]
7909
8023
  };
7910
8024
  });
7911
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
8025
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L21, fail, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7912
8026
  return {
7913
8027
  children: [{
7914
8028
  type: "ElisionElement",
@@ -8446,7 +8560,7 @@ ${input.slice(result.pos)}
8446
8560
  return result;
8447
8561
  }
8448
8562
  }
8449
- var Arrow$0 = $TV($C($EXPECT($L24, fail, 'Arrow "->"'), $EXPECT($L25, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8563
+ var Arrow$0 = $TV($C($EXPECT($L22, fail, 'Arrow "->"'), $EXPECT($L23, fail, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8450
8564
  return { $loc, token: "->" };
8451
8565
  });
8452
8566
  function Arrow(state) {
@@ -8976,7 +9090,7 @@ ${input.slice(result.pos)}
8976
9090
  children: [$1, expressions]
8977
9091
  };
8978
9092
  });
8979
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L26, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9093
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L24, fail, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
8980
9094
  const expressions = [];
8981
9095
  return {
8982
9096
  type: "BlockStatement",
@@ -9157,7 +9271,7 @@ ${input.slice(result.pos)}
9157
9271
  return result;
9158
9272
  }
9159
9273
  }
9160
- var NullLiteral$0 = $TS($S($EXPECT($L27, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9274
+ var NullLiteral$0 = $TS($S($EXPECT($L25, fail, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9161
9275
  return { $loc, token: $1 };
9162
9276
  });
9163
9277
  function NullLiteral(state) {
@@ -9185,7 +9299,7 @@ ${input.slice(result.pos)}
9185
9299
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9186
9300
  return value[1];
9187
9301
  });
9188
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L28, fail, 'BooleanLiteral "true"'), $EXPECT($L29, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9302
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L26, fail, 'BooleanLiteral "true"'), $EXPECT($L27, fail, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9189
9303
  return { $loc, token: $1 };
9190
9304
  });
9191
9305
  function BooleanLiteral(state) {
@@ -9210,10 +9324,10 @@ ${input.slice(result.pos)}
9210
9324
  return result;
9211
9325
  }
9212
9326
  }
9213
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9327
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L28, fail, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L29, fail, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9214
9328
  return { $loc, token: "true" };
9215
9329
  });
9216
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L32, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L33, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9330
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L30, fail, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L31, fail, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9217
9331
  return { $loc, token: "false" };
9218
9332
  });
9219
9333
  function CoffeeScriptBooleanLiteral(state) {
@@ -9319,7 +9433,7 @@ ${input.slice(result.pos)}
9319
9433
  return result;
9320
9434
  }
9321
9435
  }
9322
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L34, fail, 'UpcomingAssignment ">"')))));
9436
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, fail, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, fail, 'UpcomingAssignment "="'), $EXPECT($L32, fail, 'UpcomingAssignment ">"')))));
9323
9437
  function UpcomingAssignment(state) {
9324
9438
  let eventData;
9325
9439
  if (state.events) {
@@ -9583,7 +9697,7 @@ ${input.slice(result.pos)}
9583
9697
  }
9584
9698
  }
9585
9699
  var ArrayElementDelimiter$0 = $S(__, Comma);
9586
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L35, fail, 'ArrayElementDelimiter "]"')));
9700
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L33, fail, 'ArrayElementDelimiter "]"')));
9587
9701
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9588
9702
  return value[1];
9589
9703
  });
@@ -10089,7 +10203,7 @@ ${input.slice(result.pos)}
10089
10203
  }
10090
10204
  }
10091
10205
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
10092
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L26, fail, 'ObjectPropertyDelimiter "}"')));
10206
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L24, fail, 'ObjectPropertyDelimiter "}"')));
10093
10207
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
10094
10208
  return value[1];
10095
10209
  });
@@ -10261,7 +10375,7 @@ ${input.slice(result.pos)}
10261
10375
  return result;
10262
10376
  }
10263
10377
  }
10264
- var NamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10378
+ var NamedProperty$0 = $TS($S(PropertyName, $E(_), Colon, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10265
10379
  var name = $1;
10266
10380
  var exp = $4;
10267
10381
  return {
@@ -10294,12 +10408,18 @@ ${input.slice(result.pos)}
10294
10408
  return result;
10295
10409
  }
10296
10410
  }
10297
- var SnugNamedProperty$0 = $TS($S(PropertyName, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
10298
- var exp = $3;
10411
+ 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) {
10412
+ var name = $1;
10413
+ var colon = $2;
10414
+ var expression = $3;
10415
+ var post = $4;
10416
+ if (post) {
10417
+ expression = attachPostfixStatementAsExpression(expression, post[0]);
10418
+ }
10299
10419
  return {
10300
10420
  type: "Property",
10301
- children: $0,
10302
- names: exp.names || []
10421
+ children: [name, colon, expression],
10422
+ names: expression.names || []
10303
10423
  };
10304
10424
  });
10305
10425
  function SnugNamedProperty(state) {
@@ -10369,7 +10489,7 @@ ${input.slice(result.pos)}
10369
10489
  implicit: true
10370
10490
  };
10371
10491
  });
10372
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10492
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L18, fail, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
10373
10493
  const expression = [$2, $3];
10374
10494
  return {
10375
10495
  type: "ComputedPropertyName",
@@ -10658,7 +10778,7 @@ ${input.slice(result.pos)}
10658
10778
  return result;
10659
10779
  }
10660
10780
  }
10661
- var PrivateIdentifier$0 = $TV($TEXT($S($EXPECT($L15, fail, 'PrivateIdentifier "#"'), IdentifierName)), function($skip, $loc, $0, $1) {
10781
+ var PrivateIdentifier$0 = $TV($TEXT($S(Hash, IdentifierName)), function($skip, $loc, $0, $1) {
10662
10782
  return {
10663
10783
  type: "Identifier",
10664
10784
  name: $0,
@@ -10789,22 +10909,22 @@ ${input.slice(result.pos)}
10789
10909
  return result;
10790
10910
  }
10791
10911
  }
10792
- var AssignmentOpSymbol$0 = $EXPECT($L36, fail, 'AssignmentOpSymbol "**="');
10793
- var AssignmentOpSymbol$1 = $EXPECT($L37, fail, 'AssignmentOpSymbol "*="');
10794
- var AssignmentOpSymbol$2 = $EXPECT($L38, fail, 'AssignmentOpSymbol "/="');
10795
- var AssignmentOpSymbol$3 = $EXPECT($L39, fail, 'AssignmentOpSymbol "%="');
10796
- var AssignmentOpSymbol$4 = $EXPECT($L40, fail, 'AssignmentOpSymbol "+="');
10797
- var AssignmentOpSymbol$5 = $EXPECT($L41, fail, 'AssignmentOpSymbol "-="');
10798
- var AssignmentOpSymbol$6 = $EXPECT($L42, fail, 'AssignmentOpSymbol "<<="');
10799
- var AssignmentOpSymbol$7 = $EXPECT($L43, fail, 'AssignmentOpSymbol ">>>="');
10800
- var AssignmentOpSymbol$8 = $EXPECT($L44, fail, 'AssignmentOpSymbol ">>="');
10801
- var AssignmentOpSymbol$9 = $EXPECT($L45, fail, 'AssignmentOpSymbol "&&="');
10802
- var AssignmentOpSymbol$10 = $EXPECT($L46, fail, 'AssignmentOpSymbol "&="');
10803
- var AssignmentOpSymbol$11 = $EXPECT($L47, fail, 'AssignmentOpSymbol "^="');
10804
- var AssignmentOpSymbol$12 = $EXPECT($L48, fail, 'AssignmentOpSymbol "||="');
10805
- var AssignmentOpSymbol$13 = $EXPECT($L49, fail, 'AssignmentOpSymbol "|="');
10806
- var AssignmentOpSymbol$14 = $EXPECT($L50, fail, 'AssignmentOpSymbol "??="');
10807
- var AssignmentOpSymbol$15 = $T($EXPECT($L51, fail, 'AssignmentOpSymbol "?="'), function(value) {
10912
+ var AssignmentOpSymbol$0 = $EXPECT($L34, fail, 'AssignmentOpSymbol "**="');
10913
+ var AssignmentOpSymbol$1 = $EXPECT($L35, fail, 'AssignmentOpSymbol "*="');
10914
+ var AssignmentOpSymbol$2 = $EXPECT($L36, fail, 'AssignmentOpSymbol "/="');
10915
+ var AssignmentOpSymbol$3 = $EXPECT($L37, fail, 'AssignmentOpSymbol "%="');
10916
+ var AssignmentOpSymbol$4 = $EXPECT($L38, fail, 'AssignmentOpSymbol "+="');
10917
+ var AssignmentOpSymbol$5 = $EXPECT($L39, fail, 'AssignmentOpSymbol "-="');
10918
+ var AssignmentOpSymbol$6 = $EXPECT($L40, fail, 'AssignmentOpSymbol "<<="');
10919
+ var AssignmentOpSymbol$7 = $EXPECT($L41, fail, 'AssignmentOpSymbol ">>>="');
10920
+ var AssignmentOpSymbol$8 = $EXPECT($L42, fail, 'AssignmentOpSymbol ">>="');
10921
+ var AssignmentOpSymbol$9 = $EXPECT($L43, fail, 'AssignmentOpSymbol "&&="');
10922
+ var AssignmentOpSymbol$10 = $EXPECT($L44, fail, 'AssignmentOpSymbol "&="');
10923
+ var AssignmentOpSymbol$11 = $EXPECT($L45, fail, 'AssignmentOpSymbol "^="');
10924
+ var AssignmentOpSymbol$12 = $EXPECT($L46, fail, 'AssignmentOpSymbol "||="');
10925
+ var AssignmentOpSymbol$13 = $EXPECT($L47, fail, 'AssignmentOpSymbol "|="');
10926
+ var AssignmentOpSymbol$14 = $EXPECT($L48, fail, 'AssignmentOpSymbol "??="');
10927
+ var AssignmentOpSymbol$15 = $T($EXPECT($L49, fail, 'AssignmentOpSymbol "?="'), function(value) {
10808
10928
  return "??=";
10809
10929
  });
10810
10930
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, fail, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, fail, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10835,10 +10955,10 @@ ${input.slice(result.pos)}
10835
10955
  return result;
10836
10956
  }
10837
10957
  }
10838
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L52, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10958
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L50, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
10839
10959
  return "&&=";
10840
10960
  });
10841
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L53, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10961
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L51, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
10842
10962
  return "||=";
10843
10963
  });
10844
10964
  function CoffeeWordAssignmentOp(state) {
@@ -10945,27 +11065,27 @@ ${input.slice(result.pos)}
10945
11065
  return result;
10946
11066
  }
10947
11067
  }
10948
- var BinaryOpSymbol$0 = $EXPECT($L54, fail, 'BinaryOpSymbol "**"');
10949
- var BinaryOpSymbol$1 = $EXPECT($L55, fail, 'BinaryOpSymbol "*"');
10950
- var BinaryOpSymbol$2 = $EXPECT($L56, fail, 'BinaryOpSymbol "/"');
10951
- var BinaryOpSymbol$3 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
11068
+ var BinaryOpSymbol$0 = $EXPECT($L52, fail, 'BinaryOpSymbol "**"');
11069
+ var BinaryOpSymbol$1 = $EXPECT($L53, fail, 'BinaryOpSymbol "*"');
11070
+ var BinaryOpSymbol$2 = $EXPECT($L54, fail, 'BinaryOpSymbol "/"');
11071
+ var BinaryOpSymbol$3 = $TV($EXPECT($L55, fail, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10952
11072
  return {
10953
11073
  call: module.getRef("modulo"),
10954
11074
  special: true
10955
11075
  };
10956
11076
  });
10957
- var BinaryOpSymbol$4 = $EXPECT($L58, fail, 'BinaryOpSymbol "%"');
10958
- var BinaryOpSymbol$5 = $EXPECT($L59, fail, 'BinaryOpSymbol "+"');
10959
- var BinaryOpSymbol$6 = $EXPECT($L20, fail, 'BinaryOpSymbol "-"');
10960
- var BinaryOpSymbol$7 = $EXPECT($L60, fail, 'BinaryOpSymbol "<="');
10961
- var BinaryOpSymbol$8 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
11077
+ var BinaryOpSymbol$4 = $EXPECT($L56, fail, 'BinaryOpSymbol "%"');
11078
+ var BinaryOpSymbol$5 = $EXPECT($L57, fail, 'BinaryOpSymbol "+"');
11079
+ var BinaryOpSymbol$6 = $EXPECT($L18, fail, 'BinaryOpSymbol "-"');
11080
+ var BinaryOpSymbol$7 = $EXPECT($L58, fail, 'BinaryOpSymbol "<="');
11081
+ var BinaryOpSymbol$8 = $T($EXPECT($L59, fail, 'BinaryOpSymbol "\u2264"'), function(value) {
10962
11082
  return "<=";
10963
11083
  });
10964
- var BinaryOpSymbol$9 = $EXPECT($L62, fail, 'BinaryOpSymbol ">="');
10965
- var BinaryOpSymbol$10 = $T($EXPECT($L63, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
11084
+ var BinaryOpSymbol$9 = $EXPECT($L60, fail, 'BinaryOpSymbol ">="');
11085
+ var BinaryOpSymbol$10 = $T($EXPECT($L61, fail, 'BinaryOpSymbol "\u2265"'), function(value) {
10966
11086
  return ">=";
10967
11087
  });
10968
- var BinaryOpSymbol$11 = $TV($EXPECT($L64, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
11088
+ var BinaryOpSymbol$11 = $TV($EXPECT($L62, fail, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10969
11089
  return {
10970
11090
  $loc,
10971
11091
  token: "instanceof",
@@ -10973,7 +11093,7 @@ ${input.slice(result.pos)}
10973
11093
  special: true
10974
11094
  };
10975
11095
  });
10976
- var BinaryOpSymbol$12 = $TV($EXPECT($L65, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
11096
+ var BinaryOpSymbol$12 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10977
11097
  return {
10978
11098
  $loc,
10979
11099
  token: "instanceof",
@@ -10982,79 +11102,79 @@ ${input.slice(result.pos)}
10982
11102
  negated: true
10983
11103
  };
10984
11104
  });
10985
- var BinaryOpSymbol$13 = $EXPECT($L66, fail, 'BinaryOpSymbol "<<"');
10986
- var BinaryOpSymbol$14 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
11105
+ var BinaryOpSymbol$13 = $EXPECT($L64, fail, 'BinaryOpSymbol "<<"');
11106
+ var BinaryOpSymbol$14 = $T($EXPECT($L65, fail, 'BinaryOpSymbol "\xAB"'), function(value) {
10987
11107
  return "<<";
10988
11108
  });
10989
11109
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10990
11110
  return "<";
10991
11111
  });
10992
- var BinaryOpSymbol$16 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>>"');
10993
- var BinaryOpSymbol$17 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
11112
+ var BinaryOpSymbol$16 = $EXPECT($L66, fail, 'BinaryOpSymbol ">>>"');
11113
+ var BinaryOpSymbol$17 = $T($EXPECT($L67, fail, 'BinaryOpSymbol "\u22D9"'), function(value) {
10994
11114
  return ">>>";
10995
11115
  });
10996
- var BinaryOpSymbol$18 = $EXPECT($L70, fail, 'BinaryOpSymbol ">>"');
10997
- var BinaryOpSymbol$19 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
11116
+ var BinaryOpSymbol$18 = $EXPECT($L68, fail, 'BinaryOpSymbol ">>"');
11117
+ var BinaryOpSymbol$19 = $T($EXPECT($L69, fail, 'BinaryOpSymbol "\xBB"'), function(value) {
10998
11118
  return ">>";
10999
11119
  });
11000
- var BinaryOpSymbol$20 = $EXPECT($L34, fail, 'BinaryOpSymbol ">"');
11001
- var BinaryOpSymbol$21 = $EXPECT($L72, fail, 'BinaryOpSymbol "!=="');
11002
- var BinaryOpSymbol$22 = $T($EXPECT($L73, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11120
+ var BinaryOpSymbol$20 = $EXPECT($L32, fail, 'BinaryOpSymbol ">"');
11121
+ var BinaryOpSymbol$21 = $EXPECT($L70, fail, 'BinaryOpSymbol "!=="');
11122
+ var BinaryOpSymbol$22 = $T($EXPECT($L71, fail, 'BinaryOpSymbol "\u2262"'), function(value) {
11003
11123
  return "!==";
11004
11124
  });
11005
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L74, fail, 'BinaryOpSymbol "!="'), $EXPECT($L75, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11125
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L72, fail, 'BinaryOpSymbol "!="'), $EXPECT($L73, fail, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
11006
11126
  if (module.config.coffeeEq)
11007
11127
  return "!==";
11008
11128
  return "!=";
11009
11129
  });
11010
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L76, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11130
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L74, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11011
11131
  if (module.config.coffeeIsnt)
11012
11132
  return "!==";
11013
11133
  return $skip;
11014
11134
  });
11015
- var BinaryOpSymbol$25 = $EXPECT($L77, fail, 'BinaryOpSymbol "==="');
11016
- var BinaryOpSymbol$26 = $T($C($EXPECT($L78, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11135
+ var BinaryOpSymbol$25 = $EXPECT($L75, fail, 'BinaryOpSymbol "==="');
11136
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L76, fail, 'BinaryOpSymbol "\u2263"'), $EXPECT($L77, fail, 'BinaryOpSymbol "\u2A76"')), function(value) {
11017
11137
  return "===";
11018
11138
  });
11019
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L80, fail, 'BinaryOpSymbol "=="'), $EXPECT($L81, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L82, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11139
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L78, fail, 'BinaryOpSymbol "=="'), $EXPECT($L79, fail, 'BinaryOpSymbol "\u2261"'), $EXPECT($L80, fail, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
11020
11140
  if (module.config.coffeeEq)
11021
11141
  return "===";
11022
11142
  return "==";
11023
11143
  });
11024
- var BinaryOpSymbol$28 = $T($S($EXPECT($L83, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11144
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L81, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
11025
11145
  return "&&";
11026
11146
  });
11027
- var BinaryOpSymbol$29 = $EXPECT($L84, fail, 'BinaryOpSymbol "&&"');
11028
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11147
+ var BinaryOpSymbol$29 = $EXPECT($L82, fail, 'BinaryOpSymbol "&&"');
11148
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L83, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
11029
11149
  return "in";
11030
11150
  });
11031
- var BinaryOpSymbol$31 = $T($S($EXPECT($L86, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11151
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L84, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
11032
11152
  return "||";
11033
11153
  });
11034
- var BinaryOpSymbol$32 = $EXPECT($L87, fail, 'BinaryOpSymbol "||"');
11035
- var BinaryOpSymbol$33 = $T($EXPECT($L88, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11154
+ var BinaryOpSymbol$32 = $EXPECT($L85, fail, 'BinaryOpSymbol "||"');
11155
+ var BinaryOpSymbol$33 = $T($EXPECT($L86, fail, 'BinaryOpSymbol "\u2016"'), function(value) {
11036
11156
  return "||";
11037
11157
  });
11038
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L89, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11158
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L87, fail, 'BinaryOpSymbol "^^"'), $S($EXPECT($L88, fail, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11039
11159
  return {
11040
11160
  call: module.getRef("xor"),
11041
11161
  special: true
11042
11162
  };
11043
11163
  });
11044
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11164
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, fail, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L89, fail, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11045
11165
  return {
11046
11166
  call: module.getRef("xnor"),
11047
11167
  special: true
11048
11168
  };
11049
11169
  });
11050
- var BinaryOpSymbol$36 = $EXPECT($L92, fail, 'BinaryOpSymbol "??"');
11051
- var BinaryOpSymbol$37 = $T($EXPECT($L93, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11170
+ var BinaryOpSymbol$36 = $EXPECT($L90, fail, 'BinaryOpSymbol "??"');
11171
+ var BinaryOpSymbol$37 = $T($EXPECT($L91, fail, 'BinaryOpSymbol "\u2047"'), function(value) {
11052
11172
  return "??";
11053
11173
  });
11054
11174
  var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, fail, 'BinaryOpSymbol "?"')), function(value) {
11055
11175
  return "??";
11056
11176
  });
11057
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11177
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L92, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11058
11178
  return {
11059
11179
  $loc,
11060
11180
  token: $1,
@@ -11062,7 +11182,7 @@ ${input.slice(result.pos)}
11062
11182
  special: true
11063
11183
  };
11064
11184
  });
11065
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L94, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11185
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L92, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
11066
11186
  return {
11067
11187
  $loc,
11068
11188
  token: "instanceof",
@@ -11071,7 +11191,7 @@ ${input.slice(result.pos)}
11071
11191
  negated: true
11072
11192
  };
11073
11193
  });
11074
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L85, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11194
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L83, fail, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
11075
11195
  return {
11076
11196
  $loc,
11077
11197
  token: "in",
@@ -11079,7 +11199,7 @@ ${input.slice(result.pos)}
11079
11199
  negated: true
11080
11200
  };
11081
11201
  });
11082
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L95, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11202
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L93, fail, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
11083
11203
  return {
11084
11204
  method: "includes",
11085
11205
  relational: true,
@@ -11087,14 +11207,14 @@ ${input.slice(result.pos)}
11087
11207
  special: true
11088
11208
  };
11089
11209
  });
11090
- var BinaryOpSymbol$43 = $TV($EXPECT($L96, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11210
+ var BinaryOpSymbol$43 = $TV($EXPECT($L94, fail, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
11091
11211
  return {
11092
11212
  method: "includes",
11093
11213
  relational: true,
11094
11214
  special: true
11095
11215
  };
11096
11216
  });
11097
- var BinaryOpSymbol$44 = $TV($EXPECT($L97, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11217
+ var BinaryOpSymbol$44 = $TV($EXPECT($L95, fail, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
11098
11218
  return {
11099
11219
  method: "includes",
11100
11220
  relational: true,
@@ -11111,7 +11231,7 @@ ${input.slice(result.pos)}
11111
11231
  special: true
11112
11232
  };
11113
11233
  });
11114
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11234
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L96, fail, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
11115
11235
  return {
11116
11236
  method: "includes",
11117
11237
  relational: true,
@@ -11155,9 +11275,9 @@ ${input.slice(result.pos)}
11155
11275
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
11156
11276
  return "in";
11157
11277
  });
11158
- var BinaryOpSymbol$51 = $EXPECT($L99, fail, 'BinaryOpSymbol "&"');
11159
- var BinaryOpSymbol$52 = $EXPECT($L19, fail, 'BinaryOpSymbol "^"');
11160
- var BinaryOpSymbol$53 = $EXPECT($L100, fail, 'BinaryOpSymbol "|"');
11278
+ var BinaryOpSymbol$51 = $EXPECT($L97, fail, 'BinaryOpSymbol "&"');
11279
+ var BinaryOpSymbol$52 = $EXPECT($L17, fail, 'BinaryOpSymbol "^"');
11280
+ var BinaryOpSymbol$53 = $EXPECT($L98, fail, 'BinaryOpSymbol "|"');
11161
11281
  function BinaryOpSymbol(state) {
11162
11282
  let eventData;
11163
11283
  if (state.events) {
@@ -11180,8 +11300,8 @@ ${input.slice(result.pos)}
11180
11300
  return result;
11181
11301
  }
11182
11302
  }
11183
- var Xor$0 = $EXPECT($L89, fail, 'Xor "^^"');
11184
- var Xor$1 = $S($EXPECT($L90, fail, 'Xor "xor"'), NonIdContinue);
11303
+ var Xor$0 = $EXPECT($L87, fail, 'Xor "^^"');
11304
+ var Xor$1 = $S($EXPECT($L88, fail, 'Xor "xor"'), NonIdContinue);
11185
11305
  function Xor(state) {
11186
11306
  let eventData;
11187
11307
  if (state.events) {
@@ -11205,7 +11325,7 @@ ${input.slice(result.pos)}
11205
11325
  }
11206
11326
  }
11207
11327
  var Xnor$0 = $R$0($EXPECT($R8, fail, "Xnor /!\\^\\^?/"));
11208
- var Xnor$1 = $EXPECT($L91, fail, 'Xnor "xnor"');
11328
+ var Xnor$1 = $EXPECT($L89, fail, 'Xnor "xnor"');
11209
11329
  function Xnor(state) {
11210
11330
  let eventData;
11211
11331
  if (state.events) {
@@ -11493,7 +11613,7 @@ ${input.slice(result.pos)}
11493
11613
  return result;
11494
11614
  }
11495
11615
  }
11496
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11616
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L99, fail, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
11497
11617
  return { type: "EmptyStatement", children: $1 || [] };
11498
11618
  });
11499
11619
  function EmptyStatement(state) {
@@ -11572,7 +11692,7 @@ ${input.slice(result.pos)}
11572
11692
  var w = $3;
11573
11693
  return [id, colon, w];
11574
11694
  });
11575
- var Label$1 = $S($EXPECT($L102, fail, 'Label "$:"'), Whitespace);
11695
+ var Label$1 = $S($EXPECT($L100, fail, 'Label "$:"'), Whitespace);
11576
11696
  function Label(state) {
11577
11697
  let eventData;
11578
11698
  if (state.events) {
@@ -12050,6 +12170,7 @@ ${input.slice(result.pos)}
12050
12170
  subtype: statement.type,
12051
12171
  children: [statement],
12052
12172
  block: statement.block,
12173
+ statement,
12053
12174
  async
12054
12175
  };
12055
12176
  });
@@ -12416,7 +12537,7 @@ ${input.slice(result.pos)}
12416
12537
  }
12417
12538
  if (declaration.own) {
12418
12539
  const hasPropRef = module.getRef("hasProp");
12419
- blockPrefix.push(["", "if (!", hasPropRef, ".call(", exp, ", ", declaration, ")) continue", ";"]);
12540
+ blockPrefix.push(["", "if (!", hasPropRef, "(", exp, ", ", declaration, ")) continue", ";"]);
12420
12541
  }
12421
12542
  if (index) {
12422
12543
  blockPrefix.push(["", {
@@ -12541,7 +12662,7 @@ ${input.slice(result.pos)}
12541
12662
  return result;
12542
12663
  }
12543
12664
  }
12544
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L103, fail, 'CoffeeForDeclaration "own"'), NonIdContinue)), ForBinding), function($skip, $loc, $0, $1, $2) {
12665
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, Own)), ForBinding), function($skip, $loc, $0, $1, $2) {
12545
12666
  var own = $1;
12546
12667
  var binding = $2;
12547
12668
  return {
@@ -12587,11 +12708,11 @@ ${input.slice(result.pos)}
12587
12708
  children: $0
12588
12709
  };
12589
12710
  });
12590
- 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) {
12591
- return processForInOf($0);
12711
+ 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) {
12712
+ return processForInOf($0, module.getRef);
12592
12713
  });
12593
- 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) {
12594
- return processForInOf($0);
12714
+ 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) {
12715
+ return processForInOf($0, module.getRef);
12595
12716
  });
12596
12717
  var ForStatementParameters$4 = ForRangeParameters;
12597
12718
  function ForStatementParameters(state) {
@@ -14170,7 +14291,7 @@ ${input.slice(result.pos)}
14170
14291
  return result;
14171
14292
  }
14172
14293
  }
14173
- var Break$0 = $TS($S($EXPECT($L104, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14294
+ var Break$0 = $TS($S($EXPECT($L101, fail, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14174
14295
  return { $loc, token: $1 };
14175
14296
  });
14176
14297
  function Break(state) {
@@ -14195,7 +14316,7 @@ ${input.slice(result.pos)}
14195
14316
  return result;
14196
14317
  }
14197
14318
  }
14198
- var Continue$0 = $TS($S($EXPECT($L105, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14319
+ var Continue$0 = $TS($S($EXPECT($L102, fail, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14199
14320
  return { $loc, token: $1 };
14200
14321
  });
14201
14322
  function Continue(state) {
@@ -14220,7 +14341,7 @@ ${input.slice(result.pos)}
14220
14341
  return result;
14221
14342
  }
14222
14343
  }
14223
- var Debugger$0 = $TS($S($EXPECT($L106, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14344
+ var Debugger$0 = $TS($S($EXPECT($L103, fail, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14224
14345
  return { $loc, token: $1 };
14225
14346
  });
14226
14347
  function Debugger(state) {
@@ -14526,7 +14647,7 @@ ${input.slice(result.pos)}
14526
14647
  return result;
14527
14648
  }
14528
14649
  }
14529
- var ImportAssertion$0 = $S($E(_), $EXPECT($L107, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14650
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L104, fail, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
14530
14651
  function ImportAssertion(state) {
14531
14652
  let eventData;
14532
14653
  if (state.events) {
@@ -15096,7 +15217,7 @@ ${input.slice(result.pos)}
15096
15217
  return result;
15097
15218
  }
15098
15219
  }
15099
- var ConstAssignment$0 = $TV($C($EXPECT($L108, fail, 'ConstAssignment ":="'), $EXPECT($L109, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15220
+ var ConstAssignment$0 = $TV($C($EXPECT($L105, fail, 'ConstAssignment ":="'), $EXPECT($L106, fail, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
15100
15221
  return { $loc, token: "=" };
15101
15222
  });
15102
15223
  function ConstAssignment(state) {
@@ -15121,7 +15242,7 @@ ${input.slice(result.pos)}
15121
15242
  return result;
15122
15243
  }
15123
15244
  }
15124
- var LetAssignment$0 = $TV($EXPECT($L110, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15245
+ var LetAssignment$0 = $TV($EXPECT($L107, fail, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
15125
15246
  return { $loc, token: "=" };
15126
15247
  });
15127
15248
  function LetAssignment(state) {
@@ -15767,7 +15888,7 @@ ${input.slice(result.pos)}
15767
15888
  }
15768
15889
  }
15769
15890
  var RegularExpressionLiteral$0 = HeregexLiteral;
15770
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L56, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15891
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L54, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
15771
15892
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
15772
15893
  });
15773
15894
  function RegularExpressionLiteral(state) {
@@ -16334,7 +16455,7 @@ ${input.slice(result.pos)}
16334
16455
  return result;
16335
16456
  }
16336
16457
  }
16337
- 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) {
16458
+ 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) {
16338
16459
  return { type: "Comment", $loc, token: $1 };
16339
16460
  });
16340
16461
  function JSMultiLineComment(state) {
@@ -16433,7 +16554,7 @@ ${input.slice(result.pos)}
16433
16554
  return result;
16434
16555
  }
16435
16556
  }
16436
- 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) {
16557
+ 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) {
16437
16558
  return { $loc, token: $1 };
16438
16559
  });
16439
16560
  function InlineComment(state) {
@@ -16530,7 +16651,7 @@ ${input.slice(result.pos)}
16530
16651
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16531
16652
  return { $loc, token: $0 };
16532
16653
  });
16533
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L113, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16654
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L110, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
16534
16655
  return "";
16535
16656
  });
16536
16657
  function NonNewlineWhitespace(state) {
@@ -16682,7 +16803,7 @@ ${input.slice(result.pos)}
16682
16803
  }
16683
16804
  }
16684
16805
  var StatementDelimiter$0 = SemicolonDelimiter;
16685
- 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);
16806
+ 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);
16686
16807
  var StatementDelimiter$2 = $Y(EOS);
16687
16808
  function StatementDelimiter(state) {
16688
16809
  let eventData;
@@ -16782,7 +16903,7 @@ ${input.slice(result.pos)}
16782
16903
  return result;
16783
16904
  }
16784
16905
  }
16785
- var Abstract$0 = $TV($TEXT($S($EXPECT($L116, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16906
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L113, fail, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, fail, 'Abstract " "')))), function($skip, $loc, $0, $1) {
16786
16907
  return { $loc, token: $1, ts: true };
16787
16908
  });
16788
16909
  function Abstract(state) {
@@ -16807,7 +16928,7 @@ ${input.slice(result.pos)}
16807
16928
  return result;
16808
16929
  }
16809
16930
  }
16810
- var Ampersand$0 = $TV($EXPECT($L99, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16931
+ var Ampersand$0 = $TV($EXPECT($L97, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
16811
16932
  return { $loc, token: $1 };
16812
16933
  });
16813
16934
  function Ampersand(state) {
@@ -16832,7 +16953,7 @@ ${input.slice(result.pos)}
16832
16953
  return result;
16833
16954
  }
16834
16955
  }
16835
- var As$0 = $TS($S($EXPECT($L117, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16956
+ var As$0 = $TS($S($EXPECT($L114, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16836
16957
  return { $loc, token: $1 };
16837
16958
  });
16838
16959
  function As(state) {
@@ -16857,7 +16978,7 @@ ${input.slice(result.pos)}
16857
16978
  return result;
16858
16979
  }
16859
16980
  }
16860
- var At$0 = $TV($EXPECT($L118, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16981
+ var At$0 = $TV($EXPECT($L115, fail, 'At "@"'), function($skip, $loc, $0, $1) {
16861
16982
  return { $loc, token: $1 };
16862
16983
  });
16863
16984
  function At(state) {
@@ -16882,7 +17003,7 @@ ${input.slice(result.pos)}
16882
17003
  return result;
16883
17004
  }
16884
17005
  }
16885
- var AtAt$0 = $TV($EXPECT($L119, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
17006
+ var AtAt$0 = $TV($EXPECT($L116, fail, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
16886
17007
  return { $loc, token: "@" };
16887
17008
  });
16888
17009
  function AtAt(state) {
@@ -16907,7 +17028,7 @@ ${input.slice(result.pos)}
16907
17028
  return result;
16908
17029
  }
16909
17030
  }
16910
- var Async$0 = $TS($S($EXPECT($L120, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17031
+ var Async$0 = $TS($S($EXPECT($L117, fail, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16911
17032
  return { $loc, token: $1, type: "Async" };
16912
17033
  });
16913
17034
  function Async(state) {
@@ -16932,7 +17053,7 @@ ${input.slice(result.pos)}
16932
17053
  return result;
16933
17054
  }
16934
17055
  }
16935
- var Await$0 = $TS($S($EXPECT($L121, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17056
+ var Await$0 = $TS($S($EXPECT($L118, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16936
17057
  return { $loc, token: $1, type: "Await" };
16937
17058
  });
16938
17059
  function Await(state) {
@@ -16957,7 +17078,7 @@ ${input.slice(result.pos)}
16957
17078
  return result;
16958
17079
  }
16959
17080
  }
16960
- var Backtick$0 = $TV($EXPECT($L115, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
17081
+ var Backtick$0 = $TV($EXPECT($L112, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
16961
17082
  return { $loc, token: $1 };
16962
17083
  });
16963
17084
  function Backtick(state) {
@@ -16982,7 +17103,7 @@ ${input.slice(result.pos)}
16982
17103
  return result;
16983
17104
  }
16984
17105
  }
16985
- var By$0 = $TS($S($EXPECT($L122, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17106
+ var By$0 = $TS($S($EXPECT($L119, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
16986
17107
  return { $loc, token: $1 };
16987
17108
  });
16988
17109
  function By(state) {
@@ -17007,7 +17128,7 @@ ${input.slice(result.pos)}
17007
17128
  return result;
17008
17129
  }
17009
17130
  }
17010
- var Case$0 = $TS($S($EXPECT($L123, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17131
+ var Case$0 = $TS($S($EXPECT($L120, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17011
17132
  return { $loc, token: $1 };
17012
17133
  });
17013
17134
  function Case(state) {
@@ -17032,7 +17153,7 @@ ${input.slice(result.pos)}
17032
17153
  return result;
17033
17154
  }
17034
17155
  }
17035
- var Catch$0 = $TS($S($EXPECT($L124, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17156
+ var Catch$0 = $TS($S($EXPECT($L121, fail, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17036
17157
  return { $loc, token: $1 };
17037
17158
  });
17038
17159
  function Catch(state) {
@@ -17057,7 +17178,7 @@ ${input.slice(result.pos)}
17057
17178
  return result;
17058
17179
  }
17059
17180
  }
17060
- var Class$0 = $TS($S($EXPECT($L125, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17181
+ var Class$0 = $TS($S($EXPECT($L122, fail, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17061
17182
  return { $loc, token: $1 };
17062
17183
  });
17063
17184
  function Class(state) {
@@ -17082,7 +17203,7 @@ ${input.slice(result.pos)}
17082
17203
  return result;
17083
17204
  }
17084
17205
  }
17085
- var CloseBrace$0 = $TV($EXPECT($L26, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17206
+ var CloseBrace$0 = $TV($EXPECT($L24, fail, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
17086
17207
  return { $loc, token: $1 };
17087
17208
  });
17088
17209
  function CloseBrace(state) {
@@ -17107,7 +17228,7 @@ ${input.slice(result.pos)}
17107
17228
  return result;
17108
17229
  }
17109
17230
  }
17110
- var CloseBracket$0 = $TV($EXPECT($L35, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17231
+ var CloseBracket$0 = $TV($EXPECT($L33, fail, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
17111
17232
  return { $loc, token: $1 };
17112
17233
  });
17113
17234
  function CloseBracket(state) {
@@ -17132,7 +17253,7 @@ ${input.slice(result.pos)}
17132
17253
  return result;
17133
17254
  }
17134
17255
  }
17135
- var CloseParen$0 = $TV($EXPECT($L126, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17256
+ var CloseParen$0 = $TV($EXPECT($L123, fail, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
17136
17257
  return { $loc, token: $1 };
17137
17258
  });
17138
17259
  function CloseParen(state) {
@@ -17157,7 +17278,7 @@ ${input.slice(result.pos)}
17157
17278
  return result;
17158
17279
  }
17159
17280
  }
17160
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17281
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L124, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
17161
17282
  return { $loc, token: "${" };
17162
17283
  });
17163
17284
  function CoffeeSubstitutionStart(state) {
@@ -17207,7 +17328,7 @@ ${input.slice(result.pos)}
17207
17328
  return result;
17208
17329
  }
17209
17330
  }
17210
- var Comma$0 = $TV($EXPECT($L23, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17331
+ var Comma$0 = $TV($EXPECT($L21, fail, 'Comma ","'), function($skip, $loc, $0, $1) {
17211
17332
  return { $loc, token: $1 };
17212
17333
  });
17213
17334
  function Comma(state) {
@@ -17232,7 +17353,7 @@ ${input.slice(result.pos)}
17232
17353
  return result;
17233
17354
  }
17234
17355
  }
17235
- var ConstructorShorthand$0 = $TV($EXPECT($L118, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17356
+ var ConstructorShorthand$0 = $TV($EXPECT($L115, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
17236
17357
  return { $loc, token: "constructor" };
17237
17358
  });
17238
17359
  function ConstructorShorthand(state) {
@@ -17257,7 +17378,7 @@ ${input.slice(result.pos)}
17257
17378
  return result;
17258
17379
  }
17259
17380
  }
17260
- var Declare$0 = $TS($S($EXPECT($L128, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17381
+ var Declare$0 = $TS($S($EXPECT($L125, fail, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17261
17382
  return { $loc, token: $1 };
17262
17383
  });
17263
17384
  function Declare(state) {
@@ -17282,7 +17403,7 @@ ${input.slice(result.pos)}
17282
17403
  return result;
17283
17404
  }
17284
17405
  }
17285
- var Default$0 = $TS($S($EXPECT($L129, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17406
+ var Default$0 = $TS($S($EXPECT($L126, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17286
17407
  return { $loc, token: $1 };
17287
17408
  });
17288
17409
  function Default(state) {
@@ -17307,7 +17428,7 @@ ${input.slice(result.pos)}
17307
17428
  return result;
17308
17429
  }
17309
17430
  }
17310
- var Delete$0 = $TS($S($EXPECT($L130, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17431
+ var Delete$0 = $TS($S($EXPECT($L127, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17311
17432
  return { $loc, token: $1 };
17312
17433
  });
17313
17434
  function Delete(state) {
@@ -17332,7 +17453,7 @@ ${input.slice(result.pos)}
17332
17453
  return result;
17333
17454
  }
17334
17455
  }
17335
- var Do$0 = $TS($S($EXPECT($L131, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17456
+ var Do$0 = $TS($S($EXPECT($L128, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17336
17457
  return { $loc, token: $1 };
17337
17458
  });
17338
17459
  function Do(state) {
@@ -17389,10 +17510,10 @@ ${input.slice(result.pos)}
17389
17510
  return result;
17390
17511
  }
17391
17512
  }
17392
- var DotDot$0 = $TS($S($EXPECT($L132, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17513
+ var DotDot$0 = $TS($S($EXPECT($L129, fail, 'DotDot ".."'), $N($EXPECT($L6, fail, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
17393
17514
  return { $loc, token: $1 };
17394
17515
  });
17395
- var DotDot$1 = $TV($EXPECT($L133, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17516
+ var DotDot$1 = $TV($EXPECT($L130, fail, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
17396
17517
  return { $loc, token: ".." };
17397
17518
  });
17398
17519
  function DotDot(state) {
@@ -17417,10 +17538,10 @@ ${input.slice(result.pos)}
17417
17538
  return result;
17418
17539
  }
17419
17540
  }
17420
- var DotDotDot$0 = $TV($EXPECT($L134, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17541
+ var DotDotDot$0 = $TV($EXPECT($L131, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
17421
17542
  return { $loc, token: $1 };
17422
17543
  });
17423
- var DotDotDot$1 = $TV($EXPECT($L135, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17544
+ var DotDotDot$1 = $TV($EXPECT($L132, fail, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
17424
17545
  return { $loc, token: "..." };
17425
17546
  });
17426
17547
  function DotDotDot(state) {
@@ -17445,7 +17566,7 @@ ${input.slice(result.pos)}
17445
17566
  return result;
17446
17567
  }
17447
17568
  }
17448
- var DoubleColon$0 = $TV($EXPECT($L136, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17569
+ var DoubleColon$0 = $TV($EXPECT($L133, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
17449
17570
  return { $loc, token: $1 };
17450
17571
  });
17451
17572
  function DoubleColon(state) {
@@ -17470,7 +17591,7 @@ ${input.slice(result.pos)}
17470
17591
  return result;
17471
17592
  }
17472
17593
  }
17473
- var DoubleQuote$0 = $TV($EXPECT($L137, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17594
+ var DoubleQuote$0 = $TV($EXPECT($L134, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
17474
17595
  return { $loc, token: $1 };
17475
17596
  });
17476
17597
  function DoubleQuote(state) {
@@ -17495,7 +17616,7 @@ ${input.slice(result.pos)}
17495
17616
  return result;
17496
17617
  }
17497
17618
  }
17498
- var Each$0 = $TS($S($EXPECT($L138, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17619
+ var Each$0 = $TS($S($EXPECT($L135, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17499
17620
  return { $loc, token: $1 };
17500
17621
  });
17501
17622
  function Each(state) {
@@ -17520,7 +17641,7 @@ ${input.slice(result.pos)}
17520
17641
  return result;
17521
17642
  }
17522
17643
  }
17523
- var Else$0 = $TS($S($EXPECT($L139, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17644
+ var Else$0 = $TS($S($EXPECT($L136, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17524
17645
  return { $loc, token: $1 };
17525
17646
  });
17526
17647
  function Else(state) {
@@ -17570,7 +17691,7 @@ ${input.slice(result.pos)}
17570
17691
  return result;
17571
17692
  }
17572
17693
  }
17573
- var Export$0 = $TS($S($EXPECT($L140, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17694
+ var Export$0 = $TS($S($EXPECT($L137, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17574
17695
  return { $loc, token: $1 };
17575
17696
  });
17576
17697
  function Export(state) {
@@ -17595,7 +17716,7 @@ ${input.slice(result.pos)}
17595
17716
  return result;
17596
17717
  }
17597
17718
  }
17598
- var Extends$0 = $TS($S($EXPECT($L141, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17719
+ var Extends$0 = $TS($S($EXPECT($L138, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17599
17720
  return { $loc, token: $1 };
17600
17721
  });
17601
17722
  function Extends(state) {
@@ -17620,7 +17741,7 @@ ${input.slice(result.pos)}
17620
17741
  return result;
17621
17742
  }
17622
17743
  }
17623
- var Finally$0 = $TS($S($EXPECT($L142, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17744
+ var Finally$0 = $TS($S($EXPECT($L139, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17624
17745
  return { $loc, token: $1 };
17625
17746
  });
17626
17747
  function Finally(state) {
@@ -17645,7 +17766,7 @@ ${input.slice(result.pos)}
17645
17766
  return result;
17646
17767
  }
17647
17768
  }
17648
- var For$0 = $TS($S($EXPECT($L143, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17769
+ var For$0 = $TS($S($EXPECT($L140, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17649
17770
  return { $loc, token: $1 };
17650
17771
  });
17651
17772
  function For(state) {
@@ -17670,7 +17791,7 @@ ${input.slice(result.pos)}
17670
17791
  return result;
17671
17792
  }
17672
17793
  }
17673
- var From$0 = $TS($S($EXPECT($L144, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17794
+ var From$0 = $TS($S($EXPECT($L141, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17674
17795
  return { $loc, token: $1 };
17675
17796
  });
17676
17797
  function From(state) {
@@ -17695,7 +17816,7 @@ ${input.slice(result.pos)}
17695
17816
  return result;
17696
17817
  }
17697
17818
  }
17698
- var Function$0 = $TS($S($EXPECT($L145, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17819
+ var Function$0 = $TS($S($EXPECT($L142, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17699
17820
  return { $loc, token: $1 };
17700
17821
  });
17701
17822
  function Function(state) {
@@ -17720,7 +17841,7 @@ ${input.slice(result.pos)}
17720
17841
  return result;
17721
17842
  }
17722
17843
  }
17723
- var GetOrSet$0 = $TS($S($C($EXPECT($L146, fail, 'GetOrSet "get"'), $EXPECT($L147, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17844
+ var GetOrSet$0 = $TS($S($C($EXPECT($L143, fail, 'GetOrSet "get"'), $EXPECT($L144, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17724
17845
  return { $loc, token: $1, type: "GetOrSet" };
17725
17846
  });
17726
17847
  function GetOrSet(state) {
@@ -17745,7 +17866,32 @@ ${input.slice(result.pos)}
17745
17866
  return result;
17746
17867
  }
17747
17868
  }
17748
- var If$0 = $TV($TEXT($S($EXPECT($L148, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17869
+ var Hash$0 = $TV($EXPECT($L145, fail, 'Hash "#"'), function($skip, $loc, $0, $1) {
17870
+ return { $loc, token: $1 };
17871
+ });
17872
+ function Hash(state) {
17873
+ let eventData;
17874
+ if (state.events) {
17875
+ const result = state.events.enter?.("Hash", state);
17876
+ if (result) {
17877
+ if (result.cache)
17878
+ return result.cache;
17879
+ eventData = result.data;
17880
+ }
17881
+ }
17882
+ if (state.tokenize) {
17883
+ const result = $TOKEN("Hash", state, Hash$0(state));
17884
+ if (state.events)
17885
+ state.events.exit?.("Hash", state, result, eventData);
17886
+ return result;
17887
+ } else {
17888
+ const result = Hash$0(state);
17889
+ if (state.events)
17890
+ state.events.exit?.("Hash", state, result, eventData);
17891
+ return result;
17892
+ }
17893
+ }
17894
+ var If$0 = $TV($TEXT($S($EXPECT($L146, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17749
17895
  return { $loc, token: $1 };
17750
17896
  });
17751
17897
  function If(state) {
@@ -17770,7 +17916,7 @@ ${input.slice(result.pos)}
17770
17916
  return result;
17771
17917
  }
17772
17918
  }
17773
- var Import$0 = $TS($S($EXPECT($L17, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17919
+ var Import$0 = $TS($S($EXPECT($L15, fail, 'Import "import"'), $Y($EXPECT($R50, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
17774
17920
  return { $loc, token: $1 };
17775
17921
  });
17776
17922
  function Import(state) {
@@ -17795,7 +17941,7 @@ ${input.slice(result.pos)}
17795
17941
  return result;
17796
17942
  }
17797
17943
  }
17798
- var In$0 = $TS($S($EXPECT($L149, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17944
+ var In$0 = $TS($S($EXPECT($L147, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17799
17945
  return { $loc, token: $1 };
17800
17946
  });
17801
17947
  function In(state) {
@@ -17820,7 +17966,7 @@ ${input.slice(result.pos)}
17820
17966
  return result;
17821
17967
  }
17822
17968
  }
17823
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, fail, 'LetOrConst "let"'), $EXPECT($L151, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17969
+ var LetOrConst$0 = $TS($S($C($EXPECT($L148, fail, 'LetOrConst "let"'), $EXPECT($L149, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17824
17970
  return { $loc, token: $1 };
17825
17971
  });
17826
17972
  function LetOrConst(state) {
@@ -17845,7 +17991,7 @@ ${input.slice(result.pos)}
17845
17991
  return result;
17846
17992
  }
17847
17993
  }
17848
- var Const$0 = $TS($S($EXPECT($L151, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17994
+ var Const$0 = $TS($S($EXPECT($L149, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17849
17995
  return { $loc, token: $1 };
17850
17996
  });
17851
17997
  function Const(state) {
@@ -17870,7 +18016,7 @@ ${input.slice(result.pos)}
17870
18016
  return result;
17871
18017
  }
17872
18018
  }
17873
- var Is$0 = $TS($S($EXPECT($L152, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18019
+ var Is$0 = $TS($S($EXPECT($L150, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17874
18020
  return { $loc, token: $1 };
17875
18021
  });
17876
18022
  function Is(state) {
@@ -17919,7 +18065,7 @@ ${input.slice(result.pos)}
17919
18065
  return result;
17920
18066
  }
17921
18067
  }
17922
- var Loop$0 = $TS($S($EXPECT($L153, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18068
+ var Loop$0 = $TS($S($EXPECT($L151, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17923
18069
  return { $loc, token: "while(true)" };
17924
18070
  });
17925
18071
  function Loop(state) {
@@ -17944,7 +18090,7 @@ ${input.slice(result.pos)}
17944
18090
  return result;
17945
18091
  }
17946
18092
  }
17947
- var New$0 = $TS($S($EXPECT($L154, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18093
+ var New$0 = $TS($S($EXPECT($L152, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17948
18094
  return { $loc, token: $1 };
17949
18095
  });
17950
18096
  function New(state) {
@@ -17969,7 +18115,7 @@ ${input.slice(result.pos)}
17969
18115
  return result;
17970
18116
  }
17971
18117
  }
17972
- 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) {
18118
+ 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) {
17973
18119
  return { $loc, token: "!" };
17974
18120
  });
17975
18121
  function Not(state) {
@@ -17994,7 +18140,7 @@ ${input.slice(result.pos)}
17994
18140
  return result;
17995
18141
  }
17996
18142
  }
17997
- var Of$0 = $TS($S($EXPECT($L85, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18143
+ var Of$0 = $TS($S($EXPECT($L83, fail, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17998
18144
  return { $loc, token: $1 };
17999
18145
  });
18000
18146
  function Of(state) {
@@ -18019,7 +18165,7 @@ ${input.slice(result.pos)}
18019
18165
  return result;
18020
18166
  }
18021
18167
  }
18022
- var OpenAngleBracket$0 = $TV($EXPECT($L156, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18168
+ var OpenAngleBracket$0 = $TV($EXPECT($L154, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18023
18169
  return { $loc, token: $1 };
18024
18170
  });
18025
18171
  function OpenAngleBracket(state) {
@@ -18069,7 +18215,7 @@ ${input.slice(result.pos)}
18069
18215
  return result;
18070
18216
  }
18071
18217
  }
18072
- var OpenBracket$0 = $TV($EXPECT($L114, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18218
+ var OpenBracket$0 = $TV($EXPECT($L111, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
18073
18219
  return { $loc, token: $1 };
18074
18220
  });
18075
18221
  function OpenBracket(state) {
@@ -18119,7 +18265,7 @@ ${input.slice(result.pos)}
18119
18265
  return result;
18120
18266
  }
18121
18267
  }
18122
- var Operator$0 = $TS($S($EXPECT($L157, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18268
+ var Operator$0 = $TS($S($EXPECT($L155, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18123
18269
  return { $loc, token: $1 };
18124
18270
  });
18125
18271
  function Operator(state) {
@@ -18144,7 +18290,32 @@ ${input.slice(result.pos)}
18144
18290
  return result;
18145
18291
  }
18146
18292
  }
18147
- var Public$0 = $TS($S($EXPECT($L158, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18293
+ var Own$0 = $TS($S($EXPECT($L156, fail, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18294
+ return { $loc, token: $1 };
18295
+ });
18296
+ function Own(state) {
18297
+ let eventData;
18298
+ if (state.events) {
18299
+ const result = state.events.enter?.("Own", state);
18300
+ if (result) {
18301
+ if (result.cache)
18302
+ return result.cache;
18303
+ eventData = result.data;
18304
+ }
18305
+ }
18306
+ if (state.tokenize) {
18307
+ const result = $TOKEN("Own", state, Own$0(state));
18308
+ if (state.events)
18309
+ state.events.exit?.("Own", state, result, eventData);
18310
+ return result;
18311
+ } else {
18312
+ const result = Own$0(state);
18313
+ if (state.events)
18314
+ state.events.exit?.("Own", state, result, eventData);
18315
+ return result;
18316
+ }
18317
+ }
18318
+ var Public$0 = $TS($S($EXPECT($L157, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18148
18319
  return { $loc, token: $1 };
18149
18320
  });
18150
18321
  function Public(state) {
@@ -18169,7 +18340,7 @@ ${input.slice(result.pos)}
18169
18340
  return result;
18170
18341
  }
18171
18342
  }
18172
- var Private$0 = $TS($S($EXPECT($L159, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18343
+ var Private$0 = $TS($S($EXPECT($L158, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18173
18344
  return { $loc, token: $1 };
18174
18345
  });
18175
18346
  function Private(state) {
@@ -18194,7 +18365,7 @@ ${input.slice(result.pos)}
18194
18365
  return result;
18195
18366
  }
18196
18367
  }
18197
- var Protected$0 = $TS($S($EXPECT($L160, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18368
+ var Protected$0 = $TS($S($EXPECT($L159, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18198
18369
  return { $loc, token: $1 };
18199
18370
  });
18200
18371
  function Protected(state) {
@@ -18219,13 +18390,13 @@ ${input.slice(result.pos)}
18219
18390
  return result;
18220
18391
  }
18221
18392
  }
18222
- var Pipe$0 = $TV($C($EXPECT($L161, fail, 'Pipe "||>"'), $EXPECT($L162, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18393
+ var Pipe$0 = $TV($C($EXPECT($L160, fail, 'Pipe "||>"'), $EXPECT($L161, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18223
18394
  return { $loc, token: "||>" };
18224
18395
  });
18225
- var Pipe$1 = $TV($C($EXPECT($L163, fail, 'Pipe "|>="'), $EXPECT($L164, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18396
+ var Pipe$1 = $TV($C($EXPECT($L162, fail, 'Pipe "|>="'), $EXPECT($L163, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18226
18397
  return { $loc, token: "|>=" };
18227
18398
  });
18228
- var Pipe$2 = $TV($C($EXPECT($L165, fail, 'Pipe "|>"'), $EXPECT($L166, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18399
+ var Pipe$2 = $TV($C($EXPECT($L164, fail, 'Pipe "|>"'), $EXPECT($L165, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18229
18400
  return { $loc, token: "|>" };
18230
18401
  });
18231
18402
  function Pipe(state) {
@@ -18275,7 +18446,7 @@ ${input.slice(result.pos)}
18275
18446
  return result;
18276
18447
  }
18277
18448
  }
18278
- var Readonly$0 = $TS($S($EXPECT($L167, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18449
+ var Readonly$0 = $TS($S($EXPECT($L166, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18279
18450
  return { $loc, token: $1, ts: true };
18280
18451
  });
18281
18452
  function Readonly(state) {
@@ -18300,7 +18471,7 @@ ${input.slice(result.pos)}
18300
18471
  return result;
18301
18472
  }
18302
18473
  }
18303
- var Return$0 = $TS($S($EXPECT($L168, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18474
+ var Return$0 = $TS($S($EXPECT($L167, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18304
18475
  return { $loc, token: $1 };
18305
18476
  });
18306
18477
  function Return(state) {
@@ -18325,7 +18496,7 @@ ${input.slice(result.pos)}
18325
18496
  return result;
18326
18497
  }
18327
18498
  }
18328
- var Satisfies$0 = $TS($S($EXPECT($L169, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18499
+ var Satisfies$0 = $TS($S($EXPECT($L168, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18329
18500
  return { $loc, token: $1 };
18330
18501
  });
18331
18502
  function Satisfies(state) {
@@ -18350,7 +18521,7 @@ ${input.slice(result.pos)}
18350
18521
  return result;
18351
18522
  }
18352
18523
  }
18353
- var Semicolon$0 = $TV($EXPECT($L101, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18524
+ var Semicolon$0 = $TV($EXPECT($L99, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
18354
18525
  return { $loc, token: $1 };
18355
18526
  });
18356
18527
  function Semicolon(state) {
@@ -18375,7 +18546,7 @@ ${input.slice(result.pos)}
18375
18546
  return result;
18376
18547
  }
18377
18548
  }
18378
- var SingleQuote$0 = $TV($EXPECT($L170, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18549
+ var SingleQuote$0 = $TV($EXPECT($L169, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18379
18550
  return { $loc, token: $1 };
18380
18551
  });
18381
18552
  function SingleQuote(state) {
@@ -18400,7 +18571,7 @@ ${input.slice(result.pos)}
18400
18571
  return result;
18401
18572
  }
18402
18573
  }
18403
- var Star$0 = $TV($EXPECT($L55, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18574
+ var Star$0 = $TV($EXPECT($L53, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
18404
18575
  return { $loc, token: $1 };
18405
18576
  });
18406
18577
  function Star(state) {
@@ -18425,10 +18596,10 @@ ${input.slice(result.pos)}
18425
18596
  return result;
18426
18597
  }
18427
18598
  }
18428
- var Static$0 = $TS($S($EXPECT($L171, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18599
+ var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18429
18600
  return { $loc, token: $1 };
18430
18601
  });
18431
- 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) {
18602
+ 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) {
18432
18603
  return { $loc, token: "static " };
18433
18604
  });
18434
18605
  function Static(state) {
@@ -18453,7 +18624,7 @@ ${input.slice(result.pos)}
18453
18624
  return result;
18454
18625
  }
18455
18626
  }
18456
- var SubstitutionStart$0 = $TV($EXPECT($L172, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18627
+ var SubstitutionStart$0 = $TV($EXPECT($L171, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18457
18628
  return { $loc, token: $1 };
18458
18629
  });
18459
18630
  function SubstitutionStart(state) {
@@ -18478,6 +18649,31 @@ ${input.slice(result.pos)}
18478
18649
  return result;
18479
18650
  }
18480
18651
  }
18652
+ var Super$0 = $TS($S($EXPECT($L172, fail, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18653
+ return { $loc, token: $1 };
18654
+ });
18655
+ function Super(state) {
18656
+ let eventData;
18657
+ if (state.events) {
18658
+ const result = state.events.enter?.("Super", state);
18659
+ if (result) {
18660
+ if (result.cache)
18661
+ return result.cache;
18662
+ eventData = result.data;
18663
+ }
18664
+ }
18665
+ if (state.tokenize) {
18666
+ const result = $TOKEN("Super", state, Super$0(state));
18667
+ if (state.events)
18668
+ state.events.exit?.("Super", state, result, eventData);
18669
+ return result;
18670
+ } else {
18671
+ const result = Super$0(state);
18672
+ if (state.events)
18673
+ state.events.exit?.("Super", state, result, eventData);
18674
+ return result;
18675
+ }
18676
+ }
18481
18677
  var Switch$0 = $TS($S($EXPECT($L173, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18482
18678
  return { $loc, token: $1 };
18483
18679
  });
@@ -19048,7 +19244,7 @@ ${input.slice(result.pos)}
19048
19244
  return result;
19049
19245
  }
19050
19246
  }
19051
- 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) {
19247
+ 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) {
19052
19248
  return { type: "JSXElement", children: $0, tag: $2 };
19053
19249
  });
19054
19250
  function JSXSelfClosingElement(state) {
@@ -19124,7 +19320,7 @@ ${input.slice(result.pos)}
19124
19320
  return result;
19125
19321
  }
19126
19322
  }
19127
- var JSXOpeningElement$0 = $S($EXPECT($L156, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19323
+ var JSXOpeningElement$0 = $S($EXPECT($L154, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L32, fail, 'JSXOpeningElement ">"'));
19128
19324
  function JSXOpeningElement(state) {
19129
19325
  let eventData;
19130
19326
  if (state.events) {
@@ -19176,7 +19372,7 @@ ${input.slice(result.pos)}
19176
19372
  return result;
19177
19373
  }
19178
19374
  }
19179
- var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19375
+ var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L32, fail, 'JSXClosingElement ">"'));
19180
19376
  function JSXClosingElement(state) {
19181
19377
  let eventData;
19182
19378
  if (state.events) {
@@ -19322,7 +19518,7 @@ ${input.slice(result.pos)}
19322
19518
  return result;
19323
19519
  }
19324
19520
  }
19325
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L15, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
19521
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L145, fail, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
19326
19522
  return module.config.defaultElement;
19327
19523
  });
19328
19524
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -19549,7 +19745,7 @@ ${input.slice(result.pos)}
19549
19745
  }
19550
19746
  return $skip;
19551
19747
  });
19552
- var JSXAttribute$5 = $TS($S($EXPECT($L15, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19748
+ var JSXAttribute$5 = $TS($S($EXPECT($L145, fail, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
19553
19749
  return [" ", "id=", $2];
19554
19750
  });
19555
19751
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -19879,7 +20075,7 @@ ${input.slice(result.pos)}
19879
20075
  return result;
19880
20076
  }
19881
20077
  }
19882
- var InlineJSXCallExpression$0 = $TS($S($EXPECT($L16, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
20078
+ var InlineJSXCallExpression$0 = $TS($S(Super, ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19883
20079
  var args = $2;
19884
20080
  var rest = $3;
19885
20081
  return processCallMemberExpression({
@@ -19891,7 +20087,7 @@ ${input.slice(result.pos)}
19891
20087
  ]
19892
20088
  });
19893
20089
  });
19894
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
20090
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L15, fail, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
19895
20091
  var args = $2;
19896
20092
  var rest = $3;
19897
20093
  return processCallMemberExpression({
@@ -20139,7 +20335,7 @@ ${input.slice(result.pos)}
20139
20335
  }
20140
20336
  return $skip;
20141
20337
  });
20142
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L26, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20338
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L24, fail, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
20143
20339
  return { children: [], jsxChildren: [] };
20144
20340
  });
20145
20341
  function JSXNestedChildren(state) {
@@ -21456,7 +21652,7 @@ ${input.slice(result.pos)}
21456
21652
  return result;
21457
21653
  }
21458
21654
  }
21459
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21655
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L150, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21460
21656
  var lhs = $1;
21461
21657
  var rhs = $2;
21462
21658
  if (!rhs)
@@ -21601,7 +21797,7 @@ ${input.slice(result.pos)}
21601
21797
  var TypeUnaryOp$0 = $S($EXPECT($L204, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21602
21798
  var TypeUnaryOp$1 = $S($EXPECT($L183, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21603
21799
  var TypeUnaryOp$2 = $S($EXPECT($L205, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21604
- var TypeUnaryOp$3 = $S($EXPECT($L167, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21800
+ var TypeUnaryOp$3 = $S($EXPECT($L166, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21605
21801
  function TypeUnaryOp(state) {
21606
21802
  let eventData;
21607
21803
  if (state.events) {
@@ -21692,8 +21888,8 @@ ${input.slice(result.pos)}
21692
21888
  return result;
21693
21889
  }
21694
21890
  }
21695
- var ImportType$0 = $S($EXPECT($L17, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21696
- var ImportType$1 = $S($EXPECT($L17, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21891
+ var ImportType$0 = $S($EXPECT($L15, fail, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
21892
+ var ImportType$1 = $S($EXPECT($L15, fail, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
21697
21893
  function ImportType(state) {
21698
21894
  let eventData;
21699
21895
  if (state.events) {
@@ -21864,7 +22060,7 @@ ${input.slice(result.pos)}
21864
22060
  return result;
21865
22061
  }
21866
22062
  }
21867
- 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) {
22063
+ 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) {
21868
22064
  if ($2)
21869
22065
  return $0;
21870
22066
  return $1;
@@ -22074,7 +22270,7 @@ ${input.slice(result.pos)}
22074
22270
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
22075
22271
  return value[1];
22076
22272
  });
22077
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L35, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L26, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22273
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, fail, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L123, fail, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L33, fail, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L24, fail, 'InlineInterfacePropertyDelimiter "}"'))));
22078
22274
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
22079
22275
  function InlineInterfacePropertyDelimiter(state) {
22080
22276
  let eventData;
@@ -22098,10 +22294,10 @@ ${input.slice(result.pos)}
22098
22294
  return result;
22099
22295
  }
22100
22296
  }
22101
- var TypeBinaryOp$0 = $TV($EXPECT($L100, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22297
+ var TypeBinaryOp$0 = $TV($EXPECT($L98, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
22102
22298
  return { $loc, token: "|" };
22103
22299
  });
22104
- var TypeBinaryOp$1 = $TV($EXPECT($L99, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22300
+ var TypeBinaryOp$1 = $TV($EXPECT($L97, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
22105
22301
  return { $loc, token: "&" };
22106
22302
  });
22107
22303
  function TypeBinaryOp(state) {
@@ -22155,7 +22351,7 @@ ${input.slice(result.pos)}
22155
22351
  return result;
22156
22352
  }
22157
22353
  }
22158
- 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) {
22354
+ 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) {
22159
22355
  return { $loc, token: "=>" };
22160
22356
  });
22161
22357
  function TypeArrowFunction(state) {
@@ -22180,7 +22376,7 @@ ${input.slice(result.pos)}
22180
22376
  return result;
22181
22377
  }
22182
22378
  }
22183
- var TypeArguments$0 = $TS($S($EXPECT($L156, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22379
+ var TypeArguments$0 = $TS($S($EXPECT($L154, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L32, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22184
22380
  var args = $2;
22185
22381
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
22186
22382
  });
@@ -22252,7 +22448,7 @@ ${input.slice(result.pos)}
22252
22448
  return result;
22253
22449
  }
22254
22450
  }
22255
- 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) {
22451
+ 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) {
22256
22452
  var parameters = $3;
22257
22453
  return {
22258
22454
  type: "TypeParameters",
@@ -22283,7 +22479,7 @@ ${input.slice(result.pos)}
22283
22479
  return result;
22284
22480
  }
22285
22481
  }
22286
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22482
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L149, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22287
22483
  function TypeParameter(state) {
22288
22484
  let eventData;
22289
22485
  if (state.events) {
@@ -22306,7 +22502,7 @@ ${input.slice(result.pos)}
22306
22502
  return result;
22307
22503
  }
22308
22504
  }
22309
- var TypeConstraint$0 = $S(__, $EXPECT($L141, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22505
+ var TypeConstraint$0 = $S(__, $EXPECT($L138, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22310
22506
  function TypeConstraint(state) {
22311
22507
  let eventData;
22312
22508
  if (state.events) {
@@ -22353,7 +22549,7 @@ ${input.slice(result.pos)}
22353
22549
  }
22354
22550
  }
22355
22551
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
22356
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L34, fail, 'TypeParameterDelimiter ">"')));
22552
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L32, fail, 'TypeParameterDelimiter ">"')));
22357
22553
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
22358
22554
  return value[1];
22359
22555
  });
@@ -23625,9 +23821,9 @@ ${input.slice(result.pos)}
23625
23821
  hasProp(hasPropRef) {
23626
23822
  const typeSuffix = {
23627
23823
  ts: true,
23628
- children: [": <T>(this: T, prop: keyof T) => boolean"]
23824
+ children: [": <T>(object: T, prop: keyof T) => boolean"]
23629
23825
  };
23630
- module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = {}.hasOwnProperty", asAny, ";\n"]]);
23826
+ module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = {}.constructor.hasOwn", asAny, ";\n"]]);
23631
23827
  },
23632
23828
  is(isRef) {
23633
23829
  const typeSuffix = {