prefix-tree

1.0.1 • Public • Published

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)

Parameter Type Description
items array optional Array of key-value pairs

Example:

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

set(key, value)

Parameter Type Description
key string key to search prefix in
value any Anything you want to store

Add value to prefix tree.

Example:

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

get(prefix)

Parameter Type Description
prefix string prefix 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.

Readme

Keywords

Package Sidebar

Install

npm i prefix-tree

Weekly Downloads

5

Version

1.0.1

License

MIT

Last publish

Collaborators

  • yeti-or