use daml_lf::DamlLfError;
use std::fmt;
use std::fmt::{Display, Formatter};
#[derive(Debug)]
pub enum DamlCodeGenError {
InvalidModuleMatcherRegex(regex::Error),
DamlLfError(DamlLfError),
IoError(std::io::Error),
}
impl std::error::Error for DamlCodeGenError {}
impl Display for DamlCodeGenError {
fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
match self {
DamlCodeGenError::InvalidModuleMatcherRegex(e) =>
write!(fmt, "InvalidModuleMatcherRegex {}", (e as ®ex::Error)),
DamlCodeGenError::DamlLfError(e) => write!(fmt, "Daml LF error {}", (e as &DamlLfError)),
DamlCodeGenError::IoError(e) => write!(fmt, "IOError: {}", (e as &std::io::Error)),
}
}
}
pub type DamlCodeGenResult<T> = Result<T, DamlCodeGenError>;