UNPKG

@bytedance/mona-shared

Version:

mona shared utils

6 lines (5 loc) 340 B
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 {};