amos-tool
Version:
amos ui tool
130 lines (126 loc) • 5.01 kB
JavaScript
;
var builtinIteratee, _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), ObjProto = Object.prototype, toString = ObjProto.toString, nativeIsArray = Array.isArray, nativeKeys = Object.keys, hasEnumBug = !{
toString: null
}.propertyIsEnumerable("toString"), nonEnumerableProps = [ "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString" ], isNumber = function(r) {
return /^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(r);
}, _isNaN = function(r) {
return isNumber(r) && isNaN(r);
}, isFunction = function(r) {
return "function" == typeof r || !1;
}, isObject = function(r) {
var e = (0, _typeof2.default)(r);
return "function" === e || "object" === e && !!r;
}, keys = function(r) {
if (!isObject(r)) return [];
if (nativeKeys) return nativeKeys(r);
var e = [];
for (var t in r) has(r, t) && e.push(t);
return hasEnumBug && collectNonEnumProps(r, e), e;
}, allKeys = function(r) {
if (!isObject(r)) return [];
var e = [];
for (var t in r) e.push(t);
return hasEnumBug && collectNonEnumProps(r, e), e;
}, isArray = nativeIsArray || function(r) {
return "[object Array]" === toString.call(r);
}, has = function(r, e) {
if (!isArray(e)) return null != r && Object.prototype.hasOwnProperty.call(r, e);
for (var t = e.length, n = 0; n < t; n++) {
var i = e[n];
if (null == r || !Object.prototype.hasOwnProperty.call(r, i)) return !1;
r = r[i];
}
return !!t;
}, property = function(r) {
return function(e) {
return null == e ? void 0 : e[r];
};
}, values = function(r) {
for (var e = keys(r), t = e.length, n = Array(t), i = 0; i < t; i++) n[i] = r[e[i]];
return n;
}, MAX_ARRAY_INDEX = Math.pow(2, 53) - 1, getLength = property("length"), isArrayLike = function(r) {
var e = getLength(r);
return "number" == typeof e && e >= 0 && e <= MAX_ARRAY_INDEX;
}, optimizeCb = function(r, e, t) {
if (void 0 === e) return r;
switch (t) {
case 1:
return function(t) {
return r.call(e, t);
};
case null:
case 3:
return function(t, n, i) {
return r.call(e, t, n, i);
};
case 4:
return function(t, n, i, u) {
return r.call(e, t, n, i, u);
};
}
return function() {
return r.apply(e, arguments);
};
}, createAssigner = function(r, e) {
return function(t) {
var n = arguments.length;
if (e && (t = Object(t)), n < 2 || null == t) return t;
for (var i = 1; i < n; i++) for (var u = arguments[i], o = r(u), a = o.length, c = 0; c < a; c++) {
var s = o[c];
e && void 0 !== t[s] || (t[s] = u[s]);
}
return t;
};
}, extendOwn = createAssigner(keys), isMatch = function(r, e) {
var t = keys(e), n = t.length;
if (null == r) return !n;
for (var i = Object(r), u = 0; u < n; u++) {
var o = t[u];
if (e[o] !== i[o] || !(o in i)) return !1;
}
return !0;
}, matcher = function(r) {
return r = extendOwn({}, r), function(e) {
return isMatch(e, r);
};
}, slice = Array.prototype.slice, createIndexFinder = function(r, e, t) {
return function(n, i, u) {
var o = 0, a = getLength(n);
if ("number" == typeof u) r > 0 ? o = u >= 0 ? u : Math.max(u + a, o) : a = u >= 0 ? Math.min(u + 1, a) : u + a + 1; else if (t && u && a) return n[u = t(n, i)] === i ? u : -1;
if (i != i) return (u = e(slice.call(n, o, a), _isNaN)) >= 0 ? u + o : -1;
for (u = r > 0 ? o : a - 1; u >= 0 && u < a; u += r) if (n[u] === i) return u;
return -1;
};
}, iteratee = builtinIteratee = function(r, e) {
return cb(r, e, 1 / 0);
}, identity = function(r) {
return r;
}, cb = function(r, e, t) {
return iteratee !== builtinIteratee ? iteratee(r, e) : null == r ? identity : isFunction(r) ? optimizeCb(r, e, t) : isObject(r) && !isArray(r) ? matcher(r) : property(r);
}, createPredicateIndexFinder = function(r) {
return function(e, t, n) {
t = cb(t, n);
for (var i = getLength(e), u = r > 0 ? 0 : i - 1; u >= 0 && u < i; u += r) if (t(e[u], u, e)) return u;
return -1;
};
}, findIndex = createPredicateIndexFinder(1), sortedIndex = function(r, e, t, n) {
for (var i = (t = cb(t, n, 1))(e), u = 0, o = getLength(r); u < o; ) {
var a = Math.floor((u + o) / 2);
t(r[a]) < i ? u = a + 1 : o = a;
}
return u;
}, indexOf = createIndexFinder(1, findIndex, sortedIndex), contains = function(r, e, t, n) {
return isArrayLike(r) || (r = values(r)), ("number" != typeof t || n) && (t = 0),
indexOf(r, e, t) >= 0;
}, collectNonEnumProps = function(r, e) {
var t = nonEnumerableProps.length, n = r.constructor, i = isFunction(n) && n.prototype || ObjProto, u = "constructor";
for (has(r, u) && !contains(e, u) && e.push(u); t--; ) (u = nonEnumerableProps[t]) in r && r[u] !== i[u] && !contains(e, u) && e.push(u);
};
module.exports = {
keys: keys,
allKeys: allKeys,
cb: cb,
isArrayLike: isArrayLike,
property: property,
findIndex: findIndex
};