@danielx/civet 0.7.10 → 0.7.12

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
@@ -967,27 +967,49 @@ ${body}`;
967
967
  case "DebuggerStatement":
968
968
  case "EmptyStatement":
969
969
  case "ReturnStatement":
970
- case "ThrowStatement":
970
+ case "ThrowStatement": {
971
971
  return;
972
- case "Declaration":
972
+ }
973
+ case "Declaration": {
974
+ let ref5;
975
+ if (exp.bindings?.length) {
976
+ ref5 = patternAsValue((ref4 = exp.bindings)[ref4.length - 1].pattern);
977
+ } else {
978
+ ref5 = "void 0";
979
+ }
980
+ ;
981
+ const value = ref5;
973
982
  exp.children.push([
974
983
  "",
975
- [";", collect(patternAsValue((ref4 = exp.bindings)[ref4.length - 1].pattern))]
984
+ [";", collect(value)]
976
985
  ]);
977
986
  return;
987
+ }
988
+ case "FunctionExpression": {
989
+ if (exp.id) {
990
+ exp.children.push([
991
+ "",
992
+ [";", collect(exp.id)]
993
+ ]);
994
+ return;
995
+ }
996
+ break;
997
+ }
978
998
  case "ForStatement":
979
999
  case "IterationStatement":
980
1000
  case "DoStatement":
981
- case "ComptimeStatement":
1001
+ case "ComptimeStatement": {
982
1002
  wrapIterationReturningResults(exp, outer, collect);
983
1003
  return;
984
- case "BlockStatement":
1004
+ }
1005
+ case "BlockStatement": {
985
1006
  if (node.expressions.some(isExit)) {
986
1007
  return;
987
1008
  }
988
1009
  assignResults(exp.expressions[exp.expressions.length - 1], collect);
989
1010
  return;
990
- case "IfStatement":
1011
+ }
1012
+ case "IfStatement": {
991
1013
  assignResults(exp.then, collect);
992
1014
  if (exp.then.bare && !exp.then.semicolon) {
993
1015
  exp.then.children.push(exp.then.semicolon = ";");
@@ -995,18 +1017,22 @@ ${body}`;
995
1017
  if (exp.else) {
996
1018
  assignResults(exp.else.block, collect);
997
1019
  } else {
998
- exp.children.push([" else {", collect("undefined"), "}"]);
1020
+ exp.children.push([" else {", collect("void 0"), "}"]);
999
1021
  }
1000
1022
  return;
1001
- case "PatternMatchingStatement":
1023
+ }
1024
+ case "PatternMatchingStatement": {
1002
1025
  assignResults(exp.children[0], collect);
1003
1026
  return;
1004
- case "SwitchStatement":
1027
+ }
1028
+ case "SwitchStatement": {
1005
1029
  assignResults(exp.children[2], collect);
1006
1030
  return;
1007
- case "TryStatement":
1031
+ }
1032
+ case "TryStatement": {
1008
1033
  exp.blocks.forEach((block) => assignResults(block, collect));
1009
1034
  return;
1035
+ }
1010
1036
  }
1011
1037
  if (node[node.length - 1]?.type === "SemicolonDelimiter") {
1012
1038
  return;
@@ -1017,7 +1043,7 @@ ${body}`;
1017
1043
  if (!node)
1018
1044
  return;
1019
1045
  switch (node.type) {
1020
- case "BlockStatement":
1046
+ case "BlockStatement": {
1021
1047
  if (node.expressions.length) {
1022
1048
  if (node.expressions.some(([, exp2]) => isExit(exp2))) {
1023
1049
  return;
@@ -1030,7 +1056,8 @@ ${body}`;
1030
1056
  }
1031
1057
  }
1032
1058
  return;
1033
- case "WhenClause":
1059
+ }
1060
+ case "WhenClause": {
1034
1061
  if (node.break) {
1035
1062
  node.children.splice(node.children.indexOf(node.break), 1);
1036
1063
  }
@@ -1040,9 +1067,11 @@ ${body}`;
1040
1067
  node.block.expressions.push(wrapWithReturn());
1041
1068
  }
1042
1069
  return;
1043
- case "DefaultClause":
1070
+ }
1071
+ case "DefaultClause": {
1044
1072
  insertReturn(node.block);
1045
1073
  return;
1074
+ }
1046
1075
  }
1047
1076
  if (!Array.isArray(node))
1048
1077
  return;
@@ -1062,23 +1091,36 @@ ${body}`;
1062
1091
  exp = exp.statement;
1063
1092
  ({ type } = exp);
1064
1093
  }
1065
- let ref5;
1094
+ let ref6;
1066
1095
  switch (type) {
1067
1096
  case "BreakStatement":
1068
1097
  case "ContinueStatement":
1069
1098
  case "DebuggerStatement":
1070
1099
  case "EmptyStatement":
1071
1100
  case "ReturnStatement":
1072
- case "ThrowStatement":
1101
+ case "ThrowStatement": {
1073
1102
  return;
1074
- case "Declaration":
1103
+ }
1104
+ case "Declaration": {
1105
+ let ref7;
1106
+ if (exp.bindings?.length) {
1107
+ ref7 = [" ", patternAsValue((ref6 = exp.bindings)[ref6.length - 1].pattern)];
1108
+ } else {
1109
+ ref7 = [];
1110
+ }
1111
+ ;
1112
+ const value = ref7;
1075
1113
  exp.children.push(["", {
1076
1114
  type: "ReturnStatement",
1077
- children: [";return ", patternAsValue((ref5 = exp.bindings)[ref5.length - 1].pattern)],
1115
+ children: [
1116
+ ";return",
1117
+ ...value
1118
+ ],
1078
1119
  parent: exp
1079
1120
  }]);
1080
1121
  return;
1081
- case "FunctionExpression":
1122
+ }
1123
+ case "FunctionExpression": {
1082
1124
  if (exp.id) {
1083
1125
  exp.children.push([
1084
1126
  "",
@@ -1091,16 +1133,19 @@ ${body}`;
1091
1133
  return;
1092
1134
  }
1093
1135
  break;
1136
+ }
1094
1137
  case "ForStatement":
1095
1138
  case "IterationStatement":
1096
1139
  case "DoStatement":
1097
- case "ComptimeStatement":
1140
+ case "ComptimeStatement": {
1098
1141
  wrapIterationReturningResults(exp, outer);
1099
1142
  return;
1100
- case "BlockStatement":
1143
+ }
1144
+ case "BlockStatement": {
1101
1145
  insertReturn(exp.expressions[exp.expressions.length - 1]);
1102
1146
  return;
1103
- case "IfStatement":
1147
+ }
1148
+ case "IfStatement": {
1104
1149
  insertReturn(exp.then);
1105
1150
  if (exp.else)
1106
1151
  insertReturn(exp.else.block);
@@ -1112,18 +1157,23 @@ ${body}`;
1112
1157
  parent: exp
1113
1158
  }]);
1114
1159
  return;
1115
- case "PatternMatchingStatement":
1160
+ }
1161
+ case "PatternMatchingStatement": {
1116
1162
  insertReturn(exp.children[0]);
1117
1163
  return;
1118
- case "SwitchStatement":
1164
+ }
1165
+ case "SwitchStatement": {
1119
1166
  insertSwitchReturns(exp);
1120
1167
  return;
1121
- case "TryStatement":
1168
+ }
1169
+ case "TryStatement": {
1122
1170
  exp.blocks.forEach((block) => insertReturn(block));
1123
1171
  return;
1172
+ }
1124
1173
  }
1125
- if (node[node.length - 1]?.type === "SemicolonDelimiter")
1174
+ if (node[node.length - 1]?.type === "SemicolonDelimiter") {
1126
1175
  return;
1176
+ }
1127
1177
  const returnStatement = wrapWithReturn(node[1]);
1128
1178
  node.splice(1, 1, returnStatement);
1129
1179
  }
@@ -1212,10 +1262,33 @@ ${body}`;
1212
1262
  }
1213
1263
  expressions.unshift(...prefix);
1214
1264
  }
1265
+ function processSignature(f) {
1266
+ const { block, signature } = f;
1267
+ if (hasAwait(block) && !f.async?.length) {
1268
+ f.async.push("async ");
1269
+ signature.modifier.async = true;
1270
+ }
1271
+ if (hasYield(block) && !f.generator?.length) {
1272
+ if (f.type === "ArrowFunction") {
1273
+ gatherRecursiveWithinFunction(block, ($) => $.type === "YieldExpression").forEach((y) => {
1274
+ const i = y.children.findIndex(($1) => $1.type === "Yield");
1275
+ return y.children.splice(i + 1, 0, {
1276
+ type: "Error",
1277
+ message: "Can't use yield inside of => arrow function"
1278
+ });
1279
+ });
1280
+ } else {
1281
+ f.generator.push("*");
1282
+ signature.modifier.generator = true;
1283
+ }
1284
+ }
1285
+ }
1215
1286
  function processFunctions(statements, config2) {
1216
1287
  gatherRecursiveAll(statements, ({ type }) => type === "FunctionExpression" || type === "ArrowFunction").forEach((f) => {
1217
- if (f.type === "FunctionExpression")
1288
+ if (f.type === "FunctionExpression") {
1218
1289
  implicitFunctionBlock(f);
1290
+ }
1291
+ processSignature(f);
1219
1292
  processParams(f);
1220
1293
  return processReturn(f, config2.implicitReturns);
1221
1294
  });
@@ -1272,12 +1345,12 @@ ${body}`;
1272
1345
  ...parameters,
1273
1346
  children: (() => {
1274
1347
  const results = [];
1275
- for (let ref6 = parameters.children, i1 = 0, len3 = ref6.length; i1 < len3; i1++) {
1276
- let parameter = ref6[i1];
1348
+ for (let ref8 = parameters.children, i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
1349
+ let parameter = ref8[i1];
1277
1350
  if (typeof parameter === "object" && parameter != null && "type" in parameter && parameter.type === "Parameter") {
1278
- let ref7;
1279
- if (ref7 = parameter.initializer) {
1280
- const initializer = ref7;
1351
+ let ref9;
1352
+ if (ref9 = parameter.initializer) {
1353
+ const initializer = ref9;
1281
1354
  args.push(initializer.expression, parameter.delim);
1282
1355
  parameter = {
1283
1356
  ...parameter,
@@ -1298,7 +1371,7 @@ ${body}`;
1298
1371
  expression = {
1299
1372
  ...expression,
1300
1373
  parameters: newParameters,
1301
- children: expression.children.map(($) => $ === parameters ? newParameters : $)
1374
+ children: expression.children.map(($2) => $2 === parameters ? newParameters : $2)
1302
1375
  };
1303
1376
  }
1304
1377
  return {
@@ -1313,6 +1386,52 @@ ${body}`;
1313
1386
  ]
1314
1387
  };
1315
1388
  }
1389
+ function makeAmpersandFunction(rhs) {
1390
+ let { ref, typeSuffix, body } = rhs;
1391
+ if (!(ref != null)) {
1392
+ ref = makeRef("$");
1393
+ inplacePrepend(ref, body);
1394
+ }
1395
+ if (body?.type === "ObjectExpression") {
1396
+ body = makeLeftHandSideExpression(body);
1397
+ }
1398
+ const parameters = makeNode({
1399
+ type: "Parameters",
1400
+ children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
1401
+ names: []
1402
+ });
1403
+ const expressions = [[" ", body]];
1404
+ const block = makeNode({
1405
+ type: "BlockStatement",
1406
+ bare: true,
1407
+ expressions,
1408
+ children: [expressions],
1409
+ implicitlyReturned: true
1410
+ });
1411
+ const async = [];
1412
+ const children = [async, parameters, " =>", block];
1413
+ const fn = makeNode({
1414
+ type: "ArrowFunction",
1415
+ async,
1416
+ signature: {
1417
+ modifier: {
1418
+ async: !!async.length
1419
+ }
1420
+ },
1421
+ children,
1422
+ ref,
1423
+ block,
1424
+ parameters,
1425
+ ampersandBlock: true,
1426
+ body
1427
+ });
1428
+ if (isStatement(body)) {
1429
+ braceBlock(block);
1430
+ fn.ampersandBlock = false;
1431
+ delete fn.body;
1432
+ }
1433
+ return fn;
1434
+ }
1316
1435
 
1317
1436
  // source/parser/block.civet
1318
1437
  function blockWithPrefix(prefixStatements, block) {
@@ -1536,8 +1655,8 @@ ${body}`;
1536
1655
  node.parent = parent;
1537
1656
  }
1538
1657
  if (node.children) {
1539
- for (let ref1 = node.children, i1 = 0, len1 = ref1.length; i1 < len1; i1++) {
1540
- const child = ref1[i1];
1658
+ for (let ref = node.children, i1 = 0, len1 = ref.length; i1 < len1; i1++) {
1659
+ const child = ref[i1];
1541
1660
  addParentPointers(child, node);
1542
1661
  }
1543
1662
  }
@@ -1819,13 +1938,13 @@ ${body}`;
1819
1938
  return;
1820
1939
  }
1821
1940
  function hasAwait(exp) {
1822
- return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Await").length > 0;
1941
+ return gatherRecursiveWithinFunction(exp, ($1) => $1.type === "Await").length > 0;
1823
1942
  }
1824
1943
  function hasYield(exp) {
1825
- return gatherRecursiveWithinFunction(exp, ({ type }) => type === "Yield").length > 0;
1944
+ return gatherRecursiveWithinFunction(exp, ($2) => $2.type === "Yield").length > 0;
1826
1945
  }
1827
1946
  function hasImportDeclaration(exp) {
1828
- return gatherRecursiveWithinFunction(exp, ({ type }) => type === "ImportDeclaration").length > 0;
1947
+ return gatherRecursiveWithinFunction(exp, ($3) => $3.type === "ImportDeclaration").length > 0;
1829
1948
  }
1830
1949
  function deepCopy(node) {
1831
1950
  if (node == null)
@@ -1863,54 +1982,6 @@ ${body}`;
1863
1982
  }
1864
1983
  }
1865
1984
  }
1866
- function makeAmpersandFunction(rhs) {
1867
- let { ref, typeSuffix, body } = rhs;
1868
- if (!(ref != null)) {
1869
- ref = makeRef("$");
1870
- inplacePrepend(ref, body);
1871
- }
1872
- if (body?.type === "ObjectExpression") {
1873
- body = makeLeftHandSideExpression(body);
1874
- }
1875
- const parameters = makeNode({
1876
- type: "Parameters",
1877
- children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
1878
- names: []
1879
- });
1880
- const expressions = [[" ", body]];
1881
- const block = makeNode({
1882
- type: "BlockStatement",
1883
- bare: true,
1884
- expressions,
1885
- children: [expressions],
1886
- implicitlyReturned: true
1887
- });
1888
- const children = [parameters, " =>", block];
1889
- const async = hasAwait(body);
1890
- if (async) {
1891
- children.unshift("async ");
1892
- }
1893
- const fn = makeNode({
1894
- type: "ArrowFunction",
1895
- signature: {
1896
- modifier: {
1897
- async
1898
- }
1899
- },
1900
- children,
1901
- ref,
1902
- block,
1903
- parameters,
1904
- ampersandBlock: true,
1905
- body
1906
- });
1907
- if (isStatement(body)) {
1908
- braceBlock(block);
1909
- fn.ampersandBlock = false;
1910
- delete fn.body;
1911
- }
1912
- return fn;
1913
- }
1914
1985
  var skipParens = /* @__PURE__ */ new Set([
1915
1986
  "AmpersandRef",
1916
1987
  "CallExpression",
@@ -1961,8 +2032,8 @@ ${body}`;
1961
2032
  node.parent = parent;
1962
2033
  }
1963
2034
  if (depth && isParent(node)) {
1964
- for (let ref2 = node.children, i3 = 0, len3 = ref2.length; i3 < len3; i3++) {
1965
- const child = ref2[i3];
2035
+ for (let ref1 = node.children, i3 = 0, len3 = ref1.length; i3 < len3; i3++) {
2036
+ const child = ref1[i3];
1966
2037
  updateParentPointers(child, node, depth - 1);
1967
2038
  }
1968
2039
  }
@@ -2033,11 +2104,11 @@ ${body}`;
2033
2104
  }
2034
2105
  function wrapIIFE(expressions, asyncFlag) {
2035
2106
  let prefix;
2036
- let async;
2107
+ const async = [];
2037
2108
  if (asyncFlag) {
2038
- async = "async ";
2109
+ async.push("async ");
2039
2110
  } else if (hasAwait(expressions)) {
2040
- async = "async ";
2111
+ async.push("async ");
2041
2112
  prefix = {
2042
2113
  type: "Await",
2043
2114
  children: ["await "]
@@ -2048,8 +2119,7 @@ ${body}`;
2048
2119
  expressions,
2049
2120
  children: ["{", expressions, "}"],
2050
2121
  bare: false,
2051
- root: false,
2052
- parent: void 0
2122
+ root: false
2053
2123
  });
2054
2124
  const parameters = {
2055
2125
  type: "Parameters",
@@ -2058,7 +2128,7 @@ ${body}`;
2058
2128
  };
2059
2129
  const signature = {
2060
2130
  modifier: {
2061
- async: !!async
2131
+ async: !!async.length
2062
2132
  },
2063
2133
  returnType: void 0
2064
2134
  };
@@ -2401,8 +2471,6 @@ ${body}`;
2401
2471
  }
2402
2472
  return expandedOps;
2403
2473
  }
2404
- ;
2405
- return recurse;
2406
2474
  }
2407
2475
  function dotNumericLiteral(literal) {
2408
2476
  if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
@@ -2919,7 +2987,13 @@ ${body}`;
2919
2987
  thisAssignments = thisAssignments.map(($6) => ["", $6, ";"]);
2920
2988
  const duplicateDeclarations = aggregateDuplicateBindings([patternBindings, splices]);
2921
2989
  return [
2922
- ["", [decl, patternBindings, suffix, " = ", ref, ...splices], ";"],
2990
+ ["", {
2991
+ type: "Declaration",
2992
+ children: [decl, patternBindings, suffix, " = ", ref, ...splices],
2993
+ names: [],
2994
+ bindings: []
2995
+ // avoid implicit return of any bindings
2996
+ }, ";"],
2923
2997
  ...thisAssignments,
2924
2998
  ...duplicateDeclarations.map(($7) => ["", $7, ";"])
2925
2999
  ];
@@ -3067,9 +3141,18 @@ ${body}`;
3067
3141
  aliasBinding(p, ref);
3068
3142
  return ref;
3069
3143
  });
3070
- return declarations.push(["const ", key, " = [", ...refs.map((r, i) => {
3071
- return i === 0 ? r : [", ", r];
3072
- }), "]"]);
3144
+ return declarations.push({
3145
+ type: "Declaration",
3146
+ children: [
3147
+ "const ",
3148
+ key,
3149
+ " = [",
3150
+ ...refs.map((r, i) => i === 0 ? r : [", ", r]),
3151
+ "]"
3152
+ ],
3153
+ names: [],
3154
+ bindings: []
3155
+ });
3073
3156
  });
3074
3157
  return declarations;
3075
3158
  }
@@ -3560,8 +3643,7 @@ ${body}`;
3560
3643
  token: " != null"
3561
3644
  };
3562
3645
  if (pre.length) {
3563
- let ref;
3564
- const lastPre = (ref = pre)[ref.length - 1];
3646
+ const lastPre = pre[pre.length - 1];
3565
3647
  if (lastPre.token === "!") {
3566
3648
  post.token = " == null";
3567
3649
  pre = pre.slice(0, -1);
@@ -3605,9 +3687,9 @@ ${body}`;
3605
3687
  }
3606
3688
  }
3607
3689
  }
3608
- let ref1;
3609
- while (ref1 = pre.length) {
3610
- const l = ref1;
3690
+ let ref;
3691
+ while (ref = pre.length) {
3692
+ const l = ref;
3611
3693
  const last = pre[l - 1];
3612
3694
  if (last.type === "Await") {
3613
3695
  if (last.op) {
@@ -4276,8 +4358,6 @@ ${body}`;
4276
4358
  debugger;
4277
4359
  throw new Error(`Unknown node ${stringify(node)}`);
4278
4360
  }
4279
- ;
4280
- return recurse;
4281
4361
  }
4282
4362
  var generate_default = gen;
4283
4363
  function prune(node) {
@@ -4853,8 +4933,11 @@ ${js}`
4853
4933
  }
4854
4934
  if (results.length > 1) {
4855
4935
  return makeLeftHandSideExpression(results);
4936
+ } else if (results.length) {
4937
+ return results;
4938
+ } else {
4939
+ return ["void 0"];
4856
4940
  }
4857
- return results;
4858
4941
  } else {
4859
4942
  return blockOrExpression;
4860
4943
  }
@@ -4881,10 +4964,10 @@ ${js}`
4881
4964
  children.push(":void 0");
4882
4965
  }
4883
4966
  children.push(closeParen);
4884
- return {
4967
+ return makeNode({
4885
4968
  type: "IfExpression",
4886
4969
  children
4887
- };
4970
+ });
4888
4971
  }
4889
4972
  function expressionizeTypeIf([ws, ifOp, condition, t, e]) {
4890
4973
  const children = [
@@ -6904,12 +6987,12 @@ ${js}`
6904
6987
  var $L12 = (0, import_lib3.$L)("\u2014");
6905
6988
  var $L13 = (0, import_lib3.$L)("=>");
6906
6989
  var $L14 = (0, import_lib3.$L)("\u21D2");
6907
- var $L15 = (0, import_lib3.$L)(":");
6908
- var $L16 = (0, import_lib3.$L)(" ");
6909
- var $L17 = (0, import_lib3.$L)("<");
6910
- var $L18 = (0, import_lib3.$L)("implements");
6911
- var $L19 = (0, import_lib3.$L)("<:");
6912
- var $L20 = (0, import_lib3.$L)("import");
6990
+ var $L15 = (0, import_lib3.$L)("import");
6991
+ var $L16 = (0, import_lib3.$L)(":");
6992
+ var $L17 = (0, import_lib3.$L)(" ");
6993
+ var $L18 = (0, import_lib3.$L)("<");
6994
+ var $L19 = (0, import_lib3.$L)("implements");
6995
+ var $L20 = (0, import_lib3.$L)("<:");
6913
6996
  var $L21 = (0, import_lib3.$L)("^");
6914
6997
  var $L22 = (0, import_lib3.$L)("-");
6915
6998
  var $L23 = (0, import_lib3.$L)("import.meta");
@@ -7307,7 +7390,7 @@ ${js}`
7307
7390
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineExtendedExpression", NonPipelineExtendedExpression$$);
7308
7391
  }
7309
7392
  var NonAssignmentExtendedExpression$0 = NestedNonAssignmentExtendedExpression;
7310
- var NonAssignmentExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, ExpressionizedStatementWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
7393
+ var NonAssignmentExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatementWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
7311
7394
  return prepend($1, $2);
7312
7395
  });
7313
7396
  var NonAssignmentExtendedExpression$$ = [NonAssignmentExtendedExpression$0, NonAssignmentExtendedExpression$1];
@@ -7804,13 +7887,13 @@ ${js}`
7804
7887
  });
7805
7888
  var AssignmentExpression$1 = PipelineExpression;
7806
7889
  var AssignmentExpression$2 = SingleLineAssignmentExpression;
7807
- var AssignmentExpression$3 = (0, import_lib3.$S)(__, AssignmentExpressionTail);
7890
+ var AssignmentExpression$3 = (0, import_lib3.$S)((0, import_lib3.$S)(EOS, (0, import_lib3.$E)(_)), AssignmentExpressionTail);
7808
7891
  var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2, AssignmentExpression$3];
7809
7892
  function AssignmentExpression(ctx, state2) {
7810
7893
  return (0, import_lib3.$EVENT_C)(ctx, state2, "AssignmentExpression", AssignmentExpression$$);
7811
7894
  }
7812
7895
  var NonPipelineAssignmentExpression$0 = NonPipelineSingleLineAssignmentExpression;
7813
- var NonPipelineAssignmentExpression$1 = (0, import_lib3.$S)(__, NonPipelineAssignmentExpressionTail);
7896
+ var NonPipelineAssignmentExpression$1 = (0, import_lib3.$S)((0, import_lib3.$S)(EOS, (0, import_lib3.$E)(_)), NonPipelineAssignmentExpressionTail);
7814
7897
  var NonPipelineAssignmentExpression$$ = [NonPipelineAssignmentExpression$0, NonPipelineAssignmentExpression$1];
7815
7898
  function NonPipelineAssignmentExpression(ctx, state2) {
7816
7899
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpression", NonPipelineAssignmentExpression$$);
@@ -7906,30 +7989,21 @@ ${js}`
7906
7989
  var suffix = $3;
7907
7990
  var arrow = $4;
7908
7991
  var expOrBlock = $5;
7909
- if (hasAwait(expOrBlock) && !async) {
7910
- async = "async ";
7911
- }
7912
- let error;
7913
- if (hasYield(expOrBlock)) {
7914
- error = {
7915
- type: "Error",
7916
- message: "Can't use yield inside of => arrow function"
7917
- };
7918
- }
7992
+ if (!async)
7993
+ async = [];
7919
7994
  return {
7920
7995
  type: "ArrowFunction",
7921
7996
  signature: {
7922
7997
  modifier: {
7923
- async: !!async
7998
+ async: !!async.length
7924
7999
  },
7925
8000
  returnType: suffix
7926
8001
  },
7927
8002
  parameters,
7928
8003
  returnType: suffix,
7929
- ts: false,
7930
8004
  async,
7931
8005
  block: expOrBlock,
7932
- children: [async, parameters, suffix, arrow, error, expOrBlock]
8006
+ children: [async, parameters, suffix, arrow, expOrBlock]
7933
8007
  };
7934
8008
  });
7935
8009
  var ArrowFunction$$ = [ArrowFunction$0, ArrowFunction$1];
@@ -8039,24 +8113,24 @@ ${js}`
8039
8113
  function PipelineHeadItem(ctx, state2) {
8040
8114
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PipelineHeadItem", PipelineHeadItem$$);
8041
8115
  }
8042
- var PipelineTailItem$0 = (0, import_lib3.$T)((0, import_lib3.$S)(AwaitOp, (0, import_lib3.$N)(AccessStart)), function(value) {
8116
+ var PipelineTailItem$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$C)(AwaitOp, Yield, Return), (0, import_lib3.$N)(AccessStart)), function(value) {
8043
8117
  return value[0];
8044
8118
  });
8045
- var PipelineTailItem$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Yield, (0, import_lib3.$N)(AccessStart)), function(value) {
8046
- return value[0];
8047
- });
8048
- var PipelineTailItem$2 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)(AccessStart)), function(value) {
8049
- return value[0];
8119
+ var PipelineTailItem$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'PipelineTailItem "import"'), (0, import_lib3.$N)(AccessStart)), function($skip, $loc, $0, $1, $2) {
8120
+ return {
8121
+ type: "Identifier",
8122
+ children: [$1]
8123
+ };
8050
8124
  });
8051
- var PipelineTailItem$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(NWTypePostfix, (0, import_lib3.$Q)(TypePostfix)), function($skip, $loc, $0, $1, $2) {
8125
+ var PipelineTailItem$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NWTypePostfix, (0, import_lib3.$Q)(TypePostfix)), function($skip, $loc, $0, $1, $2) {
8052
8126
  return makeAmpersandFunction({
8053
8127
  body: [" ", $1, ...$2]
8054
8128
  });
8055
8129
  });
8056
- var PipelineTailItem$4 = (0, import_lib3.$T)((0, import_lib3.$S)(PipelineHeadItem), function(value) {
8130
+ var PipelineTailItem$3 = (0, import_lib3.$T)((0, import_lib3.$S)(PipelineHeadItem), function(value) {
8057
8131
  return value[0];
8058
8132
  });
8059
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
8133
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3];
8060
8134
  function PipelineTailItem(ctx, state2) {
8061
8135
  return (0, import_lib3.$EVENT_C)(ctx, state2, "PipelineTailItem", PipelineTailItem$$);
8062
8136
  }
@@ -8151,7 +8225,7 @@ ${js}`
8151
8225
  function ClassDeclaration(ctx, state2) {
8152
8226
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassDeclaration", ClassDeclaration$0);
8153
8227
  }
8154
- var ClassExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), (0, import_lib3.$E)((0, import_lib3.$S)(Abstract, __)), Class, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L15, 'ClassExpression ":"')), (0, import_lib3.$E)(ClassBinding), (0, import_lib3.$E)(ClassHeritage), ClassBody), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8228
+ var ClassExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), (0, import_lib3.$E)((0, import_lib3.$S)(Abstract, __)), Class, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L16, 'ClassExpression ":"')), (0, import_lib3.$E)(ClassBinding), (0, import_lib3.$E)(ClassHeritage), ClassBody), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8155
8229
  var decorators = $1;
8156
8230
  var abstract = $2;
8157
8231
  var binding = $5;
@@ -8186,7 +8260,7 @@ ${js}`
8186
8260
  function ExtendsClause(ctx, state2) {
8187
8261
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8188
8262
  }
8189
- var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8263
+ var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8190
8264
  var l = $1;
8191
8265
  var ws = $2;
8192
8266
  var t = $3;
@@ -8208,13 +8282,13 @@ ${js}`
8208
8282
  function ExtendsToken(ctx, state2) {
8209
8283
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8210
8284
  }
8211
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8285
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8212
8286
  return { $loc, token: "extends " };
8213
8287
  });
8214
8288
  function ExtendsShorthand(ctx, state2) {
8215
8289
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8216
8290
  }
8217
- var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8291
+ var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8218
8292
  var l = $1;
8219
8293
  var ws1 = $2;
8220
8294
  var ws2 = $3;
@@ -8240,7 +8314,7 @@ ${js}`
8240
8314
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8241
8315
  return "";
8242
8316
  });
8243
- var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8317
+ var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8244
8318
  return value[2];
8245
8319
  });
8246
8320
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8263,7 +8337,7 @@ ${js}`
8263
8337
  function ImplementsClause(ctx, state2) {
8264
8338
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8265
8339
  }
8266
- var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8340
+ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8267
8341
  var l = $1;
8268
8342
  var ws = $2;
8269
8343
  var token = $3;
@@ -8273,7 +8347,7 @@ ${js}`
8273
8347
  }
8274
8348
  return { children };
8275
8349
  });
8276
- var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L18, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8350
+ var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L19, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8277
8351
  $2 = { $loc, token: $2 };
8278
8352
  return [$1, $2];
8279
8353
  });
@@ -8281,7 +8355,7 @@ ${js}`
8281
8355
  function ImplementsToken(ctx, state2) {
8282
8356
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8283
8357
  }
8284
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8358
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8285
8359
  return { $loc, token: "implements " };
8286
8360
  });
8287
8361
  function ImplementsShorthand(ctx, state2) {
@@ -8538,7 +8612,7 @@ ${js}`
8538
8612
  function AtThis(ctx, state2) {
8539
8613
  return (0, import_lib3.$EVENT)(ctx, state2, "AtThis", AtThis$0);
8540
8614
  }
8541
- var LeftHandSideExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(New, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L7, 'LeftHandSideExpression "."'), (0, import_lib3.$EXPECT)($L15, 'LeftHandSideExpression ":"'))), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
8615
+ var LeftHandSideExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(New, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L7, 'LeftHandSideExpression "."'), (0, import_lib3.$EXPECT)($L16, 'LeftHandSideExpression ":"'))), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
8542
8616
  var expression = $2;
8543
8617
  return {
8544
8618
  type: "NewExpression",
@@ -8561,7 +8635,7 @@ ${js}`
8561
8635
  var CallExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Import, _, NamedImports, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8562
8636
  return dynamizeImportDeclarationExpression($0);
8563
8637
  });
8564
- var CallExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L20, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, (0, import_lib3.$Q)(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
8638
+ var CallExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, (0, import_lib3.$Q)(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
8565
8639
  var rest = $3;
8566
8640
  return processCallMemberExpression({
8567
8641
  type: "CallExpression",
@@ -9566,7 +9640,6 @@ ${js}`
9566
9640
  name: id?.name,
9567
9641
  parameters,
9568
9642
  returnType: suffix,
9569
- ts: false,
9570
9643
  async,
9571
9644
  generator,
9572
9645
  modifier: {
@@ -9592,14 +9665,6 @@ ${js}`
9592
9665
  ts: true
9593
9666
  };
9594
9667
  }
9595
- if (hasAwait(block) && !signature.async.length) {
9596
- signature.async.push("async ");
9597
- signature.modifier.async = true;
9598
- }
9599
- if (hasYield(block) && !signature.generator.length) {
9600
- signature.generator.push("*");
9601
- signature.modifier.generator = true;
9602
- }
9603
9668
  return {
9604
9669
  ...signature,
9605
9670
  type: "FunctionExpression",
@@ -9771,15 +9836,21 @@ ${js}`
9771
9836
  function OperatorDeclaration(ctx, state2) {
9772
9837
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorDeclaration", OperatorDeclaration$$);
9773
9838
  }
9774
- var OperatorSignature$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Operator, (0, import_lib3.$E)((0, import_lib3.$S)(_, Function2)), _, Identifier, (0, import_lib3.$E)(OperatorBehavior), (0, import_lib3.$E)(_), NonEmptyParameters, (0, import_lib3.$E)(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9775
- var op = $1;
9776
- var func = $2;
9777
- var w1 = $3;
9778
- var id = $4;
9779
- var behavior = $5;
9780
- var w2 = $6;
9781
- var parameters = $7;
9782
- var suffix = $8;
9839
+ var OperatorSignature$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)(Async, _)), Operator, (0, import_lib3.$E)((0, import_lib3.$S)(_, Function2)), (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), Star)), _, Identifier, (0, import_lib3.$E)(OperatorBehavior), (0, import_lib3.$E)(_), NonEmptyParameters, (0, import_lib3.$E)(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
9840
+ var async = $1;
9841
+ var op = $2;
9842
+ var func = $3;
9843
+ var generator = $4;
9844
+ var w1 = $5;
9845
+ var id = $6;
9846
+ var behavior = $7;
9847
+ var w2 = $8;
9848
+ var parameters = $9;
9849
+ var suffix = $10;
9850
+ if (!async)
9851
+ async = [];
9852
+ if (!generator)
9853
+ generator = [];
9783
9854
  if (!func) {
9784
9855
  func = { $loc: op.$loc, token: "function" };
9785
9856
  } else {
@@ -9788,12 +9859,17 @@ ${js}`
9788
9859
  return {
9789
9860
  type: "FunctionSignature",
9790
9861
  id,
9791
- modifier: {},
9862
+ name: id.name,
9792
9863
  parameters,
9793
9864
  returnType: suffix,
9794
- ts: false,
9865
+ async,
9866
+ generator,
9867
+ modifier: {
9868
+ async: !!async.length,
9869
+ generator: !!generator.length
9870
+ },
9795
9871
  block: null,
9796
- children: [func, w1, id, w2, parameters, suffix],
9872
+ children: [async, func, generator, w1, id, w2, parameters, suffix],
9797
9873
  behavior
9798
9874
  };
9799
9875
  });
@@ -9843,27 +9919,24 @@ ${js}`
9843
9919
  var suffix = $3;
9844
9920
  var arrow = $5;
9845
9921
  var block = $6;
9846
- if (hasAwait(block) && !async) {
9847
- async = "async ";
9848
- }
9849
- let generator;
9850
- if (hasYield(block)) {
9851
- generator = "*";
9852
- }
9922
+ if (!async)
9923
+ async = [];
9924
+ const generator = [];
9853
9925
  return {
9854
9926
  type: "FunctionExpression",
9855
9927
  id: void 0,
9856
9928
  parameters,
9857
9929
  returnType: suffix,
9858
- ts: false,
9859
9930
  async,
9860
9931
  generator,
9861
9932
  block,
9862
9933
  signature: {
9863
9934
  name: void 0,
9935
+ async,
9936
+ generator,
9864
9937
  modifier: {
9865
- async: !!async,
9866
- generator: !!generator
9938
+ async: !!async.length,
9939
+ generator: !!generator.length
9867
9940
  },
9868
9941
  returnType: suffix
9869
9942
  },
@@ -11427,7 +11500,7 @@ ${js}`
11427
11500
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11428
11501
  return "<<";
11429
11502
  });
11430
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L17, 'BinaryOpSymbol "<"');
11503
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11431
11504
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11432
11505
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11433
11506
  return ">>>";
@@ -11659,7 +11732,7 @@ ${js}`
11659
11732
  return [op, [" "]];
11660
11733
  return [op, ws];
11661
11734
  });
11662
- var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11735
+ var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11663
11736
  return [value[0], value[3]];
11664
11737
  });
11665
11738
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12498,7 +12571,7 @@ ${js}`
12498
12571
  function IgnoreColon(ctx, state2) {
12499
12572
  return (0, import_lib3.$EVENT)(ctx, state2, "IgnoreColon", IgnoreColon$0);
12500
12573
  }
12501
- var TryStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Try, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L15, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, (0, import_lib3.$E)(CatchClause), (0, import_lib3.$E)(ElseClause), (0, import_lib3.$E)(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12574
+ var TryStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Try, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L16, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, (0, import_lib3.$E)(CatchClause), (0, import_lib3.$E)(ElseClause), (0, import_lib3.$E)(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12502
12575
  return processTryBlock($0);
12503
12576
  });
12504
12577
  function TryStatement(ctx, state2) {
@@ -12807,7 +12880,7 @@ ${js}`
12807
12880
  };
12808
12881
  });
12809
12882
  var KeywordStatement$2 = DebuggerStatement;
12810
- var KeywordStatement$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L15, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeNestedExpression)), function(value) {
12883
+ var KeywordStatement$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeNestedExpression)), function(value) {
12811
12884
  var expression = value[2];
12812
12885
  return { "type": "ReturnStatement", "expression": expression, "children": value };
12813
12886
  });
@@ -13047,7 +13120,7 @@ ${js}`
13047
13120
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13048
13121
  }
13049
13122
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13050
- var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13123
+ var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13051
13124
  var l = $1;
13052
13125
  var ws = $2;
13053
13126
  var c = $3;
@@ -13818,7 +13891,7 @@ ${js}`
13818
13891
  function Loc(ctx, state2) {
13819
13892
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13820
13893
  }
13821
- var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13894
+ var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13822
13895
  return { $loc, token: $1, ts: true };
13823
13896
  });
13824
13897
  function Abstract(ctx, state2) {
@@ -13926,7 +13999,7 @@ ${js}`
13926
13999
  function CoffeeSubstitutionStart(ctx, state2) {
13927
14000
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
13928
14001
  }
13929
- var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'Colon ":"'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R71, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
14002
+ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L16, 'Colon ":"'), (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R71, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
13930
14003
  return { $loc, token: $1 };
13931
14004
  });
13932
14005
  function Colon(ctx, state2) {
@@ -13938,7 +14011,7 @@ ${js}`
13938
14011
  function Comma(ctx, state2) {
13939
14012
  return (0, import_lib3.$EVENT)(ctx, state2, "Comma", Comma$0);
13940
14013
  }
13941
- var Comptime$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L138, 'Comptime "comptime"'), NonIdContinue, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L15, 'Comptime ":"'))), function($skip, $loc, $0, $1, $2, $3) {
14014
+ var Comptime$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L138, 'Comptime "comptime"'), NonIdContinue, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L16, 'Comptime ":"'))), function($skip, $loc, $0, $1, $2, $3) {
13942
14015
  return { $loc, token: $1 };
13943
14016
  });
13944
14017
  function Comptime(ctx, state2) {
@@ -14092,13 +14165,13 @@ ${js}`
14092
14165
  function Hash(ctx, state2) {
14093
14166
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14094
14167
  }
14095
- var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L16, 'If " "')))), function($skip, $loc, $0, $1) {
14168
+ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'If " "')))), function($skip, $loc, $0, $1) {
14096
14169
  return { $loc, token: $1 };
14097
14170
  });
14098
14171
  function If(ctx, state2) {
14099
14172
  return (0, import_lib3.$EVENT)(ctx, state2, "If", If$0);
14100
14173
  }
14101
- var Import$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L20, 'Import "import"'), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R73, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14174
+ var Import$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'Import "import"'), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R73, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
14102
14175
  return { $loc, token: $1 };
14103
14176
  });
14104
14177
  function Import(ctx, state2) {
@@ -14158,7 +14231,7 @@ ${js}`
14158
14231
  function New(ctx, state2) {
14159
14232
  return (0, import_lib3.$EVENT)(ctx, state2, "New", New$0);
14160
14233
  }
14161
- var Not$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L170, 'Not "not"'), NonIdContinue, (0, import_lib3.$N)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
14234
+ var Not$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L170, 'Not "not"'), NonIdContinue, (0, import_lib3.$N)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L16, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
14162
14235
  return { $loc, token: "!" };
14163
14236
  });
14164
14237
  function Not(ctx, state2) {
@@ -14170,7 +14243,7 @@ ${js}`
14170
14243
  function Of(ctx, state2) {
14171
14244
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14172
14245
  }
14173
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14246
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14174
14247
  return { $loc, token: $1 };
14175
14248
  });
14176
14249
  function OpenAngleBracket(ctx, state2) {
@@ -14500,7 +14573,7 @@ ${js}`
14500
14573
  function JSXElement(ctx, state2) {
14501
14574
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14502
14575
  }
14503
- var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L17, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14576
+ var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14504
14577
  return { type: "JSXElement", children: $0, tag: $2 };
14505
14578
  });
14506
14579
  function JSXSelfClosingElement(ctx, state2) {
@@ -14519,7 +14592,7 @@ ${js}`
14519
14592
  function PopJSXStack(ctx, state2) {
14520
14593
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14521
14594
  }
14522
- var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L17, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14595
+ var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14523
14596
  function JSXOpeningElement(ctx, state2) {
14524
14597
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14525
14598
  }
@@ -14886,7 +14959,7 @@ ${js}`
14886
14959
  ]
14887
14960
  });
14888
14961
  });
14889
- var InlineJSXCallExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L20, 'InlineJSXCallExpression "import"'), ExplicitArguments, (0, import_lib3.$Q)(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
14962
+ var InlineJSXCallExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'InlineJSXCallExpression "import"'), ExplicitArguments, (0, import_lib3.$Q)(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
14890
14963
  var args = $2;
14891
14964
  var rest = $3;
14892
14965
  return processCallMemberExpression({
@@ -15729,8 +15802,8 @@ ${js}`
15729
15802
  function TypePrimary(ctx, state2) {
15730
15803
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypePrimary", TypePrimary$$);
15731
15804
  }
15732
- var ImportType$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L20, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, (0, import_lib3.$E)((0, import_lib3.$S)(Dot, IdentifierName)), (0, import_lib3.$E)(TypeArguments));
15733
- var ImportType$1 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L20, 'ImportType "import"'), InsertOpenParen, (0, import_lib3.$E)(Trimmed_), StringLiteral, InsertCloseParen);
15805
+ var ImportType$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, (0, import_lib3.$E)((0, import_lib3.$S)(Dot, IdentifierName)), (0, import_lib3.$E)(TypeArguments));
15806
+ var ImportType$1 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L15, 'ImportType "import"'), InsertOpenParen, (0, import_lib3.$E)(Trimmed_), StringLiteral, InsertCloseParen);
15734
15807
  var ImportType$$ = [ImportType$0, ImportType$1];
15735
15808
  function ImportType(ctx, state2) {
15736
15809
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImportType", ImportType$$);
@@ -15902,7 +15975,7 @@ ${js}`
15902
15975
  var InlineInterfacePropertyDelimiter$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$C)(IndentedFurther, (0, import_lib3.$E)(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
15903
15976
  return value[1];
15904
15977
  });
15905
- var InlineInterfacePropertyDelimiter$2 = (0, import_lib3.$Y)((0, import_lib3.$S)(__, (0, import_lib3.$C)((0, import_lib3.$EXPECT)($L15, 'InlineInterfacePropertyDelimiter ":"'), (0, import_lib3.$EXPECT)($L125, 'InlineInterfacePropertyDelimiter ")"'), (0, import_lib3.$EXPECT)($L45, 'InlineInterfacePropertyDelimiter "]"'), (0, import_lib3.$EXPECT)($L36, 'InlineInterfacePropertyDelimiter "}"'))));
15978
+ var InlineInterfacePropertyDelimiter$2 = (0, import_lib3.$Y)((0, import_lib3.$S)(__, (0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'InlineInterfacePropertyDelimiter ":"'), (0, import_lib3.$EXPECT)($L125, 'InlineInterfacePropertyDelimiter ")"'), (0, import_lib3.$EXPECT)($L45, 'InlineInterfacePropertyDelimiter "]"'), (0, import_lib3.$EXPECT)($L36, 'InlineInterfacePropertyDelimiter "}"'))));
15906
15979
  var InlineInterfacePropertyDelimiter$3 = (0, import_lib3.$Y)(EOS);
15907
15980
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
15908
15981
  function InlineInterfacePropertyDelimiter(ctx, state2) {
@@ -16620,8 +16693,9 @@ ${js}`
16620
16693
  const lines = [];
16621
16694
  let line = 0;
16622
16695
  let pos = 0;
16623
- let result;
16624
- while (result = linesRe.exec(input)) {
16696
+ let ref;
16697
+ while (ref = linesRe.exec(input)) {
16698
+ const result = ref;
16625
16699
  pos += result[0].length;
16626
16700
  lines[line++] = pos;
16627
16701
  if (pos === input.length) {
@@ -16643,7 +16717,8 @@ ${js}`
16643
16717
  const sm = {
16644
16718
  lines: [[]],
16645
16719
  line: 0,
16646
- column: 0,
16720
+ colOffset: 0,
16721
+ // relative to previous entry
16647
16722
  srcLine: 0,
16648
16723
  srcColumn: 0,
16649
16724
  srcOffset: 0,
@@ -16652,11 +16727,14 @@ ${js}`
16652
16727
  const EOL2 = /\r?\n|\r/;
16653
16728
  return {
16654
16729
  data: sm,
16730
+ source: function() {
16731
+ return sourceString;
16732
+ },
16655
16733
  renderMappings: function() {
16656
16734
  let lastSourceLine = 0;
16657
16735
  let lastSourceColumn = 0;
16658
- return sm.lines.map(function(line) {
16659
- return line.map(function(entry) {
16736
+ return sm.lines.map((line) => {
16737
+ return line.map((entry) => {
16660
16738
  if (entry.length === 4) {
16661
16739
  let [colDelta, sourceFileIndex, srcLine, srcCol] = entry;
16662
16740
  const lineDelta = srcLine - lastSourceLine;
@@ -16693,25 +16771,25 @@ ${js}`
16693
16771
  sm.srcColumn = srcCol;
16694
16772
  sm.srcOffset = inputPos + outputStr.length;
16695
16773
  }
16696
- outLines.forEach(function(line, i) {
16774
+ for (let i1 = 0, len3 = outLines.length; i1 < len3; i1++) {
16775
+ const i = i1;
16776
+ const line = outLines[i1];
16697
16777
  if (i > 0) {
16698
16778
  sm.line++;
16699
16779
  sm.srcLine++;
16700
- sm.column = 0;
16780
+ sm.colOffset = 0;
16701
16781
  sm.lines[sm.line] = [];
16702
16782
  sm.srcColumn = srcCol = colOffset;
16703
16783
  }
16704
- const l = sm.column;
16705
- sm.column += line.length;
16784
+ const l = sm.colOffset;
16785
+ sm.colOffset = line.length;
16706
16786
  sm.srcColumn += line.length;
16707
16787
  if (inputPos != null) {
16708
- return sm.lines[sm.line].push([l, 0, srcLine + i, srcCol]);
16788
+ sm.lines[sm.line].push([l, 0, srcLine + i, srcCol]);
16709
16789
  } else if (l != 0) {
16710
- return sm.lines[sm.line].push([l]);
16790
+ sm.lines[sm.line].push([l]);
16711
16791
  }
16712
- ;
16713
- return;
16714
- });
16792
+ }
16715
16793
  return;
16716
16794
  }
16717
16795
  };
@@ -16735,8 +16813,8 @@ ${js}`
16735
16813
  return remappedCodeWithSourceMap;
16736
16814
  };
16737
16815
  var composeLines = function(upstreamMapping, lines) {
16738
- return lines.map(function(line) {
16739
- return line.map(function(entry) {
16816
+ return lines.map((line) => {
16817
+ return line.map((entry) => {
16740
16818
  if (entry.length === 1) {
16741
16819
  return entry;
16742
16820
  }
@@ -16757,11 +16835,11 @@ ${js}`
16757
16835
  const json = JSON.parse(Buffer.from(base64encodedJSONstr, "base64").toString("utf8"));
16758
16836
  let sourceLine = 0;
16759
16837
  let sourceColumn = 0;
16760
- const lines = json.mappings.split(";").map(function(line) {
16838
+ const lines = json.mappings.split(";").map((line) => {
16761
16839
  if (line.length === 0) {
16762
16840
  return [];
16763
16841
  }
16764
- return line.split(",").map(function(entry) {
16842
+ return line.split(",").map((entry) => {
16765
16843
  const result = decodeVLQ(entry);
16766
16844
  switch (result.length) {
16767
16845
  case 1: {
@@ -16788,12 +16866,12 @@ ${js}`
16788
16866
  var VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
16789
16867
  var encodeVlq = function(value) {
16790
16868
  let answer = "";
16791
- let ref;
16869
+ let ref1;
16792
16870
  if (value < 0)
16793
- ref = 1;
16871
+ ref1 = 1;
16794
16872
  else
16795
- ref = 0;
16796
- const signBit = ref;
16873
+ ref1 = 0;
16874
+ const signBit = ref1;
16797
16875
  let valueToEncode = (Math.abs(value) << 1) + signBit;
16798
16876
  while (valueToEncode || !answer) {
16799
16877
  let nextChunk = valueToEncode & VLQ_VALUE_MASK;
@@ -16816,7 +16894,7 @@ ${js}`
16816
16894
  };
16817
16895
  var vlqTable = new Uint8Array(128);
16818
16896
  var vlqChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
16819
- (function() {
16897
+ {
16820
16898
  let i = 0;
16821
16899
  let l = vlqTable.length;
16822
16900
  while (i < l) {
@@ -16825,14 +16903,11 @@ ${js}`
16825
16903
  }
16826
16904
  i = 0;
16827
16905
  l = vlqChars.length;
16828
- const results = [];
16829
16906
  while (i < l) {
16830
16907
  vlqTable[vlqChars.charCodeAt(i)] = i;
16831
- results.push(i++);
16908
+ i++;
16832
16909
  }
16833
- ;
16834
- return results;
16835
- })();
16910
+ }
16836
16911
  var decodeError = function(message) {
16837
16912
  throw new Error(message);
16838
16913
  };