Skip to content

esco/multikey-hash

Repository files navigation

multikey-hash

Build Status Coverage Status Code Climate

hash together multiple objects of any type*

Arguments are serialized and then hashed together using the MurmurHash3 algorithm for efficient memory usage (small sized hashes), speed and random distribution.

If you're looking for a full hashmap implementation check out dependent module superhash

Installation

$ npm install multikey-hash

Example

var mkhash = require('multikey-hash');
mkhash(5, 'afuh08h3sfasfs40n340unfe0ruhn0unerf0u', function test(){console.log(test);});
// 3717699652 <-- generated hash

Caveat

Any non primitive keys are tokenized, not serialized. This is done for speed and space efficiencies. As a result, the generated hash is only useful within the same process. Any hash generated in one process will not be consistent with a hash generated by the same non-primitive keys in another process. In other words: don't persist the hash for later use unless the keys are primitive (String, Number, Boolean, undefined, null).

FAQ

What types of keys can be used?

Any primitive or mutable object can be used as a key.

About

Generates a hash based on function arguments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published