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 |