misty_parser/
error.rs

1use crate::pest_parser::Rule;
2use crate::validator::ValidationError;
3
4/// General parser errors.
5#[derive(Debug, thiserror::Error)]
6pub enum ParserError {
7    #[error("Pest Parser Error: {0}")]
8    Pest(#[from] pest::error::Error<Rule>),
9
10    #[error("No root AST node was found in the source")]
11    RootNode,
12
13    #[error("The Enum name is invalid or is missing")]
14    EnumName,
15
16    #[error("The Schema name is invalid or is missing")]
17    SchemaName,
18
19    #[error("The Schema Field name is invalid or is missing")]
20    FieldName,
21
22    #[error("The Interface name is invalid or is missing")]
23    InterfaceName,
24
25    #[error("The Function name is invalid or is missing")]
26    FunctionName,
27
28    #[error("The Schema Field type is invalid or is missing")]
29    FieldDataType,
30
31    #[error("The DataType declared is invalid")]
32    DataType,
33
34    #[error("The DataType container name is invalid")]
35    DataTypeContainerName,
36
37    #[error("The DataType container inner type is invalid")]
38    DataTypeContainerInnerType,
39
40    #[error("The Function argument is invalid or is missing")]
41    FunctionArgument,
42
43    #[error("The Function Argument type is invalid or is missing")]
44    FunctionArgumentDataType,
45
46    #[error("Validation Error: {0}")]
47    Validation(#[from] ValidationError),
48}