DocumentParser

Trait DocumentParser 

Source
pub trait DocumentParser<'doc> {
    type Output: 'doc;

    // Required method
    fn parse(
        self,
        doc: &'doc EureDocument,
        node_id: NodeId,
    ) -> Result<Self::Output, ParseError>;
}

Required Associated Types§

Source

type Output: 'doc

Required Methods§

Source

fn parse( self, doc: &'doc EureDocument, node_id: NodeId, ) -> Result<Self::Output, ParseError>

Implementors§

Source§

impl<'doc, T> DocumentParser<'doc> for LiteralParser<T>
where T: 'doc + ParseDocument<'doc> + PartialEq + Into<Value>,

Source§

impl<'doc, T, O, F> DocumentParser<'doc> for MappedParser<T, F>
where T: DocumentParser<'doc>, F: Fn(T::Output) -> Result<O, ParseError>, O: 'doc,

Source§

impl<'doc, T: 'doc, F> DocumentParser<'doc> for F
where F: FnOnce(&'doc EureDocument, NodeId) -> Result<T, ParseError>,