diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-07 21:36:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-07 21:36:20 -0500 |
commit | b20622b2c84ce3ca1781c7bf8e10fed0af1e5001 (patch) | |
tree | 938cdc95f289cdfd482aff77a6ebe44aff80e889 /ext/bg/js/translator.js | |
parent | 7d706df66b4cd68d6ac430c2e3e8b9f3a7f4b6ae (diff) |
Core refactor (#1207)
* Copy set intersection functions
* Remove unused functions
* Simplify url check
* Remove parseUrl
* Simplify stringReverse
* Remove hasOwn due to infrequent use
* Rename errorToJson/jsonToError to de/serializeError
For clarity on intended use.
* Fix time argument on timeout
* Add missing return value
* Throw an error for unexpected argument values
* Add documentation comments
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r-- | ext/bg/js/translator.js | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 8cc520a8..7242ec56 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -980,6 +980,30 @@ class Translator { } } + _areSetsEqual(set1, set2) { + if (set1.size !== set2.size) { + return false; + } + + for (const value of set1) { + if (!set2.has(value)) { + return false; + } + } + + return true; + } + + _getSetIntersection(set1, set2) { + const result = []; + for (const value of set1) { + if (set2.has(value)) { + result.push(value); + } + } + return result; + } + // Reduction functions _getTermTagsScoreSum(termTags) { @@ -1181,11 +1205,11 @@ class Translator { _createMergedGlossaryTermDefinition(source, rawSource, definitions, expressions, readings, allExpressions, allReadings) { const only = []; - if (!areSetsEqual(expressions, allExpressions)) { - only.push(...getSetIntersection(expressions, allExpressions)); + if (!this._areSetsEqual(expressions, allExpressions)) { + only.push(...this._getSetIntersection(expressions, allExpressions)); } - if (!areSetsEqual(readings, allReadings)) { - only.push(...getSetIntersection(readings, allReadings)); + if (!this._areSetsEqual(readings, allReadings)) { + only.push(...this._getSetIntersection(readings, allReadings)); } const sourceTermExactMatchCount = this._getSourceTermMatchCountSum(definitions); |