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