1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use crate::model::{
layer210::Comment,
layer225::KeyValue,
layer230::{DocumentElement, HeaderOfArrayOfTable, HeaderOfTable},
};
use std::fmt;
impl DocumentElement {
pub fn from_header_of_array_of_table(m: &HeaderOfArrayOfTable) -> Self {
DocumentElement::HeaderOfArrayOfTable(m.clone())
}
pub fn from_comment(m: &Comment) -> Self {
DocumentElement::Comment(m.clone())
}
pub fn from_key_value(m: &KeyValue) -> Self {
DocumentElement::KeyValue(m.clone())
}
pub fn from_header_of_table(m: &HeaderOfTable) -> Self {
DocumentElement::HeaderOfTable(m.clone())
}
}
impl fmt::Debug for DocumentElement {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
DocumentElement::HeaderOfArrayOfTable(m) => write!(f, "{}", format!("{:?}", m)),
DocumentElement::Comment(m) => write!(f, "{}", format!("{:?}", m)),
DocumentElement::EmptyLine => write!(f, ""),
DocumentElement::KeyValue(m) => write!(f, "{}", format!("{:?}", m)),
DocumentElement::HeaderOfTable(m) => write!(f, "{}", format!("{:?}", m)),
}
}
}