Home / Function/ arbitraryValueToBareValueUtility() — tailwindcss Function Reference

arbitraryValueToBareValueUtility() — tailwindcss Function Reference

Architecture documentation for the arbitraryValueToBareValueUtility() function in canonicalize-candidates.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  73040e7b_47a1_9040_bf74_f4c58b190a2f["arbitraryValueToBareValueUtility()"]
  4c29981d_a61a_00fb_b3b5_5a69228c4fff["printCandidate()"]
  73040e7b_47a1_9040_bf74_f4c58b190a2f -->|calls| 4c29981d_a61a_00fb_b3b5_5a69228c4fff
  9b136014_1c89_69bd_c68a_71707da43497["tryValueReplacements()"]
  73040e7b_47a1_9040_bf74_f4c58b190a2f -->|calls| 9b136014_1c89_69bd_c68a_71707da43497
  0aa64a1c_efd8_a69d_48ed_649b7a86c854["get()"]
  73040e7b_47a1_9040_bf74_f4c58b190a2f -->|calls| 0aa64a1c_efd8_a69d_48ed_649b7a86c854
  style 73040e7b_47a1_9040_bf74_f4c58b190a2f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/canonicalize-candidates.ts lines 1367–1391

function arbitraryValueToBareValueUtility(
  candidate: Candidate,
  options: InternalCanonicalizeOptions,
): Candidate {
  // We are only interested in functional utilities with arbitrary values
  if (candidate.kind !== 'functional' || candidate.value?.kind !== 'arbitrary') {
    return candidate
  }

  let designSystem = options.designSystem
  let signatures = designSystem.storage[UTILITY_SIGNATURE_KEY].get(options.signatureOptions)

  let expectedSignature = signatures.get(designSystem.printCandidate(candidate))
  if (expectedSignature === null) return candidate

  for (let value of tryValueReplacements(candidate)) {
    let newSignature = signatures.get(designSystem.printCandidate({ ...candidate, value }))
    if (newSignature === expectedSignature) {
      candidate.value = value
      return candidate
    }
  }

  return candidate
}

Domain

Subdomains

Frequently Asked Questions

What does arbitraryValueToBareValueUtility() do?
arbitraryValueToBareValueUtility() is a function in the tailwindcss codebase.
What does arbitraryValueToBareValueUtility() call?
arbitraryValueToBareValueUtility() calls 3 function(s): get, printCandidate, tryValueReplacements.

Analyze Your Own Codebase

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

Try Supermodel Free