1.0.2 • Published 5 years ago

sr-tree v1.0.2

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

sr-tree

Efficient in-memory tree data structure built on ES6 Map

Installation

npm install --save sr-tree

Usage

Tree

This tree structure is built on ES6 Map, so any types are allowed both for keys and values.

const {Tree, WeakTree} = require('sr-tree');

const myTree = new Tree();
const keyPart2 = {keyPart2: true}; // Any key type is allowed.
const keyPart3 = /keyPart3/;
myTree.set(['keyPart1', keyPart2, keyPart3], 'value');

const value = myTree.get(['keyPart1', keyPart2, keyPart3]);
console.log(value); // "value"

myTree.delete(['keyPart1', keyPart2, keyPart3]);
const valueAfterDelete = myTree.get(['keyPart1', keyPart2, keyPart3]);
console.log(valueAfterDelete); // undefined

The internal Map is accessible :

const myTree = new Tree();
myTree.set(['foo', 'bar'], 'value');
console.log(myTree.data); // Outputs : Map { 'foo' => Map { 'bar' => 'value' } }

WeakTree

The same tree implementation is also available built on WeakMap :

const {Tree, WeakTree} = require('sr-tree');

const myTree = new WeakTree();

Please note that WeakMaps does not allow scalar values as keys, so neither does WeakTree.

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago