use crate::error::CustomError; use super::ast_node::IAstNode; use super::registry::Registry; use super::IElement; use super::IObject; #[derive(Debug)] pub(crate) struct IFootnoteDefinition {} impl IFootnoteDefinition { pub(crate) async fn new<'b, 'parse>( registry: &'b mut Registry<'parse>, original: &'b organic::types::FootnoteDefinition<'parse>, ) -> Result { registry .register_footnote_definition(original.label, &original.children) .await?; Ok(IFootnoteDefinition {}) } } #[derive(Debug)] pub(crate) struct IRealFootnoteDefinition { footnote_id: usize, contents: Vec, } impl IRealFootnoteDefinition { pub(crate) async fn new<'b, 'parse>( registry: &'b mut Registry<'parse>, footnote_id: usize, contents: Vec, ) -> Result { Ok(IRealFootnoteDefinition { footnote_id, contents, }) } }