Skip to content

Latest commit

 

History

History
372 lines (251 loc) · 7.12 KB

checkers.md

File metadata and controls

372 lines (251 loc) · 7.12 KB

Checkers

Checkers allow users to validate data with simple functions

isFunction: validate the the value is a function

const { checker } = require('@herbsjs/suma')

function sampleFunc () {}
const ret = checker.isFunction(sampleFunc)
console.log(ret)

/* Output: true */

isDefined: validates if the value is different from null or undefined

const { checker } = require('@herbsjs/suma')

const samples = [
    null,
    undefined,
    ''
]
for (const value of samples) {
    const ret = checker.isDefined(value)
    console.log(ret)    
}


/* Output: false, false, true */

isArray: validates if the value is a array

const { checker } = require('@herbsjs/suma')

const value = ['a', 'b', 'c']
const ret = checker.isArray(value)
console.log(ret)

/* Output: true */

isIterable: validates if the value is iterable

const { checker } = require('@herbsjs/suma')

const value =  [{ name: 'jhon', age: 35},{ name: 'marie', age: 29}]
const ret = checker.isIterable(value)
console.log(ret)

/* Output: true */

isString: validates if the value is a string

const { checker } = require('@herbsjs/suma')

const value =  'herbs validators'
const ret = checker.isString(value)
console.log(ret)

/* Output: true */

isBoolean: validates if the value is a boolean

const { checker } = require('@herbsjs/suma')

const value =  false
const ret = checker.isBoolean(value)
console.log(ret)

/* Output: true */

isNumber: validates if the value is a boolean

const { checker } = require('@herbsjs/suma')

const value =  152
const ret = checker.isNumber(value)
console.log(ret)

/* Output: true */

isDate: validates if the value is a date

const { checker } = require('@herbsjs/suma')

const value = new Date(1900, 5, 1)
const ret = checker.isDate(value)
console.log(ret)

/* Output: true */

isRegExp: validates if the value is a regex expression

const { checker } = require('@herbsjs/suma')

const value = /^[0-9]{8}$/
const ret = checker.isRegExp(value)
console.log(ret)

/* Output: true */

isInstanceOf: validates if the value is a instance of a defined type

const { checker } = require('@herbsjs/suma')

class CustomClass {}

const value = new CustomClass()
const ret = checker.isInstanceOf(value, CustomClass)
console.log(ret)

/* Output: true */

isObject: validates if the value is an object

const { checker } = require('@herbsjs/suma')

class SampleClass {}
const samples = [
    {},
    new Object(),
    new SampleClass(),
    [],
    'herbs',
    true
]
for (const value of samples) {
    const ret = checker.isObject(value)    
    console.log(ret)
}

/* Output: true, true, true, true, false, false */

isEmpty: validates if the value is empty

const { checker } = require('@herbsjs/suma')

const samples = [
    '',
    ' ',
    [],
    {},
    'herbs',
    22
]
for (const value of samples) {
    const ret = checker.isEmpty(value)
    console.log(ret)
}

/* Output: true, true, true, true, false, false */

isValidFormat: validates a regex expression to test a value

const { checker } = require('@herbsjs/suma')

const value = 45125
const ret = checker.isValidFormat(value, /^[0-9]{8}$/)
console.log(ret)

/* Output: true */

isValidEmail: validates if the value is an e-mail

const { checker } = require('@herbsjs/suma')

const value = 'herbs@email.com'
const ret = checker.isValidEmail(value)
console.log(ret)

/* Output: true */

isValidURL: validates if the value is an url

const { checker } = require('@herbsjs/suma')

const value = 'http://herbsjs.org'
const ret = checker.isValidURL(value)
console.log(ret)

/* Output: true */

isValidJavascriptIdentifier: validates if the value is a valid javascript identifier

const { checker } = require('@herbsjs/suma')

const value = 'herbs'
const ret = checker.isValidJavascriptIdentifier(value)
console.log(ret)

/* Output: true */

isTooShort: validates if the value is greater than a defined minimum value

const { checker } = require('@herbsjs/suma')

const value = 'herbs'
const ret = checker.isTooShort(value, 3)
console.log(ret)

/* Output: true */

isTooLong: validates if the value is less than a defined maximum value

const { checker } = require('@herbsjs/suma')

const value = 'herbs'
const ret = checker.isTooLong(value, 10)
console.log(ret)

/* Output: true */

isWrongLength: validates if the value has a length equal to the defined value

const { checker } = require('@herbsjs/suma')

const value = 'herbs'
const ret = checker.isWrongLength(value, 5)
console.log(ret)

/* Output: true */

isEqualTo: validates if the first value is equals to second value

const { checker } = require('@herbsjs/suma')

const ret = checker.isEqualTo(1520, 1520)
console.log(ret)

/* Output: true */

isGreaterThan: validates if the first number is greater than second number

const { checker } = require('@herbsjs/suma')

const ret = checker.isGreaterThan(100, 50)
console.log(ret)

/* Output: true */

isGreaterThanOrEqualTo: validates if the first number is greater than or equals to second number

const { checker } = require('@herbsjs/suma')

const ret = checker.isGreaterThanOrEqualTo(100, 100)
console.log(ret)

/* Output: true */

isLessThan: validates if the first number is less than second number

const { checker } = require('@herbsjs/suma')

const ret = checker.isLessThan(50, 100)
console.log(ret)

/* Output: true */

isLessThanOrEqualTo: validates if the first number is less than or equals to second number

const { checker } = require('@herbsjs/suma')

const ret = checker.isLessThanOrEqualTo(100, 100)
console.log(ret)

/* Output: true */

isInteger: validates if the value is a integer number

const { checker } = require('@herbsjs/suma')

const ret = checker.isInteger(10)
console.log(ret)

/* Output: true */

isBeforeThan: validates if the first date is before than second date

const { checker } = require('@herbsjs/suma')

const ret = checker.isBeforeThan(new Date(1900, 2, 1), new Date(1991, 2, 1))
console.log(ret)

/* Output: true */

isAfterThan: validates if the first date is before than second date

const { checker } = require('@herbsjs/suma')

const ret = checker.isBeforeThan(new Date(1991, 2, 1), new Date(1900, 2, 1))
console.log(ret)

/* Output: true */

isAt: validates if the first date is equals to second date

const { checker } = require('@herbsjs/suma')

const ret = checker.isAt(new Date(1991, 2, 1), new Date(1991, 2, 1))
console.log(ret)

/* Output: true */

contains: validates if the value contains in the object or array

const { checker } = require('@herbsjs/suma')

const values = ['apple', 'orange']
const ret = checker.isAt(values, 'orange')
console.log(ret)

/* Output: true */