Я пишу модулю, что одна из функций должна возвращать экземпляр HTMLCanvasElement
или OffscreenCanvas
, если доступно.
Для кода 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