Home / Function/ resolveWith() — tailwindcss Function Reference

resolveWith() — tailwindcss Function Reference

Architecture documentation for the resolveWith() function in theme.ts from the tailwindcss codebase.

Function typescript OxideCore Extractor calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  fb5e61c5_06c8_ebde_b131_be4b13697508["resolveWith()"]
  0866206a_2fd9_ab63_77ac_471d39e47d4c["resolveValueFunction()"]
  0866206a_2fd9_ab63_77ac_471d39e47d4c -->|calls| fb5e61c5_06c8_ebde_b131_be4b13697508
  3e179907_5f92_f314_14dc_f61853c74cad["get()"]
  fb5e61c5_06c8_ebde_b131_be4b13697508 -->|calls| 3e179907_5f92_f314_14dc_f61853c74cad
  style fb5e61c5_06c8_ebde_b131_be4b13697508 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/theme.ts lines 245–274

  resolveWith(
    candidateValue: string,
    themeKeys: ThemeKey[],
    nestedKeys: `--${string}`[] = [],
  ): [string, Record<string, string>] | null {
    let themeKey = this.#resolveKey(candidateValue, themeKeys)

    if (!themeKey) return null

    let extra = {} as Record<string, string>
    for (let name of nestedKeys) {
      let nestedKey = `${themeKey}${name}`
      let nestedValue = this.values.get(nestedKey)!
      if (!nestedValue) continue

      if (nestedValue.options & ThemeOptions.INLINE) {
        extra[name] = nestedValue.value
      } else {
        extra[name] = this.#var(nestedKey)!
      }
    }

    let value = this.values.get(themeKey)!

    if (value.options & ThemeOptions.INLINE) {
      return [value.value, extra]
    }

    return [this.#var(themeKey)!, extra]
  }

Domain

Subdomains

Calls

Frequently Asked Questions

What does resolveWith() do?
resolveWith() is a function in the tailwindcss codebase.
What does resolveWith() call?
resolveWith() calls 1 function(s): get.
What calls resolveWith()?
resolveWith() is called by 1 function(s): resolveValueFunction.

Analyze Your Own Codebase

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

Try Supermodel Free