Files
kit/assets/support/support.js
T
2021-10-11 11:00:09 +03:00

81 lines
2.1 KiB
JavaScript

/** @module support */
__PluginManager__.register('support', function(module, exports, require, global){
var str = {
ucFirst: function (str) {
if (!str) return str;
return str[0].toUpperCase() + str.slice(1);
}
};
var arr = {
isKey: function (key) {
var n = Number(key);
return isInteger(n) && (''+n === ''+key);
}
};
function uniqueId (length = 32, firstLetter = true) {
var idStr = '';
if(length < 1) return idStr;
if(firstLetter) {
length && (idStr = (Math.floor((Math.random() * 25)) + 10).toString(36));
if (length === 1) return idStr;
}
do {
idStr += (Math.floor((Math.random() * 35))).toString(36);
} while (idStr.length < length);
return (idStr);
}
function valueEx(value) {
var arg = [];
if(arguments.length > 1)
for(var i = 1; arguments.length - 1 >= i;i++) {
arg.push(arguments[i]);
}
if(typeof value === 'function') {
return value.apply(this, arg);
}
return value;
}
function empty(val){
return arguments.length === 0 ||
val === undefined ||
val === null ||
Number.isNaN(val) === true ||
val === '' ||
val === 0 ||
val === false;
}
function typeOf(value) {
return typeof value;
}
function isObject(value) {
return typeOf(value) === 'object' ? value !== null : typeof value === 'function';
}
function isNumber(value) {
return !Number.isNaN(value) && isFinite(value) && typeof value === 'number';
}
function isInteger(value) {
return isNumber(value) && (value % 1) === 0;
}
function isFloat(value) {
return isNumber(value);
}
/**
* @memberOf kit
*/
var support = {
str: str,
arr: arr,
uniqueId,
valueEx,
empty,
isNumber,
typeOf,
isObject,
isInteger,
isFloat,
};
return module.exports = support;
});