vaoid being greedy when destructuring array iterables

This commit is contained in:
Sebastian McKenzie
2014-12-28 11:04:00 +11:00
parent f21743012b
commit c509d06bc2
14 changed files with 186 additions and 40 deletions

View File

@@ -1,18 +1,29 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = [1, 2];
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 2);
var a = _ref2[0];
var b = _ref2[1];
var _ref3 = [3, 4];
var _ref4 = _toArray(_ref3);
var _ref4 = _slicedToArray(_ref3, 2);
var c = _ref4[0];
var d = _ref4[1];

View File

@@ -1,18 +1,29 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = ["hello", [", ", "junk"], ["world"]];
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 4);
var a = _ref2[0];
var _ref3 = _toArray(_ref2[1]);
var _ref3 = _slicedToArray(_ref2[1], 1);
var b = _ref3[0];
var _ref4 = _toArray(_ref2[2]);
var _ref4 = _slicedToArray(_ref2[2], 1);
var c = _ref4[0];
var d = _ref2[3];

View File

@@ -1,8 +1,19 @@
"use strict";
var _temp, _ref;
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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;
}
};
console.log((_temp = [123], _ref = _toArray(_temp), x = _ref[0], _temp));
console.log((_temp = [123], _ref = _slicedToArray(_temp, 1), x = _ref[0], _temp));

View File

@@ -1,12 +1,23 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = f();
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 2);
a = _ref2[0];
b = _ref2[1];

View File

@@ -1,18 +1,29 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = ["foo", "hello", [", ", "junk"], ["world"]];
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 5);
var a = _ref2[1];
var _ref3 = _toArray(_ref2[2]);
var _ref3 = _slicedToArray(_ref2[2], 1);
var b = _ref3[0];
var _ref4 = _toArray(_ref2[3]);
var _ref4 = _slicedToArray(_ref2[3], 1);
var c = _ref4[0];
var d = _ref2[4];

View File

@@ -1,11 +1,22 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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;
}
};
for (var _ref in obj) {
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 2);
var name = _ref2[0];
var value = _ref2[1];

View File

@@ -1,12 +1,23 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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;
}
};
for (var _iterator = this.test.expectation.registers[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
var _ref = _step.value;
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 3);
var name = _ref2[0];
var before = _ref2[1];

View File

@@ -1,12 +1,23 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = [1, 2];
var _ref2 = _toArray(_ref);
var _ref2 = _slicedToArray(_ref, 2);
this.foo = _ref2[0];
this.bar = _ref2[1];

View File

@@ -1,14 +1,25 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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 _ref = _toArray(rect.topLeft);
var _ref = _slicedToArray(rect.topLeft, 2);
var x1 = _ref[0];
var y1 = _ref[1];
var _ref2 = _toArray(rect.bottomRight);
var _ref2 = _slicedToArray(rect.bottomRight, 2);
var x2 = _ref2[0];
var y2 = _ref2[1];

View File

@@ -1,7 +1,18 @@
"use strict";
var _toArray = function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
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;
}
};
function somethingAdvanced(_ref) {
@@ -20,12 +31,12 @@ function unpackObject(_ref2) {
console.log(unpackObject({ title: "title", author: "author" }));
var unpackArray = function (_ref3, _ref5) {
var _ref4 = _toArray(_ref3);
var _ref4 = _slicedToArray(_ref3, 3);
var a = _ref4[0];
var b = _ref4[1];
var c = _ref4[2];
var _ref6 = _toArray(_ref5);
var _ref6 = _slicedToArray(_ref5, 3);
var x = _ref6[0];
var y = _ref6[1];