1

我正在为 ramda 编写一个 d.ts 文件。该库有一个功能mapObjmapObj.idx.

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

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

4

1 回答 1

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

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

于 2014-09-10T13:33:59.580 回答