Допустим, у меня есть JavaScript класс
/**
* @element my-element
*/
export class MyElement extends HTMLElement {
publicMethod() {}
/** @private */
privateMethod() {}
}
customElements.define('my-element', MyElement);
и файл объявления, сгенерированный с использованием declaration
и allowJs
:
export class MyElement extends HTMLElement {
publicMethod(): void;
/** @private */
privateMethod(): void
}
Я также в сценарий после сборки, соедините его с файлом декларации:
declare global { interface HTMLElementTagNameMap { 'my-element': MyElement; } }
При использовании этого элемента в файле машинописного текста я получаю доступ к privateMethod
при автозаполнении.
import 'my-element'
const me = document.createElement("my-element")
me.// autocompletes `privateMethod`
Как могу ли я указать tsc
помечать как приватные любые методы, поля или свойства, помеченные тегом @private
JSDo c?