1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4    value: true
5});
6
7var _isArrayLike = require('./isArrayLike.js');
8
9var _isArrayLike2 = _interopRequireDefault(_isArrayLike);
10
11var _wrapAsync = require('./wrapAsync.js');
12
13var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
14
15var _awaitify = require('./awaitify.js');
16
17var _awaitify2 = _interopRequireDefault(_awaitify);
18
19function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21exports.default = (0, _awaitify2.default)((eachfn, tasks, callback) => {
22    var results = (0, _isArrayLike2.default)(tasks) ? [] : {};
23
24    eachfn(tasks, (task, key, taskCb) => {
25        (0, _wrapAsync2.default)(task)((err, ...result) => {
26            if (result.length < 2) {
27                [result] = result;
28            }
29            results[key] = result;
30            taskCb(err);
31        });
32    }, err => callback(err, results));
33}, 3);
34module.exports = exports['default'];