alternative tangled frontend (extremely wip)
at main 20 lines 579 B view raw
1/* eslint-disable */ 2export type Ok<T = void> = T extends undefined 3 ? { ok: true } 4 : { ok: true; data: T }; 5 6export type Err<E = void> = E extends undefined 7 ? { ok: false } 8 : { ok: false; error: E }; 9 10export type Result<T = void, E = void> = Ok<T> | Err<E>; 11 12export const ok = <T = void>(data?: T): Ok<T> => 13 data === undefined 14 ? ({ ok: true } as Ok<T>) 15 : ({ ok: true, data } as Ok<T>); 16 17export const err = <E = void>(error?: E): Err<E> => 18 error === undefined 19 ? ({ ok: false } as Err<E>) 20 : ({ ok: false, error } as Err<E>);