use std::ops::Deref;
use indexmap::IndexMap;
use crate::models::TypeIdent;
use crate::pipeline::generator::MetaData as GeneratorMetaData;
use super::DataType;
#[derive(Debug)]
pub struct DataTypes<'types> {
pub meta: GeneratorMetaData<'types>,
pub items: IndexMap<TypeIdent, DataType<'types>>,
}
impl<'types> DataTypes<'types> {
pub(crate) fn new(meta: GeneratorMetaData<'types>) -> Self {
let items = IndexMap::default();
Self { meta, items }
}
}
impl<'types> Deref for DataTypes<'types> {
type Target = GeneratorMetaData<'types>;
fn deref(&self) -> &Self::Target {
&self.meta
}
}