aboutsummaryrefslogtreecommitdiff
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.js39
1 files changed, 25 insertions, 14 deletions
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index b91e53bf..6870601e 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -31,24 +31,35 @@ class Dictionary {
this.kanjiDicts[name] = dict;
}
- findTerm(term, dict) {
- const db = this.termDicts[dict];
- const indices = db.indices[term] || [];
-
- return indices.map(index => {
- const [e, r, t, ...g] = db.defs[index];
- return {id: index, expression: e, reading: r, glossary: g, tags: t.split(' ')};
- });
+ findTerm(term) {
+ let results = [];
+
+ for (const name in this.termDicts) {
+ const dict = this.termDicts[name];
+ const indices = dict.indices[term] || [];
+
+ results = results.concat(
+ indices.map(index => {
+ const [e, r, t, ...g] = dict.defs[index];
+ return {id: index, expression: e, reading: r, glossary: g, tags: t.split(' ')};
+ })
+ );
+ }
+
+ return results;
}
- findKanji(kanji, dict) {
- const def = this.termDicts[dict][kanji];
+ findKanji(kanji) {
+ const results = [];
- if (def) {
- const [c, k, o, g] = def;
- return {id: index, character: c, kunyomi: k, onyomi: o, glossary: g};
+ for (const name in this.termDicts) {
+ const def = this.termDicts[name][kanji];
+ if (def) {
+ const [c, k, o, g] = def;
+ results.push({id: index, character: c, kunyomi: k, onyomi: o, glossary: g});
+ }
}
- return null;
+ return results;
}
}