a reliable dictionary with prototypal inheritance.

npm install protodict
6 downloads in the last week
12 downloads in the last month


A reliable dictionary with prototypal inheritance. Inspired by and using @domenic's brilliant [dict][]



Takes an optional prototype that is expected to be a Dict or ProtoDict. Returns a fresh, delicious dictionary.

protoDict.get(key, defaultValue = undefined)

Returns the given value for the key, from itself or the prototype. If the key is not found on itself or the prototype, the default value is returned.

protoDict.set(key, value)

Set a key on the dictionary to the value.


Returns true if either the dictionary itself or its prototype has the given key.


Delete the given key from the dict itself.


Empty the dict itself.

protoDict.forEach(callback, thisArg)

Iterates through every key of the dictionary and its prototype.

npm loves you