diff options
author | Alex Yatskov <alex@foosoft.net> | 2016-04-19 22:04:55 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2016-04-19 22:04:55 -0700 |
commit | 7ef0f4e8818e58f4623da48ca63d76f501e13376 (patch) | |
tree | 2f9628c0aa30ad6e5bd0b12eb3332ad831230631 /ext/bg/js/dictionary.js | |
parent | 8c0ead7a3a0b8897ca12ae1640c9275107f756c9 (diff) |
Handle intermediate tags through addons
Diffstat (limited to 'ext/bg/js/dictionary.js')
-rw-r--r-- | ext/bg/js/dictionary.js | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js index 4645189d..90a40ee5 100644 --- a/ext/bg/js/dictionary.js +++ b/ext/bg/js/dictionary.js @@ -41,8 +41,29 @@ class Dictionary { results = results.concat( indices.map(index => { const [e, r, t, ...g] = dict.defs[index]; - const tags = Dictionary.fixupTags(t.split(' ')); - return {id: index, expression: e, reading: r, glossary: g, tags: tags}; + const addons = []; + const tags = t.split(' '); + + // + // TODO: Handle addons through data. + // + + for (const tag of tags) { + if (tag.startsWith('v5') && tag !== 'v5') { + addons.push('v5'); + } else if (tag.startsWith('vs-')) { + addons.push('vs'); + } + } + + return { + id: index, + expression: e, + reading: r, + glossary: g, + tags: tags.concat(addons), + addons: addons + }; }) ); } @@ -63,19 +84,4 @@ class Dictionary { return results; } - - static fixupTags(tags) { - const results = []; - for (const tag of tags) { - if (tag.startsWith('v5') && tag !== 'v5') { - results.push('v5'); - } else if (tag.startsWith('vs-')) { - results.push('vs'); - } - - results.push(tag); - } - - return results; - } } |