Crate graphql_parser [−] [src]
Graphql Parser
This library contains full parser and formatter of the graphql query language as well as AST types.
Current this library supports full graphql syntax, and the following extensions:
- Subscriptions
- Block (triple quoted) strings
- Schema definition language a/k/a IDL (which is still in RFC)
Example: Parse and Format Query
use graphql_parser::parse_query; let ast = parse_query("query MyQuery { field1, field2 }")?; // Format canonical representation assert_eq!(format!("{}", ast), "\ query MyQuery { field1 field2 } ");
Example: Parse and Format Schema
use graphql_parser::parse_schema; let ast = parse_schema(r#" schema { query: Query } type Query { users: [User!]!, } """ Example user object This is just a demo comment. """ type User { name: String!, } "#)?; // Format canonical representation assert_eq!(format!("{}", ast), "\ schema { query: Query } type Query { users: [User!]! } \"\"\" Example user object This is just a demo comment. \"\"\" type User { name: String! } ");
Modules
| query |
Query language AST and parsing utilities |
| schema |
Schema definition language AST and utility |
Structs
| Pos |
Original position of element in source code |
| Style |
A configuration of formatting style |
Functions
| parse_query |
Parses a piece of query language and returns an AST |
| parse_schema |
Parses a piece of schema language and returns an AST |