Home / Function/ args() — tailwindcss Function Reference

args() — tailwindcss Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  312e8d59_d812_1549_42b8_941bc6fb163b["args()"]
  ea3ae0d1_832a_59e4_44e2_153d1d61064d["convert()"]
  312e8d59_d812_1549_42b8_941bc6fb163b -->|calls| ea3ae0d1_832a_59e4_44e2_153d1d61064d
  style 312e8d59_d812_1549_42b8_941bc6fb163b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/@tailwindcss-cli/src/utils/args.ts lines 70–122

export function args<const T extends Arg>(options: T, argv = process.argv.slice(2)): Result<T> {
  for (let [idx, value] of argv.entries()) {
    if (value === '-') {
      argv[idx] = '__IO_DEFAULT_VALUE__'
    }
  }

  let parsed = parse(argv)

  for (let key in parsed) {
    let value = parsed[key]

    if (key !== '_' && Array.isArray(value)) {
      value = value[value.length - 1]
    }

    if (value === '__IO_DEFAULT_VALUE__') {
      value = '-'
    }

    parsed[key] = value
  }

  let result: { _: string[]; [key: string]: unknown } = {
    _: parsed._,
  }

  for (let [
    flag,
    { type, alias, default: defaultValue = type === 'boolean' ? false : null },
  ] of Object.entries(options)) {
    // Start with the default value
    result[flag] = defaultValue

    // Try to find the `alias`, and map it to long form `flag`
    if (alias) {
      let key = alias.slice(1)
      if (parsed[key] !== undefined) {
        result[flag] = convert(parsed[key], type)
      }
    }

    // Try to find the long form `flag`
    {
      let key = flag.slice(2)
      if (parsed[key] !== undefined) {
        result[flag] = convert(parsed[key], type)
      }
    }
  }

  return result as Result<T>
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does args() do?
args() is a function in the tailwindcss codebase.
What does args() call?
args() calls 1 function(s): convert.

Analyze Your Own Codebase

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

Try Supermodel Free