executor of checks to delegate a data for checking have a ability use upper case when string annotation name checks used
check
String it can be name of branch/checknull-null
any it can be name of branch/check
// the same
is('platform', 'browser');
is.platform('browser');
is.platform.browser();
Returns Boolean
typeof return name of the data type it can return all 10 data types plus new data types of ES6.
data
any
is.typeof([]); // => 'array'
is('typeof', []); // => 'array'
Returns String
It determine only NaN
data
any
is.nan(NaN); // => true
is('NaN', NaN); // => true
is('NaN', 'NaN'); // => false
Returns Boolean
It determine only infinity's
data
any
is.infinity(-Infinity); // => true
is('Infinity', Infinity); // => true
is('Infinity', 9999999*9999999*9999999); // => true
Returns Boolean
It determine only null
data
any
is.null(null); // => true
is('null', null); // => true
// otherwise false
Returns Boolean
- **See: is.finity more specific determine **
- **See: is._number more specific determine **
- **See: is.countable less specific determine **
It determine only numbers (like a native typeof)
data
any
is.number(1); // => true
is.number(NaN); // => true
is('number', null); // => false
Returns Boolean
It determine only strings
data
any
is.string(''); // => true
is('string', 'null'); // => true
is('string', []); // => false
Returns Boolean
It determine only booleans
data
any
is.boolean(true); // => true
is('boolean', false); // => true
// otherwise false
Returns Boolean
It determine only functions
data
any
is.function(Function); // => true
is('function', Function); // => true
Returns Boolean
It determine only array
data
any
is.array([]); // => true
is('array', [1,2]); // => true
is('array', '1,2'); // => false
Returns Boolean
It determine only objects. Except null and array
data
any
is.object({}); // => true
is('object', {x:1}); // => true
is('object', []); // => false
is('object', null); // => false
Returns Boolean
- **See: is._object more specific determine **
It determine only undefined
data
any
is.undefined(undefined); // => true
is('undefined', void(0)); // => true
Returns Boolean
always success except undefined
data
any
is.defined(null); // => true
is('defined', 0); // => true
is('defined', void(0)); // => false
Returns Boolean
- **See: is.object less specific determine **
It determine only objects of customers (developers)
data
any
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
Returns Boolean
- **See: is.finity alias **
- **See: is.number less specific determine **
- **See: is.countable less specific determine **
strictly determine of numbers. Not NaN or Infinity or NUMBER more than possible to consider
data
any
is._number(1); // => true
is._number(NaN); // => false
is('_number', null); // => false
is('_number', 9999999*9999999*9999999); // => false
Returns Boolean
It determine classes.
data
any
class q {}
class q1 extends q {}
function Class (){}
is.class( Class ); // => false
is.class( q ); // => true
is('Class', q1 ); // => true
Returns Boolean
- **See: is.equal less specific determine **
strict comparison to equivalent between arguments
* circular structure cannot be equaled. It returns false
first
anysecond
any
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
Returns Boolean
- **See: is._equal more specific determine **
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
first
anysecond
any
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
Returns Boolean
- **See: https://docs.omniref.com/js/npm/lodash/0.9.0/symbols/%3Canonymous%3E~hasDontEnumBug without fix **
check the data that may contain child elements. Otherwise returns false.
* can work not safe and throws an error when data is incorrect.
data
anynotSafe
Boolean without "notSafe" can check any data type (optional, defaultfalse
)
is.empty([]); // true
is('empty', ''); // true
is('empty', {}); // true
is.empty([1]); // false
is('empty', '[]'); // false
Returns Boolean
- **See: is._number alias **
- **See: is.number less specific determine **
- **See: is.countable less specific determine **
It determine only numbers of possible to consider
data
any
is.finite(1); // => true
is.finite(NaN); // => false
is('finite', null); // => false
is('finite', 9999999*9999999*9999999); // => false
Returns Boolean
- **See: is._number more specific determine **
- **See: is.number more specific determine **
- **See: is.finite more specific determine **
It determine value can be involved in mathematical operations
data
any
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
Returns Boolean
It determine object of native Date ( some things like (new Date()) instanceof Date )
data
any
is.date(new Date); // => true
is('date', new Date); // => true
Returns Boolean
It determine object of error
data
any
is.error(new Error); // => true
is('error', new TypeError); // => true
Returns Boolean
It determine RegExp.
data
any
is.regexp(new RegExp); // => true
is('RegExp', /1/g); // => true
is('regexp', '/1/g'); // => false because it isn't RegExp
Returns Boolean
It determine object arguments.
data
any
var args; // get object arguments
(function(){ args = arguments; })();
is.argument(args); // => true
is('argument', args); // => true
is('argument', []); // => false
Returns Boolean
It determine instance Symbol. (safety for es5)
data
any
is.symbol(Symbol()); // => true
is('symbol', Symbol()); // => true
Returns Boolean
It determine instance Promise.
data
any
is.promise(new Promise(function(){})); // => true
is('promise', q.defer().promise); // => true
is('promise', {then: function(){}}); // => true
Returns Boolean
It determine platform support for Symbol (save)
is('support', 'symbol');
is.support('symbol');
is.support.symbol();
Returns Boolean
It determine platform support for Promise (save)
is('support', 'promise');
is.support('promise');
is.support.promise();
Returns Boolean
It determine platform Node.js (save)
is('platform', 'node'); // => true
is.platform('node'); // => true
is.platform.node(); // => true
Returns Boolean
It determine platform browser (save)
is('platform', 'browser'); // => true
is.platform('browser'); // => true
is.platform.browser(); // => true
Returns Boolean
defination on platforms (both variants on platform like Electron)
bower install --save s-is
npm install --save s-is
window.is // in browser
var is = require('s-is') // in Node.js