@snipsonian/core
Version:
Core/base reusable javascript code snippets
17 lines (16 loc) • 658 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const isFunction_1 = require("../is/isFunction");
const replacePlaceholders_1 = require("../string/replacePlaceholders");
function assert(val, validator, errorMessage = 'Assertion error for value \'{val}\'.') {
assertValidValidator(validator);
if (!validator(val)) {
throw new Error((0, replacePlaceholders_1.default)({ msg: errorMessage, placeholders: { val } }));
}
}
exports.default = assert;
function assertValidValidator(validator) {
if (!(0, isFunction_1.default)(validator)) {
throw new Error('Please provide a validator function.');
}
}