libgraphql_parser/value_parsing_error.rs
1use crate::GraphQLStringParsingError;
2
3/// Errors that occur when parsing literal values.
4///
5/// These errors occur when converting raw token text to semantic values.
6/// For example, parsing the integer `9999999999999999999999` overflows i32.
7#[derive(Debug, Clone, PartialEq, thiserror::Error)]
8pub enum ValueParsingError {
9 /// Invalid string literal (bad escape sequence, unterminated, etc.).
10 #[error("Invalid GraphQL string: {0}")]
11 String(#[from] GraphQLStringParsingError),
12
13 /// Invalid integer literal (overflow, invalid format).
14 ///
15 /// GraphQL integers must fit in a signed 32-bit integer (i32).
16 #[error("Invalid GraphQL integer: {0}")]
17 Int(String),
18
19 /// Invalid float literal (infinity, NaN, invalid format).
20 ///
21 /// GraphQL floats must be finite f64 values.
22 #[error("Invalid GraphQL float: {0}")]
23 Float(String),
24}