Skip to main content

pidgin_lang/
errors.rs

1#[derive(Debug, thiserror::Error)]
2pub enum ParseError {
3    #[error("missing @ header line")]
4    MissingHeader,
5
6    #[error("unterminated quoted string at byte {0}")]
7    UnterminatedString(usize),
8
9    #[error("duplicate field: {0}")]
10    DuplicateField(String),
11
12    #[error("malformed list at byte {0}")]
13    MalformedList(usize),
14
15    #[error("invalid directive: {0}")]
16    InvalidDirective(String),
17
18    #[error("empty run_id")]
19    EmptyRunId,
20
21    #[error("packet exceeds maximum size ({0} bytes)")]
22    PacketTooLarge(usize),
23
24    #[error("too many fields (max {0})")]
25    TooManyFields(usize),
26
27    #[error("field too long at byte {0}")]
28    FieldTooLong(usize),
29
30    #[error("invalid field syntax at line {0}: expected name=value")]
31    InvalidField(usize),
32}
33
34#[derive(Debug, thiserror::Error)]
35pub enum ValidationError {
36    #[error("syntax error: {0}")]
37    Syntax(String),
38
39    #[error("schema error: {0}")]
40    Schema(String),
41}