xsd_parser/parser/
error.rsuse std::io::Error as IoError;
use thiserror::Error;
use url::{ParseError as UrlParseError, Url};
use crate::quick_xml::Error as XmlError;
#[derive(Debug, Error)]
pub enum Error<E> {
#[error("IO Error: {0}")]
IoError(#[from] IoError),
#[error("XML Error: {0}")]
XmlError(#[from] XmlError),
#[error("URL Parse Error: {0}")]
UrlParseError(#[from] UrlParseError),
#[error("Unable to resolve requested resource: {0}")]
UnableToResolve(Url),
#[error("Resolver Error: {0}")]
Resolver(E),
#[error("Schema is missing a target namespace!")]
MissingTargetNamespace,
#[error("Schema is missing a namespace prefix for the target namespace!")]
MissingTargetNamespacePrefix,
}
impl<E> Error<E> {
pub fn resolver<X: Into<E>>(error: X) -> Self {
Self::Resolver(error.into())
}
}