是否可以使用Graphql生成的模式作为流定义

Is it possible to use Graphql generated schema as Flow definitions?

本文关键字:模式 定义 可以使 Graphql 是否      更新时间:2024-03-28

我有一个项目使用卷积GraphQLRelayFlow。有没有一种方法可以使用GraphQL模式来馈送Flow,这样React道具就可以在不重新定义类型的情况下进行类型化?

对于Relay,我已经使用了生成两个文件的脚本:schema.jsonschema.graphql。Babel插件使用schema.json将查询转换为javascript。

另一个文件schema.graphql看起来类似于类型的Flow语法定义,但存在差异。我曾经尝试过从中import type {Definition} from "./schema.graphql",但都失败了。

这方面的问题是GraphQL标量类型可以用于表示各种格式的值,并且它们不是从流中可以回退的基类型继承的。

标量不仅可以验证"字符串",还可以验证"32个十六进制数字的字符串"。不可能在流中声明这种类型。

这里有一些替代方案:babel插件类型检查,json流

所以过了一段时间,我决定解决这个问题,因为我们的项目开始增长,我们开始放松我们的类型。最后,最简单的解决方案是获取printerSchema并对其进行修改,使其输出流友好的文本,将其保存到.js文件中,并将库指向那里。

我稍后会尝试在github中发布