| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.default = equals;
 
- var _ParseACL = _interopRequireDefault(require("./ParseACL"));
 
- var _ParseFile = _interopRequireDefault(require("./ParseFile"));
 
- var _ParseGeoPoint = _interopRequireDefault(require("./ParseGeoPoint"));
 
- var _ParseObject = _interopRequireDefault(require("./ParseObject"));
 
- function _interopRequireDefault(obj) {
 
-   return obj && obj.__esModule ? obj : {
 
-     default: obj
 
-   };
 
- }
 
- function equals(a, b) {
 
-   const toString = Object.prototype.toString;
 
-   if (toString.call(a) === '[object Date]' || toString.call(b) === '[object Date]') {
 
-     const dateA = new Date(a);
 
-     const dateB = new Date(b);
 
-     return +dateA === +dateB;
 
-   }
 
-   if (typeof a !== typeof b) {
 
-     return false;
 
-   }
 
-   if (!a || typeof a !== 'object') {
 
-     // a is a primitive
 
-     return a === b;
 
-   }
 
-   if (Array.isArray(a) || Array.isArray(b)) {
 
-     if (!Array.isArray(a) || !Array.isArray(b)) {
 
-       return false;
 
-     }
 
-     if (a.length !== b.length) {
 
-       return false;
 
-     }
 
-     for (let 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 (Object.keys(a).length !== Object.keys(b).length) {
 
-     return false;
 
-   }
 
-   for (const k in a) {
 
-     if (!equals(a[k], b[k])) {
 
-       return false;
 
-     }
 
-   }
 
-   return true;
 
- }
 
 
  |