带有属性的函数的Typescript定义

时间:2014-09-10 13:17:03

标签: typescript ramda.js

我正在为ramda写一个d.ts文件。 lib具有函数mapObjmapObj.idx

interface RamdaStatic {
 ...
  mapObj(
    fn: Function,
    obj: any
  ): any;
  ...
}

我的问题是如何添加具有类似def类型的mapObj.idx?我知道answer,但这需要一个单独的界面,我想避免这种情况。

1 个答案:

答案 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;
  }
  // ...
}

您可以向此定义添加更多类型参数,以使其更有用。