import { isError } from 'remeda' export const safelyBy = (isError: (caught: unknown) => caught is Error) => (fn: () => Output): Output | Error => { try { return fn() } catch (e) { if (isError(e)) { return e } else { throw e } } } export const safely = safelyBy(isError)