use std::error::Error as StdError;
use crate::ValidationErrors;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error("could not compile JSON Schema")]
Schema {
#[source]
source: Box<dyn StdError + Send + Sync>,
},
#[error("could not compile Markdown template")]
Template {
#[source]
source: Box<dyn StdError + Send + Sync>,
},
#[error("JSON does not match the view's schema")]
Validation(#[from] ValidationErrors),
#[error("could not render Markdown template")]
Render {
#[source]
source: Box<dyn StdError + Send + Sync>,
},
}