jst9
v0.4.0
Published
A text-prediction JavaScript tool based on PATRICIA tree
Downloads
536
Maintainers
Readme
jsT9
Installation
With npm
$ npm install jst9 --save
With Bower
$ bower install jst9 --save
Or copy some of the files inside dist
folder.
On browsers, it exports the jsT9
global.
Usage
To create a new jsT9 instance, you show use the constructor like this:
var tree = new jsT9(words[, settings]);
Where:
words
can be:- An array of words, or
- A string with the path of a JSON file with a field called 'words' containing the array of words (see the words.json example file). See
ready
method on the API below.
settings
(optional)sort
: Asort(A, B)
(Default: Alphabetical order) function that returns:- -1 if
A < B
- 1 if
A > B
- 0 if
A == B
- -1 if
maxAmount
: Default max amount of predictions to be returned (Default:Infinity
).slackSearch
: Search words using slack search (Default:true
).
API
predict(word)
: Return the predictions to the given word.addWord(word)
: Add an new word to the tree.ready(callback)
: Runs the callback when the tree is ready, useful when you're loading the words with JSON.
How slack search works
If no complete word in the tree matches the searched word, the slack search will remove the last character of the word, one by one, until it finds a match.
Example:
Given this word list:
- List
- Look
- Loop
If you try predict Loo
, you'll get ["Look", "Loop"]
.
But if you try predict Lx
, the algorithm won't find a match, so it will remove the "x" and try to predict L
, then you'll get ["List", "Look", "Loop"]
.