0.2.1 • Published 6 years ago

hash v0.2.1

Weekly downloads
4,441
License
MIT
Repository
-
Last release
6 years ago
__               __        _

/ / __ ____/ / (_)__ / \/ `/ _/ \ / / _/ / / / / // ( ) / / / / ( ) // /_/_,/_// /()_/ /__/ 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