/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/tailwindcss/src/util/prefixSelector.js
33 строки
992 B
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
import parser from 'postcss-selector-parser' /** * @template {string | import('postcss-selector-parser').Root} T * * Prefix all classes in the selector with the given prefix * * It can take either a string or a selector AST and will return the same type * * @param {string} prefix * @param {T} selector * @param {boolean} prependNegative * @returns {T} */ export default function (prefix, selector, prependNegative = false) { if (prefix === '') { return selector } /** @type {import('postcss-selector-parser').Root} */ let ast = typeof selector === 'string' ? parser().astSync(selector) : selector ast.walkClasses((classSelector) => { let baseClass = classSelector.value let shouldPlaceNegativeBeforePrefix = prependNegative && baseClass.startsWith('-') classSelector.value = shouldPlaceNegativeBeforePrefix ? `-${prefix}${baseClass.slice(1)}` : `${prefix}${baseClass}` }) return typeof selector === 'string' ? ast.toString() : ast }