Home / File/ named_variant_machine.rs — tailwindcss Source File

named_variant_machine.rs — tailwindcss Source File

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

File rust OxideEngine Extractor 10 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  023da2b4_cf3e_9971_a872_af94f786ed63["named_variant_machine.rs"]
  5d977ab3_eccc_64dd_6684_ec779f8861bb["super::"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> 5d977ab3_eccc_64dd_6684_ec779f8861bb
  e4e20bdf_ad1e_e4a0_5cba_d0f5a5db787e["crate::cursor"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> e4e20bdf_ad1e_e4a0_5cba_d0f5a5db787e
  b60f51a6_6e97_8e3d_707d_9068f03871c1["crate::extractor::arbitrary_value_machine::ArbitraryValueMachine"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> b60f51a6_6e97_8e3d_707d_9068f03871c1
  d66749b3_ce8e_5343_5587_7508eb703b11["crate::extractor::arbitrary_variable_machine::ArbitraryVariableMachine"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> d66749b3_ce8e_5343_5587_7508eb703b11
  cd83abb6_a664_e16d_ddc8_60a3f23ba86a["crate::extractor::machine::"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> cd83abb6_a664_e16d_ddc8_60a3f23ba86a
  1a920851_3e8a_1119_744f_b3a2add5bb9f["crate::extractor::modifier_machine::ModifierMachine"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> 1a920851_3e8a_1119_744f_b3a2add5bb9f
  5731c53a_0325_b3af_2918_bcb379bc8ec6["classification_macros::ClassifyBytes"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> 5731c53a_0325_b3af_2918_bcb379bc8ec6
  8c86990d_3557_b3a2_1d12_d17da0d3fa51["std::marker::PhantomData"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> 8c86990d_3557_b3a2_1d12_d17da0d3fa51
  9a9673b5_10d4_f716_360c_b2510082b102["crate::extractor::machine::Machine"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> 9a9673b5_10d4_f716_360c_b2510082b102
  e4088d34_b5b4_ec51_b975_557a1536ec76["pretty_assertions::assert_eq"]
  023da2b4_cf3e_9971_a872_af94f786ed63 --> e4088d34_b5b4_ec51_b975_557a1536ec76
  style 023da2b4_cf3e_9971_a872_af94f786ed63 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

use crate::cursor;
use crate::extractor::arbitrary_value_machine::ArbitraryValueMachine;
use crate::extractor::arbitrary_variable_machine::ArbitraryVariableMachine;
use crate::extractor::machine::{Machine, MachineState};
use crate::extractor::modifier_machine::ModifierMachine;
use classification_macros::ClassifyBytes;
use std::marker::PhantomData;

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

/// Parsing a variant
#[derive(Debug, Default)]
pub struct ParsingState;

/// Parsing a modifier
///
/// E.g.:
///
/// ```text
/// group-hover/name:
///            ^^^^^
/// ```
///
#[derive(Debug, Default)]
pub struct ParsingModifierState;

/// Parsing the end of a variant
///
/// E.g.:
///
/// ```text
/// hover:
///      ^
/// ```
#[derive(Debug, Default)]
pub struct ParsingEndState;

/// Extract named variants from an input including the `:`.
///
/// E.g.:
///
/// ```text
/// hover:flex
/// ^^^^^^
///
/// data-[state=pending]:flex
/// ^^^^^^^^^^^^^^^^^^^^^
///
/// supports-(--my-variable):flex
/// ^^^^^^^^^^^^^^^^^^^^^^^^^
/// ```
#[derive(Debug, Default)]
pub struct NamedVariantMachine<State = IdleState> {
    /// Start position of the variant
    start_pos: usize,

    arbitrary_variable_machine: ArbitraryVariableMachine,
    arbitrary_value_machine: ArbitraryValueMachine,
    modifier_machine: ModifierMachine,
// ... (363 more lines)

Domain

Subdomains

Dependencies

  • classification_macros::ClassifyBytes
  • crate::cursor
  • crate::extractor::arbitrary_value_machine::ArbitraryValueMachine
  • crate::extractor::arbitrary_variable_machine::ArbitraryVariableMachine
  • crate::extractor::machine::
  • crate::extractor::machine::Machine
  • crate::extractor::modifier_machine::ModifierMachine
  • pretty_assertions::assert_eq
  • std::marker::PhantomData
  • super::

Frequently Asked Questions

What does named_variant_machine.rs do?
named_variant_machine.rs is a source file in the tailwindcss codebase, written in rust. It belongs to the OxideEngine domain, Extractor subdomain.
What functions are defined in named_variant_machine.rs?
named_variant_machine.rs defines 6 function(s): next, parse_arbitrary_end, reset, test_named_variant_extraction, test_named_variant_machine_performance, transition.
What does named_variant_machine.rs depend on?
named_variant_machine.rs imports 10 module(s): classification_macros::ClassifyBytes, crate::cursor, crate::extractor::arbitrary_value_machine::ArbitraryValueMachine, crate::extractor::arbitrary_variable_machine::ArbitraryVariableMachine, crate::extractor::machine::, crate::extractor::machine::Machine, crate::extractor::modifier_machine::ModifierMachine, pretty_assertions::assert_eq, and 2 more.
Where is named_variant_machine.rs in the architecture?
named_variant_machine.rs is located at crates/oxide/src/extractor/named_variant_machine.rs (domain: OxideEngine, 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