validate-by-shorthand

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

Usage no npm install needed!

<script type="module">
  import validateByShorthand from 'https://cdn.skypack.dev/validate-by-shorthand';
</script>

README

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