UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

52 lines (51 loc) 1.81 kB
import { RequiredError } from "../error/RequiredError.js"; /** Function that always returns null. */ export function getNull() { return null; } /** Is a value null? */ export function isNull(value) { return value === null; } /** Assert that a value is not null. */ export function assertNull(value, caller = assertNull) { if (value !== null) throw new RequiredError("Must be null", { received: value, caller }); } /** Is a value not null? */ export function notNull(value) { return value !== null; } /** Assert that a value is not null. */ export function assertNotNull(value, caller = assertNotNull) { if (value === null) throw new RequiredError("Must not be null", { received: value, caller }); } /** Get the not-nullish version of value. */ export function requireNotNull(value, caller = requireNotNull) { assertNotNull(value, caller); return value; } /** Is a value nullish? */ export function isNullish(value) { return value === null || value === undefined; } /** Assert that a value is not nullish. */ export function assertNullish(value, caller = assertNullish) { if (value !== null && value !== undefined) throw new RequiredError("Must be null or undefined", { received: value, caller }); } /** Is a value not nullish? */ export function notNullish(value) { return value !== null && value !== undefined; } /** Assert that a value is not nullish. */ export function assertNotNullish(value, caller = assertNotNullish) { if (value === null || value === undefined) throw new RequiredError("Must not be null or undefined", { received: value, caller }); } /** Get the not-nullish version of value. */ export function requireNotNullish(value, caller = requireNotNullish) { assertNotNullish(value, caller); return value; }