2 个版本
0.1.0 | 2021 年 3 月 6 日 |
---|---|
0.1.0-alpha.0 | 2020 年 4 月 9 日 |
#4 在 #artemis
510KB
13K SLoC
此 crate 允许您静态生成使用 Artemis 所需的所有文件。虽然您可以手动编写这些文件,但它们相当复杂,手动编写很容易引入错误,因此此模块允许您从 .graphql
文件自动生成它们。除了文件之外,您还需要一个以 JSON 或 .graphql
格式进行查询的 schema,或者一个启用了查询的服务器。请注意,第二个选项需要启用 introspect
功能。
用法
use artemis_build::CodegenBuilder;
CodegenBuilder::new()
.introspect_schema("https://127.0.0.1:8080/graphql", None, Vec::new())
.unwrap()
.add_query("my_query.graphql")
.with_out_dir("src/queries")
.build();
唯一必需的选项是 schema - 在这种情况下,我们从 https://127.0.0.1:8080/graphql
中查询一个,没有授权头和额外的头 - 但如果您至少没有调用一次 add_query
,代码生成器将不会做很多事情。输出目录指定输出查询模块的目录。它将在该目录中生成一个 mod.rs
文件,并为每个查询和全局查询枚举(用于 WASM 支持)生成一个文件。 请确保此目录中不存在 mod.rs
,否则它将被覆盖。
输出目录默认为 OUT_DIR
,但为了良好的自动补全,我建议将文件放在 src
中的某个地方,以便您的 IDE 识别它们。
有关更多信息,请参阅每个函数定义。
依赖项
~3–18MB
~259K SLoC