UNPKG

@surface/core

Version:

Provides core functionality of many @surfaces modules.

37 lines (36 loc) 901 B
export function assert(condition, message = "Assertion failed.") { if (!condition) { throw new Error(message); } } export function assertGet(value, message) { if (!hasValue(value)) { throw new Error(message); } return value; } export function compare(left, right) { if (left > right) { return 1; } else if (left < right) { return -1; } return 0; } export function hasFlag(value, flag) { return (value & flag) == flag; } export function hasValue(value) { return value !== null && value !== undefined; } export function isIterable(source) { return typeof source[Symbol.iterator] == "function"; } // eslint-disable-next-line @typescript-eslint/no-explicit-any export function tuple(...args) { return args; } export function typeGuard(_target, condition) { return condition; }