Type alias CurriedFn<TAllArgs, TReturn>

CurriedFn<TAllArgs, TReturn>: (<TProvidedArgs>(...args) => TProvidedArgs extends TAllArgs
    ? TReturn
    : TAllArgs extends [...TupleOfLength<TProvidedArgs>, ...(infer TRestOfArgs)]
        ? CurriedFn<TRestOfArgs, TReturn>
        : never)

Type Parameters

  • TAllArgs extends any[]

  • TReturn

Type declaration

    • <TProvidedArgs>(...args): TProvidedArgs extends TAllArgs
          ? TReturn
          : TAllArgs extends [...TupleOfLength<TProvidedArgs>, ...(infer TRestOfArgs)]
              ? CurriedFn<TRestOfArgs, TReturn>
              : never
    • Type Parameters

      • TProvidedArgs extends TAllArgs extends [infer TFirstArg, ...(infer TRestOfArgs)]
            ? [TFirstArg, ...Partial<TRestOfArgs>]
            : never

      Parameters

      • Rest ...args: TProvidedArgs

      Returns TProvidedArgs extends TAllArgs
          ? TReturn
          : TAllArgs extends [...TupleOfLength<TProvidedArgs>, ...(infer TRestOfArgs)]
              ? CurriedFn<TRestOfArgs, TReturn>
              : never

Generated using TypeDoc