use thiserror::Error;
#[derive(Error, Debug, PartialEq, Eq)]
pub enum ParseError {
#[error("Incomplete input")]
Incomplete,
#[error("Invalid character at offset {0}")]
InvalidChar(usize),
#[error("Expected literal {expected:?} at offset {offset}")]
ExpectedLiteral {
expected: String,
offset: usize,
},
#[error("Unexpected end of input")]
UnexpectedEof,
#[error("Number parsing error")]
InvalidNumber,
#[error("Literal length {got} exceeds maximum {max}")]
LiteralTooLarge {
got: usize,
max: usize,
},
#[error("Malformed response: {0}")]
Malformed(&'static str),
#[error("Other parsing error: {0}")]
Other(&'static str),
}