reports/frontend/node_modules/es-toolkit/dist/function/spread.mjs
jtricerolph 1c411e402e Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 14:37:36 +00:00

24 lines
752 B
JavaScript

//#region src/function/spread.ts
/**
* Creates a new function that spreads elements of an array argument into individual arguments
* for the original function.
*
* @template F - A function type with any number of parameters and any return type.
* @param func - The function to be transformed. It can be any function with any number of arguments.
* @returns A new function that takes an array of arguments and returns the result of calling the original function with those arguments.
*
* @example
* function add(a, b) {
* return a + b;
* }
*
* const spreadAdd = spread(add);
* console.log(spreadAdd([1, 2])); // Output: 3
*/
function spread(func) {
return function(argsArr) {
return func.apply(this, argsArr);
};
}
//#endregion
export { spread };