/adict

Implementation of an OrderedDict data structure.

Primary LanguageJavaScript

Adict – Ordered Dictionary

OrderedDict is a data structure that preservers order of inserted keys. And is a sub-class of a regular object/dictionary. In addition it provides couple of convenient methods to push elements to start or end of a dict.

As an example: this data structure can be used to implement LRU-cache.

let OrderedDict = require("adict");

let dict = new OrderedDict();

dict.set(1, 2);
  • Small 593b min and gzip
  • Zero dependencies
  • O(1) runtime complexity for all operations

API

OrderedDict()

OrderedDict is a data structure that preservers order of inserted keys. And is a sub-class of a regular object/dictionary. Implementation is inspired by python's OrderedDict and this particular gist: https://gist.github.com/joequery/12332f410a05e6c7c949

Click to expand!

Kind: Class

orderedDict.set(key, value) ⇒ OrderedDict

Add a new key-value pair to an ordered dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey
value any

orderedDict.delete(key) ⇒ boolean

Delete a key from an ordered dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey

orderedDict.clear() ⇒ undefined

Clear ordered dict.

Kind: instance method of OrderedDict

orderedDict.get(key) ⇒ OrderedDictValue | undefined

Retrieve a key from an ordered dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey

orderedDict.has(key) ⇒ boolean

Check if key exists in an ordered dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey

orderedDict.pop() ⇒ undefined | OrderedDictKeyValue

Remove and return last element from an ordered dict.

Kind: instance method of OrderedDict

orderedDict.shift() ⇒ undefined | OrderedDictKeyValue

Remove and return first element from an ordered dict.

Kind: instance method of OrderedDict

orderedDict.toStart(key) ⇒ boolean

Move an existing element to the start of an orederd dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey

orderedDict.toEnd(key) ⇒ boolean

Move an existing element to the end of an ordered dict.

Kind: instance method of OrderedDict

Param Type
key OrderedDictKey

orderedDict.keys() ⇒ Iterator

Returns new Iterator object that contains all keys of an ordered dict.

Kind: instance method of OrderedDict

orderedDict.values() ⇒ Iterator

Returns new Iterator object that contains all values of an ordered dict.

Kind: instance method of OrderedDict

orderedDict.entries() ⇒ Iterator

Returns new Iterator object that contains all key-value pairs of an ordered dict.

Kind: instance method of OrderedDict

OrderedDict.from(data) ⇒ OrderedDict

Create an ordered dict from an array or object.

Kind: static method of OrderedDict

Param Type
data Array<OrderedDictKeyValue> | Object

OrderedDictKey : any

OrderedDictValue : any

OrderedDictKeyValue : [OrderedDictKey, OrderedDictValue]