summaryrefslogtreecommitdiff
path: root/ext/jp/dictionary.js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-03-26 14:21:51 -0700
committerAlex Yatskov <alex@foosoft.net>2016-03-26 14:21:51 -0700
commitced7bf5f27c72b98fae3b2d24f1820e0083c22bf (patch)
tree3b6e88f5ed32b1cebfd20035c44fde6d947bf9bf /ext/jp/dictionary.js
parent12696d3e6b3d7f1b92923ed625fdb3dc5ec660f2 (diff)
File reorg
Diffstat (limited to 'ext/jp/dictionary.js')
-rw-r--r--ext/jp/dictionary.js84
1 files changed, 0 insertions, 84 deletions
diff --git a/ext/jp/dictionary.js b/ext/jp/dictionary.js
deleted file mode 100644
index eff54890..00000000
--- a/ext/jp/dictionary.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2016 Alex Yatskov <alex@foosoft.net>
- * Author: Alex Yatskov <alex@foosoft.net>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-class Dictionary {
- constructor() {
- this.termDicts = [];
- this.kanjiDicts = [];
- }
-
- addTermDict(termDict) {
- this.termDicts.push(termDict);
- }
-
- addKanjiDict(kanjiDict) {
- this.kanjiDicts.push(kanjiDict);
- }
-
-
- findTerm(term) {
- let results = [];
- for (let dict of this.termDicts) {
- results = results.concat(this.findTermInDict(term, dict));
- }
-
- return results;
- }
-
- findKanji(kanji) {
- const results = [];
- for (let dict of this.kanjiDicts) {
- const result = this.findKanjiInDict(kanji, dict);
- if (result !== null) {
- results.push(result);
- }
- }
-
- return results;
- }
-
- findTermInDict(term, dict) {
- return (dict.indices[term] || []).map(index => {
- const [e, r, g, t] = dict.defs[index];
- return {
- id: index,
- expression: e,
- reading: r,
- glossary: g,
- tags: t.split(' ')
- };
- });
- }
-
- findKanjiInDict(kanji, dict) {
- const def = dict.defs[kanji];
- if (def === null) {
- return null;
- }
-
- const [c, k, o, g] = def;
- return {
- id: kanji.charCodeAt(0),
- character: c,
- kunyomi: k,
- onyomi: o,
- glossary: g
- };
- }
-}