将流定义添加到typescript库

时间:2017-06-13 05:27:08

标签: flowtype

我写了一个名为redux-async-action-reducer的库。我用打字稿写了它。我想为它添加流程定义。

我有什么方法可以将它与我的图书馆一起保存,而不是创建一个单独的并将其放入flow-typed

像流量定义文件的d.ts之类的东西?

1 个答案:

答案 0 :(得分:2)

您可以在包裹入口点旁边附带.js.flow文件。在您的情况下(因为您的包裹入口点为dist/index.js,您将在dist/index.js.flow创建一个文件。

Flow会将此视为普通源文件。您必须记住将// @flow置于顶部。您可以使用存根实现来编写函数和类,也可以使用declare(例如declare export function foo(x: string): string;,类似于类)。

请注意,这实际上与库定义文件不同 - Flow会将其视为源代码。

Flow-typed是分发libdef的首选方式。当Flow在版本之间进行重大更改时,使用.js.flow文件可能会导致问题。但是,由于您将分发一个手工策划的界面,而不是将整个库源作为.js.flow文件发送,因此该问题将得到缓解。