tsoid
Version:
Typed functional library to deal with async operations.
14 lines (13 loc) • 823 B
TypeScript
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>;