This commit is contained in:
2021-10-30 17:20:26 +03:00
parent 1a29c16bcd
commit cd65398fb0
18 changed files with 855 additions and 290 deletions
+47 -3
View File
@@ -1,6 +1,11 @@
/** @module support */
__PluginManager__.register('support', function(module, exports, require, global){
var node = {
isRelate: function (node, container = document) {
return node === container || container.contains(node);
}
};
var str = {
ucFirst: function (str) {
if (!str) return str;
@@ -26,13 +31,13 @@ __PluginManager__.register('support', function(module, exports, require, global)
return (idStr);
}
function valueEx(value) {
var arg = [];
var args = [];
if(arguments.length > 1)
for(var i = 1; arguments.length - 1 >= i;i++) {
arg.push(arguments[i]);
args.push(arguments[i]);
}
if(typeof value === 'function') {
return value.apply(this, arg);
return value.apply(this, args);
}
return value;
}
@@ -60,10 +65,46 @@ __PluginManager__.register('support', function(module, exports, require, global)
function isFloat(value) {
return isNumber(value);
}
function isString(value) {
return typeof value === 'string';
}
function isNode(value) {
return value instanceof Node;
}
function isElement(value) {
return value instanceof Element;
}
/**
* @param selector
* @return Element
*/
function getNode(selector) {
if(isString(selector)) {
return document.querySelector(selector);
}
if(isNode(selector) || isElement(selector)) {
return selector;
}
return undefined;
}
var nameFromToStringRegex = /^function\s?([^\s(]*)/;
function className(object, defaultName) {
var result = "";
if (typeof object === 'function') {
result = object.name || object.toString().match(nameFromToStringRegex)[1];
} else if (typeof object.constructor === 'function') {
result = className(object.constructor, defaultName);
}
return result || defaultName;
}
/**
* @memberOf kit
*/
var support = {
node: node,
str: str,
arr: arr,
uniqueId,
@@ -74,6 +115,9 @@ __PluginManager__.register('support', function(module, exports, require, global)
isObject,
isInteger,
isFloat,
isString,
isNode,
getNode,
};
return module.exports = support;