## utils

Utility functions for all environments. This replaces the underscore dependency.

* [utils](#module_utils) * _static_ * [.uniq(array, [iteratee])](#module_utils.uniq) ⇒ Array * [.isDate(d)](#module_utils.isDate) ⇒ boolean * [.isRegExp(re)](#module_utils.isRegExp) ⇒ boolean * _inner_ * [~isObject(arg)](#module_utils..isObject) ⇒ boolean ### utils.uniq(array, [iteratee]) ⇒ Array

Produces a duplicate-free version of the array, using === to test object equality. In particular only the first occurrence of each value is kept. If you want to compute unique items based on a transformation, pass an iteratee function.

Heavily inspired by [https://underscorejs.org/#uniq](https://underscorejs.org/#uniq).

**Kind**: static method of [utils](#module_utils) **Params** - array Array - [iteratee] function -

transformation applied to every element before checking for duplicates. This will not transform the items in the result.

### utils.isDate(d) ⇒ boolean

Returns true if d is a Date.

Heavily inspired by [https://underscorejs.org/#isDate](https://underscorejs.org/#isDate).

**Kind**: static method of [utils](#module_utils) **Params** - d \* ### utils.isRegExp(re) ⇒ boolean

Returns true if re is a RegExp.

Heavily inspired by [https://underscorejs.org/#isRegExp](https://underscorejs.org/#isRegExp).

**Kind**: static method of [utils](#module_utils) **Params** - re \* ### utils~isObject(arg) ⇒ boolean

Returns true if arg is an Object. Note that JavaScript arrays and functions are objects, while (normal) strings and numbers are not.

Heavily inspired by [https://underscorejs.org/#isObject](https://underscorejs.org/#isObject).

**Kind**: inner method of [utils](#module_utils) **Params** - arg \*