JSPM

prefix-tree

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q33210F
  • License MIT

Simle prefix tree aka trie

Package Exports

  • prefix-tree

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (prefix-tree) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.