use rustybook_extractor::ExtractionError;
pub use rustybook_http::{
BuildError,
NetworkError,
};
#[cfg(feature = "messenger")]
use rustybook_messenger::error::MessengerError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("config error: {0}")]
Config(String),
#[error("failed to build")]
BuildError(#[from] BuildError),
#[error("extraction failed")]
ExtractionError(#[from] ExtractionError),
#[error("network error")]
NetworkError(#[from] NetworkError),
#[cfg(feature = "messenger")]
#[error("messenger error: {0}")]
MessengerError(String),
}
#[cfg(feature = "messenger")]
impl From<MessengerError> for Error {
fn from(value: MessengerError) -> Self {
Error::MessengerError(value.to_string())
}
}