shelving
Version:
Toolkit for using data in JavaScript.
26 lines (25 loc) • 793 B
JavaScript
import { RequiredError } from "../error/RequiredError.js";
/** Function that always returns undefined. */
export function getUndefined() {
return undefined;
}
/** Is a value undefined? */
export function isUndefined(value) {
return value === undefined;
}
/** Is a value defined? */
export function isDefined(value) {
return value !== undefined;
}
/** Is a value defined? */
export const notUndefined = isDefined;
/** Assert that a value is not `undefined` */
export function assertDefined(value, caller = assertDefined) {
if (value === undefined)
throw new RequiredError("Must be defined", { received: value, caller });
}
/** Get a defined value. */
export function requireDefined(value, caller = requireDefined) {
assertDefined(value, caller);
return value;
}