alternative tangled frontend (extremely wip)

feat: basic results type for sanity

serenity 78b5f0d6 af338bfe

+19
+19
src/lib/result.ts
··· 1 + export type Ok<T = void> = T extends undefined 2 + ? { ok: true } 3 + : { ok: true; data: T }; 4 + 5 + export type Err<E = void> = E extends undefined 6 + ? { ok: false } 7 + : { ok: false; error: E }; 8 + 9 + export type Result<T = void, E = void> = Ok<T> | Err<E>; 10 + 11 + export const ok = <T = void>(data?: T): Ok<T> => 12 + data === undefined 13 + ? ({ ok: true } as Ok<T>) 14 + : ({ ok: true, data } as Ok<T>); 15 + 16 + export const err = <E = void>(error?: E): Err<E> => 17 + error === undefined 18 + ? ({ ok: false } as Err<E>) 19 + : ({ ok: false, error } as Err<E>);