/
dedaMazai
/
chatAI
Обзор
Документация
Войти
/
dedaMazai
/
chatAI
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/shared/lib/classNames/classNames.ts
24 строки
734 B
Andrey Chipizubov
first commit
09 сен 2023, 20:32
09 сен 2023, 20:32
2671099
Код
Авторство
О чём код?
export type Mods = Record<string, boolean | string | undefined>; export type Argument = string | Mods | Array<string | undefined> | undefined; export function classNames(...args: Array<Argument>): string { return args .map((arg) => { if (typeof arg === 'string') { return arg; } if (Array.isArray(arg)) { return arg.filter(Boolean).join(' '); } if (typeof arg === 'object') { return Object.entries(arg) .filter(([_, value]) => !!value) .map(([className]) => className) .join(' '); } return ''; }) .join(' '); }