Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@humanwhocodes
/object-schema
/src
/validation-strategy.js
| /** | |
| * @filedescription Validation Strategy | |
| */ | |
| ; | |
| //----------------------------------------------------------------------------- | |
| // 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; | |