amos-tool
Version:
amos ui tool
26 lines (24 loc) • 1.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), shallowEqual = function(e, t) {
if (e === t) return !0;
if ("object" !== (0, _typeof2.default)(e) || null === e || "object" !== (0, _typeof2.default)(t) || null === t) return !1;
var r = Object.keys(e), u = Object.keys(t);
if (r.length !== u.length) return !1;
for (var l = Object.prototype.hasOwnProperty.bind(t), o = 0; o < r.length; o++) if (!l(r[o]) || e[r[o]] !== t[r[o]]) return !1;
return !0;
}, customEqual = function(e, t, r, u) {
var l = r ? r.call(u, e, t) : void 0;
if (void 0 !== l) return !!l;
if (e === t) return !0;
if ("object" !== (0, _typeof2.default)(e) || !e || "object" !== (0, _typeof2.default)(t) || !t) return !1;
var o = Object.keys(e), n = Object.keys(t);
if (o.length !== n.length) return !1;
for (var i = Object.prototype.hasOwnProperty.bind(t), a = 0; a < o.length; a++) {
var f = o[a];
if (!i(f)) return !1;
var p = e[f], c = t[f];
if ((!1 === (l = r ? r.call(u, p, c, f) : void 0) || void 0 === l) && p !== c) return !1;
}
return !0;
};
module.exports = shallowEqual, module.exports.customEqual = customEqual;