Home / Function/ generate_work() — tailwindcss Function Reference

generate_work() — tailwindcss Function Reference

Architecture documentation for the generate_work() function in walk.rs from the tailwindcss codebase.

Function rust Oxide PreProcessors calls 14 called by 1

Entity Profile

Dependency Diagram

graph TD
  dc874db4_e8a3_5292_d49c_2245b8b18f45["generate_work()"]
  8031325b_dcd2_8c49_70e7_46191ce03a79["walk.rs"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|defined in| 8031325b_dcd2_8c49_70e7_46191ce03a79
  04e8d630_da3f_f0a4_57a8_0bd018070b1a["run_one()"]
  04e8d630_da3f_f0a4_57a8_0bd018070b1a -->|calls| dc874db4_e8a3_5292_d49c_2245b8b18f45
  ec8f604f_bf9a_8b8d_48e2_c2b429de285f["send()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| ec8f604f_bf9a_8b8d_48e2_c2b429de285f
  da7185cc_deeb_42bc_cc20_4a3139551ba0["visit()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| da7185cc_deeb_42bc_cc20_4a3139551ba0
  22ec8950_f405_d7ab_6054_ecd191592786["from_entry()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 22ec8950_f405_d7ab_6054_ecd191592786
  97a7782b_b5fc_60b9_647d_53de6ce7f711["new_raw()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 97a7782b_b5fc_60b9_647d_53de6ce7f711
  c30294ef_bb08_283b_8249_9905047aecb1["file_type()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| c30294ef_bb08_283b_8249_9905047aecb1
  b285c11e_be54_1a5d_97fd_6b377476305a["is_symlink()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| b285c11e_be54_1a5d_97fd_6b377476305a
  934d114d_964b_414a_2b41_82e8174b7c3d["path()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 934d114d_964b_414a_2b41_82e8174b7c3d
  275ce747_52cf_7193_9f0d_2cf3bab3ea9c["from_path()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 275ce747_52cf_7193_9f0d_2cf3bab3ea9c
  1f3047bd_cab3_dab1_e7b5_f7ef13815e23["is_dir()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 1f3047bd_cab3_dab1_e7b5_f7ef13815e23
  951367a8_ba0e_dae4_3cae_d3f7848916e3["check_symlink_loop()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 951367a8_ba0e_dae4_3cae_d3f7848916e3
  862035d5_a7df_75ac_7b1e_717ff1207a9a["should_skip_entry()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 862035d5_a7df_75ac_7b1e_717ff1207a9a
  633cf0ee_78d6_12f4_349d_a7fafa78e65a["path_equals()"]
  dc874db4_e8a3_5292_d49c_2245b8b18f45 -->|calls| 633cf0ee_78d6_12f4_349d_a7fafa78e65a
  style dc874db4_e8a3_5292_d49c_2245b8b18f45 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

Called By

Frequently Asked Questions

What does generate_work() do?
generate_work() is a function in the tailwindcss codebase, defined in crates/ignore/src/walk.rs.
Where is generate_work() defined?
generate_work() is defined in crates/ignore/src/walk.rs at line 1715.
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