#[cfg(feature = "unstable-cog")]
use super::cog::CogError;
#[cfg(feature = "mbtiles")]
use super::mbtiles::MbtilesError;
#[cfg(feature = "pmtiles")]
use super::pmtiles::PmtilesError;
#[cfg(feature = "postgres")]
use super::postgres::PostgresError;
#[non_exhaustive]
#[derive(thiserror::Error, Debug)]
pub enum MartinCoreError {
#[cfg(feature = "mbtiles")]
#[error(transparent)]
MbtilesError(#[from] MbtilesError),
#[cfg(feature = "postgres")]
#[error(transparent)]
PostgresError(#[from] PostgresError),
#[cfg(feature = "pmtiles")]
#[error(transparent)]
PmtilesError(#[from] PmtilesError),
#[cfg(feature = "unstable-cog")]
#[error(transparent)]
CogError(#[from] CogError),
#[error(transparent)]
OtherError(#[from] Box<dyn std::error::Error + Send + Sync>),
}
pub type MartinCoreResult<T> = Result<T, MartinCoreError>;