| 1234567891011121314151617181920212223242526 |
- import { isArray, isString, isObject } from './util';
- function classNames() {
- const classes = [];
- for (let i = 0; i < arguments.length; i++) {
- const value = i < 0 || arguments.length <= i ? undefined : arguments[i];
- if (!value) continue;
- if (isString(value)) {
- classes.push(value);
- } else if (isArray(value)) {
- for (let i = 0; i < value.length; i++) {
- const inner = classNames(value[i]);
- if (inner) {
- classes.push(inner);
- }
- }
- } else if (isObject(value)) {
- for (const name in value) {
- if (value[name]) {
- classes.push(name);
- }
- }
- }
- }
- return classes.join(' ');
- }
- export default classNames;
|