typescript - 指定类的构造函数参数
问题描述
我在经典的 ES6 npm 包中有一个这样的 ES6 类:
class Document {
/**
*
* @param {Object} options
* @param {String} [options.title]
* @param {String} [options.type]
* @param {String} [options.detail]
* @param {String} [options.instance]
* @param {Number} [options.status]
* @param {Extension} [extension]
*/
constructor (options, extension) { // some implementation ... }
}
现在我想为该类提供一些 TypeScript 类型。
我试过了,但被 WebStorm 或 VS Code 等忽略了options
。extension
declare module "myModule" {
class Document implements IDocument {
constructor(options: IDocumentOptions, extension: IExtension)
detail: string;
extension: IExtension;
instance: string;
status: number;
title: string;
type: string;
}
interface IDocument {
title: string,
type: string,
detail?: string,
instance?: string,
status: number,
extension?: IExtension
}
interface IDocumentOptions {
title: string,
type: string,
detail?: string,
instance?: string,
status: number,
extension?: IExtension
}
interface IExtension {
}
const _: {
Document: Document
}
export = _;
}
};
解决方案
我猜您正在尝试覆盖现有的 Document 变量。
declare var Document: {
prototype: Document;
new(): Document;
};
只是你必须重命名你的类并添加构造函数实现,最后它应该可以工作
推荐阅读
- php - Lavary Laravel 菜单(子菜单)不起作用
- javascript - 打字稿没有正确转换小数
- python - Pywinrm 和 HTTPS 连接
- flutter - 当应用程序处于后台时,Flutter `FirebaseDynamicLinks.onLink` 会调用 `onSuccess` 两次
- java - 如何将 .xlsx 文件保存到 Android 中的“下载”文件夹?
- java - Avro 序列化
- java - 无法在 Spring Boot Gradle 项目中导入 HATEOAS 元素
- pyspark - 在 PySpark 中加入表的条件:如果点在多边形内
- spring - 从表中读取数据,然后在电子邮件春季批处理中以表格式发送该数据
- django - 在这种情况下我应该使用 django Signals 吗?