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 OxideEngine Extractor calls 14 called by 1

Entity Profile

Dependency Diagram

graph TD
  4825dec2_fb68_889a_5be0_2277e9d7cb28["generate_work()"]
  b3ca296d_790b_9bf3_23ea_56e5c5c48565["walk.rs"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|defined in| b3ca296d_790b_9bf3_23ea_56e5c5c48565
  db2e31aa_a7bc_3c9b_da84_dcf0c56993e2["run_one()"]
  db2e31aa_a7bc_3c9b_da84_dcf0c56993e2 -->|calls| 4825dec2_fb68_889a_5be0_2277e9d7cb28
  20e1e02a_e446_127d_633b_8388eed32477["send()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| 20e1e02a_e446_127d_633b_8388eed32477
  b2d9feab_5e1a_a1ee_dc95_cd3038d14bc7["visit()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| b2d9feab_5e1a_a1ee_dc95_cd3038d14bc7
  c9393a41_60b0_2c9f_d0be_286e9c7c6255["from_entry()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| c9393a41_60b0_2c9f_d0be_286e9c7c6255
  fe777839_9740_eb3c_62fb_1358919896d3["new_raw()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| fe777839_9740_eb3c_62fb_1358919896d3
  7c35797c_376b_46cc_0bcc_252ecf7ec955["file_type()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| 7c35797c_376b_46cc_0bcc_252ecf7ec955
  b21fb586_2077_75fc_78f6_3e590b7c2aa2["is_symlink()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| b21fb586_2077_75fc_78f6_3e590b7c2aa2
  eaa93251_8ff2_5e1b_adef_2cb61588bdb0["path()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| eaa93251_8ff2_5e1b_adef_2cb61588bdb0
  8cdd946e_f150_fdac_f16e_eef795456f32["from_path()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| 8cdd946e_f150_fdac_f16e_eef795456f32
  22e63b02_548b_5463_d609_2419e47f16ca["is_dir()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| 22e63b02_548b_5463_d609_2419e47f16ca
  b294922e_64f3_e79f_5287_0f5911843665["check_symlink_loop()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| b294922e_64f3_e79f_5287_0f5911843665
  bfef1f48_c276_a284_f360_be867db32a62["should_skip_entry()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| bfef1f48_c276_a284_f360_be867db32a62
  0689c91b_b128_bb7a_4086_3fa2a52a5f48["path_equals()"]
  4825dec2_fb68_889a_5be0_2277e9d7cb28 -->|calls| 0689c91b_b128_bb7a_4086_3fa2a52a5f48
  style 4825dec2_fb68_889a_5be0_2277e9d7cb28 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