3 unstable releases
0.3.0 | Jun 6, 2021 |
---|---|
0.2.1 | Apr 8, 2021 |
0.2.0 | Apr 7, 2021 |
#5 in #graphql-parser
31 downloads per month
Used in 2 crates
(via gurkle_codegen)
110KB
3K
SLoC
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 gurkle_parser::query::{parse_query, ParseError};
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 gurkle_parser::schema::{parse_schema, ParseError};
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!
}
");
Dependencies
~1.1–1.8MB
~38K SLoC