hash

0.2.1 • Public • Published
__               __        _

/ /_ ____ / / () / __ / __ `/ / __ \ / / / / / / / // ( ) / / / / ( ) // //_,/// /()/ // v0.2.1 //

hash.js is a simple way to safely use a JavaScript object as hash.

Fast: Usage of a regular object as the hash

Safe: Any key can be used. Keys with names that start with "__" are internally escaped to circumvent the mess that JS implementations induce with "magic" properties like proto, count, parent

Installation

npm install hash

Example in node.js

var hash = require('hash')

var existingDataWithEscapedKeys = { __: 1, b: 2, 'parent%': 3 }

var myHash = new hash(existingDataWithEscapedKeys /* optional */)

myHash.set('a', 123) myHash.set('proto', 'value')

myHash.get('parent') // 3 myHash.get('a') // 123 myHash.get('proto') // 'value'

myHash.has('constructor') // false

myHash.del('a')

myHash.get('a') // undefined

myHash.del('parent')

myHash.getData() // { __: 1, b: 2, 'proto%': 'value' }

myHash.forEach(function iterator (value, key) {

// ...

} /*, optionalThisArg */)

Tested in

node.js IE 5.5+, FF 3+, Chrome 1+, Opera 10+, Safari 4+ Mobile Safari 4.0

Further reads

http://www.devthought.com/2012/01/18/an-object-is-not-a-hash/ http://www.2ality.com/2012/01/objects-as-maps.html

Package Sidebar

Install

npm i hash

Weekly Downloads

1,923

Version

0.2.1

License

MIT

Unpacked Size

6.94 kB

Total Files

9

Last publish

Collaborators

  • akidee