fix caching of suggestions

This commit is contained in:
Brian Gough 2015-03-04 17:00:19 +00:00
parent c549d29d8e
commit a36d14f4cc

View file

@ -13,8 +13,12 @@ class ASpellRunner
suggestions = @getSuggestions(output)
results = []
for word, i in words
if suggestions[word]?
cache.set(language + ':' + word, suggestions[word])
key = language + ':' + word
cached = cache.get(key)
if cached?
results.push index: i, suggestions: cached
else if suggestions[word]?
cache.set(key, suggestions[word])
results.push index: i, suggestions: suggestions[word]
callback null, results
@ -51,13 +55,13 @@ class ASpellRunner
newWord = {}
for word in words
newWord[word] = true if !newWord[word] && !cache.get(language + ':' + word)?
newWord[word] = true if !newWord[word] && !cache.has(language + ':' + word)
words = Object.keys(newWord)
if words.length
WorkerPool.check(language, words, ASpell.ASPELL_TIMEOUT, callback)
else
callback null, []
callback null, ""
module.exports = ASpell =
# The description of how to call aspell from another program can be found here:
@ -69,4 +73,3 @@ module.exports = ASpell =
ASPELL_TIMEOUT : 4000
WorkerPool = new ASpellWorkerPool()