Я пытаюсь настроить TypeScript на JS кодовой базе с allowJs и checkJs
allowJs
checkJs
У меня есть JSDo c, который использует интерфейс в качестве типа параметра :
* @param {IPlugin[]|IPlugin} plugins plugin instance(s).
В том же файле , у меня есть интерфейс, определенный через JSDo c:
/** * Plugin extension hooks. * @interface IPlugin * @since 2.1.0 */
Это похоже на действительный JSDo c мне . Однако на TypeScript происходит сбой:
src / core / core.plugins. js: 243: 13 - ошибка TS2304: не удается найти имя 'IPlugin'. 243 * @param {IPlugin [] | IPlugin} Плагины экземпляров плагинов.
src / core / core.plugins. js: 243: 13 - ошибка TS2304: не удается найти имя 'IPlugin'.
243 * @param {IPlugin [] | IPlugin} Плагины экземпляров плагинов.
Есть идеи, как заставить это работать?
@interface не поддерживается Typescript: https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported -jsdo c
@interface
Рекомендуется использовать d.ts файлы вместо: https://github.com/microsoft/TypeScript/issues/33207#issuecomment - 527680208
d.ts
Можно также взломать его, используя @typedef: https://github.com/AlCalzone/ioBroker.js-controller/blob/9fbbb890290b07af5d9dfb7ae90bf92f2d0be178/lib/tools.js#L1329
@typedef