UNPKG

amos-tool

Version:

amos ui tool

57 lines (46 loc) 1.28 kB
"use strict"; var utils = require("./utils"); function overArg(e, r) { return function(n) { return e(r(n)); }; } var nativeKeys = overArg(Object.keys, Object), hasOwnProperty = Object.prototype.hasOwnProperty; function baseSlice(e, r, n) { var t = -1, o = e.length; r < 0 && (r = -r > o ? 0 : o + r), (n = n > o ? o : n) < 0 && (n += o), o = r > n ? 0 : n - r >>> 0, r >>>= 0; for (var a = Array(o); ++t < o; ) a[t] = e[t + r]; return a; } function copyArray(e) { return baseSlice(e, 0, e.length); } function baseAssignValue(e, r, n) { e[r] = n; } function assignValue(e, r, n) { var t = e[r]; hasOwnProperty.call(e, r) && eq(t, n) && (void 0 !== n || r in e) || baseAssignValue(e, r, n); } function copyObject(e, r, n, t) { var o = !n; n || (n = {}); for (var a = -1, c = r.length; ++a < c; ) { var i = r[a], s = t ? t(n[i], e[i], i, n, e) : void 0; void 0 === s && (s = e[i]), o ? baseAssignValue(n, i, s) : assignValue(n, i, s); } return n; } function eq(e, r) { return e === r || e != e && r != r; } function clone(e) { return utils.isObject(e) ? utils.isArray(e) ? copyArray(e) : copyObject(e, nativeKeys(e)) : e; } module.exports = { clone: clone, copyArray: copyArray, copyObject: copyObject, eq: eq };