decentralised message store
at main 570 B view raw
1export type Ok<T = void> = T extends undefined 2 ? { ok: true } 3 : { ok: true; data: T }; 4 5export type Err<E = void> = E extends undefined 6 ? { ok: false } 7 : { ok: false; error: E }; 8 9export type Result<T = void, E = void> = Ok<T> | Err<E>; 10 11export const okResult = <T = void>(data?: T): Ok<T> => 12 data === undefined 13 ? ({ ok: true } as Ok<T>) 14 : ({ ok: true, data } as Ok<T>); 15 16export const errResult = <E = void>(error?: E): Err<E> => 17 error === undefined 18 ? ({ ok: false } as Err<E>) 19 : ({ ok: false, error } as Err<E>);