# Hash Object

[Hash Object](https://github.com/bunchtogether/hash-object) [![CircleCI](https://circleci.com/gh/bunchtogether/hash-object/tree/master.svg?style=svg)](https://circleci.com/gh/bunchtogether/hash-object/tree/master) [![npm version](https://badge.fury.io/js/%40bunchtogether%2Fhash-object.svg)](http://badge.fury.io/js/%40bunchtogether%2Fhash-object) [![codecov](https://codecov.io/gh/bunchtogether/hash-object/branch/master/graph/badge.svg)](https://codecov.io/gh/bunchtogether/hash-object)

Performant object hashing. Supports native maps, sets, classes, and typed arrays.

```js
const { hash64, hash32 } = require('@bunchtogether/hash-object');

const a = hash64({a:1, b:2});
// typeof a === 'string'

const b = hash32([1,2,3]);
// typeof b === 'number'
```

## Install

`yarn add @bunchtogether/hash-object`

## Benchmarks

### Complex Values

[hash-object](https://www.npmjs.com/package/hash-object)

*   Time: 1244ms (+409.84%)
*   Heap: 226Mb (+17.2%)

[node-object-hash](https://www.npmjs.com/package/node-object-hash)

*   Time: 663ms (+171.72%)
*   Heap: 220Mb (+13.86%)

[hash-it](https://www.npmjs.com/package/hash-it)

*   Time: 927ms (+279.92%)
*   Heap: 239Mb (+23.66%)

[@bunchtogether/object-hash](https://www.npmjs.com/package/@bunchtogether/hash-object)

*   Time: 244ms (+0%)
*   Heap: 193Mb (+0%)

### Simple Values

[hash-object](https://www.npmjs.com/package/hash-object)

*   Time: 92ms (+8.24%)
*   Heap: 195Mb (+3.81%)

[node-object-hash](https://www.npmjs.com/package/node-object-hash)

*   Time: 99ms (+16.47%)
*   Heap: 196Mb (+4.41%)

[hash-it](https://www.npmjs.com/package/hash-it)

*   Time: 184ms (+116.47%)
*   Heap: 219Mb (+16.42%)

[@bunchtogether/object-hash](https://www.npmjs.com/package/@bunchtogether/hash-object)

*   Time: 85ms (+0%)
*   Heap: 188Mb (+0%)

## API

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

### Table of Contents
