safely-try
Version:
An elegant try-catch replacement for JavaScript / TypeScript
15 lines (14 loc) • 563 B
TypeScript
export default function safelyTry<T, E = Error>(fn: (((...args: any[]) => T) | (() => T)), ...args: any[]): T extends PromiseLike<any> ? Promise<{
data: undefined;
error: E;
}> | Promise<{
data: Awaited<T>;
error: undefined;
}> : {
data: undefined;
error: E;
} | {
data: T;
error: undefined;
};
export declare function safelyTryTuple<T, E = Error>(fn: (((...args: any[]) => T) | (() => T)), ...args: any[]): T extends PromiseLike<any> ? Promise<[undefined, E]> | Promise<[Awaited<T>, undefined]> : [undefined, E] | [T, undefined];