3个不稳定版本

0.3.0 2021年6月6日
0.2.1 2021年4月8日
0.2.0 2021年4月7日

7#graphql-parser

Download history 6/week @ 2024-02-20 13/week @ 2024-02-27 4/week @ 2024-03-05 10/week @ 2024-03-12 1/week @ 2024-03-19 19/week @ 2024-03-26 49/week @ 2024-04-02

69 每月下载次数
2 个crate中使用 (通过 gurkle_codegen)

MIT/Apache

110KB
3K SLoC

Graphql解析器

此库包含GraphQL查询语言的完整解析器和格式化器,以及AST类型。

文档 | GitHub | Crate

当前此库支持完整的GraphQL语法,以及以下扩展

  1. 订阅
  2. 块(三引号字符串)
  3. 模式定义语言/IDL(仍在RFC中)

示例:解析和格式化查询

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
}
");

示例:解析和格式化模式

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!
}
");

依赖项

~1.2–1.9MB
~40K SLoC