is

executor of checks to delegate a data for checking have a ability use upper case when string annotation name checks used

is(check: String, any: any): Boolean
Parameters
check (String) it can be name of branch/check
any (any) it can be name of branch/check
Returns
Boolean:
Example
// the same
is('platform', 'browser');
is.platform('browser');
is.platform.browser();

is.typeof

typeof return name of the data type it can return all 10 data types plus new data types of ES6.

is.typeof(data: any): String
Parameters
data (any)
Returns
String:
Example
is.typeof([]);      // => 'array'
is('typeof', []);   // => 'array'

is.nan

It determine only NaN

is.nan(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.nan(NaN);        // => true
is('NaN', NaN);     // => true
is('NaN', 'NaN');   // => false

is.infinity

It determine only infinity's

is.infinity(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.infinity(-Infinity);                     // => true
is('Infinity', Infinity);                   // => true
is('Infinity', 9999999*9999999*9999999);    // => true

is.null

It determine only null

is.null(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.null(null);      // => true
is('null', null);   // => true
// otherwise false

is.number

It determine only numbers (like a native typeof)

is.number(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.number(1);         // => true
is.number(NaN);       // => true
is('number', null);   // => false

is.string

It determine only strings

is.string(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.string('');          // => true
is('string', 'null');   // => true
is('string', []);       // => false

is.boolean

It determine only booleans

is.boolean(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.boolean(true);          // => true
is('boolean', false);      // => true
// otherwise false

is.function

It determine only functions

is.function(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.function(Function);      // => true
is('function', Function);   // => true

is.array

It determine only array

is.array(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.array([]);           // => true
is('array', [1,2]);     // => true
is('array', '1,2');     // => false

is.object

It determine only objects. Except null and array

is.object(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.object({});          // => true
is('object', {x:1});    // => true
is('object', []);       // => false
is('object', null);     // => false

is.undefined

It determine only undefined

is.undefined(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.undefined(undefined);    // => true
is('undefined', void(0));   // => true

is.defined

always success except undefined

is.defined(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.defined(null);       // => true
is('defined', 0);       // => true
is('defined', void(0)); // => false

is._object

It determine only objects of customers (developers)

is._object(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is._object({});                     // => true
is('_object', {x:1});               // => true
is('_object', new (class q {}));    // => true
is('_object', null);                // => false
is('_object', new Date);            // => false
is('_object', new Error);           // => false

is._number

It determine only numbers not NaN or Infinity or NUMBER more than possible to consider

is._number(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is._number(1);         // => true
is._number(NaN);       // => false
is('_number', null);   // => false
is('_number', 9999999*9999999*9999999);   // => false

is._equal

strict comparison to equivalent between arguments

* circular structure cannot be equaled. It returns false

is._equal(first: any, second: any): Boolean
Parameters
first (any)
second (any)
Returns
Boolean:
Example
is('_equal', [1,{x:2}],[1,{x:1}]);  // => false
is('_equal', [1,{x: Function}],[1,{x:function(){}}]);// => false
is('_equal', [1,{x:'1'}],[1,{x:1}]);// => false
is('_equal', [1,{x:1}],[1,{x:1}]);  // => true
is._equal();                        // => true becose (undefined, undefined)
is._equal(NaN, NaN);                // => true

is.equal

comparison to equivalent between arguments ignores difference in functions ignores data types difference if it equivalent (1,'1')

* circular structure cannot be equaled. It returns false

is.equal(first: any, second: any): Boolean
Parameters
first (any)
second (any)
Returns
Boolean:
Example
is('equal', [1,{x:2}],[1,{x:1}]);  // => false
is('equal', [1,{x:'1'}],[1,{x:1}]);// => true
is('equal', [1,{x:1}],[1,{x:1}]);  // => true
is.equal();                        // => true becose (undefined, undefined)
is.equal(NaN, NaN);                // => true
is('equal', [1,{x: Function}],[1,{x:function(){}}]);// => true

is.empty

check the data that may contain child elements. Otherwise returns false.

* can work not safe and throws an error when data is incorrect.

is.empty(data: any, notSafe: Boolean?): Boolean
Parameters
data (any) without "notSafe" can check any data type
notSafe (Boolean? = false)
Returns
Boolean:
Example
is.empty([]);        // true
is('empty', '');     // true
is('empty', {});     // true
is.empty([1]);       // true
is('empty', '[]');   // true

is.finite

It determine only numbers of possible to consider

is.finite(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.finite(1);         // => true
is.finite(NaN);       // => false
is('finite', null);   // => false
is('finite', 9999999*9999999*9999999);   // => false

is.countable

It determine value can be involved in mathematical operations

is.countable(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.countable(1);         // => true
is.countable('1');       // => true
is.countable(true);      // => true
is.countable(NaN);       // => false
is('countable', null);   // => false
is('countable', 9999999*9999999*9999999);   // => false

is.date

It determine object of native Date ( some things like (new Date()) instanceof Date )

is.date(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.date(new Date);      // => true
is('date', new Date);   // => true

is.error

It determine object of error

is.error(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.error(new Error);        // => true
is('error', new TypeError); // => true

is.regexp

It determine RegExp.

is.regexp(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.regexp(new RegExp);  // => true
is('RegExp', /1/g);     // => true
is('regexp', '/1/g');   // => false because it isn't RegExp

is.argument

It determine object arguments.

is.argument(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
var args; // get object arguments
(function(){ args = arguments; })();
is.argument(args);          // => true
is('argument', args);       // => true
is('argument', []);         // => false

is.symbol

It determine instance Symbol. (safety for es5)

is.symbol(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.symbol(Symbol());     // => true
is('symbol', Symbol());  // => true

is.promise

It determine instance Promise.

is.promise(data: any): Boolean
Parameters
data (any)
Returns
Boolean:
Example
is.promise(new Promise(function(){}));  // => true
is('promise', q.defer().promise);       // => true
is('promise', {then: function(){}});    // => true

is.support.symbol

It determine platform support for Symbol (save)

is.support.symbol(): Boolean
Returns
Boolean:
Example
is('support', 'symbol');
is.support('symbol');
is.support.symbol();

is.support.promise

It determine platform support for Promise (save)

is.support.promise(): Boolean
Returns
Boolean:
Example
is('support', 'promise');
is.support('promise');
is.support.promise();

is.platform.node

It determine platform Node.js (save)

is.platform.node(): Boolean
Returns
Boolean:
Example
is('platform', 'node'); // => true
is.platform('node');    // => true
is.platform.node();     // => true

is.platform.browser

It determine platform browser (save)

is.platform.browser(): Boolean
Returns
Boolean:
Example
is('platform', 'browser'); // => true
is.platform('browser');    // => true
is.platform.browser();     // => true

exports

defination on platforms (both variants on platform like Electron)

bower i --save s-is

npm i --save s-is

exports
Example
window.is                   // in browser
var is = require('s-is')    // in Node.js