diff --git a/Cargo.toml b/Cargo.toml index 5c3054ed8..2d615c3f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -111,3 +111,7 @@ uuid = { version = "0.8", features = ["v4", "serde"] } difference = "2.0" did-method-key = { path = "./did-key" } tokio = { version = "1.0", features = ["macros"] } + +[package.metadata.docs.rs] +features = ["secp256r1", "secp256k1", "ripemd-160", "http-did"] +rustdoc-args = ["--cfg", "docsrs"] diff --git a/src/hash.rs b/src/hash.rs index 2b4b97dcb..100ba741a 100644 --- a/src/hash.rs +++ b/src/hash.rs @@ -1,20 +1,22 @@ use crate::error::Error; -#[cfg(feature = "sha2")] +#[cfg(any(feature = "sha2", feature = "ring"))] pub fn sha256(data: &[u8]) -> Result<[u8; 32], Error> { - use sha2::Digest; - let mut hasher = sha2::Sha256::new(); - hasher.update(data); - let hash = hasher.finalize().into(); - Ok(hash) -} - -#[cfg(feature = "ring")] -pub fn sha256(data: &[u8]) -> Result<[u8; 32], Error> { - use ring::digest; - use std::convert::TryInto; - let hash = digest::digest(&digest::SHA256, data).as_ref().try_into()?; - Ok(hash) + #[cfg(feature = "sha2")] + { + use sha2::Digest; + let mut hasher = sha2::Sha256::new(); + hasher.update(data); + let hash = hasher.finalize().into(); + Ok(hash) + } + #[cfg(feature = "ring")] + { + use ring::digest; + use std::convert::TryInto; + let hash = digest::digest(&digest::SHA256, data).as_ref().try_into()?; + Ok(hash) + } } #[cfg(test)] diff --git a/src/lib.rs b/src/lib.rs index 59aee73e3..5cb1c8dea 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,5 @@ +#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] + pub mod bbs; pub mod blakesig; pub mod caip10;