@danielx/civet 0.7.10 → 0.7.11

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
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 = [
@@ -7906,16 +7989,8 @@ ${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: {
@@ -7926,10 +8001,9 @@ ${js}`
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];
@@ -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
  },
@@ -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
  };