Type Alias CurrySignature<FN, R, ARGS>

CurrySignature<FN, R, ARGS>: ARGS extends [infer ARG0, ...(infer REST)]
    ? ((arg: ARG0) => CurrySignature<((...rest_args: REST) => R)>)
    : R

this is the return type of curry, made for the sole purpose of type recursion.

Type Parameters

  • FN extends ((...args: any) => any)
  • R extends ReturnType<FN> = ReturnType<FN>
  • ARGS extends Parameters<FN> = Parameters<FN>