use thiserror::Error;
#[derive(Debug, Error)]
pub enum FmecaError {
#[error("SESSION_NOT_FOUND: no session '{0}'")]
SessionNotFound(String),
#[error("BAD_SESSION_ID: {0}")]
BadSessionId(String),
#[error("INVALID_FAILURE_MODE: {0}")]
InvalidFailureMode(String),
#[error("INVALID_MITIGATION: {0}")]
InvalidMitigation(String),
#[error("INVALID_RESCORE: {0}")]
InvalidRescore(String),
#[error("INVALID_OBSERVATION: {0}")]
InvalidObservation(String),
#[error("FM_NOT_FOUND: no failure mode '{0}'")]
FailureModeNotFound(String),
#[error("DUPLICATE_ID: {0}")]
DuplicateId(String),
#[error("STORE_ERROR: {0}")]
StoreError(String),
}
pub type Result<T> = std::result::Result<T, FmecaError>;