xml_data/serializer/
value.rs1use crate::{
2 Result,
3};
4use std::borrow::Cow;
5
6pub trait Value<T> {
11 fn serialize_value(data: &T) -> Result<Cow<'_, str>>;
13}
14
15pub struct ValueDefault;
17
18impl<T: std::fmt::Display> Value<T> for ValueDefault {
19 fn serialize_value(data: &T) -> Result<Cow<'_, str>> {
20 Ok(Cow::Owned(data.to_string()))
21 }
22}
23
24pub struct ValueString;
26
27impl<T: AsRef<str>> Value<T> for ValueString {
28 fn serialize_value(data: &T) -> Result<Cow<'_, str>> {
29 Ok(Cow::Borrowed(data.as_ref()))
30 }
31}