我现在正在学习TypeScript,并且一直想创建并贡献自己的Type Def文件。
因此,由于此绑定功能,最近我很难使Intellisense与该类型一起使用
declare module 'jshue' {
export interface IHue {
discover: () => Promise<Array<any>>,
bridge: (ip: string) => any
}
var jsHue:IHue = jsHueAPI.bind(null, fetch, Response, JSON, Promise);
export default jsHue;
}
此问题是,当我导入库并尝试使用它时,将提示错误消息,提示说
This expression is not callable.
Type 'IHue' has no call signatures.
如果我在声明jsHue时声明一个类型,它将起作用,仅仅是因为它将破坏具有类型定义文件的目的。
import jsHue, { IHue } from 'jshue';
const hue:IHue = jsHue();
还有,有没有一种方法可以避免使用jsHue()声明新变量?
还有其他解决方案吗?