porffor 0.17.0-94400a2b8 → 0.17.0-a1f691e30

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.
@@ -72,6 +72,9 @@ const generate = (scope, decl, global = false, name = undefined, valueUnused = f
72
72
  case 'ExpressionStatement':
73
73
  return generateExp(scope, decl);
74
74
 
75
+ case 'SequenceExpression':
76
+ return generateSequence(scope, decl);
77
+
75
78
  case 'CallExpression':
76
79
  return generateCall(scope, decl, global, name, valueUnused);
77
80
 
@@ -1454,6 +1457,18 @@ const generateExp = (scope, decl) => {
1454
1457
  return out;
1455
1458
  };
1456
1459
 
1460
+ const generateSequence = (scope, decl) => {
1461
+ let out = [];
1462
+
1463
+ const exprs = decl.expressions;
1464
+ for (let i = 0; i < exprs.length; i++) {
1465
+ if (i > 0) disposeLeftover(out);
1466
+ out.push(...generate(scope, exprs[i]));
1467
+ }
1468
+
1469
+ return out;
1470
+ };
1471
+
1457
1472
  const CTArrayUtil = {
1458
1473
  getLengthI32: pointer => [
1459
1474
  ...number(0, Valtype.i32),
@@ -2329,11 +2344,6 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
2329
2344
  const { type, name } = decl.left;
2330
2345
  const [ local, isGlobal ] = lookupName(scope, name);
2331
2346
 
2332
- if (type === 'ObjectPattern') {
2333
- // hack: ignore object parts of `var a = {} = 2`
2334
- return generate(scope, decl.right);
2335
- }
2336
-
2337
2347
  if (isFuncType(decl.right.type)) {
2338
2348
  // hack for a = function () { ... }
2339
2349
  decl.right.id = { name };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "porffor",
3
3
  "description": "a basic experimental wip aot optimizing js -> wasm engine/compiler/runtime in js",
4
- "version": "0.17.0-94400a2b8",
4
+ "version": "0.17.0-a1f691e30",
5
5
  "author": "CanadaHonk",
6
6
  "license": "MIT",
7
7
  "scripts": {},