NorkHash
What?
NorkHash is a simple HashMap implementation for node.js.
Why?
It was built for Norker but broken out - because, well it's self contained. And why not? You probably won't need it since there are a lot of other HashMap implementations (a lot of them better than this) but - it's still usable.
Notes
- NorkHash does not support multiple values per key, if you write to the same key twice you will just replace the previous value.
- NorkHash is not built to be extremly robust. You can break it if you try.
- NorkHash sort of expects that your keys are strings. This is not enforced so be aware.
- NorkHash has not been profiled, performance is most likely not optimal.
Status
NorkHash is unit tested, not application tested and should be considered experimental. Use at your own risk.
Features
- Enumerator support: forEach(cb), map(cb), filter(cb), some(cb), every(cb);
- Sort of unit tested with high test coverage. Warning: writing unit tests is not my strong suit.
- Methods without a specific return value allow chaining.
Installation
npm install nork-hash
Usage
Example
var Hash = require(NorkHash);
var hash = new Hash();
hash.put('one', {val:"one"});
console.log(hash.get('one'));
console.log('forEach')
hash.puts(['two', 'three'],[{val:'two'},{val:'three'}])
hash.forEach(function(key, val){
console.log(key);
console.log(val);
});
Methods:
size()
Returns int
.
Size of hash.
put(key, val)
Returns self
.
Inserts new key/value pair.
get(key)
Returns Whatever you put in it
key
Get value from key
.
pop(key)
Returns Whatever you put in it
at key
.
Get and delete value at key
.
delete(key)
Returns self
Delete value at key
clear()
Returns self
.
Removes all key/value pairs of hash.
has(key)
Returns Boolean
Return true if hash contains key
values()
Returns Array
.
Of all values stored in hash.
keys()
Returns Array
Of all keys stored in hash
forEach(fun)
Returns self
.
For each key/value pair in the hash, calls fun(key, value)
.
This call can have side effects. this
will be bound to fun()
.
map(fun)
Returns a new Hash
.
The return value of fun(key, value)
is the new value of key
in the new Hash.
filter(fun)
Returns a new Hash
.
The return value of fun(key, value)
determines if the key/value pair should be contained in the new Hash.
some(fun)
Returns Boolean
True if fun(key, value)
evaluates to truthy for one or more key/value pairs.
every(fun)
Returns Boolean
True if fun(key, value)
evalutes to truthy for all key/value pairs
Version history
0.0.4
Functions that takes a key param now throws a TypeError if the key is not a string or ''
0.0.3
All array methods are removed. Map doesn't loop two times any longer.
put doesn't react to put(undefined).
0.0.2
Added pop(key)
, pops([keys])
, clear()
and unit test for theese.
0.0.1
First commit, working code.