Skip to main content

Crate prov_store

Crate prov_store 

Source
Expand description

§prov-store

The write surface over a prov workspace: the half of each storage port that changes something.

§What this crate is for

prov_graph is the read core — it declares ReadStorage and IdIndex, and every traversal in it is generic over exactly those two. This crate declares their other halves — Storage and IndexStore — plus the metadata editor that rewrites a document’s frontmatter in place.

The two live in separate crates so that the read core’s guarantee is structural rather than editorial. A consumer that must not modify a workspace — a language server, a static renderer, a browser viewer — depends on prov-graph alone and cannot write, because the vocabulary for writing is not in its dependency graph at all. Not a feature flag it might have left on, not a convention review has to police: the functions do not exist.

§The shape of it

The crash-atomic staging that drives these — the change set and its write-ahead journal — is prov-transaction, a layer up.

Re-exports§

pub use edit::MetaEditor;
pub use fs::Capabilities;
pub use fs::Durability;
pub use fs::InMemoryFs;
pub use fs::Storage;
pub use fs::SyncGuarantee;
pub use index::FileIndex;
pub use index::InMemoryIndex;
pub use index::IndexStore;
pub use index::Rebase;

Modules§

edit
Format-preserving edits to a document’s metadata, whatever carries it.
fs
The write half of prov’s filesystem port.
index
The write half of the ID index.