21 lines
306 B
TypeScript
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>; |