walletkit_sqlite/lib.rs
1//! Low-level `SQLCipher` (`sqlite3mc`) wrapper for `WalletKit`.
2//!
3//! Safe Rust types over the `SQLite` `C` FFI. Raw symbols are resolved at
4//! compile time:
5//!
6//! - **Native** (`not(wasm32)`): linked against the `sqlite3mc` static library
7//! compiled from the downloaded amalgamation by `build.rs`.
8//! - **WASM** (`wasm32`): delegated to `sqlite-wasm-rs` (with the
9//! `sqlite3mc` feature) which ships its own `WASM`-compiled `sqlite3mc`.
10//!
11//! The internal `ffi` module is the only file in this crate that contains
12//! `unsafe` code or `C` types.
13
14mod ffi;
15
16pub mod cipher;
17pub mod error;
18#[cfg(target_arch = "wasm32")]
19pub mod opfs;
20pub mod test_utils;
21
22mod connection;
23mod statement;
24mod transaction;
25mod value;
26
27pub use connection::Connection;
28pub use error::{DbResult, Error};
29pub use statement::{Row, Statement, StepResult};
30pub use transaction::Transaction;
31pub use value::Value;