1.0.1 • Published 7 years ago

prefix-tree v1.0.1

Weekly downloads
6
License
MIT
Repository
github
Last release
7 years ago

prefix-tree

Simple prefix-tree

NPM Status Travis Status Coverage Status Dependency Status

Class to work with prefix tree. API is similiar to native Map.

Installation

npm install --save prefix-tree

Usage

var Tree = require('prefix-tree');

var tree = new Tree([['hi', 42,] ['hello', 'world'], ['xo', 'xo']]);

tree.get('h');
// → [ 42, 'world']

tree.set('xxx', { '42': 42 });
tree.get('x');
// → [ 'xo', { '42': 42 }]

API

prefixTree(items)

ParameterTypeDescription
itemsarrayoptional Array of key-value pairs

Example:

var tree = new PrefixTree([ ['key', 'value'], ['key2', 'value2'] ]);
var tree2 = new PrefixTree();

set(key, value)

ParameterTypeDescription
keystringkey to search prefix in
valueanyAnything you want to store

Add value to prefix tree.

Example:

var tree = new PrefixTree();
tree.set('hello', 'world');

get(prefix)

ParameterTypeDescription
prefixstringprefix to search values

Get values for a prefix.

Example:

var tree = new PrefixTree();

tree
    .set('hell', 666);
    .set('hello', 'world');

tree.get('he');
// → [666, 'world']

toString()

For debug purpose you could use toString() method.

NB For perfomance module load inspection only with NODE_ENV === 'development'

NODE_ENV='development' node -e "console.log('' + new (require('prefix-tree'))([['hello', 'hello'], ['hi', 'hi'], ['hell', 'hell']]))"

[root]
└── h
    ├── e
    │   └── l
    │       └── l : hell
    │           └── o : hello
    └── i : hi

License

Code released under the MIT.