2016-10-29 32 views
0

在一個Node模塊中的U函數我想描述的.d.ts有兩個別名:config()load()see the source)。該功能可以像這樣dotenv/index.d.ts描述:TypeScript:在.d.ts中的函數別名

export function config(options?: dotenvOptions): Object; 

我怎麼也出口它的另一別名下,load()

回答

2

可以聲明一個類型:

declare type ConstructorMethod = (options?: dotenvOptions) => Object; 

(名稱可能更好)

然後導出兩種方法相同的類型:

export const config: ConstructorMethod; 
export const load: ConstructorMethod; 

附:看起來返回類型實際上是object | boolean。聯盟類型可能很煩人,但我想我可能會指出你朝這個方向發展,以防將來變得惱人:https://www.typescriptlang.org/docs/handbook/advanced-types.html(關於類型警衛和區分類型的部分)。只是最近才碰到一件很酷的事。

+0

謝謝。我其實認爲這個類型是Object |返回FALSE。我已將修復程序提交給DefinitelyTyped的PR。 – Borek