javascript - JS Doc:如何将javascript es6类返回的对象定义为自定义类型?
问题描述
我有一些以下代码:
export class Logger {
constructor(label = null, options = {}) {
if (!winston.loggers.has(label)) {
winston.loggers.add(
label,
{ /* ...default options */ }
);
}
return winston.loggers.get(label);
}
// some other function...
}
在这里,我的类返回一个自定义对象,它是一个 Winston 记录器对象。但是当我在我的其他文件中导入这个类并用它创建一个新对象(const logger = new Logger()
)时,自动建议只显示类中的函数,即// some other function
。现在,由于我的类返回了一个 Winston 记录器实例,我希望能够用 JS 文档记录它,以便我得到我的自动建议。
有没有办法可以使用 JS 文档来实现这一点,以定义已定义的类返回的自定义对象类型?
解决方案
你在使用打字稿编译器吗?如果那么您可以定义一个logger.types.ts
类型文件并将其导入 jsdoc 返回注释。
/**
* Logger Component of the form
* @returns {import("./logger.types.ts").LoggetProps}
*/
export interface LoggetProps extends winston {
//example props
isError: boolean
}
推荐阅读
- reactjs - 在 React / Typescript / Redux 运行时更改 Monaco 编辑器选项
- google-api - 用于 .Net 核心的服务器端应用程序的 Google 登录
- c - 假设指向同一个变量的两个指针是非法的/UB,为什么 C 编译器不能优化更改 const 指针的值?
- request - Chrome 开发工具。没有内容长度标头时如何检查请求的传出大小?
- c# - PowerBI Embed 令牌请求返回错误“提供的角色无效”
- c# - 是否可以将添加、删除和列表功能移动到单独的方法中
- java - 默认 log4j 策略
- sql - SQL 合并变量数量(母项)
- ios - SwiftUI:菜单打开时如何忽略背景上的点击?
- python - 有什么方法可以在 Python 中的 Cloud Function 中格式化我的日志吗?