"use strict"; var toString = Object.prototype.toString; /** * Determines whether two objects represent the same primitive, special Parse * type, or full Parse Object. */ function equalObjects(a, b) { if (typeof a !== typeof b) { return false; } if (typeof a !== 'object') { return a === b; } if (a === b) { return true; } if (toString.call(a) === '[object Date]') { if (toString.call(b) === '[object Date]') { return +a === +b; } return false; } if (Array.isArray(a)) { if (Array.isArray(b)) { if (a.length !== b.length) { return false; } for (var i = 0; i < a.length; i++) { if (!equalObjects(a[i], b[i])) { return false; } } return true; } return false; } if (Object.keys(a).length !== Object.keys(b).length) { return false; } for (var key in a) { if (!equalObjects(a[key], b[key])) { return false; } } return true; } module.exports = equalObjects; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0b1N0cmluZyIsIk9iamVjdCIsInByb3RvdHlwZSIsImVxdWFsT2JqZWN0cyIsImEiLCJiIiwiY2FsbCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImkiLCJrZXlzIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvZXF1YWxPYmplY3RzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHR3byBvYmplY3RzIHJlcHJlc2VudCB0aGUgc2FtZSBwcmltaXRpdmUsIHNwZWNpYWwgUGFyc2VcbiAqIHR5cGUsIG9yIGZ1bGwgUGFyc2UgT2JqZWN0LlxuICovXG5mdW5jdGlvbiBlcXVhbE9iamVjdHMoYSwgYikge1xuICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlb2YgYSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICh0b1N0cmluZy5jYWxsKGEpID09PSAnW29iamVjdCBEYXRlXScpIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChiKSA9PT0gJ1tvYmplY3QgRGF0ZV0nKSB7XG4gICAgICByZXR1cm4gK2EgPT09ICtiO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShiKSkge1xuICAgICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFlcXVhbE9iamVjdHMoYVtpXSwgYltpXSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKE9iamVjdC5rZXlzKGEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoYikubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAodmFyIGtleSBpbiBhKSB7XG4gICAgaWYgKCFlcXVhbE9iamVjdHMoYVtrZXldLCBiW2tleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVxdWFsT2JqZWN0cztcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJQSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDRixRQUFROztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNHLFlBQVlBLENBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQzFCLElBQUksT0FBT0QsQ0FBQyxLQUFLLE9BQU9DLENBQUMsRUFBRTtJQUN6QixPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUksT0FBT0QsQ0FBQyxLQUFLLFFBQVEsRUFBRTtJQUN6QixPQUFPQSxDQUFDLEtBQUtDLENBQUM7RUFDaEI7RUFDQSxJQUFJRCxDQUFDLEtBQUtDLENBQUMsRUFBRTtJQUNYLE9BQU8sSUFBSTtFQUNiO0VBQ0EsSUFBSUwsUUFBUSxDQUFDTSxJQUFJLENBQUNGLENBQUMsQ0FBQyxLQUFLLGVBQWUsRUFBRTtJQUN4QyxJQUFJSixRQUFRLENBQUNNLElBQUksQ0FBQ0QsQ0FBQyxDQUFDLEtBQUssZUFBZSxFQUFFO01BQ3hDLE9BQU8sQ0FBQ0QsQ0FBQyxLQUFLLENBQUNDLENBQUM7SUFDbEI7SUFDQSxPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUlFLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixDQUFDLENBQUMsRUFBRTtJQUNwQixJQUFJRyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsQ0FBQyxDQUFDLEVBQUU7TUFDcEIsSUFBSUQsQ0FBQyxDQUFDSyxNQUFNLEtBQUtKLENBQUMsQ0FBQ0ksTUFBTSxFQUFFO1FBQ3pCLE9BQU8sS0FBSztNQUNkO01BQ0EsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdOLENBQUMsQ0FBQ0ssTUFBTSxFQUFFQyxDQUFDLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUNQLFlBQVksQ0FBQ0MsQ0FBQyxDQUFDTSxDQUFDLENBQUMsRUFBRUwsQ0FBQyxDQUFDSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1VBQzdCLE9BQU8sS0FBSztRQUNkO01BQ0Y7TUFDQSxPQUFPLElBQUk7SUFDYjtJQUNBLE9BQU8sS0FBSztFQUNkO0VBQ0EsSUFBSVQsTUFBTSxDQUFDVSxJQUFJLENBQUNQLENBQUMsQ0FBQyxDQUFDSyxNQUFNLEtBQUtSLE1BQU0sQ0FBQ1UsSUFBSSxDQUFDTixDQUFDLENBQUMsQ0FBQ0ksTUFBTSxFQUFFO0lBQ25ELE9BQU8sS0FBSztFQUNkO0VBQ0EsS0FBSyxJQUFJRyxHQUFHLElBQUlSLENBQUMsRUFBRTtJQUNqQixJQUFJLENBQUNELFlBQVksQ0FBQ0MsQ0FBQyxDQUFDUSxHQUFHLENBQUMsRUFBRVAsQ0FBQyxDQUFDTyxHQUFHLENBQUMsQ0FBQyxFQUFFO01BQ2pDLE9BQU8sS0FBSztJQUNkO0VBQ0Y7RUFDQSxPQUFPLElBQUk7QUFDYjtBQUVBQyxNQUFNLENBQUNDLE9BQU8sR0FBR1gsWUFBWSIsImlnbm9yZUxpc3QiOltdfQ==