/
dedaMazai
/
BlockNote-on-Firebase
Обзор
Документация
Войти
/
dedaMazai
/
BlockNote-on-Firebase
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/lib/classNames/classNames.ts
24 строки
715 B
Andrey Chipizubov
first commit
13 июл 2023, 22:12
13 июл 2023, 22:12
f0bd3d7
Код
Авторство
О чём код?
export type Mods = Record<string, boolean | string | undefined>; type Argument = string | Mods | Array<string | 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(' '); }