use thiserror::Error;
#[derive(Debug, Error)]
pub enum MatcherError {
#[error("match query is empty or whitespace-only")]
EmptyQuery,
#[error("invalid Kitsu dump path: {0}")]
InvalidDumpPath(String),
#[error("invalid Kitsu dump format: {0}")]
InvalidDump(String),
#[error("HTTP request failed: {0}")]
Http(#[from] reqwest::Error),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("remote GraphQL error: {0}")]
GraphQl(String),
#[error("invalid remote response: {0}")]
InvalidResponse(String),
}
pub type MatchResult<T> = std::result::Result<T, MatcherError>;