UNPKG

@arpinum/messaging

Version:
52 lines (51 loc) 1.66 kB
"use strict"; 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`); } }