generate_work() — tailwindcss Function Reference
Architecture documentation for the generate_work() function in walk.rs from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f["generate_work()"] cd9c919e_b7b4_e9fa_afba_bda77720d4a4["run_one()"] cd9c919e_b7b4_e9fa_afba_bda77720d4a4 -->|calls| 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f f1fb08e2_c9c6_68dc_0a01_41ac83e39505["send()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| f1fb08e2_c9c6_68dc_0a01_41ac83e39505 ddb6031d_09fe_0dfb_68e1_b2ad35583052["from_entry()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| ddb6031d_09fe_0dfb_68e1_b2ad35583052 5a0a72d6_9d9b_6ed4_1f29_398afd0992e4["new_raw()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 5a0a72d6_9d9b_6ed4_1f29_398afd0992e4 6635a1ff_d67d_40df_1cc3_51c7debc3b01["is_symlink()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 6635a1ff_d67d_40df_1cc3_51c7debc3b01 60ca1299_5a36_c331_ab0a_e448cb652dda["from_path()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 60ca1299_5a36_c331_ab0a_e448cb652dda f0d10255_d3b9_4506_b0c6_97817d725ef3["check_symlink_loop()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| f0d10255_d3b9_4506_b0c6_97817d725ef3 3a74141b_8622_2c99_ef5b_c5af19d28167["should_skip_entry()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 3a74141b_8622_2c99_ef5b_c5af19d28167 c947b3e9_ccd5_5e95_4687_2e5784c0cc5e["path_equals()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| c947b3e9_ccd5_5e95_4687_2e5784c0cc5e 0288eabd_8190_c632_8896_6a91d1efe95c["skip_filesize()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 0288eabd_8190_c632_8896_6a91d1efe95c 8e317b24_544c_86ea_6c34_a553bcd66719["visit()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 8e317b24_544c_86ea_6c34_a553bcd66719 08a3def3_c46f_5695_a279_1932fa144713["file_type()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 08a3def3_c46f_5695_a279_1932fa144713 afe9c39f_a243_0367_bdf6_a556fadd6383["path()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| afe9c39f_a243_0367_bdf6_a556fadd6383 80ab0f00_c359_5714_9ef3_3d3b7412e1d6["is_dir()"] 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f -->|calls| 80ab0f00_c359_5714_9ef3_3d3b7412e1d6 style 2d1043b4_619e_f9a7_faf3_ee4e1cdbb69f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
crates/ignore/src/walk.rs lines 1715–1785
fn generate_work(
&mut self,
ig: &Ignore,
depth: usize,
root_device: Option<u64>,
result: Result<fs::DirEntry, io::Error>,
) -> WalkState {
let fs_dent = match result {
Ok(fs_dent) => fs_dent,
Err(err) => {
return self.visitor.visit(Err(Error::from(err).with_depth(depth)));
}
};
let mut dent = match DirEntryRaw::from_entry(depth, &fs_dent) {
Ok(dent) => DirEntry::new_raw(dent, None),
Err(err) => {
return self.visitor.visit(Err(err));
}
};
let is_symlink = dent.file_type().map_or(false, |ft| ft.is_symlink());
if self.follow_links && is_symlink {
let path = dent.path().to_path_buf();
dent = match DirEntryRaw::from_path(depth, path, true) {
Ok(dent) => DirEntry::new_raw(dent, None),
Err(err) => {
return self.visitor.visit(Err(err));
}
};
if dent.is_dir() {
if let Err(err) = check_symlink_loop(ig, dent.path(), depth) {
return self.visitor.visit(Err(err));
}
}
}
// N.B. See analogous call in the single-threaded implementation about
// why it's important for this to come before the checks below.
if should_skip_entry(ig, &dent) {
return WalkState::Continue;
}
if let Some(ref stdout) = self.skip {
let is_stdout = match path_equals(&dent, stdout) {
Ok(is_stdout) => is_stdout,
Err(err) => return self.visitor.visit(Err(err)),
};
if is_stdout {
return WalkState::Continue;
}
}
let should_skip_filesize = if self.max_filesize.is_some() && !dent.is_dir() {
skip_filesize(
self.max_filesize.unwrap(),
dent.path(),
&dent.metadata().ok(),
)
} else {
false
};
let should_skip_filtered = if let Some(Filter(predicate)) = &self.filter {
!predicate(&dent)
} else {
false
};
if !should_skip_filesize && !should_skip_filtered {
self.send(Work {
dent,
ignore: ig.clone(),
root_device,
});
}
WalkState::Continue
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does generate_work() do?
generate_work() is a function in the tailwindcss codebase.
What does generate_work() call?
generate_work() calls 14 function(s): check_symlink_loop, file_type, from_entry, from_path, is_dir, is_symlink, metadata, new_raw, and 6 more.
What calls generate_work()?
generate_work() is called by 1 function(s): run_one.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free