Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

hash

akidee9.9kMIT0.2.1

Safely use a JavaScript object as hash

hash, hashing, object, associative array, associative, safe, simple, minimal

readme

__               __        _

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