| 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;}
 |