export type PromisifyMethod = TNonPromise extends (...args: infer U) => infer V ? (...args: U) => Promise : TNonPromise; export type PromisifyObject = { [KeyProperty in keyof TNonPromiseObject]: PromisifyMethod; };