Skip to main content
Glama
by Ritesh-sudo
create-tailwind-merge.ts1.61 kB
import { createConfigUtils } from './config-utils' import { mergeClassList } from './merge-classlist' import { ClassNameValue, twJoin } from './tw-join' import { AnyConfig } from './types' type CreateConfigFirst = () => AnyConfig type CreateConfigSubsequent = (config: AnyConfig) => AnyConfig type TailwindMerge = (...classLists: ClassNameValue[]) => string type ConfigUtils = ReturnType<typeof createConfigUtils> export function createTailwindMerge( createConfigFirst: CreateConfigFirst, ...createConfigRest: CreateConfigSubsequent[] ): TailwindMerge { let configUtils: ConfigUtils let cacheGet: ConfigUtils['cache']['get'] let cacheSet: ConfigUtils['cache']['set'] let functionToCall = initTailwindMerge function initTailwindMerge(classList: string) { const config = createConfigRest.reduce( (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst() as AnyConfig, ) configUtils = createConfigUtils(config) cacheGet = configUtils.cache.get cacheSet = configUtils.cache.set functionToCall = tailwindMerge return tailwindMerge(classList) } function tailwindMerge(classList: string) { const cachedResult = cacheGet(classList) if (cachedResult) { return cachedResult } const result = mergeClassList(classList, configUtils) cacheSet(classList, result) return result } return function callTailwindMerge() { return functionToCall(twJoin.apply(null, arguments as any)) } }

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/Ritesh-sudo/MCPJobSearch'

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