diff options
-rw-r--r-- | ext/bg/js/backend.js | 5 | ||||
-rw-r--r-- | ext/bg/js/translator.js | 18 |
2 files changed, 9 insertions, 14 deletions
diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index b217e64d..dd666b0d 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -24,6 +24,7 @@ * AudioUriBuilder * BackendApiForwarder * ClipboardMonitor + * Database * JsonSchema * Mecab * Translator @@ -43,7 +44,8 @@ class Backend { constructor() { - this.translator = new Translator(); + this.database = new Database(); + this.translator = new Translator(this.database); this.anki = new AnkiNull(); this.mecab = new Mecab(); this.clipboardMonitor = new ClipboardMonitor({getClipboard: this._onApiClipboardGet.bind(this)}); @@ -107,6 +109,7 @@ class Backend { } async prepare() { + await this.database.prepare(); await this.translator.prepare(); this.optionsSchema = await requestJson(chrome.runtime.getURL('/bg/data/options-schema.json'), 'GET'); diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 6f43f7b0..df19eee1 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -17,7 +17,6 @@ */ /* global - * Database * Deinflector * dictEnabledSet * dictTagBuildSource @@ -34,23 +33,16 @@ */ class Translator { - constructor() { - this.database = null; + constructor(database) { + this.database = database; this.deinflector = null; this.tagCache = new Map(); } async prepare() { - if (!this.database) { - this.database = new Database(); - await this.database.prepare(); - } - - if (!this.deinflector) { - const url = chrome.runtime.getURL('/bg/lang/deinflect.json'); - const reasons = await requestJson(url, 'GET'); - this.deinflector = new Deinflector(reasons); - } + const url = chrome.runtime.getURL('/bg/lang/deinflect.json'); + const reasons = await requestJson(url, 'GET'); + this.deinflector = new Deinflector(reasons); } async purgeDatabase() { |