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