'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _timesLimit = require('./timesLimit'); var _timesLimit2 = _interopRequireDefault(_timesLimit); var _doLimit = require('./internal/doLimit'); var _doLimit2 = _interopRequireDefault(_doLimit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Calls the `iteratee` function `n` times, and accumulates results in the same * manner you would use with [map]{@link module:Collections.map}. * * @name times * @static * @memberOf module:ControlFlow * @method * @see [async.map]{@link module:Collections.map} * @category Control Flow * @param {number} n - The number of times to run the function. * @param {AsyncFunction} iteratee - The async function to call `n` times. * Invoked with the iteration index and a callback: (n, next). * @param {Function} callback - see {@link module:Collections.map}. * @example * * // Pretend this is some complicated async factory * var createUser = function(id, callback) { * callback(null, { * id: 'user' + id * }); * }; * * // generate 5 users * async.times(5, function(n, next) { * createUser(n, function(err, user) { * next(err, user); * }); * }, function(err, users) { * // we should now have 5 users * }); */ exports.default = (0, _doLimit2.default)(_timesLimit2.default, Infinity); module.exports = exports['default'];