track arrays to avoid turning something into an array multiple times - closes #757
This commit is contained in:
1
test/fixtures/transformation/es6-destructuring/known-array/actual.js
vendored
Normal file
1
test/fixtures/transformation/es6-destructuring/known-array/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
let [x, ...y] = z;
|
||||
8
test/fixtures/transformation/es6-destructuring/known-array/expected.js
vendored
Normal file
8
test/fixtures/transformation/es6-destructuring/known-array/expected.js
vendored
Normal 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);
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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];
|
||||
};
|
||||
|
||||
2
test/fixtures/transformation/es6-spread/known-array/actual.js
vendored
Normal file
2
test/fixtures/transformation/es6-spread/known-array/actual.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
var arr: Array = bar;
|
||||
[...arr];
|
||||
4
test/fixtures/transformation/es6-spread/known-array/expected.js
vendored
Normal file
4
test/fixtures/transformation/es6-spread/known-array/expected.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
|
||||
var arr = bar;
|
||||
[].concat(arr);
|
||||
3
test/fixtures/transformation/es6-spread/known-rest/actual.js
vendored
Normal file
3
test/fixtures/transformation/es6-spread/known-rest/actual.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
function foo(...bar) {
|
||||
return [...bar];
|
||||
}
|
||||
9
test/fixtures/transformation/es6-spread/known-rest/expected.js
vendored
Normal file
9
test/fixtures/transformation/es6-spread/known-rest/expected.js
vendored
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user