diff options
author | Alex Yatskov <alex@foosoft.net> | 2016-03-26 14:21:51 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2016-03-26 14:21:51 -0700 |
commit | ced7bf5f27c72b98fae3b2d24f1820e0083c22bf (patch) | |
tree | 3b6e88f5ed32b1cebfd20035c44fde6d947bf9bf /ext/jp/dictionary.js | |
parent | 12696d3e6b3d7f1b92923ed625fdb3dc5ec660f2 (diff) |
File reorg
Diffstat (limited to 'ext/jp/dictionary.js')
-rw-r--r-- | ext/jp/dictionary.js | 84 |
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 - }; - } -} |