summaryrefslogtreecommitdiff
path: root/ext/bg
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg')
-rw-r--r--ext/bg/js/backend.js5
-rw-r--r--ext/bg/js/translator.js18
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() {