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
  e1c3673b_1e21_f7aa_3ced_88755dcf5904["cloneVariant()"]
  d497ed7a_208d_0673_d424_ce5c71a06816["candidate.ts"]
  e1c3673b_1e21_f7aa_3ced_88755dcf5904 -->|defined in| d497ed7a_208d_0673_d424_ce5c71a06816
  ea7794e2_7391_ab22_44c4_2ca8f0bfb1b6["createCanonicalizeVariantCache()"]
  ea7794e2_7391_ab22_44c4_2ca8f0bfb1b6 -->|calls| e1c3673b_1e21_f7aa_3ced_88755dcf5904
  style e1c3673b_1e21_f7aa_3ced_88755dcf5904 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