我正在为ramda写一个d.ts文件。 lib具有函数mapObj
和mapObj.idx
。
interface RamdaStatic {
...
mapObj(
fn: Function,
obj: any
): any;
...
}
我的问题是如何添加具有类似def类型的mapObj.idx?我知道answer,但这需要一个单独的界面,我想避免这种情况。
答案 0 :(得分:2)
而不是说" mapObj
是一个函数",说" mapObj
可以像函数一样被调用它有其他属性":
interface RamdaStatic {
// ...
mapObj: {
(fn: (value: any) => any, obj: any): any;
idx: (fn: (value: any, key: string, obj: any) => any, obj: any) => any;
}
// ...
}
您可以向此定义添加更多类型参数,以使其更有用。