ivinnic
@ivinnic
Full-Stack developer

Как настроить jsdoc для определения динамически возвращаемого типа, при наследовании?

Добрый день!
Очень прошу помощи.

class ApiModel {
	item_class
	list = {}
	url

	loadItems() {
		fetch(this.url).then(data => {
			data.forEach(item => {
				// класс будет определен в наследумом классе
				let item_class = this.item_class
				this.list[item.id] = new item_class(item)
			})
		})
	}

	/**
	 * @return Что тут писать ?
	 */
	getList(){
		return this.list
	}

	/**
	 * @param id
	 * @return Что тут писать ?
	 */
	getItem(id){
		return this.list[id]
	}
}


class ProductModel extends ApiModel {
	url='some-route'
	item_class = ProductItem
}

class ProductItem {
	constructor(data) {
		this.data = data
	}
	/**  методы сущнсоти **/
}


let product_model = new ProductModel()
let  product_item = product_model.getItem(id)


Что необходимо написать в анотации, что бы product_item - был типа "ProductItem" при этом не объявляя этого явно в ProductModel.

Ни как не получается найти как это реализовать....
Буду очень сильно благодарен!!!
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы