applyEach.js
 1  'use strict';
 2  
 3  Object.defineProperty(exports, "__esModule", {
 4    value: true
 5  });
 6  
 7  var _applyEach = require('./internal/applyEach');
 8  
 9  var _applyEach2 = _interopRequireDefault(_applyEach);
10  
11  var _map = require('./map');
12  
13  var _map2 = _interopRequireDefault(_map);
14  
15  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16  
17  /**
18   * Applies the provided arguments to each function in the array, calling
19   * `callback` after all functions have completed. If you only provide the first
20   * argument, `fns`, then it will return a function which lets you pass in the
21   * arguments as if it were a single function call. If more arguments are
22   * provided, `callback` is required while `args` is still optional. The results
23   * for each of the applied async functions are passed to the final callback
24   * as an array.
25   *
26   * @name applyEach
27   * @static
28   * @memberOf module:ControlFlow
29   * @method
30   * @category Control Flow
31   * @param {Array|Iterable|AsyncIterable|Object} fns - A collection of {@link AsyncFunction}s
32   * to all call with the same arguments
33   * @param {...*} [args] - any number of separate arguments to pass to the
34   * function.
35   * @param {Function} [callback] - the final argument should be the callback,
36   * called when all functions have completed processing.
37   * @returns {AsyncFunction} - Returns a function that takes no args other than
38   * an optional callback, that is the result of applying the `args` to each
39   * of the functions.
40   * @example
41   *
42   * const appliedFn = async.applyEach([enableSearch, updateSchema], 'bucket')
43   *
44   * appliedFn((err, results) => {
45   *     // results[0] is the results for `enableSearch`
46   *     // results[1] is the results for `updateSchema`
47   * });
48   *
49   * // partial application example:
50   * async.each(
51   *     buckets,
52   *     async (bucket) => async.applyEach([enableSearch, updateSchema], bucket)(),
53   *     callback
54   * );
55   */
56  exports.default = (0, _applyEach2.default)(_map2.default);
57  module.exports = exports['default'];