amos-tool
Version:
amos ui tool
335 lines (315 loc) • 11.9 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), _typeOfList = require("./_typeOfList"), ObjProto = Object.prototype, toString = ObjProto.toString, hasOwnProperty = ObjProto.hasOwnProperty, nativeIsArray = Array.isArray, nativeKeys = Object.keys, BUILTIN_OBJECT = _typeOfList.BUILTIN_OBJECT, TYPED_ARRAY = _typeOfList.TYPED_ARRAY, property = function(e) {
return function(t) {
return null == t ? void 0 : t[e];
};
}, MAX_ARRAY_INDEX = Math.pow(2, 53) - 1, getLength = property("length"), isArrayLike = function(e) {
var t = getLength(e);
return "number" == typeof t && t >= 0 && t <= MAX_ARRAY_INDEX;
}, isNumber = function(e) {
if (isArray(e)) return !1;
if (isObject(e)) return !1;
var t = /^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(e), n = "number" == typeof e && !isNaN(e);
return t || n;
}, isENumber = function(e) {
if ("number" == typeof e) return !0;
if (isNumber(e)) return !0;
if (isString(e) && (e.indexOf("e") > -1 || e.indexOf("E") > -1)) {
var t = Number(e);
return isNumber(t);
}
return !1;
}, isFloat = function(e) {
return /^-?\d+(\.\d+)?$/.test(e);
}, isOpacity = function(e) {
return /^-?\d+(\.\d+)?$/.test(e);
}, toFloat = function(e) {
return isNumber(e) ? Number(e) : Number(0);
}, isString = function(e) {
return "[object String]" === toString.call(e);
}, isArray = nativeIsArray || function(e) {
return "[object Array]" === toString.call(e);
}, isArguments = function(e) {
return "[object Arguments]" === toString.call(e);
}, isObject = function(e) {
var t = (0, _typeof2.default)(e);
return "function" === t || "object" === t && !!e;
}, isOnlyObject = function(e) {
return "object" === (0, _typeof2.default)(e) && "[object Object]" === toString.call(e) && !!e;
}, isBoolean = function(e) {
return !0 === e || !1 === e || "[object Boolean]" === toString.call(e);
}, isFunction = function(e) {
return "[object Function]" === toString.call(e);
}, isNull = function(e) {
return null === e;
}, isUndefined = function(e) {
return void 0 === e;
}, isNil = function(e) {
return null == e;
}, isBlank = function(e) {
return isNil(e) || "" === e;
};
function isNullOrUndefined(e) {
return null == e;
}
var isEmptyObject = function(e) {
if (e) for (var t in e) if (hasOwnProperty.call(e, t)) return !1;
return !0;
}, has = function(e, t) {
if (!isArray(t)) return null != e && Object.prototype.hasOwnProperty.call(e, t);
for (var n = t.length, r = 0; r < n; r++) {
var i = t[r];
if (null == e || !Object.prototype.hasOwnProperty.call(e, i)) return !1;
e = e[i];
}
return !!n;
}, keys = function(e) {
if (!isObject(e)) return [];
if (nativeKeys) return nativeKeys(e);
var t = [];
for (var n in e) has(e, n) && t.push(n);
return t;
}, values = function(e) {
for (var t = keys(e), n = t.length, r = Array(n), i = 0; i < n; i++) r[i] = e[t[i]];
return r;
}, noop = function() {}, isEmpty = function(e) {
return null == e || (isArrayLike(e) && (isArray(e) || isString(e) || isArguments(e)) ? 0 === e.length : 0 === keys(e).length);
}, isElement = function(e) {
return !(!e || 1 !== e.nodeType);
}, isHTMLElement = function(e) {
return window.HTMLElement || window.Element ? e instanceof (window.HTMLElement || window.Element) : e && "object" === ("undefined" == typeof n ? "undefined" : (0,
_typeof2.default)(n)) && 1 === e.nodeType && "string" == typeof e.nodeName;
}, isSVGElement = function(e) {
return window.SVGElement && e instanceof window.SVGElement;
};
function isDom(e) {
return "object" === (0, _typeof2.default)(e) && "number" == typeof e.nodeType && "object" === (0,
_typeof2.default)(e.ownerDocument);
}
function isUrl(e) {
return isString(e) && (/^https?:\/\/(?!\-)(?:(([0-9]{1,3}\.){3}[0-9]{1,3}))(:[0-9]{1,4}\/)?/.test(e) || /^https?:\/\/(?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63}/.test(e) || /^https?:\/\/localhost.*/.test(e));
}
function isBuiltInObject(e) {
return !!BUILTIN_OBJECT[toString.call(e)];
}
var null2default = function(e) {
return isNull(e) || isUndefined(e) ? "" : e;
}, isJson = function(e) {
return "object" === (0, _typeof2.default)(e) && "[object object]" === toString.call(e).toLowerCase() && !e.length;
};
function isSymbol(e) {
return "symbol" === (0, _typeof2.default)(e);
}
function isDate(e) {
return "[object Date]" === toString.call(e);
}
function _isJSON(e) {
return !!isString(e) && (e = e.replace(/\s/g, "").replace(/\n|\r/, ""), /^\{(.*?)\}$/.test(e) ? /"(.*?)":(.*?)/g.test(e) : !!/^\[(.*?)\]$/.test(e) && e.replace(/^\[/, "").replace(/\]$/, "").replace(/},{/g, "}\n{").split(/\n/).map(function(e) {
return _isJSON(e);
}).reduce(function(e, t) {
return !!t;
}));
}
var stringIsJson = function(e) {
try {
var t = JSON.parse(e);
return isString(t) && (t = JSON.parse(t)), !(isNil(t) || !isArray(t) && !isObject(t));
} catch (t) {
return _isJSON(e);
}
}, isKeyInObject = function(e, t) {
if (isNil(t) || !isObject(t)) return !1;
isString(e) && (e = [ e ]);
var n = 0;
return e.forEach(function(e) {
e in t && n++;
}), e.length === n;
}, isOwnKeyInObject = function(e, t) {
if (isNil(t) || !isObject(t)) return !1;
isString(e) && (e = [ e ]);
var n = 0;
return e.forEach(function(e) {
e in t && hasOwnProperty.call(t, e) && n++;
}), e.length === n;
}, simpleEqual = function(e, t) {
if (e === t) return !0;
if ("object" !== (0, _typeof2.default)(e) || null === e || "object" !== (0, _typeof2.default)(t) || null === t) return !1;
var n = nativeKeys(e), r = nativeKeys(t);
if (n.length !== r.length) return !1;
for (var i = hasOwnProperty.bind(t), o = 0; o < n.length; o++) if (!i(n[o]) || e[n[o]] !== t[n[o]]) return !1;
return !0;
}, isImageSrc = function() {
var e = /data:image\/(jpe?g|png|gif|bmp|ico|tga|svg(\+xml)?);base64,/i, t = /.(jpe?g|png|gif|bmp|ico|tga|svg)(\?.*)?$/i;
return function(n) {
return e.test(n) || t.test(n);
};
}(), isGIF = function() {
var e = /data:image\/(GIF|gif);base64,/i, t = /.(GIF|gif)(\?.*)?$/i;
return function(n) {
return e.test(n) || t.test(n);
};
}(), encodeNumber = function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 3, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 4, r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "*", i = String(e), o = t + n, s = r.repeat(n);
return i.length > o ? i.substr(0, t) + s + i.substr(o) : i.substr(0, t) + s;
}, getFileExtension = function(e) {
if (e) {
var t = e.lastIndexOf(".");
return t > 0 ? e.substring(t + 1) : "";
}
return "";
}, fileSizeToByte = function(e) {
var t = {
t: 1099511627776,
g: 1073741824,
m: 1048576,
k: 1024
};
if (!e) return 0;
if (!isString(e)) return e;
e = e.toLocaleLowerCase().replace(/\s*/g, "");
var n = (e = /^([0-9\.]+)([tgmk]?)b?$/i.exec(e))[2];
return e = +e[1], t.hasOwnProperty(n) && (e *= t[n]), e;
}, some = function(e, t) {
if (null == e) throw new TypeError;
var n = Object(e), r = n.length >>> 0;
if ("function" != typeof t) throw new TypeError;
for (var i = arguments.length >= 3 ? arguments[2] : void 0, o = 0; o < r; o++) if (o in n && t.call(i, n[o], o, n)) return !0;
return !1;
}, every = function(e, t, n) {
var r, i;
if (null == e) throw new TypeError("arr is null or not defined");
var o = Object(e), s = o.length >>> 0;
if ("function" != typeof t) throw new TypeError;
for (arguments.length > 2 && (r = n), i = 0; i < s; ) {
var u;
if (i in o) if (u = o[i], !t.call(r, u, i, o)) return !1;
i++;
}
return !0;
}, reduce = function(e, t) {
if (null === e) throw new TypeError("Array.prototype.reduce called on null or undefined");
if ("function" != typeof t) throw new TypeError(t + " is not a function");
var n, r = Object(e), i = r.length >>> 0, o = 0;
if (arguments.length >= 3) n = arguments[2]; else {
for (;o < i && !(o in r); ) o++;
if (o >= i) throw new TypeError("Reduce of empty array with no initial value");
n = r[o++];
}
for (;o < i; ) o in r && (n = t(n, r[o], o, r)), o++;
return n;
}, parse2string = function(e) {
return isEmpty(e) ? "" : JSON.stringify(e);
}, parse2object = function(e) {
return isEmpty(e) ? null : JSON.parse(e);
}, dataToArray = function(e) {
return isArray(e) ? e : [ e ];
};
function clone(e) {
if (null == e || "object" != (0, _typeof2.default)(e)) return e;
var t = e, n = toString.call(e);
if ("[object Array]" === n) {
t = [];
for (var r = 0, i = e.length; r < i; r++) t[r] = clone(e[r]);
} else if (TYPED_ARRAY[n]) {
var o = e.constructor;
if (e.constructor.from) t = o.from(e); else {
t = new o(e.length);
for (var s = 0, u = e.length; s < u; s++) t[s] = clone(e[s]);
}
} else if (!BUILTIN_OBJECT[n] && !isDom(e)) for (var l in t = {}, e) e.hasOwnProperty(l) && (t[l] = clone(e[l]));
return t;
}
function merge(e, t, n) {
if (!isObject(t) || !isObject(e)) return n ? clone(t) : e;
for (var r in t) if (t.hasOwnProperty(r)) {
var i = e[r], o = t[r];
!isObject(o) || !isObject(i) || isArray(o) || isArray(i) || isDom(o) || isDom(i) || isBuiltInObject(o) || isBuiltInObject(i) ? !n && r in e || (e[r] = clone(t[r])) : merge(i, o, n);
}
return e;
}
function mergeAll(e, t) {
for (var n = e[0], r = 1, i = e.length; r < i; r++) n = merge(n, e[r], t);
return n;
}
function subObjectEqual(e, t) {
return !(!isEmpty(e) && !isEmpty(t)) || (e === t || !Object.keys(t).some(function(n) {
return n in e && t[n] !== e[n];
}));
}
function isPromise(e) {
return !isNull(e) && "object" === (0, _typeof2.default)(e) && (e instanceof Promise || "[object Promise]" === toString.call(e) || e.then && isFunction(e.then));
}
function isRegExp(e) {
return !isNull(e) && "object" === (0, _typeof2.default)(e) && (e instanceof RegExp || "[object RegExp]" === toString.call(e));
}
function slpitArray(e, t) {
var n = e.length, r = [];
if (t <= n) for (var i = Math.ceil(n / t), o = 0; o < t; o++) {
var s = e.slice(o * i, o * i + i);
r.push(s);
} else r.push(e.slice());
return r;
}
function checkFileName(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 259;
if (isNil(e)) return !1;
if (!isString(e) && !isNumber(e)) return !1;
if ((e = String(e)).length > t) return !1;
return !/[\\/:\*\?"<>\|]/g.test(e) && (!e.endsWith(" ") && !e.startsWith(" ") && ("." !== e && " " !== e));
}
module.exports = {
isString: isString,
isArray: isArray,
isObject: isObject,
isOnlyObject: isOnlyObject,
isBoolean: isBoolean,
isFunction: isFunction,
isNumber: isNumber,
isENumber: isENumber,
isFloat: isFloat,
isOpacity: isOpacity,
toFloat: toFloat,
isNull: isNull,
isUndefined: isUndefined,
isNil: isNil,
isBlank: isBlank,
isNullOrUndefined: isNullOrUndefined,
has: has,
values: values,
noop: noop,
isEmpty: isEmpty,
isEmptyObject: isEmptyObject,
isElement: isElement,
isHTMLElement: isHTMLElement,
isSVGElement: isSVGElement,
isDom: isDom,
isUrl: isUrl,
isBuiltInObject: isBuiltInObject,
null2default: null2default,
isJson: isJson,
isSymbol: isSymbol,
isDate: isDate,
stringIsJson: stringIsJson,
isKeyInObject: isKeyInObject,
isOwnKeyInObject: isOwnKeyInObject,
simpleEqual: simpleEqual,
isImageSrc: isImageSrc,
isGIF: isGIF,
encodeNumber: encodeNumber,
getFileExtension: getFileExtension,
fileSizeToByte: fileSizeToByte,
some: some,
every: every,
reduce: reduce,
parse2string: parse2string,
parse2object: parse2object,
dataToArray: dataToArray,
clone: clone,
merge: merge,
mergeAll: mergeAll,
subObjectEqual: subObjectEqual,
isPromise: isPromise,
isRegExp: isRegExp,
slpitArray: slpitArray,
checkFileName: checkFileName
};