123456789101112131415161718192021222324252627282930 |
- use serde::{Serialize, Serializer};
- use std::{fmt::Display, sync::Arc};
- pub(crate) fn serialize_error_to_string<S, T>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
- where
- S: Serializer,
- T: ToString + Display,
- {
- serializer.serialize_str(&value.to_string())
- }
- pub fn serialize_arc_str<S>(value: &Arc<str>, serializer: S) -> Result<S::Ok, S::Error>
- where
- S: serde::Serializer,
- {
-
- let value_str: String = value.to_string();
- serializer.serialize_str(&value_str)
- }
- pub fn deserialize_arc_str<'de, D>(deserializer: D) -> Result<Arc<str>, D::Error>
- where
- D: serde::Deserializer<'de>,
- {
-
- let value_str: String = serde::Deserialize::deserialize(deserializer)?;
- Ok(Arc::from(value_str))
- }
|