turbo_trace_server/
u64_string.rs1use std::{fmt::Display, str::FromStr};
2
3use serde::{Deserialize, Deserializer, Serializer, de};
4
5pub fn serialize<T, S>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
6where
7 T: Display,
8 S: Serializer,
9{
10 serializer.collect_str(value)
11}
12
13pub fn deserialize<'de, T, D>(deserializer: D) -> Result<T, D::Error>
14where
15 T: FromStr,
16 T::Err: Display,
17 D: Deserializer<'de>,
18{
19 String::deserialize(deserializer)?
20 .parse()
21 .map_err(de::Error::custom)
22}