| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 'use strict';Object.defineProperty(exports, "__esModule", {    value: true});var _once = require('./internal/once.js');var _once2 = _interopRequireDefault(_once);var _wrapAsync = require('./internal/wrapAsync.js');var _wrapAsync2 = _interopRequireDefault(_wrapAsync);var _awaitify = require('./internal/awaitify.js');var _awaitify2 = _interopRequireDefault(_awaitify);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/** * Runs the `tasks` array of functions in parallel, without waiting until the * previous function has completed. Once any of the `tasks` complete or pass an * error to its callback, the main `callback` is immediately called. It's * equivalent to `Promise.race()`. * * @name race * @static * @memberOf module:ControlFlow * @method * @category Control Flow * @param {Array} tasks - An array containing [async functions]{@link AsyncFunction} * to run. Each function can complete with an optional `result` value. * @param {Function} callback - A callback to run once any of the functions have * completed. This function gets an error or result from the first function that * completed. Invoked with (err, result). * @returns {Promise} a promise, if a callback is omitted * @example * * async.race([ *     function(callback) { *         setTimeout(function() { *             callback(null, 'one'); *         }, 200); *     }, *     function(callback) { *         setTimeout(function() { *             callback(null, 'two'); *         }, 100); *     } * ], * // main callback * function(err, result) { *     // the result will be equal to 'two' as it finishes earlier * }); */function race(tasks, callback) {    callback = (0, _once2.default)(callback);    if (!Array.isArray(tasks)) return callback(new TypeError('First argument to race must be an array of functions'));    if (!tasks.length) return callback();    for (var i = 0, l = tasks.length; i < l; i++) {        (0, _wrapAsync2.default)(tasks[i])(callback);    }}exports.default = (0, _awaitify2.default)(race, 2);module.exports = exports.default;
 |