shelving
Version:
Toolkit for using data in JavaScript.
52 lines (51 loc) • 1.81 kB
JavaScript
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;
}