Implementation of commonly used datastructures and utilities in Javascript.

npm install dsjslib
12 downloads in the last day
71 downloads in the last week
689 downloads in the last month


This is a collection of different data structures and utilities, implemented in JavaScript. Its written and tested using Node.js which is also the target platform.

API Documentation >>


  • Maps

    • Sorted Maps

      Maps sorted according to natural ordering of keys or by comparator function provided at creation time. Two different backing stores are available
    • Tries

      Map optimized for prefix searching on string keys
    • Multi-Valued

      Map supporting multiple values for a key
  • Queues

  • Utilities

    • LRU Cache with Stats

      Google Guava inspired LRU cache. [Reference: Google Guava](https://code.google.com/p/guava-libraries/]. In-memory LRU cache implementation for Node, inspired by Google Guava Loading Cache . The cache is simpler since it doesn't have to deal with concurrent threads, but other functionality of Guava cache are captured like

       - Auto loader function
       - Removal listener
       - Auto expiry After Write (TTL)
       - Max Size and weight
       - Cache Stats recording

      For usage and overview see wiki: https://github.com/monmohan/dsjslib/wiki/LRU-Cache-Feature-and-usage-overview

    • BitSet

      - An array of bits with operations to set, examine and clear individual bits

    • CircularBuffer

      - A data structure that uses a single, fixed-size buffer as if it were connected end-to-end. When the buffer is filled, new data is written starting at the beginning of the buffer and overwriting the old.
    • BTree

      - Self balancing generalized Search Tree


    npm install dsjslib

Current version 0.6.7 is stable and thoroughly tested on Node v0.10

npm loves you