amos-tool
Version:
amos ui tool
25 lines (21 loc) • 1.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), _typeOfList = require("./_typeOfList"), utils = require("./utils"), BUILTIN_OBJECT = _typeOfList.BUILTIN_OBJECT, TYPED_ARRAY = _typeOfList.TYPED_ARRAY;
function eq(e, r) {
return e === r || e != e && r != r;
}
function deepCopy(e) {
if (null == e || "object" != (0, _typeof2.default)(e)) return e;
var r = e, t = Object.prototype.toString.call(e);
if ("[object Array]" === t) {
r = [];
for (var o = 0, i = e.length; o < i; o++) r[o] = deepCopy(e[o]);
} else if (TYPED_ARRAY[t]) {
var p = e.constructor;
if (e.constructor.from) r = p.from(e); else {
r = new p(e.length);
for (var u = 0, f = e.length; u < f; u++) r[u] = deepCopy(e[u]);
}
} else if (!BUILTIN_OBJECT[t] && !utils.isDom(e)) for (var l in r = {}, e) e.hasOwnProperty(l) && (r[l] = deepCopy(e[l]));
return r;
}
module.exports = deepCopy, module.exports.eq = eq;