Home / Function/ cloneVariant() — tailwindcss Function Reference

cloneVariant() — tailwindcss Function Reference

Architecture documentation for the cloneVariant() function in candidate.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  2c0c2c48_7c07_0936_20b9_afcd7eca56e9["cloneVariant()"]
  ba6fca27_7720_5839_0f92_bc2abb8db636["candidate.ts"]
  2c0c2c48_7c07_0936_20b9_afcd7eca56e9 -->|defined in| ba6fca27_7720_5839_0f92_bc2abb8db636
  af66ef48_06e1_4616_a217_517303b2b6d2["createCanonicalizeVariantCache()"]
  af66ef48_06e1_4616_a217_517303b2b6d2 -->|calls| 2c0c2c48_7c07_0936_20b9_afcd7eca56e9
  style 2c0c2c48_7c07_0936_20b9_afcd7eca56e9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/candidate.ts lines 275–314

export function cloneVariant<T extends Variant>(variant: T): T {
  switch (variant.kind) {
    case 'arbitrary':
      return {
        kind: variant.kind,
        selector: variant.selector,
        relative: variant.relative,
      } satisfies Extract<Variant, { kind: 'arbitrary' }> as T

    case 'static':
      return { kind: variant.kind, root: variant.root } satisfies Extract<
        Variant,
        { kind: 'static' }
      > as T

    case 'functional':
      return {
        kind: variant.kind,
        root: variant.root,
        value: variant.value ? { kind: variant.value.kind, value: variant.value.value } : null,
        modifier: variant.modifier
          ? { kind: variant.modifier.kind, value: variant.modifier.value }
          : null,
      } satisfies Extract<Variant, { kind: 'functional' }> as T

    case 'compound':
      return {
        kind: variant.kind,
        root: variant.root,
        variant: cloneVariant(variant.variant),
        modifier: variant.modifier
          ? { kind: variant.modifier.kind, value: variant.modifier.value }
          : null,
      } satisfies Extract<Variant, { kind: 'compound' }> as T

    default:
      variant satisfies never
      throw new Error('Unknown variant kind')
  }
}

Domain

Subdomains

Frequently Asked Questions

What does cloneVariant() do?
cloneVariant() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/candidate.ts.
Where is cloneVariant() defined?
cloneVariant() is defined in packages/tailwindcss/src/candidate.ts at line 275.
What calls cloneVariant()?
cloneVariant() is called by 1 function(s): createCanonicalizeVariantCache.

Analyze Your Own Codebase

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

Try Supermodel Free