Home / Function/ extract_byte_literal() — tailwindcss Function Reference

extract_byte_literal() — tailwindcss Function Reference

Architecture documentation for the extract_byte_literal() function in lib.rs from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  6d986fa3_cbdd_c2e5_2c14_772dbc5636db["extract_byte_literal()"]
  b8828b41_ff6f_bd1d_8645_341d50421c63["lib.rs"]
  6d986fa3_cbdd_c2e5_2c14_772dbc5636db -->|defined in| b8828b41_ff6f_bd1d_8645_341d50421c63
  6f2dbc97_8297_79c1_9a4d_b21e7d8ed74e["parse_bytes_range_attr()"]
  6f2dbc97_8297_79c1_9a4d_b21e7d8ed74e -->|calls| 6d986fa3_cbdd_c2e5_2c14_772dbc5636db
  style 6d986fa3_cbdd_c2e5_2c14_772dbc5636db fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

crates/classification-macros/src/lib.rs lines 223–253

fn extract_byte_literal(expr: &Expr) -> Result<u8> {
    if let Expr::Lit(ExprLit { lit, .. }) = expr {
        match lit {
            // Existing case: b'a'
            Lit::Byte(lb) => Ok(lb.value()),

            // New case: 0x80, 255, etc.
            Lit::Int(li) => {
                let value = li.base10_parse::<u64>()?;
                if value <= 255 {
                    Ok(value as u8)
                } else {
                    Err(syn::Error::new_spanned(
                        li,
                        format!("Integer literal {} out of range for a byte (0..255)", value),
                    ))
                }
            }

            _ => Err(syn::Error::new_spanned(
                lit,
                "Expected b'...' or an integer literal in range 0..=255",
            )),
        }
    } else {
        Err(syn::Error::new_spanned(
            expr,
            "Expected a literal expression like b'a' or 0x80",
        ))
    }
}

Domain

Subdomains

Frequently Asked Questions

What does extract_byte_literal() do?
extract_byte_literal() is a function in the tailwindcss codebase, defined in crates/classification-macros/src/lib.rs.
Where is extract_byte_literal() defined?
extract_byte_literal() is defined in crates/classification-macros/src/lib.rs at line 223.
What calls extract_byte_literal()?
extract_byte_literal() is called by 1 function(s): parse_bytes_range_attr.

Analyze Your Own Codebase

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

Try Supermodel Free