1#![doc = include_str!(".crate-docs.md")]
2#![cfg_attr(not(feature = "included-from-omnibus"), doc = include_str!("../local-feature-flags.md"))]
3#![forbid(unsafe_code)]
4#![warn(
5 clippy::cargo,
6 missing_docs,
7 clippy::pedantic,
9 future_incompatible,
10 rust_2018_idioms,
11)]
12#![allow(
13 clippy::missing_errors_doc, clippy::option_if_let_else,
15 clippy::module_name_repetitions,
16)]
17
18#[cfg(feature = "cli")]
20pub mod cli;
21pub mod config;
23mod database;
24mod error;
25mod open_trees;
26mod storage;
27mod tasks;
28#[cfg(feature = "encryption")]
29pub mod vault;
30mod views;
31
32#[cfg(feature = "password-hashing")]
33pub use argon2;
34#[cfg(not(feature = "included-from-omnibus"))]
35pub use bonsaidb_core as core;
36
37pub use self::database::pubsub::Subscriber;
38pub use self::database::{Database, DatabaseNonBlocking};
39pub use self::error::Error;
40pub use self::storage::{BackupLocation, Storage, StorageId, StorageNonBlocking};
41
42#[cfg(feature = "async")]
43mod r#async;
44
45#[cfg(feature = "async")]
46pub use r#async::*;
47
48#[cfg(test)]
49mod tests;