如何在jsdoc中定义本机类

时间:2019-02-10 17:01:14

标签: javascript visual-studio-code jsdoc

我正在编写模块,其中一个函数应返回HTMLCanvasElementOffscreenCanvas的实例(如果可用)。

对于Visual Studio代码OffscreenCanvas未定义。

如何仅使用jsdoc注释定义类? (无需在注释块之外编写任何JavaScript)

例如:

/**
* @classdef OffscreenCanvas(width,height)
* @param {number} width
* @param {number} height
* @property {number} width
* @property {number} height
**/

我尝试使用jsdoc文档中的许多方法,例如使用@see@class@typedef,但效果不佳。

/**
 * @type {(HTMLCanvasElement|OffscreenCanvas)}
 */
const sharedCanvas = createOffscreenCanvas();
export function getSharedCanvas() {
    return sharedCanvas;
}
/**
 * 
 * @param {number} width 
 * @param {number} height 
 * @return {(HTMLCanvasElement|OffscreenCanvas)}
 */
export function createOffscreenCanvas(width = 200, height = 200) {
    if (OffscreenCanvas) {
        return new OffscreenCanvas(width, height);
    }
    let c = document.createElement('canvas');
    c.width = width;
    c.height = height;
    return c;
}

如果createOffscreenCanvas显示说明,则是完美的解决方案:

function createOffscreenCanvas(width?: number, height?: number): HTMLCanvasElement | OffscreenCanvas

但目前正在显示

function createOffscreenCanvas(width?: number, height?: number): any

0 个答案:

没有答案