UNPKG

amos-tool

Version:

amos ui tool

32 lines (30 loc) 1.31 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), isArray = Array.isArray, keyList = Object.keys, hasProp = Object.prototype.hasOwnProperty, isFn = function(e) { return "function" == typeof e; }, isObj = function(e) { return "object" === (0, _typeof2.default)(e); }; module.exports = function e(r, t) { if (r === t) return !0; if (r && t && isObj(r) && isObj(t)) { var i, n, u, f = isArray(r), a = isArray(t); if (f && a) { if ((n = r.length) != t.length) return !1; for (i = n; 0 !== i--; ) if (!e(r[i], t[i])) return !1; return !0; } if (f != a) return !1; var o = r instanceof Date, s = t instanceof Date; if (o != s) return !1; if (o && s) return r.getTime() == t.getTime(); var p = r instanceof RegExp, l = t instanceof RegExp; if (p != l) return !1; if (p && l) return r.toString() == t.toString(); var y = keyList(r); if ((n = y.length) !== keyList(t).length) return !1; for (i = n; 0 !== i--; ) if (!hasProp.call(t, y[i])) return !1; for (i = n; 0 !== i--; ) if (!e(r[u = y[i]], t[u])) return !1; return !0; } return r && t && isFn(r) && isFn(t) ? r.name === t.name : r != r && t != t; };