Quiero declarar este tipo de función:
function currying1 (fn: any, params: any) { if(fn.length <= params.length){ return fn(...params) } return (...p: any) => currying1(fn, [...params, ...p]) }Entonces trato de declarar:
type Parameters2<T> = T extends (...args: infer P) => any ? Partial<P> : never declare function Currying2<Fn extends (...args: any[]) => any, P extends Parameters2<Fn> = []>(fn: Fn, params: Parameters2<Fn>): anyQuiero establecer el valor predeterminado de P en [], pero recibo este tipo de error
El tipo '[]' no satisface la restricción 'Parameters2'. (2344)
Zona de juegos con código (El error está en la línea 64)