use derive_deftly::define_derive_deftly;
define_derive_deftly! {
export OtherFromError for enum:
impl From<std::io::Error> for $ttype {
fn from(err: std::io::Error) -> Self {
$ttype::Other(err.to_string())
}
}
impl From<anyhow::Error> for $ttype {
fn from(err: anyhow::Error) -> Self {
$ttype::Other(err.to_string())
}
}
}
define_derive_deftly! {
export DefineVariantError:
${if is_enum {
#[derive(Debug, Error, PartialEq)]
pub enum $<$tname ConfigError> {
#[error("Config Error:{message}")]
ConfigError {
message: String
}
$(
#[error("Invalid config:{message}")]
$< Invalid $vname > {
message: String
},
#[error("Config does not exist: {message}")]
$< $vname Unfound > {
message: String,
}
)
}
} is_struct {
#[derive(Debug, thiserror::Error, PartialEq)]
pub enum $<$tname ConfigError> {
#[error("Config Error:{message}")]
ConfigError {
message: String
},
$(
#[error("Invalid config:{message}")]
$< Invalid $fname > {
message: String
},
#[error("Config does not exist: {message}")]
$< $fname Unfound > {
message: String,
},
)
}
}}
}