Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/assets/js/util')
-rw-r--r--web/assets/js/util/index.js24
1 files changed, 7 insertions, 17 deletions
diff --git a/web/assets/js/util/index.js b/web/assets/js/util/index.js
index bb47f538..902974f0 100644
--- a/web/assets/js/util/index.js
+++ b/web/assets/js/util/index.js
@@ -316,23 +316,13 @@ class ObjectUtil {
}
static equals(a, b) {
- for (const key in a) {
- if (!a.hasOwnProperty(key)) {
- continue;
- }
- if (!b.hasOwnProperty(key)) {
- return false;
- } else if (a[key] !== b[key]) {
- return false;
- }
- }
- for (const key in b) {
- if (!b.hasOwnProperty(key)) {
- continue;
- }
- if (!a.hasOwnProperty(key)) {
- return false;
- }
+ // shallow, symmetric comparison so newly added fields also affect equality
+ const aKeys = Object.keys(a);
+ const bKeys = Object.keys(b);
+ if (aKeys.length !== bKeys.length) return false;
+ for (const key of aKeys) {
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
+ if (a[key] !== b[key]) return false;
}
return true;
}