1use crate::named_value::NamedValueError;
2use sic_image_engine::errors::SicImageEngineError;
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum SicParserError {
7 #[error("expected named value with signature '{0}', but got no more inputs")]
8 ExpectedNamedValue(String),
9
10 #[error("expected value with of type '{0}', but got no more inputs")]
11 ExpectedValue(String),
12
13 #[error("unable to parse filter type: {0}")]
14 FilterTypeError(SicImageEngineError),
15
16 #[error("unable to parse named value: {0}")]
17 NamedValueParsingError(NamedValueError),
18
19 #[error("string value expected an inner value, but none was found")]
20 NoInnerString,
21
22 #[error("{0}")]
23 OperationError(OperationParamError),
24
25 #[error("unable to parse script: {0}")]
26 PestGrammarError(String),
27
28 #[error("parsing failed: operation doesn't exist")]
29 UnknownOperationError,
30
31 #[error("unable to parse value '{0}'")]
32 ValueParsingError(String),
33
34 #[error("unable to parse value '{0}', error:\n\t{1}")]
35 ValueParsingErrorWithInnerError(String, Box<dyn std::error::Error + Send + Sync>),
36}
37
38#[derive(Debug, Error)]
39pub enum OperationParamError {
40 #[error(
41 "Unable to parse `set` environment command. Error: expected a single `set` inner element."
42 )]
43 SetEnvironment,
44
45 #[error("Unable to parse `set` environment command. Error on element: {0}")]
46 SetEnvironmentElement(String),
47
48 #[error("Unable to parse operation argument(s): {0}")]
49 PestArgError(String),
50
51 #[error(
52 "Unable to parse `del` environment command. Error: expected a single `del` inner element."
53 )]
54 UnsetEnvironment,
55
56 #[error("Unable to parse `del` environment command. Error on element: {0}")]
57 UnsetEnvironmentElement(String),
58}