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/js | |
| parent | 3760b22a2544d0f86a8097b345831de8efc0e325 (diff) | |
Update DictionaryDataUtil to be able to be used in a sandbox frame (#1206)
Diffstat (limited to 'ext/mixed/js')
| -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; +    }  } |