export type SafeTryResult = Promise< [T, undefined] | [undefined, Error | unknown] > export async function safeTry(func: Promise): SafeTryResult { try { return [await func, undefined] } catch (err) { return [undefined, err] } } export function safeTrySync(func: () => T): Awaited> { try { return [func(), undefined] } catch (err) { return [undefined, err] } }