docx_reader/documents/elements/
text.rsuse serde::ser::{Serialize, SerializeStruct, Serializer};
use serde::Deserialize;
#[derive(Debug, Clone, Deserialize, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Text {
pub text: String,
pub preserve_space: bool,
}
impl Text {
pub fn new(text: impl Into<String>) -> Text {
Text {
text: text.into(),
preserve_space: true,
}
}
pub(crate) fn without_escape(text: impl Into<String>) -> Text {
Text {
text: text.into(),
preserve_space: true,
}
}
}
impl Serialize for Text {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let mut t = serializer.serialize_struct("Text", 2)?;
t.serialize_field("preserveSpace", &self.preserve_space)?;
t.serialize_field("text", &self.text)?;
t.end()
}
}