use thiserror::Error;
#[derive(Debug, Error)]
pub enum TemplateError {
#[error("template syntax error: {0}")]
SyntaxError(String),
#[error("undefined variable: {0}")]
UndefinedVariable(String),
#[error("render error: {0}")]
RenderError(String),
}
#[cfg(feature = "templating")]
impl From<minijinja::Error> for TemplateError {
fn from(err: minijinja::Error) -> Self {
use minijinja::ErrorKind;
match err.kind() {
ErrorKind::SyntaxError => Self::SyntaxError(err.to_string()),
ErrorKind::UndefinedError => Self::UndefinedVariable(err.to_string()),
_ => Self::RenderError(err.to_string()),
}
}
}