在模块之间共享声明

时间:2016-12-29 06:01:21

标签: flowtype

让我们把lodash作为一个库的一个例子,它可以在许多模块中导出它的功能。

鉴于以下导入:

import { flow } from 'lodash'

import flow from 'lodash/flow'

import flow from 'lodash/fp/flow'

flow-typed的当前lodash libdef仅导出主lodash入口点的typedef,这意味着我们的第一个命名导入会被检查类型,但后两个默认导入不会。

我们可以为lodash/flow创建一个新模块,并将flow函数的默认导出声明为:

declare module 'lodash/flow' {
    declare export default function flow(...funcs?: Array<Function>): Function;
    declare export default function flow(funcs?: Array<Function>): Function;
}

我们如何以这样的方式提取这些函数声明:我们可以在主lodash入口点,命名的lodash/flow模块以及lodash/fp/flow模块中共享它们?

有没有办法在很多地方创建/存储声明?

0 个答案:

没有答案