Skip to content

Latest commit

 

History

History
139 lines (117 loc) · 3.54 KB

README.md

File metadata and controls

139 lines (117 loc) · 3.54 KB

validate-by-shorthand

This library offers a wide range of validation tests, easily accessible via shorthands.

npm Package Version MIT License Travis Build Status

Dependencies Status devDependencies Status Code Climate GPA Code Climate Test Coverage


Usage

var validate = require('validate-by-shorthand');

// validate using shorthands
validate('string!empty', 'foo'); // true
validate('string!empty', ''); // false
validate('number>0', 5); // true
validate('number>0', 0); // false
validate('string[]', ['foo', '', 'bar']); // true
validate('string[]', ['foo', '', 5]); // false

// validate using regular expressions
validate(/^[A-Z]+$/, 'ABC'); // true
validate(/^[A-Z]+$/, 'abc'); // false

// validate using functions
var test = function(v) {
    return [1,2,3].indexOf(v) !== -1;
};
validate(test, 2); // true
validate(test, 5); // false

// validate using an array of shorthands, regexps and/or functions
// returning true if any test succeeds
var arr = ['number<0', test, /^[A-Z]$/];
validate(arr, -2); // true
validate(arr, 0); // false
validate(arr, 2); // true
validate(arr, 5); // false
validate(arr, 'A'); // true
validate(arr, 'a'); // true

Shorthands

type tests supported by util.is* functions:

  • array
  • boolean
  • null
  • nullorundefined
  • number
  • string
  • symbol
  • undefined
  • regexp
  • object
  • date
  • error
  • function
  • primitive
  • buffer

return true for anything

  • any

non-empty of respective type

  • string!empty
  • array!empty
  • object!empty

number tests

  • number>0
  • number>=0
  • number<0
  • number<=0
  • integer
  • float

tests for an array with elements of respective type:

  • array[]
  • boolean[]
  • number[]
  • string[]
  • symbol[]
  • regexp[]
  • object[]
  • date[]
  • error[]
  • function[]
  • primitive[]
  • buffer[]
  • string!empty[]
  • array!empty[]
  • object!empty[]
  • number>0[]
  • number>=0[]
  • number<0[]
  • number<=0[]
  • integer[]
  • float[]

test for an object with properties of an respective type:

  • array{}
  • boolean{}
  • number{}
  • string{}
  • symbol{}
  • regexp{}
  • object{}
  • date{}
  • error{}
  • function{}
  • primitive{}
  • buffer{}
  • string!empty{}
  • array!empty{}
  • object!empty{}
  • number>0{}
  • number>=0{}
  • number<0{}
  • number<=0{}
  • integer{}
  • float{}

License

MIT © 2015 Simon Lepel