在typescript中,如何使用声明文件从外部JS库继承

时间:2016-02-09 13:53:11

标签: node.js typescript

我正在尝试为外部库(https://github.com/datastax/nodejs-driver/)编写.d.ts文件。

我可以映射函数/对象,但我不知道如何映射"继承自JS库中定义的对象"逻辑(例如:http://docs.datastax.com/en/developer/nodejs-driver/2.1/nodejs-driver/reference/addressResolution.html

我没有找到与此相关的任何内容,知道如何实现这一目标?

1 个答案:

答案 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定义。将您的定义创建为外部模块 - 而不是环境定义。

然后,您应该与TypingsDefinatlyTyped或两个项目共享您的输入内容。