implement array comprehension
This commit is contained in:
1
test/fixtures/array-comprehension/if/actual.js
vendored
Normal file
1
test/fixtures/array-comprehension/if/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var seattlers = [for (c of customers) if (c.city == "Seattle") { name: c.name, age: c.age }];
|
||||
12
test/fixtures/array-comprehension/if/expected.js
vendored
Normal file
12
test/fixtures/array-comprehension/if/expected.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
var seattlers = function () {
|
||||
var _arr = [];
|
||||
customers.forEach(function (c) {
|
||||
if (c.city == "Seattle") {
|
||||
_arr.push({
|
||||
name: c.name,
|
||||
age: c.age
|
||||
});
|
||||
}
|
||||
});
|
||||
return _arr;
|
||||
}();
|
||||
1
test/fixtures/array-comprehension/multiple/actual.js
vendored
Normal file
1
test/fixtures/array-comprehension/multiple/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var arr = [for (x of "abcdefgh".split("")) for (y of "12345678".split("")) (x + y)];
|
||||
11
test/fixtures/array-comprehension/multiple/expected.js
vendored
Normal file
11
test/fixtures/array-comprehension/multiple/expected.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
var arr = (function () {
|
||||
var _arr = [];
|
||||
|
||||
"abcdefgh".split("").forEach(function (x) {
|
||||
"12345678".split("").forEach(function (y) {
|
||||
_arr.push(x + y);
|
||||
});
|
||||
});
|
||||
|
||||
return _arr;
|
||||
})();
|
||||
1
test/fixtures/array-comprehension/no-in/actual.js
vendored
Normal file
1
test/fixtures/array-comprehension/no-in/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var arr = [for (i in [1, 2, 3]) i * i];
|
||||
3
test/fixtures/array-comprehension/no-in/options.json
vendored
Normal file
3
test/fixtures/array-comprehension/no-in/options.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "for-in array comprehension is not supported"
|
||||
}
|
||||
1
test/fixtures/array-comprehension/single/actual.js
vendored
Normal file
1
test/fixtures/array-comprehension/single/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var arr = [for (i of [1, 2, 3]) i * i];
|
||||
9
test/fixtures/array-comprehension/single/expected.js
vendored
Normal file
9
test/fixtures/array-comprehension/single/expected.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
var arr = (function () {
|
||||
var _arr = [];
|
||||
|
||||
[1, 2, 3].forEach(function (i) {
|
||||
_arr.push(i * i);
|
||||
});
|
||||
|
||||
return _arr;
|
||||
})();
|
||||
Reference in New Issue
Block a user