Skip to main content

prov_graph/
fs.rs

1//! prov's filesystem read port.
2//!
3//! prov is generic over *where* documents live: rather than depend on any one
4//! concrete backend — `std::fs`, `tokio::fs`, or a browser filesystem like
5//! OPFS/IndexedDB — the library asks only for a small async trait that mirrors
6//! the slice of [`std::fs`] its scan/traverse engine needs.
7//!
8//! The port itself lives in [`fs_transaction::fs`], one layer below this
9//! crate, because it is the seam a *transaction* lands through and has nothing
10//! to do with documents. It is re-exported here so `prov_graph::fs` remains the
11//! name prov's read core is written against.
12//!
13//! Only the read half is re-exported here. The write half — [`Storage`], the
14//! durability vocabulary, and the writable adapters — is `prov-store`'s `fs`
15//! module, so that depending on this crate cannot get you the ability to change
16//! a workspace.
17//!
18//! [`Storage`]: fs_transaction::fs::Storage
19
20pub use fs_transaction::fs::{DirEntry, FileType, Metadata, ReadStorage, StdFs};