Type Alias CurryMultiSignature<FN, R, THIS>
CurryMultiSignature: < A extends FN extends BindableFunction<THIS, infer P, any, R> ? P : never, B extends FN extends BindableFunction<THIS, A, infer P, R> ? P : never, FN_B extends B extends never[] ? never : (...args_b: B) => R,>( ...args_a: A,) => B extends never[] ? R : CurryMultiSignature<FN_B, ReturnType<FN_B> & R, THIS> Type declaration
- <
A extends FN extends BindableFunction<THIS, infer P, any, R> ? P : never,
B extends FN extends BindableFunction<THIS, A, infer P, R> ? P : never,
FN_B extends B extends never[] ? never : (...args_b: B) => R,
>(
...args_a: A,
): B extends never[]
? R
: CurryMultiSignature<FN_B, ReturnType<FN_B> & R, THIS>
this is the return type of CurryMultiSignature, made for the sole purpose of type recursion.