use super::IPlainListItem; use super::macros::intermediate; use crate::error::CustomError; use organic::types::StandardProperties; #[derive(Debug, Clone)] pub(crate) struct IPlainList { pub(crate) list_type: organic::types::PlainListType, pub(crate) children: Vec, pub(crate) post_blank: organic::types::PostBlank, } intermediate!( IPlainList, &'orig organic::types::PlainList<'parse>, original, intermediate_context, { let children = { let mut ret = Vec::new(); for obj in original.children.iter() { ret.push(IPlainListItem::new(intermediate_context.clone(), obj).await?); } ret }; Ok(IPlainList { list_type: original.list_type, children, post_blank: original.get_post_blank(), }) } );