fswalk
Recursively walk the filesystem starting from the provided path.
gleam add fswalk
import fswalk
pub fn main() {
fswalk.builder()
|> fswalk.with_path("test/fixture")
|> fswalk.with_traversal_filter(fn(entry) {
!string.contains(does: entry.filename, contain: "ignore_folder")
})
|> fswalk.walk
|> iterator.fold([], fn(acc, it) {
case it {
Ok(entry) if !entry.stat.is_directory -> [entry.filename, ..acc]
_ -> acc
}
})
|> should.equal(["test/fixture/b/c/d", "test/fixture/a"])
}
Further documentation can be found at https://hexdocs.pm/fswalk.
Development
gleam run # Run the project
gleam test # Run the tests
changelog
- 1.0.0 - init
- 2.0.0 - support traverse filtering in tandem with entry filtering
- 3.0.0
- dropped
.with_entry_filter
. Useiterator.*
functions on the output instead. - dropped sugar functions
.map/.each/.fold
. Useiterator.*
functions on the output instead.
- dropped