Skip to content

besarthoxhaj/torf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

torf

Build Status Code Climate Test Coverage contributions welcome

Small library for cheking if a variable is ok.

npm install torf --save

For readability I suggest to save the module in a variable called is.

##is.ok();

This method simply checks if a variable is ok in general terms. Is ok means that a variable is defined and in case it is an object (or array) that it is not empty or the content is not undifined or null.

var is = require('torf');

is.ok([]);            // false
is.ok({});            // false
is.ok([{}]);          // false
is.ok(NaN);           // false
is.ok(null);          // false
is.ok(Infinity);      // false
is.ok(undefined);     // false
is.ok([NaN]);         // false
is.ok([null]);        // false
is.ok([Infinity]);    // false
is.ok([undefined]);   // false

You can pass functions as well. In that case the function will be invoked and the test will be performed on what the function returns.

is.ok(function(){});                    // false
is.ok(function(){return NaN;});         // false
is.ok(function(){return false;});       // false
is.ok(function(){return null;});        // false
is.ok(function(){return Infinity;});    // false
is.ok(function(){return undefined;});   // false
is.ok(function(){return [undefined];}); // false

This is done recursively, which means it is possible to nest functions.

is.ok(function(){ return function(){ return false;}}); // false
is.ok(function(){ return function(){ return true;}});  // true

##is.type();

This method simply checks the first argument class or primitive value against the second argument.

var is = require('torf');

is.type('string', 'string'); // true
is.type(['fooo'], 'array');  // true
is.type({a:'hi'}, 'string'); // false

It is possible to pass an array of classes as second argument, in which case it will return true if one of the classes is matched.

var is = require('torf');

is.type('string', ['string', 'number', 'object']); // true
is.type(['fooo'], ['null', 'array', 'date']);      // true
is.type({a:'hi'}, ['string', 'number', 'array']);  // false

The comparison is done by calling the Object.prototype.toString() to detect object class so it's possible to test alse undefined === null.

is.type(undefined, 'null');  // false
is.type(null, 'null');       // true

##is.email();

Internally it uses a regular expression /\S+@\S+\.\S+/ which is pretty generous. If you need more restriction I suggest to look at the second example.

var is = require('torf');

is.email('foo@bar.com');      // true;
is.email('foo.zoo@bar.com');  // true;
is.email('foo.zoo@bar');      // false;
is.email(null);               // false;
is.email(undefined);          // false;

Optionally you can pass a regular expression to check against as second parameter.

var is = require('torf');

is.email('foo@bar.com', new RegExp(/[\s\S]/));  // true

About

Small utility for checking if variables are defined and non empty

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published