lib.rs
use miette::Diagnostic;
use quick_xml::events::Event;
use snafu::Backtrace;
use snafu::Snafu;
pub(crate) mod parser;
pub mod types;
#[derive(Debug, Diagnostic, Snafu)]
pub enum XmlError {
#[snafu(context(false))]
InvalidUtf8 {
backtrace: Backtrace,
source: core::str::Utf8Error,
},
#[snafu(context(false))]
Parser {
backtrace: Backtrace,
source: quick_xml::Error,
},
#[snafu(display("unexpected token: found {received:?} while expecting {expected}"))]
UnexpectedToken {
backtrace: Backtrace,
expected: String,
received: Event<'static>,
},
}
type XmlResult<T, E = XmlError> = Result<T, E>;