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
  4e10daf1_e8df_09ec_eff3_b2731de9bfc1["createCanonicalizeVariantCache()"]
  7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e["canonicalize-candidates.ts"]
  4e10daf1_e8df_09ec_eff3_b2731de9bfc1 -->|defined in| 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e
  81ec8f98_1fb2_d7c3_dd65_3a9e51b3be39["prepareDesignSystemStorage()"]
  81ec8f98_1fb2_d7c3_dd65_3a9e51b3be39 -->|calls| 4e10daf1_e8df_09ec_eff3_b2731de9bfc1
  6bba18d7_41ef_d5f0_252c_413cbca6b078["cloneVariant()"]
  4e10daf1_e8df_09ec_eff3_b2731de9bfc1 -->|calls| 6bba18d7_41ef_d5f0_252c_413cbca6b078
  style 4e10daf1_e8df_09ec_eff3_b2731de9bfc1 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, defined in packages/tailwindcss/src/canonicalize-candidates.ts.
Where is createCanonicalizeVariantCache() defined?
createCanonicalizeVariantCache() is defined in packages/tailwindcss/src/canonicalize-candidates.ts at line 496.
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