@arpinum/messaging
Version:
Simple message bus
52 lines (51 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertOptionalString = assertOptionalString;
exports.assertString = assertString;
exports.assertOptionalFunction = assertOptionalFunction;
exports.assertFunction = assertFunction;
exports.assertOptionalNumber = assertOptionalNumber;
exports.assertOptionalBoolean = assertOptionalBoolean;
exports.assertOptionalArray = assertOptionalArray;
exports.assertPresent = assertPresent;
function assertOptionalString(value, name) {
if (value !== undefined) {
assertString(value, name);
}
}
function assertString(value, name) {
if (typeof value !== "string") {
throw new Error(`${name} must be a string`);
}
}
function assertOptionalFunction(value, name) {
if (value !== undefined) {
assertFunction(value, name);
}
}
function assertFunction(value, name) {
if (typeof value !== "function") {
throw new Error(`${name} must be a function`);
}
}
function assertOptionalNumber(value, name) {
if (value !== undefined &&
(typeof value !== "number" || Number.isNaN(value))) {
throw new Error(`${name} must be a number`);
}
}
function assertOptionalBoolean(value, name) {
if (value !== undefined && typeof value !== "boolean") {
throw new Error(`${name} must be a boolean`);
}
}
function assertOptionalArray(value, name) {
if (value !== undefined && !Array.isArray(value)) {
throw new Error(`${name} must be an array`);
}
}
function assertPresent(value, name) {
if (value === null || value === undefined) {
throw new Error(`${name} must be present`);
}
}