sr-tree

1.0.2 • Public • Published

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.

Readme

Keywords

Package Sidebar

Install

npm i sr-tree

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

4.79 kB

Total Files

4

Last publish

Collaborators

  • srob