summaryrefslogtreecommitdiff
path: root/ext/bg/js/dictionary.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js/dictionary.js')
-rw-r--r--ext/bg/js/dictionary.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index a6438523..082d1479 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -21,20 +21,32 @@ class Dictionary {
constructor() {
this.termDicts = {};
this.kanjiDicts = {};
+ this.db = new Dexie('dict');
+ this.dbVer = 1;
}
- addTermDict(name, dict) {
+ loadDb() {
+ return this.db.open().then((db) => {
+ if (db.verno !== this.dbVer) {
+ Promise.reject('db version mismatch');
+ }
+
+ return db.verno;
+ });
+ }
+
+ importTermDict(name, dict) {
this.termDicts[name] = dict;
}
- addKanjiDict(name, dict) {
+ importKanjiDict(name, dict) {
this.kanjiDicts[name] = dict;
}
findTerm(term) {
let results = [];
- for (let name in this.termDicts) {
+ for (const name in this.termDicts) {
const dict = this.termDicts[name];
if (!(term in dict.i)) {
continue;
@@ -62,7 +74,7 @@ class Dictionary {
findKanji(kanji) {
const results = [];
- for (let name in this.kanjiDicts) {
+ for (const name in this.kanjiDicts) {
const def = this.kanjiDicts[name].c[kanji];
if (def) {
const [k, o, t, ...g] = def;