redact_composer_core/
error.rs

1use thiserror::Error;
2
3#[cfg(feature = "serde")]
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Error)]
7#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
8/// Error type which may be returned from [`Renderer::render`](crate::render::Renderer::render).
9pub enum RendererError {
10    /// May be returned while rendering a composition element indicating the required dependencies
11    /// are not yet available.
12    #[error("Missing required context: {:?}" , .0)]
13    MissingContext(String),
14    /// Error indicating a type conversion failure.
15    #[error("Invalid conversion attempt during render.")]
16    BadConversion(#[from] ConversionError),
17}
18
19#[derive(Debug, Error)]
20#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
21/// Error indicating a type conversion failure.
22pub enum ConversionError {
23    /// Error type when attempting a conversion where the type does not match.
24    #[error("The contained type does not match its target.")]
25    TypeMismatch,
26}