use crate::{
parser::{
ElementParser,
ElementState,
},
Result,
errors,
};
pub trait ElementParserExt: ElementParser {
fn parse_element<E: ElementState>(self, tag: &str) -> Result<E::Output> {
let mut state = match E::parse_element_start(tag) {
Some(s) => s,
None => return Err(errors::unexpected_element(tag)),
};
self.parse_element_state(&mut state)?;
state.parse_element_finish()
}
}
impl<P: ElementParser> ElementParserExt for P {
}