diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-14 21:25:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-14 21:25:25 -0500 |
commit | 853faaf48c63b6efba09d3de0c0c508f7c24ff50 (patch) | |
tree | 4411d78032b2a7e595a2d573ab0e3fd264788a51 /ext/bg/js/translator.js | |
parent | 548c67ef1ce2a0aa8859dc458e003a98ad5b9ed6 (diff) | |
parent | 4dd4926672b4db39721c10a3941246ab1225f988 (diff) |
Merge pull request #358 from toasted-nutbread/general-refactoring
General refactoring
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r-- | ext/bg/js/translator.js | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 6d5dd50a..3471cb01 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -27,7 +27,7 @@ class Translator { constructor() { this.database = null; this.deinflector = null; - this.tagCache = {}; + this.tagCache = new Map(); } async prepare() { @@ -44,12 +44,12 @@ class Translator { } async purgeDatabase() { - this.tagCache = {}; + this.tagCache.clear(); await this.database.purge(); } async deleteDictionary(dictionaryName) { - this.tagCache = {}; + this.tagCache.clear(); await this.database.deleteDictionary(dictionaryName); } @@ -537,22 +537,22 @@ class Translator { async getTagMetaList(names, title) { const tagMetaList = []; - const cache = ( - hasOwn(this.tagCache, title) ? - this.tagCache[title] : - (this.tagCache[title] = {}) - ); + let cache = this.tagCache.get(title); + if (typeof cache === 'undefined') { + cache = new Map(); + this.tagCache.set(title, cache); + } for (const name of names) { const base = Translator.getNameBase(name); - if (hasOwn(cache, base)) { - tagMetaList.push(cache[base]); - } else { - const tagMeta = await this.database.findTagForTitle(base, title); - cache[base] = tagMeta; - tagMetaList.push(tagMeta); + let tagMeta = cache.get(base); + if (typeof tagMeta === 'undefined') { + tagMeta = await this.database.findTagForTitle(base, title); + cache.set(base, tagMeta); } + + tagMetaList.push(tagMeta); } return tagMetaList; |