Validate your variables against types.
$ npm install tasdik --save
const Tasdik = require('tasdik')
Tasdik.validate(undefined, 'defined'); // false
Tasdik.validate('tasdik', 'defined'); // true
Tasdik.validate(undefined, 'function'); // false
Tasdik.validate(function () {}, 'function'); // true
Tasdik.validate(() => {}, 'function'); // true
Tasdik.validate(undefined, 'boolean'); // false
Tasdik.validate(true, 'boolean'); // true
Tasdik.validate(false, 'boolean'); // true
Tasdik.validate(undefined, 'number'); // false
Tasdik.validate(1, 'number'); // true
Tasdik.validate(0, 'number'); // true
Tasdik.validate(-1, 'number'); // true
Tasdik.validate(undefined, 'string'); // false
Tasdik.validate('tasdik', 'string'); // true
Tasdik.validate(`tasdik`, 'string'); // true
Tasdik.validate(new String('tasdik'), 'string'); // true
Tasdik.validate(undefined, 'regexp'); // false
Tasdik.validate(/tasdik/, 'regexp'); // true
Tasdik.validate(undefined, 'object'); // false
Tasdik.validate({}, 'object'); // true
Tasdik.validate({}, 'hasProperty:tasdik'); // false
Tasdik.validate({tasdik: true}, 'hasProperty:tasdik'); //true
Tasdik.validate(undefined, 'array'); // false
Tasdik.validate([], 'array'); // true
Tasdik.validate([], 'hasChild'); // false
Tasdik.validate(['tasdik'], 'hasChild'); // true
Tasdik.validate(['tasdik', false], 'everyChildren:string'); // false
Tasdik.validate(['tasdik', 'true'], 'everyChildren:string'); // true
Tasdik.validate('tasdik', 'oneOf:false'); // false
Tasdik.validate('tasdik', 'oneOf:tasdik,true'); // true
Tasdik.validate('@dev.tc', 'email'); // false
Tasdik.validate('hi@dev.tc', 'email'); // true
Tasdik.validate('dev!tc', 'domain'); // false
Tasdik.validate('dev.tc', 'domain'); // true
Tasdik.validate('dev!tc', 'hostname'); // false
Tasdik.validate('dev.tc', 'hostname'); // true
Tasdik.validate('tasdik', 'ipv4'); // false
Tasdik.validate('192.168.0.1', 'ipv4'); // true
Tasdik.validate('tasdik', 'ipv6'); // false
Tasdik.validate('2001:0db8:0a0b:12f0:0000:0000:0000:0001', 'ipv6'); // true
Tasdik.validate('2001:db8:a0b:12f0::1', 'ipv6'); // true
Tasdik.validate('tasdik', 'ip'); // false
Tasdik.validate('192.168.0.1', 'ip'); // true
Tasdik.validate('2001:0db8:0a0b:12f0:0000:0000:0000:0001', 'ip'); // true
Tasdik.validate('2001:db8:a0b:12f0::1', 'ip'); // true
// you may set any custom validators
Tasdik.has('custom-test'); // false
Tasdik.set('custom-test', function (value) {
return value === 'custom-value';
});
Tasdik.has('custom-test'); // true
Tasdik.validate('tasdik', 'custom-test'); // false
Tasdik.validate('custom-value', 'custom-test'); // true
// you may override built-in validators
Tasdik.set('number', function (value) {
return value > 0;
});
Tasdik.validate(0, 'number'); // false
Tasdik.validate(1, 'number'); // true
Tasdik.validate([], ['array', 'hasChild']); // false
Tasdik.validate(['tasdik'], ['array', 'hasChild', 'everyChildren:oneOf:tasdik,true']); // true
Tasdik.validate(undefined, 'array|object'); // false
Tasdik.validate([], 'array|object'); // true
Tasdik.validate({}, 'array|object'); // true
Throws errors instead of returning false.
Tasdik.validate(undefined, 'defined', true); // throws Error('defined')
- GitHub Repository: http://dev.tc/tasdik
- API Docs: http://dev.tc/tasdik/docs
- Self-Hosted Repository: http://dev.tc/tasdik/repo