Permalink
Cannot retrieve contributors at this time
102 lines (90 sloc)
2.65 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @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; |