aboutsummaryrefslogtreecommitdiff
path: root/ext/mixed/js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2021-01-07 20:24:22 -0500
committerGitHub <noreply@github.com>2021-01-07 20:24:22 -0500
commit7d706df66b4cd68d6ac430c2e3e8b9f3a7f4b6ae (patch)
treea0d8e81f41555468a5c3b2b9b4d21e646adceea6 /ext/mixed/js
parent3760b22a2544d0f86a8097b345831de8efc0e325 (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.js30
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;
+ }
}