The Nkisi Collections library implements immutable, structure sharing collections, including B-trees and S-trees (sequence trees).
BTree class implements the
OrderedMap interface from @nkisi/util,
and compares keys using
Objects.compare, also from @nkisi/util.
is internally immutable, enabling lightweight snapshotting via
and non-destructive mutation via
BTree also implements the
ReducedMap interface from @nkisi/util,
providing storage of sub-tree reductions in b-tree nodes to support log
time recomputation of whole tree reductions after incremental updates.
STree class implements a sequential list data type that's backed by an
implicitly indexed b-tree. Like
STree supports lightweight
STree associated a unique ID with each list item, which can be used to
reconcile concurrent, conflicting updates to the same logical list.