@mitchell-collins/validator
v1.6.8
Published
Used to validate inputs
Readme
validator
Is a npm package used to validate inputs.
Install Package:
npm i @mitchell-collins/validatorDescription
The validator is a module that has multiply methods that check a condition and if input doesn't match
condition then a error is thrown with a message outlining the cause of error along with the argument that was provided an incorrect value.
Methods
The validator has multiply methods these include:
checkUndefined- checks if a variable is undefinedcheckUndefinedArray- checks each variable in array if they are undefinedcheckDataType- checks if a variable has the requested datatypecheckDataTypeArray- checks each variable in an array if they have the requested datatypecheckInstanceType- checks in an instance is the requested instancetypecheckInstanceTypeArray- checks each instance in an array if are the requested instancetypecheckSuperClass- checks if a instance is a child of the requested super classcheckSuperClassArray- checks each instance in a array if they are the child of the requested super classcheckIsArray- checks if a varaible has the value that is an arraycheckArrayLength- checks if the length of an array is equal to a specified target lengthcheckIndexRange- checks if a provided index is within the range of an arraycheckArrayElements- checks if all elements of an array fulfill a specified conditioncheckObjectStructure- checks if the structure of an object fulfill the specified structurecheckObjectStructureArray- checks if an array of objects fulfill the specified structurecheckIsHttpStatusCode- checks if a variable has the value of a http status codecheckEnumValue- checks if a variable has the value of one of the constants of a enum
Explanation
The checkSuperClass and checkSuperClassArray methods require that you create a attribute that holds the name of the super class which has a getter method: getSuper.
You can use superclass which defines a super attribute that holds the name of the super class along with getter and setter methods. Which can be accessed here:
- https://github.com/MitchellCollins/SuperClass
- https://www.npmjs.com/package/@mitchell-collins/superclass
Examples:
Undefined & DataType Methods
function squareNumber(num) {
validator.checkUndefined(num, "num");
validator.checkDataType(num, "num", "number");
return num * num;
} function addNumbers(num1, num2) {
validator.checkUndefinedArray([num1, num2], ["num1", "num2"]);
validator.checkDataTypeArray([num1, num2], ["num1", "num2"], "number");
return num1 + num2;
}Check Elements Method
// creates a callback function to check if a student is at the correct age
const checkAge = (studentAge) => studentAge >= 5 && studentAge <= 18;
function enroleStudent(studentNames, studentAges) {
validator.checkArrayElements(studentAges, "studentAges", checkAge, "Age must be between 5 - 18");
// ...
}Object Structure Method
// creates constructors
class Hobbie {
constructor(name) {
this.name = name;
}
}
class Money {
constructor(amount) {
this.amount = amount;
}
}
function findPerson(person) {
// checks structure of person object
validator.checkObjectStructure(person, "person", {
name: new String,
age: new Number,
friends: new Array,
hair: {
color: new String
},
hobbie: new Hobbie("name"),
makeMoney: Money
});
// ...
}
findPerson({
name: "Jack",
age: 30,
friends: ["John", "Ben"],
hair: {
color: "black"
},
hobbie: new Hobbie("tennis"),
makeMoney: Money
});