@4players/odin-common
Version:
A collection of commonly used type definitions and utility functions across ODIN web projects
24 lines (23 loc) • 555 B
JavaScript
export function assert(condition, message) {
if (!condition) {
fail(message);
}
}
export function fail(message) {
throw new Error(message);
}
export function success(value) {
return { type: 'Success', value };
}
export function failure(reason) {
return { type: 'Failure', reason };
}
export function unwrap(result) {
if (result.type === 'Failure') {
fail(result.reason);
}
return result.value;
}
export function unwrapOr(result, fallback) {
return result.type === 'Success' ? result.value : fallback;
}