diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-27 04:19:34 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-27 04:19:34 +0200 |
commit | 665e88c72b568bf25ff0ec8a14109e2504f99aa8 (patch) | |
tree | c380e91e40efa8a47dea9ff833415f17e273d106 /node_modules/axios/lib/helpers/spread.js | |
parent | 24181bdf20e0d23ec5ec5d2eaa08ae1cfb905f0f (diff) |
node_modules
Diffstat (limited to 'node_modules/axios/lib/helpers/spread.js')
-rw-r--r-- | node_modules/axios/lib/helpers/spread.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/axios/lib/helpers/spread.js b/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 000000000..25e3cdd39 --- /dev/null +++ b/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,27 @@ +'use strict'; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; |