From 7ce87c51b4fcb5d0507b4668b210ffe2531fea22 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 5 Oct 2020 22:50:10 -0400 Subject: Don't add duplicate definitions (#889) --- ext/bg/js/translator.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ext/bg/js/translator.js') diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 1b2bd738..e11d0269 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -597,7 +597,7 @@ class Translator { _mergeByGlossary(definitions, glossaryDefinitionGroupMap) { for (const definition of definitions) { - const {expression, reading, dictionary, glossary} = definition; + const {expression, reading, dictionary, glossary, id} = definition; const key = this._createMapKey([dictionary, ...glossary]); let group = glossaryDefinitionGroupMap.get(key); @@ -605,11 +605,15 @@ class Translator { group = { expressions: new Set(), readings: new Set(), - definitions: [] + definitions: [], + definitionIds: new Set() }; glossaryDefinitionGroupMap.set(key, group); } + const {definitionIds} = group; + if (definitionIds.has(id)) { continue; } + definitionIds.add(id); group.expressions.add(expression); group.readings.add(reading); group.definitions.push(definition); -- cgit v1.2.3