obfuscate/impls/
std.rs

1use std::fmt::Formatter;
2
3use crate::{Obfuscate, compute_hash};
4
5impl Obfuscate for Vec<u8> {
6    fn obfuscate(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
7        f.write_str(hex::encode(compute_hash(self)).as_str())
8    }
9}
10
11impl<T: Obfuscate> Obfuscate for Vec<T> {
12    fn obfuscate(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
13        f.write_str("[")?;
14        for item in self.iter() {
15            item.obfuscate(f)?;
16        }
17        f.write_str("]")
18    }
19}
20
21impl<T: Obfuscate> Obfuscate for Option<T> {
22    fn obfuscate(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
23        match self {
24            Some(item) => {
25                f.write_str("Some(")?;
26                item.obfuscate(f)?;
27                f.write_str(")")
28            }
29            None => f.write_str("None"),
30        }
31    }
32}