我正在尝试为外部库(https://github.com/datastax/nodejs-driver/)编写.d.ts文件。
我可以映射函数/对象,但我不知道如何映射"继承自JS库中定义的对象"逻辑(例如:http://docs.datastax.com/en/developer/nodejs-driver/2.1/nodejs-driver/reference/addressResolution.html)
我没有找到与此相关的任何内容,知道如何实现这一目标?
答案 0 :(得分:1)
在库和定义中,您尝试继承的库需要是类或构造函数(在js中)或TypeScript中的类,构造函数或接口。
将TypeScript与React一起使用时,这实际上是一种非常常见的情况:
class TodoApp extends React.Component<IAppProps, IAppState> {
查看node-casandra驱动程序的API,看起来你应该能够做到这一点。
这是一个天真的例子:
// cassandra-driver.d.ts
declare module "cassandra-driver" {
export class Client {}
}
然后:
import {Client} from 'cassandra-driver';
class Foo extends Client {
}
我建议reading up创建d.ts定义。将您的定义创建为外部模块 - 而不是环境定义。
然后,您应该与Typings或DefinatlyTyped或两个项目共享您的输入内容。