UNPKG

safely-try

Version:

An elegant try-catch replacement for JavaScript / TypeScript

15 lines (14 loc) 563 B
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];