use crate::error::CustomError; use super::registry::Registry; use super::IElement; use super::IObject; #[derive(Debug)] pub(crate) struct IPlainListItem { pub(crate) tag: Vec, pub(crate) children: Vec, } impl IPlainListItem { pub(crate) async fn new<'parse>( registry: &mut Registry<'parse>, plain_list_item: &organic::types::PlainListItem<'parse>, ) -> Result { let tag = { let mut ret = Vec::new(); for obj in plain_list_item.tag.iter() { ret.push(IObject::new(registry, obj).await?); } ret }; let children = { let mut ret = Vec::new(); for elem in plain_list_item.children.iter() { ret.push(IElement::new(registry, elem).await?); } ret }; Ok(IPlainListItem { tag, children }) } }