You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

17 lines
510 B

/**
* Converts a function to a curried function that accepts arguments in reverse
* order.
*
* @param fn - The function to convert to FP
* @param arity - The arity of the function
* @param curriedArgs - The curried arguments
*
* @returns FP version of the function
*
* @private
*/
export function convertToFP(fn, arity, curriedArgs = []) {
return curriedArgs.length >= arity
? fn(...curriedArgs.slice(0, arity).reverse())
: (...args) => convertToFP(fn, arity, curriedArgs.concat(args));
}