import { Result } from "better-result"; import type { Result as BetterResult } from "better-result"; export type AppResult = BetterResult; export function errResult(error: E): AppResult { return Result.err(error); } export function okVoid(): AppResult { return Result.ok(); } export function propagateError(result: AppResult): AppResult { if (result.isErr()) return errResult(result.error); throw new Error("propagateError called with Ok result"); } export function toVoidResult(result: AppResult): AppResult { return result.isErr() ? errResult(result.error) : okVoid(); }