Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

node-ternary-search-trie

5.4.3 • Public • Published

A simple class for ternary search trie implemented in JavaScript.

Build Status NPM version

It is unstable and not for production use.

You can install it via npm install node-ternary-search-trie, or just include the script lib/trie.js in your web pages.

var Trie = Trie || require('node-ternary-search-trie');
 
var trie = new Trie();

Public methods (with simple Unicode support):

  • set(key, value) -> this

    Insert one key-value pair into the trie. This will overwrite the existed key-value pair. value should not be null or undefined.

  • get(key, toSplay = false) -> value:

    Fetch the stored value of the given key.

    get and set methods may be greatly affected after each splaying operation. Splay with caution.

  • del(key) -> this

    Delete the key-value pair for the given key.

  • size() -> size

    Return the total number of nodes in the trie.

  • keys() -> [keys...]

    Sort and return all keys stored in the trie.

  • keysWithPrefix(prefix) -> [keys...]

    Sort and return all keys started with the given prefix.

  • keysWithCommonPrefix(key) -> [keys...]

    Sort and return all keys that are prefixes of the given key.

  • keysWithinHammingDistance(key, distance) -> [keys...]

    Sort and return all keys within a Hamming distance of the given key.

  • keysWithinLevenshteinDistance(key, distance) -> [keys...]

    Sort and return all keys within a Levenshtein distance of the given key.

  • keysWithinDamerauLevenshteinDistance(key, distance) -> [keys...]

    Sort and return all keys within a Damerau-Levenshtein distance of the given key.

  • searchWithPrefix(prefix, callback: (key, value) -> void) -> this

    Just like keysWithPrefix.

  • searchWithCommonPrefix(key, callback: (key, value) -> void) -> this

    Just like keysWithCommonPrefix.

  • searchWithinHammingDistance(key, distance, callback: (key, value) -> void) -> this

    Just like keysWithinHammingDistance.

  • searchWithinLevenshteinDistance(key, distance, callback: (key, value) -> void) -> this

    Just like keysWithinLevenshteinDistance.

  • searchWithinDamerauLevenshteinDistance(key, distance, callback: (key, value) -> void) -> this

    Just like keysWithinDamerauLevenshteinDistance.

  • traverse(callback: (key, value) -> void) -> this

    Traverse in in-order. (sorted)

  • traversal() -> iterator

    Return an iterator for in-order traversal. iterator.next() will return {value: undefined | {key, value}, done: Boolean}.

install

npm i node-ternary-search-trie

Downloadsweekly downloads

0

version

5.4.3

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability