A PLC Mirror written in Rust
1use ipld_core::cid::Cid;
2use serde::{Deserialize, Deserializer, Serialize, Serializer};
3
4pub fn cid_de_string<'de, D: Deserializer<'de>>(deserializer: D) -> Result<Cid, D::Error> {
5 let str = String::deserialize(deserializer)?;
6
7 Cid::try_from(str).map_err(serde::de::Error::custom)
8}
9
10pub fn cid_ser_string<S>(inp: &Cid, serializer: S) -> Result<S::Ok, S::Error>
11where
12 S: Serializer,
13{
14 inp.to_string().serialize(serializer)
15}