UNPKG

return-style

Version:

Non-intrusively convert the result of any function or promise to the user's desired style.

13 lines (11 loc) 307 B
import { Awaitable } from '@blackglory/prelude' export async function getFailureAsync<E = Error>( fn: () => Awaitable<unknown> ): Promise<[failed: true, error: E] | [failed: false, error: undefined]> { try { await fn() return [false, void 0] } catch (err) { return [true, err as E] } }