amos-tool
Version:
amos ui tool
37 lines (33 loc) • 1.5 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")), getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty, propIsEnumerable = Object.prototype.propertyIsEnumerable;
function toObject(e) {
if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined");
return Object(e);
}
function shouldUseNative() {
try {
if (!Object.assign) return !1;
var e = new String("abc");
if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return !1;
for (var r = {}, t = 0; t < 10; t++) r["_" + String.fromCharCode(t)] = t;
if ("0123456789" !== Object.getOwnPropertyNames(r).map(function(e) {
return r[e];
}).join("")) return !1;
var n = {};
return "abcdefghijklmnopqrst".split("").forEach(function(e) {
n[e] = e;
}), "abcdefghijklmnopqrst" === Object.keys((0, _extends2.default)({}, n)).join("");
} catch (e) {
return !1;
}
}
module.exports = shouldUseNative() ? Object.assign : function(e, r) {
for (var t, n, o = toObject(e), a = 1; a < arguments.length; a++) {
for (var i in t = Object(arguments[a])) hasOwnProperty.call(t, i) && (o[i] = t[i]);
if (getOwnPropertySymbols) {
n = getOwnPropertySymbols(t);
for (var s = 0; s < n.length; s++) propIsEnumerable.call(t, n[s]) && (o[n[s]] = t[n[s]]);
}
}
return o;
};