@sern/handler
Version:
A complete, customizable, typesafe, & reactive framework for discord bots.
26 lines (25 loc) • 690 B
TypeScript
export type Result<Ok, Err> = {
ok: true;
value: Ok;
} | {
ok: false;
error: Err;
};
export declare const Ok: <Ok>(value: Ok) => {
readonly ok: true;
readonly value: Ok;
};
export declare const Err: <Err>(error: Err) => {
readonly ok: false;
readonly error: Err;
};
export declare const val: <O, E>(r: Result<O, E>) => O | E;
export declare const EMPTY_ERR: {
readonly ok: false;
readonly error: undefined;
};
/**
* Wrap an async operation that may throw an Error (`try-catch` style) into checked exception style
* @param op The operation function
*/
export declare function wrapAsync<T, E = unknown>(op: () => Promise<T>): Promise<Result<T, E>>;