pg3d-autocorrect
Version:
Pixel Gun 3d Encyclopedia package helper(autocorrect)
36 lines (27 loc) • 791 B
JavaScript
var fs = require('fs')
var leven = require('leven')
var wordListPath = require('./pg3d-gadget-list.js')
var readDictionary = function(path) {
path || (path = wordListPath)
return fs.readFileSync(path).toString().trim().split('\n')
}
var autocorrect = function(options) {
options || (options = {})
var dictionary = options.words || readDictionary(options.dictionary)
var len = dictionary.length
return function(str) {
var distance, bestWord, i, word, min
for (i = 0; i < len; i++) {
word = dictionary[i]
distance = leven(str, word)
if (distance === 0) {
return word
} else if (min === undefined || distance < min) {
min = distance
bestWord = word
}
}
return bestWord
}
}
module.exports = autocorrect