Words not in list show error with suggestion

This commit is contained in:
Ian Coleman
2016-08-15 16:15:43 +10:00
parent 30c9e79de3
commit 563e401a4f
4 changed files with 472 additions and 2 deletions
+24 -1
View File
@@ -195,8 +195,16 @@
proper.push(part.toLowerCase());
}
}
// TODO some levenstein on the words
var properPhrase = proper.join(' ');
// Check each word
for (var i=0; i<proper.length; i++) {
var word = proper[i];
if (WORDLISTS["english"].indexOf(word) == -1) {
console.log("Finding closest match to " + word);
var nearestWord = findNearestWord(word);
return word + " not in wordlist, did you mean " + nearestWord + "?";
}
}
// Check the words are valid
var isValid = mnemonic.check(properPhrase);
if (!isValid) {
@@ -389,6 +397,21 @@
.show();
}
function findNearestWord(word) {
var words = WORDLISTS["english"];
var minDistance = 99;
var closestWord = words[0];
for (var i=0; i<words.length; i++) {
var comparedTo = words[i];
var distance = Levenshtein.get(word, comparedTo);
if (distance < minDistance) {
closestWord = comparedTo;
minDistance = distance;
}
}
return closestWord;
}
function hidePending() {
DOM.feedback
.text("")