#![cfg_attr(feature = "default", doc = include_str!("../README.md"))]
#![forbid(unsafe_code)]
#[cfg(not(any(
feature = "md5",
feature = "sha1",
feature = "sha224",
feature = "sha256",
feature = "sha384",
feature = "sha512",
feature = "blake3",
feature = "fnv",
feature = "xxhash",
)))]
compile_error!(
"At least one of these features must be enabled: md5,sha1,sha224,sha256,sha384,sha512,blake3,fnv,xxhash"
);
pub use rusqlite;
use crate::rusqlite::{Connection, Result};
mod aggregate;
mod scalar;
pub use crate::scalar::NamedDigest;
mod state;
pub use crate::state::HashState;
#[cfg(feature = "md5")]
mod md5;
#[cfg(feature = "md5")]
pub use crate::md5::register_md5_functions;
#[cfg(feature = "sha1")]
mod sha1;
#[cfg(feature = "sha1")]
pub use crate::sha1::register_sha1_functions;
#[cfg(feature = "sha224")]
mod sha224;
#[cfg(feature = "sha224")]
pub use crate::sha224::register_sha224_functions;
#[cfg(feature = "sha256")]
mod sha256;
#[cfg(feature = "sha256")]
pub use crate::sha256::register_sha256_functions;
#[cfg(feature = "sha384")]
mod sha384;
#[cfg(feature = "sha384")]
pub use crate::sha384::register_sha384_functions;
#[cfg(feature = "sha512")]
mod sha512;
#[cfg(feature = "sha512")]
pub use crate::sha512::register_sha512_functions;
#[cfg(feature = "blake3")]
mod blake3;
#[cfg(feature = "blake3")]
pub use crate::blake3::register_blake3_functions;
#[cfg(feature = "fnv")]
mod fnv;
#[cfg(feature = "fnv")]
pub use crate::fnv::register_fnv_functions;
#[cfg(feature = "xxhash")]
mod xxhash;
#[cfg(feature = "xxhash")]
pub use crate::xxhash::register_xxhash_functions;
pub fn register_hash_functions(conn: &Connection) -> Result<()> {
#[cfg(feature = "md5")]
register_md5_functions(conn)?;
#[cfg(feature = "sha1")]
register_sha1_functions(conn)?;
#[cfg(feature = "sha224")]
register_sha224_functions(conn)?;
#[cfg(feature = "sha256")]
register_sha256_functions(conn)?;
#[cfg(feature = "sha384")]
register_sha384_functions(conn)?;
#[cfg(feature = "sha512")]
register_sha512_functions(conn)?;
#[cfg(feature = "blake3")]
register_blake3_functions(conn)?;
#[cfg(feature = "fnv")]
register_fnv_functions(conn)?;
#[cfg(feature = "xxhash")]
register_xxhash_functions(conn)?;
Ok(())
}