具有更深路径的库的流libdefs

时间:2018-07-16 08:33:55

标签: javascript flowtype flow-typed

我正在测试Flow以便键入我们的JavaScript,并且我想为内部库创建一个libdef。它是这样导入的:

And if  alpha.eq.zero.

The documentation并没有真正解决如何为像这样的深层路径创建库定义的问题,仅针对顶级路径。

我将libdef文件放在哪里?我怎么称呼它?以及它的外观(当然会忽略libdef的实际实现)?

在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

单个libdef中可以有多个declare module。您可以使用深层路径作为模块名称。这个libdef文件在哪里都没有关系,只要它包含在[libs]的{​​{1}}部分中即可。

在此示例中,.flowconfig具有出口,而深层路径具有出口:

libdef:

internally-shared-libs

用法:

// @flow

declare module 'internally-shared-libs' {
  declare export function hello(): string;
  declare export function bye(): string;
}

declare module 'internally-shared-libs/decorators/withValidation' {
  // You will obviously want to improve these types
  declare type Input = any;
  declare type Output = any;
  declare export default function withValidation(input: Input): Output;
}