<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

# is

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

**Parameters**

-   `check` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** it can be name of branch/check
-   `any`  it can be name of branch/check

**Examples**

```javascript
// the same
is('platform', 'browser');
is.platform('browser');
is.platform.browser();
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.typeof

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

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.typeof([]);      // => 'array'
is('typeof', []);   // => 'array'
```

Returns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** 

# is.nan

It determine only NaN

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.nan(NaN);        // => true
is('NaN', NaN);     // => true
is('NaN', 'NaN');   // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.infinity

It determine only infinity's

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.infinity(-Infinity);                     // => true
is('Infinity', Infinity);                   // => true
is('Infinity', 9999999*9999999*9999999);    // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.null

It determine only null

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.null(null);      // => true
is('null', null);   // => true
// otherwise false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.number

It determine only numbers (like a native typeof)

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.number(1);         // => true
is.number(NaN);       // => true
is('number', null);   // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.string

It determine only strings

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.string('');          // => true
is('string', 'null');   // => true
is('string', []);       // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.boolean

It determine only booleans

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.boolean(true);          // => true
is('boolean', false);      // => true
// otherwise false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.function

It determine only functions

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.function(Function);      // => true
is('function', Function);   // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.array

It determine only array

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.array([]);           // => true
is('array', [1,2]);     // => true
is('array', '1,2');     // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.object

It determine only objects. Except null and array

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.object({});          // => true
is('object', {x:1});    // => true
is('object', []);       // => false
is('object', null);     // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.undefined

It determine only undefined

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.undefined(undefined);    // => true
is('undefined', void(0));   // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.defined

always success except undefined

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.defined(null);       // => true
is('defined', 0);       // => true
is('defined', void(0)); // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.\_object

It determine only objects of customers (developers)

**Parameters**

-   `data` **any** 

**Examples**

```javascript
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.\_number

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

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is._number(1);         // => true
is._number(NaN);       // => false
is('_number', null);   // => false
is('_number', 9999999*9999999*9999999);   // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.class

It determine classes.

**Parameters**

-   `data` **any** 

**Examples**

```javascript
class q {}
class q1 extends q {}
function Class (){}
is.class( Class );      // => false
is.class( q );          // => true
is('Class', q1 );       // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.\_equal

strict comparison to equivalent between arguments

\* circular structure cannot be equaled. It returns false

**Parameters**

-   `first` **any** 
-   `second` **any** 

**Examples**

```javascript
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# 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

**Parameters**

-   `first` **any** 
-   `second` **any** 

**Examples**

```javascript
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# 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.

**Parameters**

-   `data` **any** without "notSafe" can check any data type
-   `notSafe` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**  (optional, default `false`)

**Examples**

```javascript
is.empty([]);        // true
is('empty', '');     // true
is('empty', {});     // true
is.empty([1]);       // true
is('empty', '[]');   // true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.finite

It determine only numbers of possible to consider

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.finite(1);         // => true
is.finite(NaN);       // => false
is('finite', null);   // => false
is('finite', 9999999*9999999*9999999);   // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.countable

It determine value can be involved in mathematical operations

**Parameters**

-   `data` **any** 

**Examples**

```javascript
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.date

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

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.date(new Date);      // => true
is('date', new Date);   // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.error

It determine object of error

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.error(new Error);        // => true
is('error', new TypeError); // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.regexp

It determine RegExp.

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.regexp(new RegExp);  // => true
is('RegExp', /1/g);     // => true
is('regexp', '/1/g');   // => false because it isn't RegExp
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.argument

It determine object arguments.

**Parameters**

-   `data` **any** 

**Examples**

```javascript
var args; // get object arguments
(function(){ args = arguments; })();
is.argument(args);          // => true
is('argument', args);       // => true
is('argument', []);         // => false
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.symbol

It determine instance Symbol. (safety for es5)

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.symbol(Symbol());     // => true
is('symbol', Symbol());  // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.promise

It determine instance Promise.

**Parameters**

-   `data` **any** 

**Examples**

```javascript
is.promise(new Promise(function(){}));  // => true
is('promise', q.defer().promise);       // => true
is('promise', {then: function(){}});    // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.support.symbol

It determine platform support for Symbol (save)

**Examples**

```javascript
is('support', 'symbol');
is.support('symbol');
is.support.symbol();
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.support.promise

It determine platform support for Promise (save)

**Examples**

```javascript
is('support', 'promise');
is.support('promise');
is.support.promise();
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.platform.node

It determine platform Node.js (save)

**Examples**

```javascript
is('platform', 'node'); // => true
is.platform('node');    // => true
is.platform.node();     // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# is.platform.browser

It determine platform browser (save)

**Examples**

```javascript
is('platform', 'browser'); // => true
is.platform('browser');    // => true
is.platform.browser();     // => true
```

Returns **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

# exports

defination on platforms (both variants on platform like Electron)

bower i --save s-is

npm i --save s-is

**Examples**

```javascript
window.is                   // in browser
```

```javascript
var is = require('s-is')    // in Node.js
```
