use serde::{Deserialize, Serialize, de::Deserializer, ser::Serializer};
pub mod content_style {
use super::*;
use crossterm::style::ContentStyle;
pub fn serialize<S: Serializer>(
style: &ContentStyle,
serializer: S,
) -> Result<S::Ok, S::Error> {
crate::Style::from(*style).serialize(serializer)
}
pub fn deserialize<'de, D: Deserializer<'de>>(
deserializer: D,
) -> Result<ContentStyle, D::Error> {
crate::Style::deserialize(deserializer).map(ContentStyle::from)
}
}
pub mod color {
use super::*;
use crossterm::style::Color;
pub fn serialize<S: Serializer>(color: &Color, serializer: S) -> Result<S::Ok, S::Error> {
crate::Color::from(*color).serialize(serializer)
}
pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result<Color, D::Error> {
crate::Color::deserialize(deserializer).map(Color::from)
}
}