1
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::missing_docs_in_private_items,
8
    clippy::pedantic,
9
    future_incompatible,
10
    rust_2018_idioms,
11
)]
12
#![allow(
13
    clippy::missing_errors_doc, // TODO clippy::missing_errors_doc
14
    clippy::option_if_let_else,
15
    clippy::module_name_repetitions,
16
)]
17

            
18
/// Command-line interface helpers.
19
#[cfg(feature = "cli")]
20
pub mod cli;
21
/// Configuration options.
22
pub mod config;
23
mod database;
24
mod error;
25
mod open_trees;
26
mod storage;
27
mod tasks;
28
#[cfg(feature = "encryption")]
29
pub mod vault;
30
mod views;
31

            
32
#[cfg(feature = "password-hashing")]
33
pub use argon2;
34
#[cfg(not(feature = "included-from-omnibus"))]
35
pub use bonsaidb_core as core;
36

            
37
pub use self::{
38
    database::{pubsub::Subscriber, Database, DatabaseNonBlocking},
39
    error::Error,
40
    storage::{BackupLocation, Storage, StorageId, StorageNonBlocking},
41
};
42

            
43
#[cfg(feature = "async")]
44
mod r#async;
45

            
46
#[cfg(feature = "async")]
47
pub use r#async::*;
48

            
49
#[cfg(test)]
50
mod tests;