UNPKG

@4players/odin-common

Version:

A collection of commonly used type definitions and utility functions across ODIN web projects

19 lines (18 loc) 718 B
export declare function assert(condition: unknown, message: string): asserts condition; export declare function fail(message: string): never; export type Failure = { type: 'Failure'; reason: string; }; export type Success<T> = { type: 'Success'; value: T; }; export type Result<T> = Success<T> | Failure; export declare function success<T>(value: T): Success<T>; export declare function success(value: void): Success<void>; export declare function failure(reason: string): Failure; export declare function unwrap<T>(result: Result<T>): T; export declare function unwrapOr<T>(result: Result<T>, fallback: T): T; export type Accept<T> = (result: T) => void; export type Reject = (reason: Error) => void;