misty-parser 0.0.3

Parser code required by the Misty Compiler
Documentation
use crate::pest_parser::Rule;
use crate::validator::ValidationError;

/// General parser errors.
#[derive(Debug, thiserror::Error)]
pub enum ParserError {
    #[error("Pest Parser Error: {0}")]
    Pest(#[from] pest::error::Error<Rule>),

    #[error("No root AST node was found in the source")]
    RootNode,

    #[error("The Enum name is invalid or is missing")]
    EnumName,

    #[error("The Schema name is invalid or is missing")]
    SchemaName,

    #[error("The Schema Field name is invalid or is missing")]
    FieldName,

    #[error("The Interface name is invalid or is missing")]
    InterfaceName,

    #[error("The Function name is invalid or is missing")]
    FunctionName,

    #[error("The Schema Field type is invalid or is missing")]
    FieldDataType,

    #[error("The DataType declared is invalid")]
    DataType,

    #[error("The DataType container name is invalid")]
    DataTypeContainerName,

    #[error("The DataType container inner type is invalid")]
    DataTypeContainerInnerType,

    #[error("The Function argument is invalid or is missing")]
    FunctionArgument,

    #[error("The Function Argument type is invalid or is missing")]
    FunctionArgumentDataType,

    #[error("Validation Error: {0}")]
    Validation(#[from] ValidationError),
}