#[derive(Debug, thiserror::Error)]
pub enum MapperError {
#[error("Data directory not found: {path}")]
DataDirNotFound { path: String },
#[error("No data bundle found for format version {fv}")]
BundleNotFound { fv: String },
#[error("No variant '{variant}' in bundle for {fv}")]
VariantNotFound { fv: String, variant: String },
#[error("No mapping engine for PID {pid} in {fv}/{variant}")]
PidNotFound {
fv: String,
variant: String,
pid: String,
},
#[error("Assembly error: {0}")]
Assembly(#[from] mig_assembly::AssemblyError),
#[error("Mapping error: {0}")]
Mapping(#[from] mig_bo4e::MappingError),
#[error("Serialization error: {0}")]
Serialization(String),
#[error("No MIG schema for {fv}/{variant}")]
NoMigSchema { fv: String, variant: String },
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}