xsd_parser/pipeline/renderer/
meta.rs1use std::ops::Deref;
2
3use proc_macro2::Ident as Ident2;
4
5use crate::config::RendererFlags;
6use crate::models::{code::IdentPath, data::DataTypes};
7
8#[derive(Debug)]
13pub struct MetaData<'types> {
14 pub types: &'types DataTypes<'types>,
16
17 pub flags: RendererFlags,
19
20 pub derive: Vec<Ident2>,
22
23 pub dyn_type_traits: Vec<IdentPath>,
25
26 pub xsd_parser_crate: Ident2,
28}
29
30impl MetaData<'_> {
31 #[must_use]
34 pub fn check_renderer_flags(&self, flags: RendererFlags) -> bool {
35 self.flags.intersects(flags)
36 }
37}
38
39impl<'types> Deref for MetaData<'types> {
40 type Target = DataTypes<'types>;
41
42 fn deref(&self) -> &Self::Target {
43 self.types
44 }
45}