mix-cn
Version:
一个用于字符串拼接的小工具,常用于 class name 的拼接
2 lines (1 loc) • 626 B
JavaScript
var i=require("a-type-of-js");exports.xcn=function r(...e){const t=[],n=i=>i.trim().replace(/undefined/g," ").replace(/\s+/g," ").split(" ").sort().join(" "),s=r=>{if(i.isUndefined(r)||!i.isString(r))return;const e=n(r).split(" ");e.length&&t.push(...e)};return e.forEach(e=>{if(e&&!i.isTrue(e))if(i.isArray(e))e.forEach(i=>s(r(i)));else if(i.isString(e)||i.isNumber(e))s(e.toString());else if(i.isFunction(e)){const t=e();i.isString(t)?s(t):t.forEach(i=>s(r(i)))}else for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){!0===e[i]&&s(i)}}),n(Array.from(new Set(t)).filter(Boolean).join(" "))??void 0};
;