swc/tests/fixture/issue-1718/case2/output/index.ts
강동윤 a518c83485
fix(es): Fix bugs (#1728)
swc_ecma_transforms_compat:
 - `block_scoping`: Ensure that #1462 is fixed. (#1462)
 - `regenerator`: Inject variables at proper level. (#1718)

swc_ecam_transforms_typescript:
 - `strip`: Handle class expressions in arrow expressions correctly. (#1729)
2021-05-22 12:14:00 +09:00

65 lines
1.6 KiB
TypeScript

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
function _scanUser() {
_scanUser = _asyncToGenerator(function*(groups) {
yield Promise.all(groups.map(_asyncToGenerator(function*({ users }) {
for (const user of users){
console.log('user', user);
yield new Promise((resolve)=>setTimeout(resolve, 30)
);
}
})));
});
return _scanUser.apply(this, arguments);
}
function scanUser(groups) {
return _scanUser.apply(this, arguments);
}
scanUser([
{
users: [
1,
2,
3,
4,
5
]
},
{
users: [
11,
12,
13,
14,
15
]
},
]);