From f371154a8acffc714f8dee8e9f0601b615c1a7bc Mon Sep 17 00:00:00 2001 From: Ethan Brierley Date: Sun, 5 Nov 2023 09:22:10 +0000 Subject: [PATCH] feat: `serde::redacted` convenience `serialize_with` - serialize without exposing # Todo - [ ] Document function with rustdoc - [ ] Update serde section in `README.md` --- src/lib.rs | 2 +- src/serde.rs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index a61add9..c767460 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,7 +9,7 @@ mod error; mod fake; mod ops; #[cfg(feature = "serde")] -mod serde; +pub mod serde; #[cfg(feature = "serde")] pub use crate::serde::expose_secret; diff --git a/src/serde.rs b/src/serde.rs index 8439000..973fa47 100644 --- a/src/serde.rs +++ b/src/serde.rs @@ -60,6 +60,12 @@ pub fn expose_secret( .serialize(serializer) } +#[cfg(feature = "serde")] +#[inline] +pub fn redacted(secret: &Secret, serializer: S) -> Result { + format!("{secret:?}").serialize(serializer) +} + #[cfg(test)] mod tests { use super::*;