track arrays to avoid turning something into an array multiple times - closes #757

This commit is contained in:
Sebastian McKenzie
2015-02-12 21:30:48 +11:00
parent e9cfd2df3e
commit e7f6572a3b
15 changed files with 99 additions and 37 deletions

View File

@@ -0,0 +1 @@
let [x, ...y] = z;

View File

@@ -0,0 +1,8 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _z = _toArray(z);
var x = _z[0];
var y = _z.slice(1);

View File

@@ -7,9 +7,9 @@ var isSorted = function (_ref) {
var x = _ref2[0];
var y = _ref2[1];
var wow = _toArray(_ref2).slice(2);
var wow = _ref2.slice(2);
if (!zs.length) return true;
if (y > x) return isSorted(zs);
return false;
};
};

View File

@@ -1,14 +1,11 @@
"use strict";
var _slicedToArray = function (arr, i) { if (Array.isArray(arr)) { return arr; } else { var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { _arr.push(_step.value); if (i && _arr.length === i) break; } return _arr; } };
var foo = function () {
for (var _len = arguments.length, _ref = Array(_len), _key = 0; _key < _len; _key++) {
_ref[_key] = arguments[_key];
}
var _ref2 = _slicedToArray(_ref, 2);
var _ref2 = _ref;
var a = _ref2[0];
var b = _ref2[1];
};

View File

@@ -0,0 +1,2 @@
var arr: Array = bar;
[...arr];

View File

@@ -0,0 +1,4 @@
"use strict";
var arr = bar;
[].concat(arr);

View File

@@ -0,0 +1,3 @@
function foo(...bar) {
return [...bar];
}

View File

@@ -0,0 +1,9 @@
"use strict";
function foo() {
for (var _len = arguments.length, bar = Array(_len), _key = 0; _key < _len; _key++) {
bar[_key] = arguments[_key];
}
return [].concat(bar);
}