Skip to main content

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}