0cb4694079295d9f387d001163d96adc4c2f521c
[yaffs-website] / node_modules / grunt-uncss / node_modules / async / internal / parallel.js
1 'use strict';
2
3 Object.defineProperty(exports, "__esModule", {
4     value: true
5 });
6 exports.default = _parallel;
7
8 var _noop = require('lodash/noop');
9
10 var _noop2 = _interopRequireDefault(_noop);
11
12 var _isArrayLike = require('lodash/isArrayLike');
13
14 var _isArrayLike2 = _interopRequireDefault(_isArrayLike);
15
16 var _rest = require('./rest');
17
18 var _rest2 = _interopRequireDefault(_rest);
19
20 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
22 function _parallel(eachfn, tasks, callback) {
23     callback = callback || _noop2.default;
24     var results = (0, _isArrayLike2.default)(tasks) ? [] : {};
25
26     eachfn(tasks, function (task, key, callback) {
27         task((0, _rest2.default)(function (err, args) {
28             if (args.length <= 1) {
29                 args = args[0];
30             }
31             results[key] = args;
32             callback(err);
33         }));
34     }, function (err) {
35         callback(err, results);
36     });
37 }
38 module.exports = exports['default'];