UNPKG

simplex-lang

Version:

SimplEx - simple expression language

30 lines 948 B
import { UnexpectedTypeError } from '../errors.js'; import { unbox } from './index.js'; export function ensureNumber(val) { if (typeof val === 'number' && Number.isFinite(val)) { return val; } if (typeof val === 'bigint') { return val; } if (typeof val === 'object' && val instanceof Number) { return ensureNumber(val.valueOf()); } throw new UnexpectedTypeError(['number', 'bigint'], val); } export function ensureFunction(val) { if (typeof val === 'function') return val; throw new UnexpectedTypeError(['function'], val); } export function ensureRelationalComparable(val) { val = unbox(val); const type = typeof val; if ((type === 'number' && Number.isNaN(val) === false) || type === 'string' || type === 'bigint') { return val; } throw new UnexpectedTypeError(['number', 'bigint', 'string'], val); } //# sourceMappingURL=ensure.js.map