MCPcopy Create free account
hub / github.com/ChainSafe/Delorean-Protocol / deserialize_str

Function deserialize_str

fendermint/vm/encoding/src/lib.rs:44–65  ·  view source on GitHub ↗
(deserializer: D)

Source from the content-addressed store, hash-verified

42}
43
44pub fn deserialize_str<'de, T, D>(deserializer: D) -> Result<T, D::Error>
45where
46 T: FromStr + DeserializeOwned,
47 <T as FromStr>::Err: Display,
48 D: de::Deserializer<'de>,
49{
50 {
51 if deserializer.is_human_readable() {
52 let s = String::deserialize(deserializer)?;
53 match T::from_str(&s) {
54 Ok(a) => Ok(a),
55 Err(e) => Err(D::Error::custom(format!(
56 "error deserializing {}: {}",
57 type_name::<T>(),
58 e
59 ))),
60 }
61 } else {
62 T::deserialize(deserializer)
63 }
64 }
65}
66
67/// Create [`SerializeAs`] and [`DeserializeAs`] instances for `IsHumanReadable` for the
68/// given type assuming it implements [`ToString`] and [`FromStr`].

Callers

nothing calls this directly

Calls 1

deserializeFunction · 0.50

Tested by

no test coverage detected