UNPKG

@fantasticfiasco/expect

Version:

A Node.js library written in TypeScript providing argument validation.

97 lines 3.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toBeEmail = exports.toBeCharCodes = exports.toBeAlphanumeric = exports.toNotExist = exports.toExist = exports.toBeFalse = exports.toBeTrue = void 0; const ExpectationError_1 = require("./ExpectationError"); /** * Expect a condition to be true. * @param condition The condition expected to be true. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toBeTrue(condition, errorMessage) { if (!condition) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toBeTrue = toBeTrue; /** * Expect a condition to be false. * @param condition The condition expected to be false. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toBeFalse(condition, errorMessage) { if (condition) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toBeFalse = toBeFalse; /** * Expect a value to exist. * @param value The value expected to exist. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toExist(value, errorMessage) { if (!value) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toExist = toExist; /** * Expect a value not to exist. * @param value The value expected not to exist. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toNotExist(value, errorMessage) { if (value) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toNotExist = toNotExist; /** * Expect a value to be alphanumeric. * @param value The value expected to be alphanumeric. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toBeAlphanumeric(value, errorMessage) { if (!alphanumeric.test(value)) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toBeAlphanumeric = toBeAlphanumeric; const alphanumeric = /^[0-9A-Z]+$/i; /** * Expect a value to only contain characters from a range of character codes. * @param value The value expected to have characters from a range of character codes. * @param minCharCode The expected minimum character code. * @param maxCharCode The expected maximum character code. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toBeCharCodes(value, minCharCode, maxCharCode, errorMessage) { for (let index = 0; index < value.length; index++) { const charCode = value.charCodeAt(index); if (charCode < minCharCode || charCode > maxCharCode) { throw new ExpectationError_1.ExpectationError(errorMessage); } } } exports.toBeCharCodes = toBeCharCodes; /** * Expect a value to be an email. * @param email The value expected to be an email. * @param errorMessage The optional error message displayed if expectation fails. * @throws {ExpectationError} */ function toBeEmail(email, errorMessage) { const regex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/; const match = email.match(regex); if (match === null || (match[0] !== email)) { throw new ExpectationError_1.ExpectationError(errorMessage); } } exports.toBeEmail = toBeEmail; //# sourceMappingURL=Expect.js.map