Home / Function/ createCanonicalizeVariantCache() — tailwindcss Function Reference

createCanonicalizeVariantCache() — tailwindcss Function Reference

Architecture documentation for the createCanonicalizeVariantCache() function in canonicalize-candidates.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  5bdfb953_439c_4d74_3f00_bec431e76595["createCanonicalizeVariantCache()"]
  20406e7c_6ee8_4626_dbef_5b37708f4d30["prepareDesignSystemStorage()"]
  20406e7c_6ee8_4626_dbef_5b37708f4d30 -->|calls| 5bdfb953_439c_4d74_3f00_bec431e76595
  f927b9d4_0b5b_6cb1_35cd_6e24646097b0["cloneVariant()"]
  5bdfb953_439c_4d74_3f00_bec431e76595 -->|calls| f927b9d4_0b5b_6cb1_35cd_6e24646097b0
  style 5bdfb953_439c_4d74_3f00_bec431e76595 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/canonicalize-candidates.ts lines 496–516

function createCanonicalizeVariantCache(): DesignSystem['storage'][typeof CANONICALIZE_VARIANT_KEY] {
  return new DefaultMap((options: InternalCanonicalizeOptions) => {
    return new DefaultMap((variant: Variant): Variant[] => {
      let replacement = [variant]
      for (let fn of VARIANT_CANONICALIZATIONS) {
        for (let current of replacement.splice(0)) {
          // A single variant can result in multiple variants, e.g.:
          // `[&>[data-selected]]:flex` → `*:data-selected:flex`
          let result = fn(cloneVariant(current), options)
          if (Array.isArray(result)) {
            replacement.push(...result)
            continue
          } else {
            replacement.push(result)
          }
        }
      }
      return replacement
    })
  })
}

Subdomains

Frequently Asked Questions

What does createCanonicalizeVariantCache() do?
createCanonicalizeVariantCache() is a function in the tailwindcss codebase.
What does createCanonicalizeVariantCache() call?
createCanonicalizeVariantCache() calls 1 function(s): cloneVariant.
What calls createCanonicalizeVariantCache()?
createCanonicalizeVariantCache() is called by 1 function(s): prepareDesignSystemStorage.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free