@danielx/civet 0.6.20 → 0.6.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -344,11 +344,7 @@ var Civet = (() => {
344
344
  exp.children.splice(i, 1, ...wrapIIFE(exp.children, exp.async));
345
345
  return;
346
346
  }
347
- const resultsRef = {
348
- type: "Ref",
349
- base: "results",
350
- id: "results"
351
- };
347
+ const resultsRef = makeRef("results");
352
348
  insertPush(exp.block, resultsRef);
353
349
  exp.children.splice(
354
350
  i,
@@ -426,10 +422,7 @@ var Civet = (() => {
426
422
  const parts = [];
427
423
  let hoistDec, refAssignment;
428
424
  if (prefix.length > 1) {
429
- const ref = {
430
- type: "Ref",
431
- base: "ref"
432
- };
425
+ const ref = makeRef();
433
426
  hoistDec = {
434
427
  type: "Declaration",
435
428
  children: ["let ", ref],
@@ -531,11 +524,7 @@ var Civet = (() => {
531
524
  }
532
525
  return;
533
526
  }
534
- const resultsRef = {
535
- type: "Ref",
536
- base: "results",
537
- id: "results"
538
- };
527
+ const resultsRef = makeRef("results");
539
528
  const declaration = {
540
529
  type: "Declaration",
541
530
  children: ["const ", resultsRef, "=[];"]
@@ -1040,13 +1029,123 @@ var Civet = (() => {
1040
1029
  if (target.token)
1041
1030
  return target.token.match(/^ ?/)[0];
1042
1031
  }
1032
+ function processForInOf($0) {
1033
+ let [awaits, each, open, declaration, declaration2, ws, inOf, exp, step, close] = $0;
1034
+ if (exp.type === "RangeExpression" && inOf.token === "of" && !declaration2) {
1035
+ return forRange(open, declaration, exp, step, close);
1036
+ } else if (step) {
1037
+ throw new Error("for..of/in cannot use 'by' except with range literals");
1038
+ }
1039
+ let eachError;
1040
+ let hoistDec, blockPrefix = [];
1041
+ if (each) {
1042
+ if (inOf.token === "of") {
1043
+ const counterRef = makeRef("i");
1044
+ const lenRef = makeRef("len");
1045
+ const expRef = maybeRef(exp);
1046
+ const increment = "++";
1047
+ let indexAssignment, assignmentNames = [...declaration.names];
1048
+ if (declaration2) {
1049
+ const [, , ws22, decl22] = declaration2;
1050
+ blockPrefix.push(["", [
1051
+ insertTrimmingSpace(ws22, ""),
1052
+ decl22,
1053
+ " = ",
1054
+ counterRef
1055
+ ], ";"]);
1056
+ assignmentNames.push(...decl22.names);
1057
+ }
1058
+ const expRefDec = expRef !== exp ? [insertTrimmingSpace(expRef, " "), " = ", insertTrimmingSpace(exp, ""), ", "] : [];
1059
+ blockPrefix.push(["", {
1060
+ type: "AssignmentExpression",
1061
+ children: [declaration, " = ", insertTrimmingSpace(expRef, ""), "[", counterRef, "]"],
1062
+ names: assignmentNames
1063
+ }, ";"]);
1064
+ declaration = {
1065
+ type: "Declaration",
1066
+ children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", insertTrimmingSpace(expRef, ""), ".length"],
1067
+ names: []
1068
+ };
1069
+ const condition = [counterRef, " < ", lenRef, "; "];
1070
+ const children = [open, declaration, "; ", condition, counterRef, increment, close];
1071
+ return { declaration, children, blockPrefix };
1072
+ } else {
1073
+ eachError = {
1074
+ type: "Error",
1075
+ message: "'each' is only meaningful in for..of loops"
1076
+ };
1077
+ }
1078
+ }
1079
+ if (!declaration2) {
1080
+ return {
1081
+ declaration,
1082
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close]
1083
+ };
1084
+ }
1085
+ const [, , ws2, decl2] = declaration2;
1086
+ switch (inOf.token) {
1087
+ case "of": {
1088
+ const counterRef = makeRef("i");
1089
+ hoistDec = {
1090
+ type: "Declaration",
1091
+ children: ["let ", counterRef, " = 0"],
1092
+ names: []
1093
+ };
1094
+ blockPrefix.push(["", {
1095
+ type: "Declaration",
1096
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", counterRef, "++"],
1097
+ names: decl2.names
1098
+ }, ";"]);
1099
+ break;
1100
+ }
1101
+ case "in": {
1102
+ const expRef = maybeRef(exp);
1103
+ if (expRef !== exp) {
1104
+ hoistDec = {
1105
+ type: "Declaration",
1106
+ children: ["let ", expRef],
1107
+ names: []
1108
+ };
1109
+ exp = {
1110
+ type: "AssignmentExpression",
1111
+ children: [" ", expRef, " =", exp]
1112
+ };
1113
+ }
1114
+ let { binding } = declaration;
1115
+ if (binding?.type !== "Identifier") {
1116
+ const keyRef = makeRef("key");
1117
+ blockPrefix.push(["", [
1118
+ declaration,
1119
+ " = ",
1120
+ keyRef
1121
+ ], ";"]);
1122
+ declaration = {
1123
+ type: "ForDeclaration",
1124
+ binding: binding = keyRef,
1125
+ children: ["const ", keyRef],
1126
+ names: []
1127
+ };
1128
+ }
1129
+ blockPrefix.push(["", {
1130
+ type: "Declaration",
1131
+ children: [insertTrimmingSpace(ws2, ""), decl2, " = ", insertTrimmingSpace(expRef, ""), "[", insertTrimmingSpace(binding, ""), "]"],
1132
+ names: decl2.names
1133
+ }, ";"]);
1134
+ break;
1135
+ }
1136
+ default:
1137
+ throw new Error(`for item, index must use 'of' or 'in' instead of '${inOf.token}'`);
1138
+ }
1139
+ return {
1140
+ declaration,
1141
+ children: [awaits, eachError, open, declaration, ws, inOf, exp, step, close],
1142
+ blockPrefix,
1143
+ hoistDec
1144
+ };
1145
+ }
1043
1146
  function forRange(open, forDeclaration, range, stepExp, close) {
1044
1147
  const { start, end, inclusive } = range;
1045
- const counterRef = {
1046
- type: "Ref",
1047
- base: "i",
1048
- id: "i"
1049
- };
1148
+ const counterRef = makeRef("i");
1050
1149
  let stepRef;
1051
1150
  if (stepExp) {
1052
1151
  stepExp = insertTrimmingSpace(stepExp, "");
@@ -1064,11 +1163,7 @@ var Civet = (() => {
1064
1163
  } else if (start.type === "Literal" && end.type === "Literal") {
1065
1164
  asc = literalValue(start) <= literalValue(end);
1066
1165
  } else {
1067
- ascRef = {
1068
- type: "Ref",
1069
- base: "asc",
1070
- id: "asc"
1071
- };
1166
+ ascRef = makeRef("asc");
1072
1167
  ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
1073
1168
  }
1074
1169
  let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
@@ -1208,15 +1303,6 @@ var Civet = (() => {
1208
1303
  };
1209
1304
  }
1210
1305
  }
1211
- function maybeRef(exp, base = "ref") {
1212
- if (!needsRef(exp))
1213
- return exp;
1214
- return {
1215
- type: "Ref",
1216
- base,
1217
- id: base
1218
- };
1219
- }
1220
1306
  function modifyString(str) {
1221
1307
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
1222
1308
  }
@@ -1312,13 +1398,20 @@ var Civet = (() => {
1312
1398
  case "Identifier":
1313
1399
  case "Literal":
1314
1400
  return;
1315
- default:
1316
- return {
1317
- type: "Ref",
1318
- base,
1319
- id: base
1320
- };
1321
1401
  }
1402
+ return makeRef(base);
1403
+ }
1404
+ function makeRef(base = "ref") {
1405
+ return {
1406
+ type: "Ref",
1407
+ base,
1408
+ id: base
1409
+ };
1410
+ }
1411
+ function maybeRef(exp, base = "ref") {
1412
+ if (!needsRef(exp))
1413
+ return exp;
1414
+ return makeRef(base);
1322
1415
  }
1323
1416
  function processCoffeeInterpolation(s, parts, e, $loc) {
1324
1417
  if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
@@ -1811,11 +1904,7 @@ var Civet = (() => {
1811
1904
  if (shared.length === 1)
1812
1905
  return;
1813
1906
  const refs = shared.map((p) => {
1814
- const ref = {
1815
- type: "Ref",
1816
- base: key,
1817
- id: key
1818
- };
1907
+ const ref = makeRef(key);
1819
1908
  aliasBinding(p, ref);
1820
1909
  return ref;
1821
1910
  });
@@ -1849,7 +1938,7 @@ var Civet = (() => {
1849
1938
  if (expression.type === "ParenthesizedExpression") {
1850
1939
  expression = expression.expression;
1851
1940
  }
1852
- let hoistDec, refAssignment = [], ref = needsRef(expression, "m") || expression;
1941
+ let hoistDec, refAssignment = [], ref = maybeRef(expression, "m");
1853
1942
  if (ref !== expression) {
1854
1943
  hoistDec = {
1855
1944
  type: "Declaration",
@@ -1975,7 +2064,7 @@ var Civet = (() => {
1975
2064
  arg.children.push(access);
1976
2065
  break outer;
1977
2066
  }
1978
- usingRef = needsRef({});
2067
+ usingRef = makeRef();
1979
2068
  initRef = {
1980
2069
  type: "AssignmentExpression",
1981
2070
  children: [usingRef, " = ", arg, ","]
@@ -2250,11 +2339,7 @@ var Civet = (() => {
2250
2339
  );
2251
2340
  if (!values.length)
2252
2341
  return false;
2253
- const ref = {
2254
- type: "Ref",
2255
- base: "ret",
2256
- id: "ret"
2257
- };
2342
+ const ref = makeRef("ret");
2258
2343
  let declared;
2259
2344
  values.forEach((value) => {
2260
2345
  value.children = [ref];
@@ -2583,13 +2668,15 @@ var Civet = (() => {
2583
2668
  makeAsConst,
2584
2669
  makeEmptyBlock,
2585
2670
  makeLeftHandSideExpression,
2671
+ makeRef,
2586
2672
  maybeRef,
2587
2673
  modifyString,
2588
2674
  needsRef,
2675
+ processAssignmentDeclaration,
2589
2676
  processBinaryOpExpression,
2590
2677
  processCallMemberExpression,
2591
2678
  processCoffeeInterpolation,
2592
- processAssignmentDeclaration,
2679
+ processForInOf,
2593
2680
  processParams,
2594
2681
  processProgram,
2595
2682
  processReturnValue,
@@ -3430,6 +3517,7 @@ ${input.slice(result.pos)}
3430
3517
  DotDotDot,
3431
3518
  DoubleColon,
3432
3519
  DoubleQuote,
3520
+ Each,
3433
3521
  Else,
3434
3522
  Equals,
3435
3523
  Export,
@@ -3796,75 +3884,76 @@ ${input.slice(result.pos)}
3796
3884
  var $L135 = $L("\u2026");
3797
3885
  var $L136 = $L("::");
3798
3886
  var $L137 = $L('"');
3799
- var $L138 = $L("else");
3800
- var $L139 = $L("export");
3801
- var $L140 = $L("extends");
3802
- var $L141 = $L("finally");
3803
- var $L142 = $L("for");
3804
- var $L143 = $L("from");
3805
- var $L144 = $L("function");
3806
- var $L145 = $L("get");
3807
- var $L146 = $L("set");
3808
- var $L147 = $L("if");
3809
- var $L148 = $L("in");
3810
- var $L149 = $L("let");
3811
- var $L150 = $L("const");
3812
- var $L151 = $L("is");
3813
- var $L152 = $L("loop");
3814
- var $L153 = $L("new");
3815
- var $L154 = $L("not");
3816
- var $L155 = $L("<");
3817
- var $L156 = $L("operator");
3818
- var $L157 = $L("public");
3819
- var $L158 = $L("private");
3820
- var $L159 = $L("protected");
3821
- var $L160 = $L("||>");
3822
- var $L161 = $L("|\u25B7");
3823
- var $L162 = $L("|>=");
3824
- var $L163 = $L("\u25B7=");
3825
- var $L164 = $L("|>");
3826
- var $L165 = $L("\u25B7");
3827
- var $L166 = $L("readonly");
3828
- var $L167 = $L("return");
3829
- var $L168 = $L("satisfies");
3830
- var $L169 = $L("'");
3831
- var $L170 = $L("static");
3832
- var $L171 = $L("${");
3833
- var $L172 = $L("switch");
3834
- var $L173 = $L("target");
3835
- var $L174 = $L("then");
3836
- var $L175 = $L("this");
3837
- var $L176 = $L("throw");
3838
- var $L177 = $L('"""');
3839
- var $L178 = $L("'''");
3840
- var $L179 = $L("///");
3841
- var $L180 = $L("```");
3842
- var $L181 = $L("try");
3843
- var $L182 = $L("typeof");
3844
- var $L183 = $L("unless");
3845
- var $L184 = $L("until");
3846
- var $L185 = $L("var");
3847
- var $L186 = $L("void");
3848
- var $L187 = $L("when");
3849
- var $L188 = $L("while");
3850
- var $L189 = $L("yield");
3851
- var $L190 = $L("/>");
3852
- var $L191 = $L("</");
3853
- var $L192 = $L("<>");
3854
- var $L193 = $L("</>");
3855
- var $L194 = $L("<!--");
3856
- var $L195 = $L("-->");
3857
- var $L196 = $L("type");
3858
- var $L197 = $L("enum");
3859
- var $L198 = $L("interface");
3860
- var $L199 = $L("global");
3861
- var $L200 = $L("module");
3862
- var $L201 = $L("namespace");
3863
- var $L202 = $L("asserts");
3864
- var $L203 = $L("keyof");
3865
- var $L204 = $L("infer");
3866
- var $L205 = $L("[]");
3867
- var $L206 = $L("civet");
3887
+ var $L138 = $L("each");
3888
+ var $L139 = $L("else");
3889
+ var $L140 = $L("export");
3890
+ var $L141 = $L("extends");
3891
+ var $L142 = $L("finally");
3892
+ var $L143 = $L("for");
3893
+ var $L144 = $L("from");
3894
+ var $L145 = $L("function");
3895
+ var $L146 = $L("get");
3896
+ var $L147 = $L("set");
3897
+ var $L148 = $L("if");
3898
+ var $L149 = $L("in");
3899
+ var $L150 = $L("let");
3900
+ var $L151 = $L("const");
3901
+ var $L152 = $L("is");
3902
+ var $L153 = $L("loop");
3903
+ var $L154 = $L("new");
3904
+ var $L155 = $L("not");
3905
+ var $L156 = $L("<");
3906
+ var $L157 = $L("operator");
3907
+ var $L158 = $L("public");
3908
+ var $L159 = $L("private");
3909
+ var $L160 = $L("protected");
3910
+ var $L161 = $L("||>");
3911
+ var $L162 = $L("|\u25B7");
3912
+ var $L163 = $L("|>=");
3913
+ var $L164 = $L("\u25B7=");
3914
+ var $L165 = $L("|>");
3915
+ var $L166 = $L("\u25B7");
3916
+ var $L167 = $L("readonly");
3917
+ var $L168 = $L("return");
3918
+ var $L169 = $L("satisfies");
3919
+ var $L170 = $L("'");
3920
+ var $L171 = $L("static");
3921
+ var $L172 = $L("${");
3922
+ var $L173 = $L("switch");
3923
+ var $L174 = $L("target");
3924
+ var $L175 = $L("then");
3925
+ var $L176 = $L("this");
3926
+ var $L177 = $L("throw");
3927
+ var $L178 = $L('"""');
3928
+ var $L179 = $L("'''");
3929
+ var $L180 = $L("///");
3930
+ var $L181 = $L("```");
3931
+ var $L182 = $L("try");
3932
+ var $L183 = $L("typeof");
3933
+ var $L184 = $L("unless");
3934
+ var $L185 = $L("until");
3935
+ var $L186 = $L("var");
3936
+ var $L187 = $L("void");
3937
+ var $L188 = $L("when");
3938
+ var $L189 = $L("while");
3939
+ var $L190 = $L("yield");
3940
+ var $L191 = $L("/>");
3941
+ var $L192 = $L("</");
3942
+ var $L193 = $L("<>");
3943
+ var $L194 = $L("</>");
3944
+ var $L195 = $L("<!--");
3945
+ var $L196 = $L("-->");
3946
+ var $L197 = $L("type");
3947
+ var $L198 = $L("enum");
3948
+ var $L199 = $L("interface");
3949
+ var $L200 = $L("global");
3950
+ var $L201 = $L("module");
3951
+ var $L202 = $L("namespace");
3952
+ var $L203 = $L("asserts");
3953
+ var $L204 = $L("keyof");
3954
+ var $L205 = $L("infer");
3955
+ var $L206 = $L("[]");
3956
+ var $L207 = $L("civet");
3868
3957
  var $R0 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
3869
3958
  var $R1 = $R(new RegExp("[0-9]", "suy"));
3870
3959
  var $R2 = $R(new RegExp("[)}]", "suy"));
@@ -3875,7 +3964,7 @@ ${input.slice(result.pos)}
3875
3964
  var $R7 = $R(new RegExp("<(?!\\p{ID_Start}|[_$])", "suy"));
3876
3965
  var $R8 = $R(new RegExp("!\\^\\^?", "suy"));
3877
3966
  var $R9 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s|[!~+-]*[&.])", "suy"));
3878
- var $R10 = $R(new RegExp("(?=[\\s\\)])", "suy"));
3967
+ var $R10 = $R(new RegExp("(?=[\\s\\),])", "suy"));
3879
3968
  var $R11 = $R(new RegExp('[^;"\\s]+', "suy"));
3880
3969
  var $R12 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
3881
3970
  var $R13 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
@@ -5509,10 +5598,7 @@ ${input.slice(result.pos)}
5509
5598
  var head = $2;
5510
5599
  var body = $3;
5511
5600
  if (head.token === "&") {
5512
- const ref = {
5513
- type: "Ref",
5514
- base: "$"
5515
- };
5601
+ const ref = makeRef("$");
5516
5602
  const arrowBody = {
5517
5603
  type: "PipelineExpression",
5518
5604
  children: [ws, ref, body]
@@ -7283,11 +7369,7 @@ ${input.slice(result.pos)}
7283
7369
  });
7284
7370
  var AtIdentifierRef$1 = $TV(IdentifierName, function($skip, $loc, $0, $1) {
7285
7371
  var id = $0;
7286
- return {
7287
- type: "Ref",
7288
- base: id.name,
7289
- id: id.name
7290
- };
7372
+ return makeRef(id.name);
7291
7373
  });
7292
7374
  function AtIdentifierRef(state) {
7293
7375
  let eventData;
@@ -7909,11 +7991,7 @@ ${input.slice(result.pos)}
7909
7991
  }
7910
7992
  }
7911
7993
  var EmptyBindingPattern$0 = $TV($EXPECT($L0, fail, 'EmptyBindingPattern ""'), function($skip, $loc, $0, $1) {
7912
- const ref = {
7913
- type: "Ref",
7914
- base: "ref",
7915
- id: "ref"
7916
- };
7994
+ const ref = makeRef();
7917
7995
  return {
7918
7996
  type: "EmptyBinding",
7919
7997
  children: [ref],
@@ -8071,11 +8149,7 @@ ${input.slice(result.pos)}
8071
8149
  return $skip;
8072
8150
  let body, ref;
8073
8151
  if (!rhs) {
8074
- body = ref = {
8075
- type: "Ref",
8076
- base: "$",
8077
- id: "$"
8078
- };
8152
+ body = ref = makeRef("$");
8079
8153
  } else {
8080
8154
  let exp = rhs;
8081
8155
  while (!exp.ref && exp.expression) {
@@ -8255,11 +8329,7 @@ ${input.slice(result.pos)}
8255
8329
  var binopRHS = $3;
8256
8330
  if (!callExpRest && !binopRHS && !unaryPostfix)
8257
8331
  return $skip;
8258
- const ref = {
8259
- type: "Ref",
8260
- base: "$",
8261
- id: "$"
8262
- };
8332
+ const ref = makeRef("$");
8263
8333
  let exp = {
8264
8334
  type: "AmpersandRef",
8265
8335
  children: [ref],
@@ -9637,12 +9707,7 @@ ${input.slice(result.pos)}
9637
9707
  var ws = $2;
9638
9708
  var dots = $3;
9639
9709
  if (!exp) {
9640
- exp = {
9641
- type: "Ref",
9642
- base: "ref",
9643
- id: "ref",
9644
- names: []
9645
- };
9710
+ exp = { ...makeRef(), names: [] };
9646
9711
  }
9647
9712
  return {
9648
9713
  type: "SpreadElement",
@@ -12238,7 +12303,8 @@ ${input.slice(result.pos)}
12238
12303
  children: [$1, ...$2, ...children],
12239
12304
  declaration,
12240
12305
  block: null,
12241
- blockPrefix: c.blockPrefix
12306
+ blockPrefix: c.blockPrefix,
12307
+ hoistDec: c.hoistDec
12242
12308
  };
12243
12309
  });
12244
12310
  function ForClause(state) {
@@ -12346,7 +12412,7 @@ ${input.slice(result.pos)}
12346
12412
  if (step) {
12347
12413
  throw new Error("Can't use 'by' with 'from' in CoffeeScript for loops");
12348
12414
  }
12349
- kind.token = "of";
12415
+ kind = { ...kind, token: "of" };
12350
12416
  } else if (kind.token === "of") {
12351
12417
  if (step) {
12352
12418
  throw new Error("Can't use 'by' with 'of' in CoffeeScript for loops");
@@ -12364,30 +12430,12 @@ ${input.slice(result.pos)}
12364
12430
  }
12365
12431
  kind.token = "in";
12366
12432
  } else if (kind.token === "in") {
12367
- const counterRef = {
12368
- type: "Ref",
12369
- base: "i",
12370
- id: "i"
12371
- };
12372
- const lenRef = {
12373
- type: "Ref",
12374
- base: "len",
12375
- id: "len"
12376
- };
12377
- let expRef;
12378
- switch (exp.type) {
12379
- case "Identifier":
12380
- expRef = exp;
12381
- break;
12382
- case "RangeExpression":
12383
- return forRange(open, declaration, exp, step?.[2], close);
12384
- default:
12385
- expRef = {
12386
- type: "Ref",
12387
- base: "ref",
12388
- id: "ref"
12389
- };
12433
+ const counterRef = makeRef("i");
12434
+ const lenRef = makeRef("len");
12435
+ if (exp.type === "RangeExpression") {
12436
+ return forRange(open, declaration, exp, step?.[2], close);
12390
12437
  }
12438
+ const expRef = maybeRef(exp);
12391
12439
  const varRef = declaration;
12392
12440
  let increment = "++", indexAssignment, assignmentNames = [...varRef.names];
12393
12441
  if (index) {
@@ -12542,39 +12590,11 @@ ${input.slice(result.pos)}
12542
12590
  children: $0
12543
12591
  };
12544
12592
  });
12545
- var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12546
- var open = $2;
12547
- var declaration = $4;
12548
- var op = $6;
12549
- var exp = $7;
12550
- var step = $8;
12551
- var close = $10;
12552
- if (exp.type === "RangeExpression" && op.token === "of") {
12553
- return forRange(open, declaration, exp, step, close);
12554
- } else if (step) {
12555
- throw new Error("for..of/in cannot use 'by' except with range literals");
12556
- }
12557
- return {
12558
- declaration,
12559
- children: $0
12560
- };
12593
+ var ForStatementParameters$2 = $TS($S($E($S(Await, __)), $E($S(Each, __)), $S(OpenParen, __), ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12594
+ return processForInOf($0);
12561
12595
  });
12562
- var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
12563
- var open = $2;
12564
- var declaration = $3;
12565
- var op = $5;
12566
- var exp = $6;
12567
- var step = $7;
12568
- var close = $8;
12569
- if (exp.type === "RangeExpression" && op.token === "of") {
12570
- return forRange(open, declaration, exp, step, close);
12571
- } else if (step) {
12572
- throw new Error("for..of/in cannot use 'by' except with range literals");
12573
- }
12574
- return {
12575
- declaration,
12576
- children: $0
12577
- };
12596
+ var ForStatementParameters$3 = $TS($S($E($S(Await, __)), $E($S(Each, __)), InsertOpenParen, ForInOfDeclaration, $E($S(__, Comma, __, ForInOfDeclaration)), __, $C(In, Of), ExpressionWithObjectApplicationForbidden, $E($S(__, By, ExpressionWithObjectApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
12597
+ return processForInOf($0);
12578
12598
  });
12579
12599
  var ForStatementParameters$4 = ForRangeParameters;
12580
12600
  function ForStatementParameters(state) {
@@ -12641,6 +12661,7 @@ ${input.slice(result.pos)}
12641
12661
  type: "ForDeclaration",
12642
12662
  children: $0,
12643
12663
  declare: $1,
12664
+ binding,
12644
12665
  names: binding.names
12645
12666
  };
12646
12667
  });
@@ -12675,16 +12696,18 @@ ${input.slice(result.pos)}
12675
12696
  type: "ForDeclaration",
12676
12697
  children: [c, binding],
12677
12698
  declare: c,
12699
+ binding,
12678
12700
  names: binding.names
12679
12701
  };
12680
12702
  });
12681
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\)])/")), function($skip, $loc, $0, $1, $2, $3) {
12703
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R10, fail, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
12682
12704
  var c = $1;
12683
12705
  var binding = $2;
12684
12706
  return {
12685
12707
  type: "ForDeclaration",
12686
12708
  children: [c, binding],
12687
12709
  declare: c,
12710
+ binding,
12688
12711
  names: binding.names
12689
12712
  };
12690
12713
  });
@@ -13419,10 +13442,7 @@ ${input.slice(result.pos)}
13419
13442
  }
13420
13443
  var DeclarationCondition$0 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
13421
13444
  var dec = $0;
13422
- const ref = {
13423
- type: "Ref",
13424
- base: "ref"
13425
- };
13445
+ const ref = makeRef();
13426
13446
  const { decl, bindings } = dec;
13427
13447
  const binding = bindings[0];
13428
13448
  const { pattern, suffix, initializer, splices, thisAssignments } = binding;
@@ -17478,7 +17498,32 @@ ${input.slice(result.pos)}
17478
17498
  return result;
17479
17499
  }
17480
17500
  }
17481
- var Else$0 = $TS($S($EXPECT($L138, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17501
+ var Each$0 = $TS($S($EXPECT($L138, fail, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17502
+ return { $loc, token: $1 };
17503
+ });
17504
+ function Each(state) {
17505
+ let eventData;
17506
+ if (state.events) {
17507
+ const result = state.events.enter?.("Each", state);
17508
+ if (result) {
17509
+ if (result.cache)
17510
+ return result.cache;
17511
+ eventData = result.data;
17512
+ }
17513
+ }
17514
+ if (state.tokenize) {
17515
+ const result = $TOKEN("Each", state, Each$0(state));
17516
+ if (state.events)
17517
+ state.events.exit?.("Each", state, result, eventData);
17518
+ return result;
17519
+ } else {
17520
+ const result = Each$0(state);
17521
+ if (state.events)
17522
+ state.events.exit?.("Each", state, result, eventData);
17523
+ return result;
17524
+ }
17525
+ }
17526
+ var Else$0 = $TS($S($EXPECT($L139, fail, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17482
17527
  return { $loc, token: $1 };
17483
17528
  });
17484
17529
  function Else(state) {
@@ -17528,7 +17573,7 @@ ${input.slice(result.pos)}
17528
17573
  return result;
17529
17574
  }
17530
17575
  }
17531
- var Export$0 = $TS($S($EXPECT($L139, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17576
+ var Export$0 = $TS($S($EXPECT($L140, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17532
17577
  return { $loc, token: $1 };
17533
17578
  });
17534
17579
  function Export(state) {
@@ -17553,7 +17598,7 @@ ${input.slice(result.pos)}
17553
17598
  return result;
17554
17599
  }
17555
17600
  }
17556
- var Extends$0 = $TS($S($EXPECT($L140, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17601
+ var Extends$0 = $TS($S($EXPECT($L141, fail, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17557
17602
  return { $loc, token: $1 };
17558
17603
  });
17559
17604
  function Extends(state) {
@@ -17578,7 +17623,7 @@ ${input.slice(result.pos)}
17578
17623
  return result;
17579
17624
  }
17580
17625
  }
17581
- var Finally$0 = $TS($S($EXPECT($L141, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17626
+ var Finally$0 = $TS($S($EXPECT($L142, fail, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17582
17627
  return { $loc, token: $1 };
17583
17628
  });
17584
17629
  function Finally(state) {
@@ -17603,7 +17648,7 @@ ${input.slice(result.pos)}
17603
17648
  return result;
17604
17649
  }
17605
17650
  }
17606
- var For$0 = $TS($S($EXPECT($L142, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17651
+ var For$0 = $TS($S($EXPECT($L143, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17607
17652
  return { $loc, token: $1 };
17608
17653
  });
17609
17654
  function For(state) {
@@ -17628,7 +17673,7 @@ ${input.slice(result.pos)}
17628
17673
  return result;
17629
17674
  }
17630
17675
  }
17631
- var From$0 = $TS($S($EXPECT($L143, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17676
+ var From$0 = $TS($S($EXPECT($L144, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17632
17677
  return { $loc, token: $1 };
17633
17678
  });
17634
17679
  function From(state) {
@@ -17653,7 +17698,7 @@ ${input.slice(result.pos)}
17653
17698
  return result;
17654
17699
  }
17655
17700
  }
17656
- var Function$0 = $TS($S($EXPECT($L144, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17701
+ var Function$0 = $TS($S($EXPECT($L145, fail, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17657
17702
  return { $loc, token: $1 };
17658
17703
  });
17659
17704
  function Function(state) {
@@ -17678,7 +17723,7 @@ ${input.slice(result.pos)}
17678
17723
  return result;
17679
17724
  }
17680
17725
  }
17681
- var GetOrSet$0 = $TS($S($C($EXPECT($L145, fail, 'GetOrSet "get"'), $EXPECT($L146, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17726
+ var GetOrSet$0 = $TS($S($C($EXPECT($L146, fail, 'GetOrSet "get"'), $EXPECT($L147, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17682
17727
  return { $loc, token: $1, type: "GetOrSet" };
17683
17728
  });
17684
17729
  function GetOrSet(state) {
@@ -17703,7 +17748,7 @@ ${input.slice(result.pos)}
17703
17748
  return result;
17704
17749
  }
17705
17750
  }
17706
- var If$0 = $TV($TEXT($S($EXPECT($L147, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17751
+ var If$0 = $TV($TEXT($S($EXPECT($L148, fail, 'If "if"'), NonIdContinue, $E($EXPECT($L11, fail, 'If " "')))), function($skip, $loc, $0, $1) {
17707
17752
  return { $loc, token: $1 };
17708
17753
  });
17709
17754
  function If(state) {
@@ -17753,7 +17798,7 @@ ${input.slice(result.pos)}
17753
17798
  return result;
17754
17799
  }
17755
17800
  }
17756
- var In$0 = $TS($S($EXPECT($L148, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17801
+ var In$0 = $TS($S($EXPECT($L149, fail, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17757
17802
  return { $loc, token: $1 };
17758
17803
  });
17759
17804
  function In(state) {
@@ -17778,7 +17823,7 @@ ${input.slice(result.pos)}
17778
17823
  return result;
17779
17824
  }
17780
17825
  }
17781
- var LetOrConst$0 = $TS($S($C($EXPECT($L149, fail, 'LetOrConst "let"'), $EXPECT($L150, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17826
+ var LetOrConst$0 = $TS($S($C($EXPECT($L150, fail, 'LetOrConst "let"'), $EXPECT($L151, fail, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17782
17827
  return { $loc, token: $1 };
17783
17828
  });
17784
17829
  function LetOrConst(state) {
@@ -17803,7 +17848,7 @@ ${input.slice(result.pos)}
17803
17848
  return result;
17804
17849
  }
17805
17850
  }
17806
- var Const$0 = $TS($S($EXPECT($L150, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17851
+ var Const$0 = $TS($S($EXPECT($L151, fail, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17807
17852
  return { $loc, token: $1 };
17808
17853
  });
17809
17854
  function Const(state) {
@@ -17828,7 +17873,7 @@ ${input.slice(result.pos)}
17828
17873
  return result;
17829
17874
  }
17830
17875
  }
17831
- var Is$0 = $TS($S($EXPECT($L151, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17876
+ var Is$0 = $TS($S($EXPECT($L152, fail, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17832
17877
  return { $loc, token: $1 };
17833
17878
  });
17834
17879
  function Is(state) {
@@ -17877,7 +17922,7 @@ ${input.slice(result.pos)}
17877
17922
  return result;
17878
17923
  }
17879
17924
  }
17880
- var Loop$0 = $TS($S($EXPECT($L152, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17925
+ var Loop$0 = $TS($S($EXPECT($L153, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17881
17926
  return { $loc, token: "while(true)" };
17882
17927
  });
17883
17928
  function Loop(state) {
@@ -17902,7 +17947,7 @@ ${input.slice(result.pos)}
17902
17947
  return result;
17903
17948
  }
17904
17949
  }
17905
- var New$0 = $TS($S($EXPECT($L153, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17950
+ var New$0 = $TS($S($EXPECT($L154, fail, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
17906
17951
  return { $loc, token: $1 };
17907
17952
  });
17908
17953
  function New(state) {
@@ -17927,7 +17972,7 @@ ${input.slice(result.pos)}
17927
17972
  return result;
17928
17973
  }
17929
17974
  }
17930
- var Not$0 = $TS($S($EXPECT($L154, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17975
+ var Not$0 = $TS($S($EXPECT($L155, fail, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, fail, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
17931
17976
  return { $loc, token: "!" };
17932
17977
  });
17933
17978
  function Not(state) {
@@ -17977,7 +18022,7 @@ ${input.slice(result.pos)}
17977
18022
  return result;
17978
18023
  }
17979
18024
  }
17980
- var OpenAngleBracket$0 = $TV($EXPECT($L155, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
18025
+ var OpenAngleBracket$0 = $TV($EXPECT($L156, fail, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
17981
18026
  return { $loc, token: $1 };
17982
18027
  });
17983
18028
  function OpenAngleBracket(state) {
@@ -18077,7 +18122,7 @@ ${input.slice(result.pos)}
18077
18122
  return result;
18078
18123
  }
18079
18124
  }
18080
- var Operator$0 = $TS($S($EXPECT($L156, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18125
+ var Operator$0 = $TS($S($EXPECT($L157, fail, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18081
18126
  return { $loc, token: $1 };
18082
18127
  });
18083
18128
  function Operator(state) {
@@ -18102,7 +18147,7 @@ ${input.slice(result.pos)}
18102
18147
  return result;
18103
18148
  }
18104
18149
  }
18105
- var Public$0 = $TS($S($EXPECT($L157, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18150
+ var Public$0 = $TS($S($EXPECT($L158, fail, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18106
18151
  return { $loc, token: $1 };
18107
18152
  });
18108
18153
  function Public(state) {
@@ -18127,7 +18172,7 @@ ${input.slice(result.pos)}
18127
18172
  return result;
18128
18173
  }
18129
18174
  }
18130
- var Private$0 = $TS($S($EXPECT($L158, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18175
+ var Private$0 = $TS($S($EXPECT($L159, fail, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18131
18176
  return { $loc, token: $1 };
18132
18177
  });
18133
18178
  function Private(state) {
@@ -18152,7 +18197,7 @@ ${input.slice(result.pos)}
18152
18197
  return result;
18153
18198
  }
18154
18199
  }
18155
- var Protected$0 = $TS($S($EXPECT($L159, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18200
+ var Protected$0 = $TS($S($EXPECT($L160, fail, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18156
18201
  return { $loc, token: $1 };
18157
18202
  });
18158
18203
  function Protected(state) {
@@ -18177,13 +18222,13 @@ ${input.slice(result.pos)}
18177
18222
  return result;
18178
18223
  }
18179
18224
  }
18180
- var Pipe$0 = $TV($C($EXPECT($L160, fail, 'Pipe "||>"'), $EXPECT($L161, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18225
+ var Pipe$0 = $TV($C($EXPECT($L161, fail, 'Pipe "||>"'), $EXPECT($L162, fail, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
18181
18226
  return { $loc, token: "||>" };
18182
18227
  });
18183
- var Pipe$1 = $TV($C($EXPECT($L162, fail, 'Pipe "|>="'), $EXPECT($L163, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18228
+ var Pipe$1 = $TV($C($EXPECT($L163, fail, 'Pipe "|>="'), $EXPECT($L164, fail, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
18184
18229
  return { $loc, token: "|>=" };
18185
18230
  });
18186
- var Pipe$2 = $TV($C($EXPECT($L164, fail, 'Pipe "|>"'), $EXPECT($L165, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18231
+ var Pipe$2 = $TV($C($EXPECT($L165, fail, 'Pipe "|>"'), $EXPECT($L166, fail, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
18187
18232
  return { $loc, token: "|>" };
18188
18233
  });
18189
18234
  function Pipe(state) {
@@ -18233,7 +18278,7 @@ ${input.slice(result.pos)}
18233
18278
  return result;
18234
18279
  }
18235
18280
  }
18236
- var Readonly$0 = $TS($S($EXPECT($L166, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18281
+ var Readonly$0 = $TS($S($EXPECT($L167, fail, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18237
18282
  return { $loc, token: $1, ts: true };
18238
18283
  });
18239
18284
  function Readonly(state) {
@@ -18258,7 +18303,7 @@ ${input.slice(result.pos)}
18258
18303
  return result;
18259
18304
  }
18260
18305
  }
18261
- var Return$0 = $TS($S($EXPECT($L167, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18306
+ var Return$0 = $TS($S($EXPECT($L168, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18262
18307
  return { $loc, token: $1 };
18263
18308
  });
18264
18309
  function Return(state) {
@@ -18283,7 +18328,7 @@ ${input.slice(result.pos)}
18283
18328
  return result;
18284
18329
  }
18285
18330
  }
18286
- var Satisfies$0 = $TS($S($EXPECT($L168, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18331
+ var Satisfies$0 = $TS($S($EXPECT($L169, fail, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18287
18332
  return { $loc, token: $1 };
18288
18333
  });
18289
18334
  function Satisfies(state) {
@@ -18333,7 +18378,7 @@ ${input.slice(result.pos)}
18333
18378
  return result;
18334
18379
  }
18335
18380
  }
18336
- var SingleQuote$0 = $TV($EXPECT($L169, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18381
+ var SingleQuote$0 = $TV($EXPECT($L170, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
18337
18382
  return { $loc, token: $1 };
18338
18383
  });
18339
18384
  function SingleQuote(state) {
@@ -18383,7 +18428,7 @@ ${input.slice(result.pos)}
18383
18428
  return result;
18384
18429
  }
18385
18430
  }
18386
- var Static$0 = $TS($S($EXPECT($L170, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18431
+ var Static$0 = $TS($S($EXPECT($L171, fail, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18387
18432
  return { $loc, token: $1 };
18388
18433
  });
18389
18434
  var Static$1 = $TS($S($EXPECT($L118, fail, 'Static "@"'), $N($C($EXPECT($L4, fail, 'Static "("'), $EXPECT($L118, fail, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
@@ -18411,7 +18456,7 @@ ${input.slice(result.pos)}
18411
18456
  return result;
18412
18457
  }
18413
18458
  }
18414
- var SubstitutionStart$0 = $TV($EXPECT($L171, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18459
+ var SubstitutionStart$0 = $TV($EXPECT($L172, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
18415
18460
  return { $loc, token: $1 };
18416
18461
  });
18417
18462
  function SubstitutionStart(state) {
@@ -18436,7 +18481,7 @@ ${input.slice(result.pos)}
18436
18481
  return result;
18437
18482
  }
18438
18483
  }
18439
- var Switch$0 = $TS($S($EXPECT($L172, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18484
+ var Switch$0 = $TS($S($EXPECT($L173, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18440
18485
  return { $loc, token: $1 };
18441
18486
  });
18442
18487
  function Switch(state) {
@@ -18461,7 +18506,7 @@ ${input.slice(result.pos)}
18461
18506
  return result;
18462
18507
  }
18463
18508
  }
18464
- var Target$0 = $TS($S($EXPECT($L173, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18509
+ var Target$0 = $TS($S($EXPECT($L174, fail, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18465
18510
  return { $loc, token: $1 };
18466
18511
  });
18467
18512
  function Target(state) {
@@ -18486,7 +18531,7 @@ ${input.slice(result.pos)}
18486
18531
  return result;
18487
18532
  }
18488
18533
  }
18489
- var Then$0 = $TS($S(__, $EXPECT($L174, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18534
+ var Then$0 = $TS($S(__, $EXPECT($L175, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
18490
18535
  return { $loc, token: "" };
18491
18536
  });
18492
18537
  function Then(state) {
@@ -18511,7 +18556,7 @@ ${input.slice(result.pos)}
18511
18556
  return result;
18512
18557
  }
18513
18558
  }
18514
- var This$0 = $TS($S($EXPECT($L175, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18559
+ var This$0 = $TS($S($EXPECT($L176, fail, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18515
18560
  return { $loc, token: $1 };
18516
18561
  });
18517
18562
  function This(state) {
@@ -18536,7 +18581,7 @@ ${input.slice(result.pos)}
18536
18581
  return result;
18537
18582
  }
18538
18583
  }
18539
- var Throw$0 = $TS($S($EXPECT($L176, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18584
+ var Throw$0 = $TS($S($EXPECT($L177, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18540
18585
  return { $loc, token: $1 };
18541
18586
  });
18542
18587
  function Throw(state) {
@@ -18561,7 +18606,7 @@ ${input.slice(result.pos)}
18561
18606
  return result;
18562
18607
  }
18563
18608
  }
18564
- var TripleDoubleQuote$0 = $TV($EXPECT($L177, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18609
+ var TripleDoubleQuote$0 = $TV($EXPECT($L178, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
18565
18610
  return { $loc, token: "`" };
18566
18611
  });
18567
18612
  function TripleDoubleQuote(state) {
@@ -18586,7 +18631,7 @@ ${input.slice(result.pos)}
18586
18631
  return result;
18587
18632
  }
18588
18633
  }
18589
- var TripleSingleQuote$0 = $TV($EXPECT($L178, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18634
+ var TripleSingleQuote$0 = $TV($EXPECT($L179, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
18590
18635
  return { $loc, token: "`" };
18591
18636
  });
18592
18637
  function TripleSingleQuote(state) {
@@ -18611,7 +18656,7 @@ ${input.slice(result.pos)}
18611
18656
  return result;
18612
18657
  }
18613
18658
  }
18614
- var TripleSlash$0 = $TV($EXPECT($L179, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18659
+ var TripleSlash$0 = $TV($EXPECT($L180, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
18615
18660
  return { $loc, token: "/" };
18616
18661
  });
18617
18662
  function TripleSlash(state) {
@@ -18636,7 +18681,7 @@ ${input.slice(result.pos)}
18636
18681
  return result;
18637
18682
  }
18638
18683
  }
18639
- var TripleTick$0 = $TV($EXPECT($L180, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18684
+ var TripleTick$0 = $TV($EXPECT($L181, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
18640
18685
  return { $loc, token: "`" };
18641
18686
  });
18642
18687
  function TripleTick(state) {
@@ -18661,7 +18706,7 @@ ${input.slice(result.pos)}
18661
18706
  return result;
18662
18707
  }
18663
18708
  }
18664
- var Try$0 = $TS($S($EXPECT($L181, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18709
+ var Try$0 = $TS($S($EXPECT($L182, fail, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18665
18710
  return { $loc, token: $1 };
18666
18711
  });
18667
18712
  function Try(state) {
@@ -18686,7 +18731,7 @@ ${input.slice(result.pos)}
18686
18731
  return result;
18687
18732
  }
18688
18733
  }
18689
- var Typeof$0 = $TS($S($EXPECT($L182, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18734
+ var Typeof$0 = $TS($S($EXPECT($L183, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18690
18735
  return { $loc, token: $1 };
18691
18736
  });
18692
18737
  function Typeof(state) {
@@ -18711,7 +18756,7 @@ ${input.slice(result.pos)}
18711
18756
  return result;
18712
18757
  }
18713
18758
  }
18714
- var Unless$0 = $TS($S($EXPECT($L183, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18759
+ var Unless$0 = $TS($S($EXPECT($L184, fail, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18715
18760
  return { $loc, token: $1 };
18716
18761
  });
18717
18762
  function Unless(state) {
@@ -18736,7 +18781,7 @@ ${input.slice(result.pos)}
18736
18781
  return result;
18737
18782
  }
18738
18783
  }
18739
- var Until$0 = $TS($S($EXPECT($L184, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18784
+ var Until$0 = $TS($S($EXPECT($L185, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18740
18785
  return { $loc, token: $1 };
18741
18786
  });
18742
18787
  function Until(state) {
@@ -18761,7 +18806,7 @@ ${input.slice(result.pos)}
18761
18806
  return result;
18762
18807
  }
18763
18808
  }
18764
- var Var$0 = $TS($S($EXPECT($L185, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18809
+ var Var$0 = $TS($S($EXPECT($L186, fail, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18765
18810
  return { $loc, token: $1 };
18766
18811
  });
18767
18812
  function Var(state) {
@@ -18786,7 +18831,7 @@ ${input.slice(result.pos)}
18786
18831
  return result;
18787
18832
  }
18788
18833
  }
18789
- var Void$0 = $TS($S($EXPECT($L186, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18834
+ var Void$0 = $TS($S($EXPECT($L187, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18790
18835
  return { $loc, token: $1 };
18791
18836
  });
18792
18837
  function Void(state) {
@@ -18811,7 +18856,7 @@ ${input.slice(result.pos)}
18811
18856
  return result;
18812
18857
  }
18813
18858
  }
18814
- var When$0 = $TS($S($EXPECT($L187, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18859
+ var When$0 = $TS($S($EXPECT($L188, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18815
18860
  return { $loc, token: "case" };
18816
18861
  });
18817
18862
  function When(state) {
@@ -18836,7 +18881,7 @@ ${input.slice(result.pos)}
18836
18881
  return result;
18837
18882
  }
18838
18883
  }
18839
- var While$0 = $TS($S($EXPECT($L188, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18884
+ var While$0 = $TS($S($EXPECT($L189, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18840
18885
  return { $loc, token: $1 };
18841
18886
  });
18842
18887
  function While(state) {
@@ -18861,7 +18906,7 @@ ${input.slice(result.pos)}
18861
18906
  return result;
18862
18907
  }
18863
18908
  }
18864
- var Yield$0 = $TS($S($EXPECT($L189, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18909
+ var Yield$0 = $TS($S($EXPECT($L190, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
18865
18910
  return { $loc, token: $1, type: "Yield" };
18866
18911
  });
18867
18912
  function Yield(state) {
@@ -19006,7 +19051,7 @@ ${input.slice(result.pos)}
19006
19051
  return result;
19007
19052
  }
19008
19053
  }
19009
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L155, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L190, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19054
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L156, fail, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L191, fail, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
19010
19055
  return { type: "JSXElement", children: $0, tag: $2 };
19011
19056
  });
19012
19057
  function JSXSelfClosingElement(state) {
@@ -19082,7 +19127,7 @@ ${input.slice(result.pos)}
19082
19127
  return result;
19083
19128
  }
19084
19129
  }
19085
- var JSXOpeningElement$0 = $S($EXPECT($L155, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19130
+ var JSXOpeningElement$0 = $S($EXPECT($L156, fail, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L34, fail, 'JSXOpeningElement ">"'));
19086
19131
  function JSXOpeningElement(state) {
19087
19132
  let eventData;
19088
19133
  if (state.events) {
@@ -19134,7 +19179,7 @@ ${input.slice(result.pos)}
19134
19179
  return result;
19135
19180
  }
19136
19181
  }
19137
- var JSXClosingElement$0 = $S($EXPECT($L191, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19182
+ var JSXClosingElement$0 = $S($EXPECT($L192, fail, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L34, fail, 'JSXClosingElement ">"'));
19138
19183
  function JSXClosingElement(state) {
19139
19184
  let eventData;
19140
19185
  if (state.events) {
@@ -19172,7 +19217,7 @@ ${input.slice(result.pos)}
19172
19217
  ];
19173
19218
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
19174
19219
  });
19175
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L192, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19220
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L193, fail, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
19176
19221
  var children = $3;
19177
19222
  $0 = $0.slice(1);
19178
19223
  return {
@@ -19203,7 +19248,7 @@ ${input.slice(result.pos)}
19203
19248
  return result;
19204
19249
  }
19205
19250
  }
19206
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L192, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19251
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L193, fail, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
19207
19252
  module.JSXTagStack.push("");
19208
19253
  return $1;
19209
19254
  });
@@ -19257,7 +19302,7 @@ ${input.slice(result.pos)}
19257
19302
  return result;
19258
19303
  }
19259
19304
  }
19260
- var JSXClosingFragment$0 = $EXPECT($L193, fail, 'JSXClosingFragment "</>"');
19305
+ var JSXClosingFragment$0 = $EXPECT($L194, fail, 'JSXClosingFragment "</>"');
19261
19306
  function JSXClosingFragment(state) {
19262
19307
  let eventData;
19263
19308
  if (state.events) {
@@ -20226,7 +20271,7 @@ ${input.slice(result.pos)}
20226
20271
  return result;
20227
20272
  }
20228
20273
  }
20229
- var JSXComment$0 = $TS($S($EXPECT($L194, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L195, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20274
+ var JSXComment$0 = $TS($S($EXPECT($L195, fail, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L196, fail, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
20230
20275
  return ["{/*", $2, "*/}"];
20231
20276
  });
20232
20277
  function JSXComment(state) {
@@ -20555,7 +20600,7 @@ ${input.slice(result.pos)}
20555
20600
  return result;
20556
20601
  }
20557
20602
  }
20558
- var TypeKeyword$0 = $TS($S($EXPECT($L196, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20603
+ var TypeKeyword$0 = $TS($S($EXPECT($L197, fail, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20559
20604
  return { $loc, token: $1 };
20560
20605
  });
20561
20606
  function TypeKeyword(state) {
@@ -20580,7 +20625,7 @@ ${input.slice(result.pos)}
20580
20625
  return result;
20581
20626
  }
20582
20627
  }
20583
- var Enum$0 = $TS($S($EXPECT($L197, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20628
+ var Enum$0 = $TS($S($EXPECT($L198, fail, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20584
20629
  return { $loc, token: $1 };
20585
20630
  });
20586
20631
  function Enum(state) {
@@ -20605,7 +20650,7 @@ ${input.slice(result.pos)}
20605
20650
  return result;
20606
20651
  }
20607
20652
  }
20608
- var Interface$0 = $TS($S($EXPECT($L198, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20653
+ var Interface$0 = $TS($S($EXPECT($L199, fail, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20609
20654
  return { $loc, token: $1 };
20610
20655
  });
20611
20656
  function Interface(state) {
@@ -20630,7 +20675,7 @@ ${input.slice(result.pos)}
20630
20675
  return result;
20631
20676
  }
20632
20677
  }
20633
- var Global$0 = $TS($S($EXPECT($L199, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20678
+ var Global$0 = $TS($S($EXPECT($L200, fail, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20634
20679
  return { $loc, token: $1 };
20635
20680
  });
20636
20681
  function Global(state) {
@@ -20655,7 +20700,7 @@ ${input.slice(result.pos)}
20655
20700
  return result;
20656
20701
  }
20657
20702
  }
20658
- var Module$0 = $TS($S($EXPECT($L200, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20703
+ var Module$0 = $TS($S($EXPECT($L201, fail, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20659
20704
  return { $loc, token: $1 };
20660
20705
  });
20661
20706
  function Module(state) {
@@ -20680,7 +20725,7 @@ ${input.slice(result.pos)}
20680
20725
  return result;
20681
20726
  }
20682
20727
  }
20683
- var Namespace$0 = $TS($S($EXPECT($L201, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20728
+ var Namespace$0 = $TS($S($EXPECT($L202, fail, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
20684
20729
  return { $loc, token: $1 };
20685
20730
  });
20686
20731
  function Namespace(state) {
@@ -21374,7 +21419,7 @@ ${input.slice(result.pos)}
21374
21419
  return result;
21375
21420
  }
21376
21421
  }
21377
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L202, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21422
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L203, fail, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
21378
21423
  var asserts = $1;
21379
21424
  var t = $2;
21380
21425
  if (asserts) {
@@ -21414,7 +21459,7 @@ ${input.slice(result.pos)}
21414
21459
  return result;
21415
21460
  }
21416
21461
  }
21417
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L151, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21462
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
21418
21463
  var lhs = $1;
21419
21464
  var rhs = $2;
21420
21465
  if (!rhs)
@@ -21556,10 +21601,10 @@ ${input.slice(result.pos)}
21556
21601
  return result;
21557
21602
  }
21558
21603
  }
21559
- var TypeUnaryOp$0 = $S($EXPECT($L203, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21560
- var TypeUnaryOp$1 = $S($EXPECT($L182, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21561
- var TypeUnaryOp$2 = $S($EXPECT($L204, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21562
- var TypeUnaryOp$3 = $S($EXPECT($L166, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21604
+ var TypeUnaryOp$0 = $S($EXPECT($L204, fail, 'TypeUnaryOp "keyof"'), NonIdContinue);
21605
+ var TypeUnaryOp$1 = $S($EXPECT($L183, fail, 'TypeUnaryOp "typeof"'), NonIdContinue);
21606
+ var TypeUnaryOp$2 = $S($EXPECT($L205, fail, 'TypeUnaryOp "infer"'), NonIdContinue);
21607
+ var TypeUnaryOp$3 = $S($EXPECT($L167, fail, 'TypeUnaryOp "readonly"'), NonIdContinue);
21563
21608
  function TypeUnaryOp(state) {
21564
21609
  let eventData;
21565
21610
  if (state.events) {
@@ -21822,7 +21867,7 @@ ${input.slice(result.pos)}
21822
21867
  return result;
21823
21868
  }
21824
21869
  }
21825
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
21870
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L141, fail, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
21826
21871
  if ($2)
21827
21872
  return $0;
21828
21873
  return $1;
@@ -21954,10 +21999,10 @@ ${input.slice(result.pos)}
21954
21999
  }
21955
22000
  var TypeLiteral$0 = TypeTemplateLiteral;
21956
22001
  var TypeLiteral$1 = Literal;
21957
- var TypeLiteral$2 = $TS($S($EXPECT($L186, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
22002
+ var TypeLiteral$2 = $TS($S($EXPECT($L187, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
21958
22003
  return { type: "VoidType", $loc, token: $1 };
21959
22004
  });
21960
- var TypeLiteral$3 = $TV($EXPECT($L205, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
22005
+ var TypeLiteral$3 = $TV($EXPECT($L206, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
21961
22006
  return { $loc, token: "[]" };
21962
22007
  });
21963
22008
  function TypeLiteral(state) {
@@ -22138,7 +22183,7 @@ ${input.slice(result.pos)}
22138
22183
  return result;
22139
22184
  }
22140
22185
  }
22141
- var TypeArguments$0 = $TS($S($EXPECT($L155, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22186
+ var TypeArguments$0 = $TS($S($EXPECT($L156, fail, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L34, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
22142
22187
  var args = $2;
22143
22188
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
22144
22189
  });
@@ -22210,7 +22255,7 @@ ${input.slice(result.pos)}
22210
22255
  return result;
22211
22256
  }
22212
22257
  }
22213
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L155, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L34, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22258
+ var TypeParameters$0 = $TS($S($E(_), $EXPECT($L156, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L34, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
22214
22259
  var parameters = $3;
22215
22260
  return {
22216
22261
  type: "TypeParameters",
@@ -22241,7 +22286,7 @@ ${input.slice(result.pos)}
22241
22286
  return result;
22242
22287
  }
22243
22288
  }
22244
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L150, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22289
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, fail, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
22245
22290
  function TypeParameter(state) {
22246
22291
  let eventData;
22247
22292
  if (state.events) {
@@ -22264,7 +22309,7 @@ ${input.slice(result.pos)}
22264
22309
  return result;
22265
22310
  }
22266
22311
  }
22267
- var TypeConstraint$0 = $S(__, $EXPECT($L140, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22312
+ var TypeConstraint$0 = $S(__, $EXPECT($L141, fail, 'TypeConstraint "extends"'), NonIdContinue, Type);
22268
22313
  function TypeConstraint(state) {
22269
22314
  let eventData;
22270
22315
  if (state.events) {
@@ -22415,7 +22460,7 @@ ${input.slice(result.pos)}
22415
22460
  return result;
22416
22461
  }
22417
22462
  }
22418
- var CivetPrologueContent$0 = $TS($S($EXPECT($L206, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
22463
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L207, fail, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
22419
22464
  var options = $3;
22420
22465
  return {
22421
22466
  type: "CivetPrologue",
@@ -23658,11 +23703,7 @@ ${input.slice(result.pos)}
23658
23703
  module.getRef = function(base) {
23659
23704
  if (refs.hasOwnProperty(base))
23660
23705
  return refs[base];
23661
- const ref = {
23662
- type: "Ref",
23663
- base,
23664
- id: base
23665
- };
23706
+ const ref = makeRef(base);
23666
23707
  if (declareRef.hasOwnProperty(base))
23667
23708
  declareRef[base](ref);
23668
23709
  return refs[base] = ref;
@@ -24043,12 +24084,14 @@ ${input.slice(result.pos)}
24043
24084
  literalValue,
24044
24085
  makeEmptyBlock,
24045
24086
  makeLeftHandSideExpression,
24087
+ makeRef,
24046
24088
  maybeRef,
24047
24089
  modifyString,
24090
+ processAssignmentDeclaration,
24048
24091
  processBinaryOpExpression,
24049
24092
  processCallMemberExpression,
24050
24093
  processCoffeeInterpolation,
24051
- processAssignmentDeclaration,
24094
+ processForInOf,
24052
24095
  processProgram,
24053
24096
  processUnaryExpression,
24054
24097
  quoteString,