chartml-core 4.0.0

ChartML core library: YAML parser, plugin system, element tree, data model
Documentation
use thiserror::Error;

#[derive(Debug, Clone, Error)]
pub enum ChartError {
    #[error("YAML parse error: {0}")]
    YamlParse(String),

    #[error("Invalid spec: {0}")]
    InvalidSpec(String),

    #[error("Unknown chart type: {0}")]
    UnknownChartType(String),

    #[error("Missing required field: {0}")]
    MissingField(String),

    #[error("Plugin error: {0}")]
    PluginError(String),

    #[error("Data error: {0}")]
    DataError(String),

    #[error("Render error: {0}")]
    RenderError(String),
}

impl From<serde_yaml::Error> for ChartError {
    fn from(err: serde_yaml::Error) -> Self {
        ChartError::YamlParse(err.to_string())
    }
}