import isArrayLike from './isArrayLike'; import wrapAsync from './wrapAsync'; import awaitify from './awaitify' export default awaitify((eachfn, tasks, callback) => { var results = isArrayLike(tasks) ? [] : {}; eachfn(tasks, (task, key, taskCb) => { wrapAsync(task)((err, ...result) => { if (result.length < 2) { [result] = result; } results[key] = result; taskCb(err); }); }, err => callback(err, results)); }, 3)