pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error(transparent)]
Core(#[from] rbox_core::error::Error),
#[cfg(any(feature = "master-db", feature = "one-library"))]
#[error(transparent)]
Database(#[from] rbox_db::error::Error),
#[cfg(feature = "master-db")]
#[error(transparent)]
MasterDb(#[from] rbox_masterdb::error::Error),
#[cfg(feature = "one-library")]
#[error(transparent)]
OneLibrary(#[from] rbox_onelib::error::Error),
#[cfg(feature = "anlz")]
#[error(transparent)]
Anlz(#[from] rbox_anlz::error::AnlzError),
#[cfg(feature = "xml")]
#[error(transparent)]
Xml(#[from] rbox_xml::XmlError),
#[cfg(feature = "settings")]
#[error(transparent)]
Setting(#[from] rbox_setting::SettingError),
}