Something went wrong. Try again.
appview-less bluesky client
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233export type Ok<T> = { ok: true; value: T;};export type Err<E> = { ok: false; error: E;};export type Result<T, E> = Ok<T> | Err<E>;
export const ok = <T>(value: T): Ok<T> => { return { ok: true, value };};export const err = <E>(error: E): Err<E> => { // console.error(error); return { ok: false, error };};export const expect = <T, E>(v: Result<T, E>, msg: string = 'expected result to not be error:') => { if (v.ok) { return v.value; } throw `${msg} ${v.error}`;};export const map = <T, E, U>(v: Result<T, E>, fn: (value: T) => U): Result<U, E> => { if (v.ok) { return ok(fn(v.value)); } return err(v.error);};
export type OkType<R> = R extends { ok: true; value: infer T } ? T : never;export type ErrType<R> = R extends { ok: false; error: infer E } ? E : never;