use regex::Error as RegexError;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum TMFError {
#[error("Error : {0}")]
GenericError(String),
#[error("Invalid ID: {0}")]
InvalidId(String),
#[error("Invalid Name: {0}")]
InvalidName(String),
#[error("Invalid Reference: {0}")]
InvalidReference(String),
#[error("Invalid Time Period: {0}")]
InvalidTimePeriod(String),
#[error("Event Error: {0}")]
EventError(String),
#[error("Characteristic Error: {0}")]
CharacteristicError(String),
#[error("Related Party Error: {0}")]
RelatedPartyError(String),
#[error("Contact Medium Error: {0}")]
ContactMediumError(String),
#[error("Bad Currency: {0}")]
CurrencyError(String),
#[error("No data present for {0}")]
NoDataError(String),
#[error("Regex Error: {0}")]
RegexError(#[from] RegexError),
}
impl From<&str> for TMFError {
fn from(msg: &str) -> Self {
TMFError::GenericError(msg.to_string())
}
}