UNPKG

@4players/odin-common

Version:

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

32 lines (31 loc) 744 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assert = assert; exports.fail = fail; exports.success = success; exports.failure = failure; exports.unwrap = unwrap; exports.unwrapOr = unwrapOr; function assert(condition, message) { if (!condition) { fail(message); } } function fail(message) { throw new Error(message); } function success(value) { return { type: 'Success', value }; } function failure(reason) { return { type: 'Failure', reason }; } function unwrap(result) { if (result.type === 'Failure') { fail(result.reason); } return result.value; } function unwrapOr(result, fallback) { return result.type === 'Success' ? result.value : fallback; }