Home / File/ arbitrary_variable_machine.rs — tailwindcss Source File

arbitrary_variable_machine.rs — tailwindcss Source File

Architecture documentation for arbitrary_variable_machine.rs, a rust file in the tailwindcss codebase. 10 imports, 0 dependents.

File rust Oxide Extractor 10 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  68044bbd_69a5_87e9_d616_0bc304991559["arbitrary_variable_machine.rs"]
  6476fcc6_c19b_984c_4c1c_3a1affa12cc0["super::ArbitraryVariableMachine"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 6476fcc6_c19b_984c_4c1c_3a1affa12cc0
  96a36755_a007_15e1_ec6c_526c02d24b9b["crate::cursor"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 96a36755_a007_15e1_ec6c_526c02d24b9b
  c4d29b89_2191_f275_13fb_7cf117340055["crate::extractor::bracket_stack::BracketStack"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> c4d29b89_2191_f275_13fb_7cf117340055
  bdd1c208_033b_28cd_aac4_b20c5b93d56a["crate::extractor::css_variable_machine::CssVariableMachine"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> bdd1c208_033b_28cd_aac4_b20c5b93d56a
  05907c18_a40e_a5a9_c7c3_5faba98e1e87["crate::extractor::machine::"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 05907c18_a40e_a5a9_c7c3_5faba98e1e87
  97660f8c_0153_2876_c098_776592fda81c["crate::extractor::string_machine::StringMachine"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 97660f8c_0153_2876_c098_776592fda81c
  7a907858_c7d2_db19_0e89_e3d1d2242e48["classification_macros::ClassifyBytes"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 7a907858_c7d2_db19_0e89_e3d1d2242e48
  142fa702_89b6_67b8_98c2_0b9511d45aa0["std::marker::PhantomData"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 142fa702_89b6_67b8_98c2_0b9511d45aa0
  9e6a1b6c_10c8_203c_88f1_d44384e0e31f["crate::extractor::"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 9e6a1b6c_10c8_203c_88f1_d44384e0e31f
  433675ca_8d0e_feff_42a5_b3f666878cca["pretty_assertions::assert_eq"]
  68044bbd_69a5_87e9_d616_0bc304991559 --> 433675ca_8d0e_feff_42a5_b3f666878cca
  style 68044bbd_69a5_87e9_d616_0bc304991559 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

use crate::cursor;
use crate::extractor::bracket_stack::BracketStack;
use crate::extractor::css_variable_machine::CssVariableMachine;
use crate::extractor::machine::{Machine, MachineState};
use crate::extractor::string_machine::StringMachine;
use classification_macros::ClassifyBytes;
use std::marker::PhantomData;

#[derive(Debug, Default)]
pub struct IdleState;

/// Currently parsing the inside of the arbitrary variable
///
/// ```text
/// (--my-opacity)
///  ^^^^^^^^^^^^
/// ```
#[derive(Debug, Default)]
pub struct ParsingState;

/// Currently parsing the data type of the arbitrary variable
///
/// ```text
/// (length:--my-opacity)
///  ^^^^^^^
/// ```
#[derive(Debug, Default)]
pub struct ParsingDataTypeState;

/// Currently parsing the fallback of the arbitrary variable
///
/// ```text
/// (--my-opacity,50%)
///              ^^^^
/// ```
#[derive(Debug, Default)]
pub struct ParsingFallbackState;

/// Extracts arbitrary variables including the parens.
///
/// E.g.:
///
/// ```text
/// (--my-value)
/// ^^^^^^^^^^^^
///
/// bg-red-500/(--my-opacity)
///            ^^^^^^^^^^^^^^
/// ```
#[derive(Debug, Default)]
pub struct ArbitraryVariableMachine<State = IdleState> {
    /// Start position of the arbitrary variable
    start_pos: usize,

    /// Track brackets to ensure they are balanced
    bracket_stack: BracketStack,

    string_machine: StringMachine,
    css_variable_machine: CssVariableMachine,

// ... (354 more lines)

Domain

Subdomains

Dependencies

  • classification_macros::ClassifyBytes
  • crate::cursor
  • crate::extractor::
  • crate::extractor::bracket_stack::BracketStack
  • crate::extractor::css_variable_machine::CssVariableMachine
  • crate::extractor::machine::
  • crate::extractor::string_machine::StringMachine
  • pretty_assertions::assert_eq
  • std::marker::PhantomData
  • super::ArbitraryVariableMachine

Frequently Asked Questions

What does arbitrary_variable_machine.rs do?
arbitrary_variable_machine.rs is a source file in the tailwindcss codebase, written in rust. It belongs to the Oxide domain, Extractor subdomain.
What functions are defined in arbitrary_variable_machine.rs?
arbitrary_variable_machine.rs defines 6 function(s): next, reset, test_arbitrary_variable_extraction, test_arbitrary_variable_machine_performance, test_exceptions, transition.
What does arbitrary_variable_machine.rs depend on?
arbitrary_variable_machine.rs imports 10 module(s): classification_macros::ClassifyBytes, crate::cursor, crate::extractor::, crate::extractor::bracket_stack::BracketStack, crate::extractor::css_variable_machine::CssVariableMachine, crate::extractor::machine::, crate::extractor::string_machine::StringMachine, pretty_assertions::assert_eq, and 2 more.
Where is arbitrary_variable_machine.rs in the architecture?
arbitrary_variable_machine.rs is located at crates/oxide/src/extractor/arbitrary_variable_machine.rs (domain: Oxide, subdomain: Extractor, directory: crates/oxide/src/extractor).

Analyze Your Own Codebase

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

Try Supermodel Free