| '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']; |