0.0.11 • Published 5 years ago

ianitor v0.0.11

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

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
0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago