Minimal trie datastructure representation
npm install trie-d#### npm : trie-d





#### Simple trie data structure representation in javascript. Perfect for search on key-press.
- Provides near match result for strings only.
- Delimiter supports positive integer (count of characters), a regex or string.
- Supports soft delete of strings (will not appear in the search result)
- Supports add all , remove all and near match all. Accepts array of strings for processing the stated functionality.
const Trie = require('trie-d');
const trie = new Trie(); // Without delimiter, splits string by each character.
const trieWithRegDelimiter = new Trie ({delimiter : '/n'}); // Regex delimiter (should split string by new line)
const trieWithCountDelimiter = new Trie({delimiter : 10}); // Count delimiter, splits string by number of 10 characters from start index.
const trieWithCharacterDelimiter = new Trie({delimiter : 'c'}); // splits string at every instance of character c
`
#### Addition of Elements
Following ways can be used to add elements to a Trie
`
// from previous referrences
const inputs = ['abc', 'abcd', 'abcdef', 'abcdefgh', 'abcdefg', 'abcf', 'abcaad', 'ab', 'nabc','afg', 'naa', 'de', 'z'];
trie.addAll(inputs); // add all functionality
trieWithRegDelimiter.add("This is amazing.\n I am so happy!\n"); //single element addition.`#### Searching of Elements
Following methods can be used to search elements.
Each element is delimited based on the trie's delimiter definition.
The result is lexicographically sorted.
`
// from previous referrences
const result = trie.nearMatch('abc');
// result = ['abc', 'abcd', 'abcdef', 'abcdefgh', 'abcdefg', 'abcf', 'abcaad'];const resultAll = trie.nearMatch(['abc', 'na']); // multi string search. The result is union of all key word's result.
// resultAll = ['abc', 'abcd', 'abcdef', 'abcdefgh', 'abcdefg', 'abcf', 'abcaad', 'naa', 'nabc'];
`#### Removal (soft delete) of Elements
Soft-delete of strings, does not delete the string, but disables it from search.
`
// from previous referrencesconst result = trie.nearMatch('abc');
// result = ['abc', 'abcd', 'abcdef', 'abcdefgh', 'abcdefg', 'abcf', 'abcaad'];
trie.remove('abc');
const resultAfterRemoval = trie.nearMatch('abc');
// resultAfterRemoval = ['abcd', 'abcdef', 'abcdefgh', 'abcdefg', 'abcf', 'abcaad']; // no word
abctrie.removeAll(['abcd', 'abcf']); // multi removal.
const resultPostMultiRemoval = trie.nearMatch('abc');
// resultPostMultiRemoval = ['abcdef', 'abcdefgh', 'abcdefg', 'abcaad']; // no word
abcd and abcf`$3
npm install trie-d$3
npm test`