[![view on npm](http://img.shields.io/npm/v/typical.svg)](https://www.npmjs.org/package/typical) [![npm module downloads](http://img.shields.io/npm/dt/typical.svg)](https://www.npmjs.org/package/typical) [![Build Status](https://travis-ci.org/75lb/typical.svg?branch=master)](https://travis-ci.org/75lb/typical) [![Dependency Status](https://david-dm.org/75lb/typical.svg)](https://david-dm.org/75lb/typical) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard) ## typical For type-checking Javascript values. **Example** ```js const t = require('typical') ``` * [typical](#module_typical) * [.isNumber(n)](#module_typical.isNumber) ⇒ boolean * [.isPlainObject(input)](#module_typical.isPlainObject) ⇒ boolean * [.isArrayLike(input)](#module_typical.isArrayLike) ⇒ boolean * [.isObject(input)](#module_typical.isObject) ⇒ boolean * [.isDefined(input)](#module_typical.isDefined) ⇒ boolean * [.isString(input)](#module_typical.isString) ⇒ boolean * [.isBoolean(input)](#module_typical.isBoolean) ⇒ boolean * [.isFunction(input)](#module_typical.isFunction) ⇒ boolean * [.isClass(input)](#module_typical.isClass) ⇒ boolean * [.isPrimitive(input)](#module_typical.isPrimitive) ⇒ boolean * [.isPromise(input)](#module_typical.isPromise) ⇒ boolean * [.isIterable(input)](#module_typical.isIterable) ⇒ boolean ### t.isNumber(n) ⇒ boolean Returns true if input is a number **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | n | \* | the input to test | **Example** ```js > t.isNumber(0) true > t.isNumber(1) true > t.isNumber(1.1) true > t.isNumber(0xff) true > t.isNumber(0644) true > t.isNumber(6.2e5) true > t.isNumber(NaN) false > t.isNumber(Infinity) false ``` ### t.isPlainObject(input) ⇒ boolean A plain object is a simple object literal, it is not an instance of a class. Returns true if the input `typeof` is `object` and directly decends from `Object`. **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | **Example** ```js > t.isPlainObject({ clive: 'hater' }) true > t.isPlainObject(new Date()) false > t.isPlainObject([ 0, 1 ]) false > t.isPlainObject(1) false > t.isPlainObject(/test/) false ``` ### t.isArrayLike(input) ⇒ boolean An array-like value has all the properties of an array, but is not an array instance. Examples in the `arguments` object. Returns true if the input value is an object, not null and has a `length` property with a numeric value. **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | **Example** ```js function sum(x, y){ console.log(t.isArrayLike(arguments)) // prints `true` } ``` ### t.isObject(input) ⇒ boolean returns true if the typeof input is `'object'`, but not null! **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isDefined(input) ⇒ boolean Returns true if the input value is defined **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isString(input) ⇒ boolean Returns true if the input value is a string **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isBoolean(input) ⇒ boolean Returns true if the input value is a boolean **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isFunction(input) ⇒ boolean Returns true if the input value is a function **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isClass(input) ⇒ boolean Returns true if the input value is an es2015 `class`. **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isPrimitive(input) ⇒ boolean Returns true if the input is a string, number, symbol, boolean, null or undefined value. **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isPromise(input) ⇒ boolean Returns true if the input is a Promise. **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | ### t.isIterable(input) ⇒ boolean Returns true if the input is an iterable (`Map`, `Set`, `Array` etc.). **Kind**: static method of [typical](#module_typical) | Param | Type | Description | | --- | --- | --- | | input | \* | the input to test | * * * © 2014-17 Lloyd Brookes \<75pound@gmail.com\>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown).