У меня есть следующая проблема: я строю некоторые программы на основе Express.js (с использованием простого JS, а не TS). Я использую Sequelize в качестве ORM.

У меня есть классы «репозиторий», которые наследуют функциональность от класса BaseRepository. Это пример UserRepo:

class UserRepo extends BaseRepo{ constructor(model){ super(model); } } 

Родительский класс BaseRepo:

 class BaseRepo{ constructor(model){//VSCODE HAS NO CLUE WHAT TYPE THAT IS this.model = model } async index(){ const records = await this.model.findAll(); return records; } ... } 

Проблема в том, что VSCode не знает, что this.model является моделью Sequelize , поскольку он внедряется в другом месте. Следовательно, intellisense не работает.

Есть ли способ вручную импортировать объявление типа модели и указать VSCode использовать его, возможно, с использованием JSDoc?

Любая помощь будет принята с благодарностью.

Если вы используете Typescript, установите Type в конструкторе следующим образом

 constructor(model: Sequelize){ this.model = model } 

Если вы используете Javascript, напишите JSDocs так:

 /** * @param {Sequelize} model */ constructor(model){ this.model = model }