equt-md-error 0.1.1

Error for Markdown parsing and rendering
Documentation
//! This crate includes all errors might occur in [`equt_md`] related crates.
//!
//! [`equt_md`]: https://docs.rs/equt-md/*/equt_md/struct.Parser.html
use katex;
use serde_yaml;
use thiserror::Error as E;

/// A specialized [`Result`] type for markdown operations.
///
/// This type is broadly used across [`equt_md`] and all its related crates for
/// any operation which may produce an error.
///
/// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html
/// [`equt_md`]: https://docs.rs/equt-md/*/equt_md/struct.Parser.html
pub type Result<T> = std::result::Result<T, Error>;

/// An enum contains all errors might occur.
#[derive(Debug, E)]
pub enum Error {
    /// Come from an IOError, occurs while rendering output.
    #[error("io error: {0}")]
    IOError(#[from] std::io::Error),

    /// Currently only occurs while parsing the frontmatter YAML.
    #[error("(de)serializing error: {0}")]
    SerError(#[from] serde_yaml::Error),

    /// Occurs while rendering MathJax expression.
    #[error("math error: {0}")]
    KaTeXError(#[from] katex::Error),
}