jsdictionary
v0.0.7
Published
a key value map which allows objects as keys
Downloads
289
Readme
jsdictionary
A key value map which allows objects as keys.
Example
nullKey = null
stringKey = 'string'
numberKey = 1
boolenKey = false
arrayKey = []
objectKey = {}
functionKey = () -> null
JSDictionary = require 'jsdictionary'
dict = new JSDictionary()
# map key, value
dict.map nullKey, 'nullValue'
dict.map stringKey, 'stringValue'
dict.map numberKey, 'numberValue'
dict.map boolenKey, 'boolenValue'
dict.map arrayKey, 'arrayValue'
dict.map objectKey, 'objectValue'
dict.map functionKey, 'functionValue'
# get key
console.log 'null: ', dict.get nullKey # 'nullValue'
console.log 'string: ', dict.get stringKey # 'stringValue'
console.log 'number: ', dict.get numberKey # 'numberValue'
console.log 'boolen: ', dict.get boolenKey # 'boolenValue'
console.log 'array: ', dict.get arrayKey # 'arrayValue'
console.log 'object: ', dict.get objectKey # 'objectValue'
console.log 'function: ', dict.get functionKey # 'functionValue'
# has key
dict.has boolenKey # true
dict.has true # false
# isEmpty()
dict.isEmpty() # false
# length()
dict.length() # 7
# forEach
dict.forEach (key, value) ->
console.log key + ':' + value
# clear()
dict.clear()
The dict defines a not enumerable property, which holds a uid, on each object.
The default name for this property is '__dict_uid__'
.
If, however, you have to change the name of this property, you can do:
JSDictionary.key = 'whatEver'
One more:
a = key:'value'
b = {}
# JSDictionary.hasKeys
JSDictionary.hasKeys a # true
JSDictionary.hasKeys b # false