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