mol_wire_lib 1.0.526 → 1.0.528

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web.mjs CHANGED
@@ -810,7 +810,9 @@ var $;
810
810
  }
811
811
  let result;
812
812
  try {
813
- if (left_proto && !Reflect.getPrototypeOf(left_proto))
813
+ if (!left_proto)
814
+ result = compare_pojo(left, right);
815
+ else if (!Reflect.getPrototypeOf(left_proto))
814
816
  result = compare_pojo(left, right);
815
817
  else if (Array.isArray(left))
816
818
  result = compare_array(left, right);
@@ -878,10 +880,18 @@ var $;
878
880
  function compare_pojo(left, right) {
879
881
  const left_keys = Object.getOwnPropertyNames(left);
880
882
  const right_keys = Object.getOwnPropertyNames(right);
881
- if (left_keys.length !== right_keys.length)
883
+ if (!compare_array(left_keys, right_keys))
882
884
  return false;
883
885
  for (let key of left_keys) {
884
- if (!$mol_compare_deep(left[key], Reflect.get(right, key)))
886
+ if (!$mol_compare_deep(left[key], right[key]))
887
+ return false;
888
+ }
889
+ const left_syms = Object.getOwnPropertySymbols(left);
890
+ const right_syms = Object.getOwnPropertySymbols(right);
891
+ if (!compare_array(left_syms, right_syms))
892
+ return false;
893
+ for (let key of left_syms) {
894
+ if (!$mol_compare_deep(left[key], right[key]))
885
895
  return false;
886
896
  }
887
897
  return true;