Files
veridian/types/result.ts
T

21 lines
306 B
TypeScript

export interface Ok<T> {
ok: true;
data: T;
}
export const Ok = <T>(data: T): Ok<T> => ({
ok: true,
data,
});
export interface Err<E> {
ok: false;
error: E;
}
export const Err = <E>(error: E): Err<E> => ({
ok: false,
error,
});
export type Result<T, E> = Ok<T> | Err<E>;