12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- "use strict";
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
- _Object$defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = equals;
- var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
- var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/typeof"));
- var _ParseACL = _interopRequireDefault(require("./ParseACL"));
- var _ParseFile = _interopRequireDefault(require("./ParseFile"));
- var _ParseGeoPoint = _interopRequireDefault(require("./ParseGeoPoint"));
- var _ParseObject = _interopRequireDefault(require("./ParseObject"));
- function equals(a, b) {
- var toString = Object.prototype.toString;
- if (toString.call(a) === '[object Date]' || toString.call(b) === '[object Date]') {
- var dateA = new Date(a);
- var dateB = new Date(b);
- return +dateA === +dateB;
- }
- if ((0, _typeof2.default)(a) !== (0, _typeof2.default)(b)) {
- return false;
- }
- if (!a || (0, _typeof2.default)(a) !== 'object') {
- // a is a primitive
- return a === b;
- }
- if ((0, _isArray.default)(a) || (0, _isArray.default)(b)) {
- if (!(0, _isArray.default)(a) || !(0, _isArray.default)(b)) {
- return false;
- }
- if (a.length !== b.length) {
- return false;
- }
- for (var i = a.length; i--;) {
- if (!equals(a[i], b[i])) {
- return false;
- }
- }
- return true;
- }
- if (a instanceof _ParseACL.default || a instanceof _ParseFile.default || a instanceof _ParseGeoPoint.default || a instanceof _ParseObject.default) {
- return a.equals(b);
- }
- if (b instanceof _ParseObject.default) {
- if (a.__type === 'Object' || a.__type === 'Pointer') {
- return a.objectId === b.id && a.className === b.className;
- }
- }
- if ((0, _keys.default)(a).length !== (0, _keys.default)(b).length) {
- return false;
- }
- for (var k in a) {
- if (!equals(a[k], b[k])) {
- return false;
- }
- }
- return true;
- }
|