aboutsummaryrefslogtreecommitdiff
path: root/ext/mixed/js/dictionary-data-util.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mixed/js/dictionary-data-util.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;
+ }
}