Crates.io | dyn_fs |
lib.rs | dyn_fs |
version | 0.0.7 |
created_at | 2025-05-09 00:49:29.325441+00 |
updated_at | 2025-05-09 04:07:38.582398+00 |
description | Abstraction for the std::fs stdlib |
homepage | |
repository | https://github.com/alshdavid/dyn-fs |
max_upload_size | |
id | 1666016 |
size | 18,759 |
This crate offers a trait that looks exactly like the std::fs
interface and supplies implementations for the os filesystem and an in-memory filesystem.
Useful for substituting the FileSystem in tests and benchmarks
use dyn_fs::FileSystem;
use dyn_fs::os::OsFileSystem;
use dyn_fs::mem::MemoryFileSystem;
fn read_file(fs: &dyn FileSystem) {
let contents = fs.read(PathBuf::from("/path/to/file"))?;
println!("{}", contents.len())
}
fn main() {
let os_fs = OsFileSystem::default();
let mem_fs = MemoryFileSystem::default();
read_file(&os_fs);
read_file(&mem_fs);
}