use cdumay_error::{AsError, Error, ErrorConverter, define_errors, define_kinds};
use std::collections::BTreeMap;
define_kinds! {
TomlData = ("TOML-00001", 400, "Invalid Toml data"),
}
define_errors! {
TomlDeserialize = TomlData,
TomlSerialize = TomlData,
}
pub struct TomlSerializeError;
impl ErrorConverter for TomlSerializeError {
type Error = toml::ser::Error;
fn convert(_: &Self::Error, text: String, context: BTreeMap<String, serde_value::Value>) -> Error {
TomlSerialize::new().set_message(text).set_details(context).into()
}
}
pub struct TomlDeserializeError;
impl ErrorConverter for TomlDeserializeError {
type Error = toml::de::Error;
fn convert(_: &Self::Error, text: String, context: BTreeMap<String, serde_value::Value>) -> Error {
TomlDeserialize::new().set_message(text).set_details(context).into()
}
}