UNPKG

tsoid

Version:

Typed functional library to deal with async operations.

14 lines (13 loc) 823 B
import { FunctionA3, FunctionA2, FunctionA1, FunctionVar } from '../types'; export default function liftP<A, B>(fn: FunctionA1<A, B>, pa: FunctionA1<void, Promise<A | Error>>): Promise<B | Error>; /** * Lift a 2-arity function to the promise execution and returns a new * promise with the final result * * @param fn * @param pa * @param pb */ export declare function liftP2<A, B, C>(fn: FunctionA2<A, B, C>, pa: FunctionA1<void, Promise<A>>, pb: FunctionA1<void, Promise<B>>): Promise<C | Error>; export declare function liftP3<A, B, C, D>(fn: FunctionA3<A, B, C, D>, pa: FunctionA1<void, Promise<A>>, pb: FunctionA1<void, Promise<B>>, pc: FunctionA1<void, Promise<C>>): Promise<D | Error>; export declare function liftPN(fn: FunctionVar<unknown>, ...ps: FunctionA1<void, Promise<any>>[]): Promise<unknown | Error>;