use thiserror::Error;
#[allow(missing_docs)]
#[derive(Error, Debug)]
pub enum NcmError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("Invalid data: {0}")]
Invalid(String),
#[error("Invalid music tag")]
InvalidTag(#[from] id3::Error),
#[cfg(feature = "cover_download")]
#[error("Network error: {0}")]
Network(#[from] ureq::Error),
}
pub type Result<T> = core::result::Result<T, NcmError>;