1#![cfg_attr(docsrs, feature(doc_cfg))]
4#![deny(missing_docs, missing_debug_implementations, rust_2018_idioms)]
5
6pub use askar_crypto as crypto;
7
8#[macro_use]
9mod error;
10pub use self::error::{Error, ErrorKind};
11
12#[cfg(test)]
13#[macro_use]
14extern crate hex_literal;
15
16#[macro_use]
17mod macros;
18
19#[cfg(any(test, feature = "log"))]
20#[macro_use]
21extern crate log;
22
23#[cfg(feature = "migration")]
24#[macro_use]
25extern crate serde;
26
27pub mod backend;
28pub use self::backend::{Backend, BackendSession, ManageBackend};
29
30#[cfg(feature = "any")]
31pub mod any;
32
33#[cfg(feature = "postgres")]
34pub use self::backend::postgres;
35
36#[cfg(feature = "sqlite")]
37pub use self::backend::sqlite;
38
39pub mod entry;
40
41#[doc(hidden)]
42pub mod future;
43
44#[cfg(all(feature = "migration", feature = "sqlite"))]
45pub mod migration;
46
47mod options;
48pub use options::{IntoOptions, Options};
49
50mod protect;
51pub use protect::{
52 generate_raw_store_key,
53 kdf::{Argon2Level, KdfMethod},
54 PassKey, StoreKeyMethod,
55};
56
57mod wql;