razor.rs — tailwindcss Source File
Architecture documentation for razor.rs, a rust file in the tailwindcss codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 5e723576_1c08_7bc2_5dae_fad3ce841e88["razor.rs"] decd56ec_6e93_882e_f890_98c8f0adee0d["super::Razor"] 5e723576_1c08_7bc2_5dae_fad3ce841e88 --> decd56ec_6e93_882e_f890_98c8f0adee0d a55fec3d_3fee_4b46_48f2_43f3844c61e4["crate::extractor::pre_processors::pre_processor::PreProcessor"] 5e723576_1c08_7bc2_5dae_fad3ce841e88 --> a55fec3d_3fee_4b46_48f2_43f3844c61e4 e8f7ef42_4edb_c180_b1a1_7f3dcfa8e322["bstr::ByteSlice"] 5e723576_1c08_7bc2_5dae_fad3ce841e88 --> e8f7ef42_4edb_c180_b1a1_7f3dcfa8e322 style 5e723576_1c08_7bc2_5dae_fad3ce841e88 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
use crate::extractor::pre_processors::pre_processor::PreProcessor;
use bstr::ByteSlice;
#[derive(Debug, Default)]
pub struct Razor;
impl PreProcessor for Razor {
fn process(&self, content: &[u8]) -> Vec<u8> {
content.replace("@@", " @").replace(r#"@("@")"#, " @")
}
}
#[cfg(test)]
mod tests {
use super::Razor;
use crate::extractor::pre_processors::pre_processor::PreProcessor;
#[test]
fn test_razor_pre_processor() {
let (input, expected) = (
r#"<div class="@@sm:text-red-500">"#,
r#"<div class=" @sm:text-red-500">"#,
);
Razor::test(input, expected);
Razor::test_extract_contains(input, vec!["@sm:text-red-500"]);
}
// https://github.com/tailwindlabs/tailwindcss/issues/17424
#[test]
fn test_razor_syntax_with() {
let (input, expected) = (
r#"<p class="@("@")md:bg-red-500 @@md:border-green-500 border-8">With 2 elements</p>"#,
r#"<p class=" @md:bg-red-500 @md:border-green-500 border-8">With 2 elements</p>"#,
);
Razor::test(input, expected);
Razor::test_extract_contains(
input,
vec!["@md:bg-red-500", "@md:border-green-500", "border-8"],
);
}
}
Domain
Subdomains
Dependencies
- bstr::ByteSlice
- crate::extractor::pre_processors::pre_processor::PreProcessor
- super::Razor
Source
Frequently Asked Questions
What does razor.rs do?
razor.rs is a source file in the tailwindcss codebase, written in rust. It belongs to the OxideEngine domain, PreProcessors subdomain.
What functions are defined in razor.rs?
razor.rs defines 3 function(s): process, test_razor_pre_processor, test_razor_syntax_with.
What does razor.rs depend on?
razor.rs imports 3 module(s): bstr::ByteSlice, crate::extractor::pre_processors::pre_processor::PreProcessor, super::Razor.
Where is razor.rs in the architecture?
razor.rs is located at crates/oxide/src/extractor/pre_processors/razor.rs (domain: OxideEngine, subdomain: PreProcessors, directory: crates/oxide/src/extractor/pre_processors).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free