diff options
Diffstat (limited to 'includes/external/signal/node_modules/axios/lib/helpers/spread.js')
-rw-r--r-- | includes/external/signal/node_modules/axios/lib/helpers/spread.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/includes/external/signal/node_modules/axios/lib/helpers/spread.js b/includes/external/signal/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 0000000..13479cb --- /dev/null +++ b/includes/external/signal/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,28 @@ +'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} + */ +export default function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} |