Home / Function/ walk() — tailwindcss Function Reference

walk() — tailwindcss Function Reference

Architecture documentation for the walk() function in apply-config-to-theme.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a["walk()"]
  3e33c90a_e618_0b36_8589_88cf333c1482["themeableValues()"]
  3e33c90a_e618_0b36_8589_88cf333c1482 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  c11e076e_d776_4d2a_acbf_702c1e172792["createConverterCache()"]
  c11e076e_d776_4d2a_acbf_702c1e172792 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  15f28ada_869b_555c_8da7_3842f1b432c9["substituteFunctionsInValue()"]
  15f28ada_869b_555c_8da7_3842f1b432c9 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  6fea9ec3_967d_9508_b278_ec5bbd5afb24["allVariablesAreUsed()"]
  6fea9ec3_967d_9508_b278_ec5bbd5afb24 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  c17298f2_5925_766a_629e_a0acb211713d["modernizeArbitraryValuesVariant()"]
  c17298f2_5925_766a_629e_a0acb211713d -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  3c29a5ca_8e68_4fa2_4e91_392cf24c5a01["canonicalizeAst()"]
  3c29a5ca_8e68_4fa2_4e91_392cf24c5a01 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  88e17ede_e457_4c87_d3c8_c491a1795810["resolveVariablesInValue()"]
  88e17ede_e457_4c87_d3c8_c491a1795810 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  69cc8435_e606_a151_8be0_cd5f1378ad52["createUtilityPropertiesCache()"]
  69cc8435_e606_a151_8be0_cd5f1378ad52 -->|calls| fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a
  style fd9d5dae_4dbc_46b8_74f1_c7c51a381d0a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/compat/apply-config-to-theme.ts lines 278–303

function walk(
  obj: Record<string, unknown>,
  path: string[] = [],
  callback: (value: unknown, path: string[]) => WalkAction | void,
) {
  for (let key of Reflect.ownKeys(obj) as string[]) {
    let value = obj[key]

    if (value === undefined || value === null) {
      continue
    }

    let keyPath = [...path, key]

    let result = callback(value, keyPath) ?? WalkAction.Continue

    if (result === WalkAction.Skip) continue
    if (result === WalkAction.Stop) return WalkAction.Stop

    if (!Array.isArray(value) && typeof value !== 'object') continue

    if (walk(value as any, keyPath, callback) === WalkAction.Stop) {
      return WalkAction.Stop
    }
  }
}

Domain

Subdomains

Frequently Asked Questions

What does walk() do?
walk() is a function in the tailwindcss codebase.
What calls walk()?
walk() is called by 8 function(s): allVariablesAreUsed, canonicalizeAst, createConverterCache, createUtilityPropertiesCache, modernizeArbitraryValuesVariant, resolveVariablesInValue, substituteFunctionsInValue, themeableValues.

Analyze Your Own Codebase

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

Try Supermodel Free