v3.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.deepEqual = void 0;
  4. const deepEqual = (a, b) => {
  5. if (a === b)
  6. return true;
  7. if (a && b && typeof a === 'object' && typeof b === 'object') {
  8. if (a.constructor !== b.constructor)
  9. return false;
  10. let length, i, keys;
  11. if (Array.isArray(a)) {
  12. length = a.length;
  13. if (length !== b.length)
  14. return false;
  15. for (i = length; i-- !== 0;)
  16. if (!(0, exports.deepEqual)(a[i], b[i]))
  17. return false;
  18. return true;
  19. }
  20. keys = Object.keys(a);
  21. length = keys.length;
  22. if (length !== Object.keys(b).length)
  23. return false;
  24. for (i = length; i-- !== 0;)
  25. if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
  26. return false;
  27. for (i = length; i-- !== 0;) {
  28. const key = keys[i];
  29. if (!(0, exports.deepEqual)(a[key], b[key]))
  30. return false;
  31. }
  32. return true;
  33. }
  34. return false;
  35. };
  36. exports.deepEqual = deepEqual;
  37. //# sourceMappingURL=v3.js.map