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 RustCore MachineExtractor calls 14 called by 1

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

Called By

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