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
  349add93_0f0b_ff49_ea0f_320ba623fdae["createCanonicalizeVariantCache()"]
  207ada18_60f2_10b9_7c9e_99bdb32f4ed7["prepareDesignSystemStorage()"]
  207ada18_60f2_10b9_7c9e_99bdb32f4ed7 -->|calls| 349add93_0f0b_ff49_ea0f_320ba623fdae
  774e6c36_d633_c5a2_6a87_fec4a9b23dc1["cloneVariant()"]
  349add93_0f0b_ff49_ea0f_320ba623fdae -->|calls| 774e6c36_d633_c5a2_6a87_fec4a9b23dc1
  style 349add93_0f0b_ff49_ea0f_320ba623fdae 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
    })
  })
}

Domain

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