torf

1.0.7 • Public • Published

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
 

Readme

Keywords

none

Package Sidebar

Install

npm i torf

Weekly Downloads

5

Version

1.0.7

License

MIT

Last publish

Collaborators

  • bes
  • filwisher