https://github.com/v-core9/v_rifier
Flexible Data Validation Module with Built in default Types.
https://github.com/v-core9/v_rifier
array function integer name nodejs null object string undefined validation verify
Last synced: about 1 year ago
JSON representation
Flexible Data Validation Module with Built in default Types.
- Host: GitHub
- URL: https://github.com/v-core9/v_rifier
- Owner: V-core9
- License: mit
- Created: 2021-11-15T11:45:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-27T19:42:09.000Z (about 2 years ago)
- Last Synced: 2025-02-17T23:16:51.698Z (about 1 year ago)
- Topics: array, function, integer, name, nodejs, null, object, string, undefined, validation, verify
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/v_rifier
- Size: 1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# v_rifier
Data V[a]rifier => v_rifier 😁
## 📚 How to use
const v_rifier = require('v_rifier');
let myVerifier = v_rifier();
### or use import
import v_rifier from 'v_rifier';
let myVerifier = v_rifier();
## Built-in functions
> NOTE: Don't forget to add **await** before any of the following verification methods are called.
1. **array**
Array Checker
myVerifier.isArray([1,2,3]) //> true
2. **bool**
Boolean Checker
myVerifier.isBool(true) //> true
myVerifier.isBool(false) //> true
myVerifier('bool', true) //> true
myVerifier('bool', false) //> true
myVerifier.isBool(112) //> false
myVerifier('bool', 0) //> false
myVerifier.isBool("true") //> false
myVerifier('bool', "true") //> false
3. **color**
Color Checker that will verify if provided string is valid color in RGB, RGBA and hex format.
// RGB
myVerifier.isColor("25,25,25") //> true
// RGBA
myVerifier.isColor("25,25,25,.58") //> true
// Hex
myVerifier.isColor("#CBA") //> true
myVerifier.isColor("#CBA5") //> true
myVerifier.isColor("#FF00CC") //> true
myVerifier.isColor("#FF00CC50") //> true
// Invalid Colors
myVerifier.isColor("0,0,0,-.58") //> true
myVerifier.isColor("FF00CC50") //> false
4. **email**
Email Checker
myVerifier.isEmail('slavko.vuletic92@gmail.com') //> true
myVerifier('email','slavko.vuletic92@gmail.com') //> true
5. **function**
Function Checker
const sampleFunc = async () => {
return console.log('yea');
};
myVerifier.isFunction(sampleFunc) //> true
myVerifier('function', sampleFunc ) //> true
6. **hexadecimal**
Hexadecimal Checker - returns true if provided string is a hexadecimal number.
myVerifier.isHexadecimal( 'FAc0516' ) //> true
myVerifier('hexadecimal', 1561313 ) //> false
7. **integer**
Integer Checker
myVerifier.isInteger( 123 ) //> true
myVerifier('integer', 984351 ) //> true
8. **name**
Name Checker
myVerifier.isName( "Slavko Vuletic" ) //> true
myVerifier('name', 123 ) //> false
9. **npmVersion**
npmVersion Checker
myVerifier.isNull( "1.2.1" ) //> true
myVerifier('null', "55.798.15" ) //> true
myVerifier.isNull( 123 ) //> false
myVerifier('null', "55.-798.15" ) //> false
myVerifier('null', "55.-798.15-" ) //> false
10. **null**
Null Checker
myVerifier.isNull( null ) //> true
myVerifier('null', null ) //> true
11. **number**
Number Checker
myVerifier.isNumber( 123 ) //> true
myVerifier('number', 123 ) //> true
12. **object**
object Checker
myVerifier.isObject( { name: "yea" } ) //> true
myVerifier('object', 123 ) //> false
13. **password**
password Checker - Verify password with confirmation password and returns true if password is valid [length & characters].
myVerifier.isPassword( 'MyPassword123', 'MyPassword123' ) //> true
myVerifier('password', 'MyPassword123', 'MyPassword123' ) //> true
myVerifier.isPassword( 'MyPassword123', 123 ) //> false
myVerifier('password', 'MyPassword123' ) //> false
14. **port**
PORT Checker
myVerifier.isPort( 8000 ) //> true
myVerifier('port', 8000 ) //> true
myVerifier.isPort( -8000 ) //> false
myVerifier('port', 8000000 ) //> false
15. **string**
string Checker
myVerifier.isString( "random String" ) //> true
myVerifier('string', "random String" ) //> true
myVerifier.isString( 123 ) //> false
myVerifier('string', 123 ) //> false
16. **undefined**
undefined Checker
myVerifier.isUndefined( ) //> true
myVerifier('undefined', undefined ) //> true
myVerifier.isUndefined( 11 ) //> false
myVerifier('undefined', "undefined" ) //> false
17. **username**
username Checker
myVerifier.isUsername( 123 ) //> true
myVerifier('username', 123 ) //> true
## 🚀 Advanced Usage
### 1. Register Custom Type
await myVerifier.register("myType", (value) => value > 100 );
So now you can use myVerifier.**isMyType**(val) to check if value is greater than 100.
await myVerifier.isMyType(200) //> true
Or you can use myVerifier("**myType**", val) to check if value is greater than 100.
await myVerifier('myType', 200) //> true
### 2. Unregister Custom Type
await myVerifier.unregister("myType");
### 3. Disable Loading of the Built-in Verification Functions
let myEmptyVerifier = await v_rifier({ builtIns: false });
### 4. Only Custom Types
After loading module, you can create your custom validation type without even loading built-ins. This provides the ability to create and use only your own custom types.
const v_rifier = require('..');
(async () => {
let sampleVerifier = await v_rifier({ builtIns: false });
console.log(await sampleVerifier.listTypes()); //> []
// Create a custom type
console.log(await sampleVerifier.register('customType', async (value) => (!isNaN(value) && value > 0))); //> true
console.log(await sampleVerifier.listTypes()); //> [ 'customtype' ]
// Use it
// One way...
console.log(await sampleVerifier('customType', 123)); //> true
console.log(await sampleVerifier('customType', -123)); //> false
// Or other way...
console.log(await sampleVerifier.isCustomType(123)); //> true
console.log(await sampleVerifier.isCustomType(-123)); //> false
// Or Unregister It (if you want)
console.log(await sampleVerifier.unregister('customType')); //> true
console.log(await sampleVerifier.listTypes()); //> []
})();
> Example Location: Example is located in **/**tests**/_README.advanced.js**
### 5. Or a combination of built-ins and custom types
Main usecase basically, where you would want to check on something like a value being a number and also greather than some other value...while not caring about it being empty/undefined/anything else.
const v_rifier = require('..');
(async () => {
let demoVerifier = await v_rifier();
// Create a custom type
console.log(await demoVerifier.register('customType', async (value) => (await demoVerifier('number', value) && value > 0))); //> true
// Or other way...
console.log(await demoVerifier.isCustomType(123)); //> true
console.log(await demoVerifier.isCustomType(-123)); //> false
console.log(await demoVerifier.isCustomType("-123")); //> false
})();
> Example Location: Example is located in **/**tests**/_README.advanced-combined.js**