是否可以将Graphql生成的模式用作流定义?

时间:2016-04-08 07:51:43

标签: javascript reactjs graphql flowtype relayjs

我有一个项目使用convo GraphQL 中继流程。有没有办法使用GraphQL模式来提供Flow,这样可以输入React props而无需重新声明类型?

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

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

2 个答案:

答案 0 :(得分:8)

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

Scalar不仅可以验证“字符串”,还可以验证“32个十六进制数字的字符串”。在流程中声明这种类型是不可能的。

以下是一些替代方案:babel-plugin-typecheckjson-to-flow

答案 1 :(得分:1)

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

我试着在以后的日子里把它发布到github上