Skip to main content

Crate airnest

Crate airnest 

Source
Expand description

airnest 🪹 — Silent, async SQLite persistence for Rust.

Derive #[persistent] once, store forever. See the crate README for architecture patterns for large codebases (persistence boundaries, aggregate-root modelling, repository layers, and more).

Re-exports§

pub use air_id::AirId;
pub use codec::Codec;
pub use error::StoreError;
pub use index::ToIndexValue;
pub use into_air_id::IntoAirId;
pub use persistent::Persistent;
pub use serde_helpers::json_de;
pub use serde_helpers::json_ser;
pub use serde_helpers::json_string;
pub use store::InitMany;
pub use store::Order;
pub use store::Query;
pub use store::ReplaceBuilder;
pub use store::Store;
pub use store::StoreBatch;
pub use store::UpsertBuilder;
pub use store::UpsertModifyBuilder;

Modules§

air_id
Typed UUID wrapper — every saved value gets a unique AirId<T>.
codec
Codec abstraction for serialization backends.
error
index
ToIndexValue — converts a field into a string stored as a real SQLite column.
into_air_id
Convert something into an AirId<T> — enables ergonomic store.load(&value).
persistent
The Persistent trait — implemented automatically by #[persistent].
serde_helpers
Serde helpers for #[stored(json)] fields.
store
Store — one handle, one file, all types.

Attribute Macros§

persistent
Marks a struct as persistable.