diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-07 20:24:22 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-07 20:24:22 -0500 |
commit | 7d706df66b4cd68d6ac430c2e3e8b9f3a7f4b6ae (patch) | |
tree | a0d8e81f41555468a5c3b2b9b4d21e646adceea6 /ext/mixed | |
parent | 3760b22a2544d0f86a8097b345831de8efc0e325 (diff) |
Update DictionaryDataUtil to be able to be used in a sandbox frame (#1206)
Diffstat (limited to 'ext/mixed')
-rw-r--r-- | ext/mixed/js/dictionary-data-util.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/ext/mixed/js/dictionary-data-util.js b/ext/mixed/js/dictionary-data-util.js index c049d591..8d8772fe 100644 --- a/ext/mixed/js/dictionary-data-util.js +++ b/ext/mixed/js/dictionary-data-util.js @@ -52,8 +52,8 @@ class DictionaryDataUtil { const exclusiveExpressions = []; const exclusiveReadings = []; const resultExpressions = result.expressions; - if (!areSetsEqual(resultExpressions, allExpressions)) { - exclusiveExpressions.push(...getSetIntersection(resultExpressions, allExpressions)); + if (!this._areSetsEqual(resultExpressions, allExpressions)) { + exclusiveExpressions.push(...this._getSetIntersection(resultExpressions, allExpressions)); } if (multipleReadings) { exclusiveReadings.push(result.reading); @@ -71,6 +71,8 @@ class DictionaryDataUtil { return results2; } + // Private + static _findExistingPitchAccentInfo(reading, position, tags, pitchAccentInfoList) { for (const pitchInfo of pitchAccentInfoList) { if ( @@ -98,4 +100,28 @@ class DictionaryDataUtil { return true; } + + static _areSetsEqual(set1, set2) { + if (set1.size !== set2.size) { + return false; + } + + for (const value of set1) { + if (!set2.has(value)) { + return false; + } + } + + return true; + } + + static _getSetIntersection(set1, set2) { + const result = []; + for (const value of set1) { + if (set2.has(value)) { + result.push(value); + } + } + return result; + } } |