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() { |