@caurihub/utils
Version:
CauriHub Utils
45 lines • 1.45 kB
JavaScript
;
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