123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /**
- * @filedescription Validation Strategy
- */
- "use strict";
- //-----------------------------------------------------------------------------
- // Class
- //-----------------------------------------------------------------------------
- /**
- * Container class for several different validation strategies.
- */
- class ValidationStrategy {
- /**
- * Validates that a value is an array.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static array(value) {
- if (!Array.isArray(value)) {
- throw new TypeError("Expected an array.");
- }
- }
- /**
- * Validates that a value is a boolean.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static boolean(value) {
- if (typeof value !== "boolean") {
- throw new TypeError("Expected a Boolean.");
- }
- }
- /**
- * Validates that a value is a number.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static number(value) {
- if (typeof value !== "number") {
- throw new TypeError("Expected a number.");
- }
- }
- /**
- * Validates that a value is a object.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static object(value) {
- if (!value || typeof value !== "object") {
- throw new TypeError("Expected an object.");
- }
- }
- /**
- * Validates that a value is a object or null.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static "object?"(value) {
- if (typeof value !== "object") {
- throw new TypeError("Expected an object or null.");
- }
- }
- /**
- * Validates that a value is a string.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static string(value) {
- if (typeof value !== "string") {
- throw new TypeError("Expected a string.");
- }
- }
- /**
- * Validates that a value is a non-empty string.
- * @param {*} value The value to validate.
- * @returns {void}
- * @throws {TypeError} If the value is invalid.
- */
- static "string!"(value) {
- if (typeof value !== "string" || value.length === 0) {
- throw new TypeError("Expected a non-empty string.");
- }
- }
- }
- exports.ValidationStrategy = ValidationStrategy;
|