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


我有一个使用convo的项目 GraphQL中继 和 。有没有办法使用GraphQL架构来提供Flow,以便可以键入React道具而无需重新声明类型?

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

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


1606
2018-04-08 07:51


起源

没有现成的方式我知道,但我认为你可以自己编写babel-plugin - gyzerok


答案:


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

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

以下是一些替代方案: 巴别塔 - 插件,类型检测JSON - 流量


8
2018-06-26 17:30





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

我将在稍后的日期尝试在github上发布它


1
2017-09-12 15:41



听起来很有趣,你有进步吗?你可以分享代码吗? - Barak
我在这里做了一件事: npmjs.com/package/gql2flow @Barak - Kloar
@Kloar只是你知道,我们已经在生产中使用它一段时间了,就像一个魅力! - Barak