pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("invalid configuration: {0}")]
Configuration(String),
#[error("XML: {0}")]
Xml(#[from] roxmltree::Error),
#[error("unsupported XML: {0}")]
UnsupportedXml(&'static str),
#[error("field {name:?} at {path:?}: {message}")]
Field {
name: String,
path: String,
message: String,
},
#[error("batch is full; flush before appending")]
BatchFull,
#[error("Arrow: {0}")]
Arrow(#[from] arrow_schema::ArrowError),
}