JSDSL - JavaScript Data Structures Library
A curated collection of data structures written in JavaScript/TypeScript.
Pinned Repositories
alias-map
A map where multiple keys point to a single value, and the removal of a single key removes all matching key-value pairs.
bimap
A bidirectional map written in TypeScript.
doubly-linked-list
A full-featured doubly-linked list implementation.
iterator
A collection of classes that allow iteration over a predefined collection of elements.
locking-queue
A mutex solution as an alternative to Promises/async+await.
queue
A queue (FIFO) implementation written in TypeScript.
semaphore
A Promise-based semaphore implementation.
stack
A stack (LIFO) implementation written in TypeScript.
stream
A series of consumable elements that can be filtered, mapped, reduced, etc. into other streams, or collected into various other data structures.
trie
Tree-based string storage data structure.
JSDSL - JavaScript Data Structures Library's Repositories
jsdsl/bimap
A bidirectional map written in TypeScript.
jsdsl/locking-queue
A mutex solution as an alternative to Promises/async+await.
jsdsl/action-queue
A series of executable actions represented as a queue.
jsdsl/alias-map
A map where multiple keys point to a single value, and the removal of a single key removes all matching key-value pairs.
jsdsl/container
An interface representing the general forms of data structures that contain elements.
jsdsl/doubly-linked-list
A full-featured doubly-linked list implementation.
jsdsl/iterator
A collection of classes that allow iteration over a predefined collection of elements.
jsdsl/queue
A queue (FIFO) implementation written in TypeScript.
jsdsl/semaphore
A Promise-based semaphore implementation.
jsdsl/stack
A stack (LIFO) implementation written in TypeScript.
jsdsl/stream
A series of consumable elements that can be filtered, mapped, reduced, etc. into other streams, or collected into various other data structures.
jsdsl/trie
Tree-based string storage data structure.
jsdsl/abstract-list
An abstraction of the list data structure.
jsdsl/array-list
An ArrayList implementation in JavaScript/TypeScript.
jsdsl/collections
A set of interfaces, abstract classes, and types that seek to describe most basic data structures.
jsdsl/comparators
jsdsl/multi-tract
A special implementation of a doubly linked list in which multiple 'tracts' form both per-tract lists, as well as an overall sequential list.
jsdsl/optionals
`Option` and `Result` structures, similar to Rust.