| 'use strict'; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| |
| exports.default = function (fn /*, ...args*/) { |
| var args = (0, _slice2.default)(arguments, 1); |
| return function () /*callArgs*/{ |
| var callArgs = (0, _slice2.default)(arguments); |
| return fn.apply(null, args.concat(callArgs)); |
| }; |
| }; |
| |
| var _slice = require('./internal/slice'); |
| |
| var _slice2 = _interopRequireDefault(_slice); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| ; |
| |
| /** |
| * Creates a continuation function with some arguments already applied. |
| * |
| * Useful as a shorthand when combined with other control flow functions. Any |
| * arguments passed to the returned function are added to the arguments |
| * originally passed to apply. |
| * |
| * @name apply |
| * @static |
| * @memberOf module:Utils |
| * @method |
| * @category Util |
| * @param {Function} fn - The function you want to eventually apply all |
| * arguments to. Invokes with (arguments...). |
| * @param {...*} arguments... - Any number of arguments to automatically apply |
| * when the continuation is called. |
| * @returns {Function} the partially-applied function |
| * @example |
| * |
| * // using apply |
| * async.parallel([ |
| * async.apply(fs.writeFile, 'testfile1', 'test1'), |
| * async.apply(fs.writeFile, 'testfile2', 'test2') |
| * ]); |
| * |
| * |
| * // the same process without using apply |
| * async.parallel([ |
| * function(callback) { |
| * fs.writeFile('testfile1', 'test1', callback); |
| * }, |
| * function(callback) { |
| * fs.writeFile('testfile2', 'test2', callback); |
| * } |
| * ]); |
| * |
| * // It's possible to pass any number of additional arguments when calling the |
| * // continuation: |
| * |
| * node> var fn = async.apply(sys.puts, 'one'); |
| * node> fn('two', 'three'); |
| * one |
| * two |
| * three |
| */ |
| module.exports = exports['default']; |