use opendal::Error as OpendalError;
use std::io;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum RepodataError {
#[error(transparent)]
Io(#[from] io::Error),
#[error(transparent)]
Serde(#[from] serde_json::Error),
#[error(transparent)]
MsgPack(#[from] rmp_serde::encode::Error),
#[error("Patch error: {0}")]
Patch(String),
#[error(transparent)]
Opendal(#[from] OpendalError),
#[error(transparent)]
Join(#[from] tokio::task::JoinError),
#[error(transparent)]
Other(#[from] anyhow::Error),
}