export async function getSuccessPromise( promise: PromiseLike ): Promise<[succeeded: true, result: T] | [succeeded: false, result: undefined]> { try { const result = await promise return [true, result] } catch { return [false, void 0] } }