npm

tasdik

2.0.1 • Public • Published

tasdik

Validate your variables against types.

Installation

$ npm install tasdik --save

Usage

const Tasdik = require('tasdik')

Built-in Validators

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

Custom Validators

// 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

Multiple Rules

Tasdik.validate([], ['array', 'hasChild']); // false
Tasdik.validate(['tasdik'], ['array', 'hasChild', 'everyChildren:oneOf:tasdik,true']); // true

"or" Conditions

Tasdik.validate(undefined, 'array|object'); // false
Tasdik.validate([], 'array|object'); // true
Tasdik.validate({}, 'array|object'); // true

Throw

Throws errors instead of returning false.

Tasdik.validate(undefined, 'defined', true); // throws Error('defined')
More...

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
2.0.14latest

Version History

VersionDownloads (Last 7 Days)Published
2.0.14
2.0.00
1.0.10
1.0.00

Package Sidebar

Install

npm i tasdik

Weekly Downloads

4

Version

2.0.1

License

MIT

Last publish

Collaborators

  • elmasgunes