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
36
37
38
39
40
41
mod children;
#[cfg(feature = "json")]
mod json;
#[cfg(feature = "parse")]
mod parse;
#[cfg(feature = "print")]
mod print;
#[cfg(feature = "render")]
mod render;
use crate::mj_breakpoint::MJBreakpoint;
use crate::mj_preview::MJPreview;
use crate::mj_title::MJTitle;
pub use children::MJHeadChild;
pub const NAME: &str = "mj-head";
#[derive(Debug, Default)]
pub struct MJHead {
children: Vec<MJHeadChild>,
}
impl MJHead {
pub fn breakpoint(&self) -> Option<&MJBreakpoint> {
self.children
.iter()
.find_map(|item| item.as_mj_breakpoint())
}
pub fn preview(&self) -> Option<&MJPreview> {
self.children.iter().find_map(|item| item.as_mj_preview())
}
pub fn title(&self) -> Option<&MJTitle> {
self.children.iter().find_map(|item| item.as_mj_title())
}
pub fn children(&self) -> &Vec<MJHeadChild> {
&self.children
}
}