UNPKG

@caurihub/utils

Version:
45 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assert = void 0; const exceptions_1 = require("../exceptions"); const assertType = (condition, description) => { if (!condition) { throw new exceptions_1.AssertionException(`Expected value which is "${description}".`); } }; /** * Type assertions have to be declared with an explicit type. */ exports.assert = { array: (value) => { return assertType(Array.isArray(value), "array"); }, bigint: (value) => { return assertType(typeof value === "bigint", "bigint"); }, boolean: (value) => { return assertType(typeof value === "boolean", "boolean"); }, buffer: (value) => { return assertType(value instanceof Buffer, "buffer"); }, defined: (value) => { return assertType(value !== undefined && value !== null, "non-null and non-undefined"); }, number: (value) => { return assertType(typeof value === "number", "number"); }, object: (value) => { return assertType(typeof value === "object", "object"); }, string: (value) => { return assertType(typeof value === "string", "string"); }, symbol: (value) => { return assertType(typeof value === "symbol", "symbol"); }, undefined: (value) => { return assertType(typeof value === "undefined", "undefined"); }, }; //# sourceMappingURL=assert.js.map