Skip to main content
Glama
prefixSelector.js992 B
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 }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MatheusgVentura/Project-One'

If you have feedback or need assistance with the MCP directory API, please join our Discord server