cainome-parser 0.6.0

A run-time library to generate an intermediate representation of Cairo ABI.
Documentation
use syn::Error as SynError;
use thiserror::Error;

#[derive(Error, Debug)]
pub enum Error {
    #[error(transparent)]
    Syn(#[from] SynError),
    #[error("Token initialization error: {0}")]
    TokenInitFailed(String),
    #[error("Conversion error: {0}")]
    ConversionFailed(String),
    #[error("Parser error: {0}")]
    ParsingFailed(String),
    #[error(transparent)]
    IO(#[from] std::io::Error),
    #[error(transparent)]
    SerdeJson(#[from] serde_json::Error),
    #[error("Invalid option type path: {0}")]
    InvalidOptionTypePath(String),
    #[error("Invalid result type path: {0}")]
    InvalidResultTypePath(String),
    #[error("Invalid non-zero type path: {0}")]
    InvalidNonZeroTypePath(String),
}

pub type CainomeResult<T, E = Error> = Result<T, E>;