0.0.11 • Published 5 years ago
ianitor v0.0.11
Ianitor
Simple and flexible arguments check library
import { check, registerRule } from 'ianitor'
// simple check
check('some text', 'string')
// optional
// will expect undefined or string
check(undefined, '*string')
// combination
check('some text', ['string', 'notEmpty'])
// optional combination
// will expect undefined or not empty string
check(undefined, ['*', 'string', 'notEmpty'])
// rules with options
// will expect undefined or string with min length 3 and max 10
check(undefined, ['*', 'string', ['length', {min: 3, max: 10}]])
// custom rules
// custom rule should return true or check will fail
// you can use custom rules same way as any builtin
registerRule('exactName', (value, options) => {
return value === 'markus'
})
check('markus', 'exactName')
// checking objects
// strict = true will expect all keys from schema to be presented in the object
// string = false will check only keys provided by the object
check(
{
name: 'my name',
age: 20,
},
{
name: ['string', 'notEmpty'],
age: 'number'
},
{
strict: true // default
}
)
Changelog
0.0.10
- bug fix
0.0.9
- bug fix
0.0.8
- minor documentation update
0.0.7
- bug with type check fixed
- type "object" added
- documentation updated
- more tests added
0.0.6
- more readable errors when checking objects. Error: "twenty" is not failed against rule "number" in key "age"
0.0.5
- added support for optional params
0.0.3
- initial version with 2 basic types number and string