@bytedance/mona-shared
Version:
mona shared utils
6 lines (5 loc) • 340 B
TypeScript
type AnyFunc = (options: any) => any;
type Result<T extends AnyFunc> = Parameters<Exclude<Parameters<T>[0], undefined>['success']>[0];
export type PromisifyReturn<T extends AnyFunc> = (...args: Parameters<T>) => Promise<Result<T>> & ReturnType<T>;
export declare function promisify<T extends AnyFunc>(fn: T): PromisifyReturn<T>;
export {};