med-notes/.pnpm-store/v10/files/43/33bca47886f203bfd539670cd7f72ea0d1a2fb740bb0bfcd3de0e30df5296c808eba93aa95d47077f482d6ce4069e2c68699bd7cfed0e709c1d4603067b7ad
2025-06-26 04:42:51 +00:00

29 lines
564 B
Plaintext

'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);
};
}