use thiserror::Error;
#[derive(Error, Debug)]
pub enum ImportError {
#[error("Failed to fetch URL: {0}")]
FetchError(#[from] reqwest::Error),
#[error("Failed to parse recipe: {0}")]
ParseError(String),
#[error("No extractor could parse the recipe from this webpage")]
NoExtractorMatched,
#[error("Conversion failed: {0}")]
ConversionError(String),
#[error("Invalid markdown format: {0}")]
InvalidMarkdown(String),
#[error("Builder error: {0}")]
BuilderError(String),
#[error("Extraction failed: {0}")]
ExtractionError(String),
#[error("Header parse error: {0}")]
HeaderError(#[from] reqwest::header::InvalidHeaderValue),
#[error("Environment variable error: {0}")]
EnvError(#[from] std::env::VarError),
#[error("Configuration error: {0}")]
ConfigError(#[from] config::ConfigError),
}