shelving
Version:
Toolkit for using data in JavaScript.
47 lines (46 loc) • 1.51 kB
JavaScript
import { RequiredError } from "../error/RequiredError.js";
/** Is a value a boolean? */
export function isBoolean(value) {
return typeof value === "boolean";
}
/** Is a value true? */
export function isTrue(value) {
return value === true;
}
/** Is a value false? */
export function isFalse(value) {
return value === false;
}
/** Is a value truthy? */
export function isTruthy(value) {
return !!value;
}
/** Is a value falsey? */
export function isFalsey(value) {
return !value;
}
/** Assert that a value is a boolean. */
export function assertBoolean(value, caller = assertBoolean) {
if (typeof value !== "boolean")
throw new RequiredError("Must be boolean", { received: value, caller });
}
/** Assert that a value is true. */
export function assertTrue(value, caller = assertTrue) {
if (value !== true)
throw new RequiredError("Must be true", { received: value, caller });
}
/** Assert that a value is false. */
export function assertFalse(value, caller = assertFalse) {
if (value !== false)
throw new RequiredError("Must be false", { received: value, caller });
}
/** Assert that a value is truthy. */
export function assertTruthy(value, caller = assertTruthy) {
if (!value)
throw new RequiredError("Must be truthy", { received: value, caller });
}
/** Assert that a value is falsy. */
export function assertFalsy(value, caller = assertFalsy) {
if (value)
throw new RequiredError("Must be falsy", { received: value, caller });
}