Blame view

node_modules/async/internal/parallel.js 1.11 KB
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  'use strict';
  
  Object.defineProperty(exports, "__esModule", {
      value: true
  });
  exports.default = _parallel;
  
  var _noop = require('lodash/noop');
  
  var _noop2 = _interopRequireDefault(_noop);
  
  var _isArrayLike = require('lodash/isArrayLike');
  
  var _isArrayLike2 = _interopRequireDefault(_isArrayLike);
  
  var _slice = require('./slice');
  
  var _slice2 = _interopRequireDefault(_slice);
  
  var _wrapAsync = require('./wrapAsync');
  
  var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  function _parallel(eachfn, tasks, callback) {
      callback = callback || _noop2.default;
      var results = (0, _isArrayLike2.default)(tasks) ? [] : {};
  
      eachfn(tasks, function (task, key, callback) {
          (0, _wrapAsync2.default)(task)(function (err, result) {
              if (arguments.length > 2) {
                  result = (0, _slice2.default)(arguments, 1);
              }
              results[key] = result;
              callback(err);
          });
      }, function (err) {
          callback(err, results);
      });
  }
  module.exports = exports['default'];