Module @swim/collections

Swim Swim Collections Library

The Swim Collections library implements immutable, structure sharing collections, including B-trees and S-trees (sequence trees).



The BTree class implements the OrderedMap interface from @swim/util, and compares keys using, also from @swim/util. BTree is internally immutable, enabling lightweight snapshotting via BTree.clone, and non-destructive mutation via BTree.updated, and BTree.removed.

BTree also implements the ReducedMap interface from @swim/util, providing storage of sub-tree reductions in b-tree nodes to support log time recomputation of whole tree reductions after incremental updates.


The STree class implements a sequential list data type that's backed by an implicitly indexed b-tree. Like BTree, STree supports lightweight snapshotting via STree.clone.

STree associated a unique ID with each list item, which can be used to reconcile concurrent, conflicting updates to the same logical list.



Generated using TypeDoc