You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
1.7 KiB

/* utils */
/**
* addUnit */
// 为 css 添加单位
function addUnit(value) {
var REGEXP = getRegExp('^\d+(.\d+)?$');
if (value == null) {
return undefined;
}
return REGEXP.test('' + value) ? value + 'px' : value;
}
function isString(string) {
return string && string.constructor === 'String';
}
function isArray(array) {
return array && array.constructor === 'Array';
}
function isObject(obj) {
return obj && obj.constructor === 'Object';
}
var isNoEmptyObj = function (obj) {
return isObject(obj) && JSON.stringify(obj) !== '{}';
};
function includes(arr, value) {
if (!arr || !isArray(arr)) return false;
var i = 0;
var len = arr.length;
for (; i < len; i++) {
if (arr[i] === value) return true;
}
return false;
}
function cls(base, arr) {
var res = [base];
var i = 0;
for (size = arr.length; i < size; i++) {
var item = arr[i];
if (item && item.constructor === 'Array') {
var key = arr[i][0];
var value = arr[i][1];
if (value) {
res.push(base + '--' + key);
}
} else if (typeof item === 'string') {
if (item) {
res.push(base + '--' + item);
}
}
}
return res.join(' ');
}
function endsWith(str, endStr) {
return str.slice(-endStr.length) === endStr ? true : false;
}
function _style(arr) {
var res = [];
var r = arr.filter(function (s) {
return s && s.trim();
});
for (i = 0; i < r.length; i++) {
if (endsWith(r[i], ';')) {
res.push(r[i]);
} else {
res.push(r[i] + ';');
}
}
return res.join(' ');
}
module.exports = {
addUnit: addUnit,
isString: isString,
isArray: isArray,
isObject: isObject,
isNoEmptyObj: isNoEmptyObj,
includes: includes,
cls: cls,
_style: _style,
};