【问题标题】:JS Doc: How to define the object returned by a javascript es6 class as a custom type?JS Doc:如何将 javascript es6 类返回的对象定义为自定义类型?
【发布时间】:2020-11-16 01:54:47
【问题描述】:

我有一些以下代码:

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 文档来实现这一点,以定义已定义的类返回的自定义对象类型?

【问题讨论】:

    标签: javascript jsdoc jsdoc3


    【解决方案1】:

    你在使用 typescript 编译器吗?如果那么你可以定义一个logger.types.ts类型文件并在jsdoc中导入它返回注释。

    /**
     * Logger Component of the form
     * @returns {import("./logger.types.ts").LoggetProps}
     */
    
    export interface LoggetProps extends winston {
         //example props
         isError: boolean
    
    
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多