scsys_config/utils/
fs.rs

1/// A generic function wrapper extending glob::glob
2#[cfg(feature = "glob")]
3pub fn collect_files_as<T>(f: &dyn Fn(std::path::PathBuf) -> T, pat: &str) -> Vec<T> {
4    let mut files = Vec::<T>::new();
5    for path in glob::glob(pat).expect("Failed to read glob pattern...") {
6        if let Ok(r) = path {
7            files.push(f(r))
8        }
9        continue;
10    }
11    files
12}