ДЗ №6
Дедлайн 04.11.2025 в 20:59
Требования:
Реализовать домашку в репозитории в файлах с расширением .ts
Задание 1:
Определи интерфейс ApiResponse<T>, описывающий ответ от сервера:
{
data: ...;
status: ...;
message: ...;
...
}
Обязательно сделай какие-то поля оциональными, и чтобы какие-то могли быть null
Создай переменную response типа ApiResponse<User> (также потребуется создать user)
Задание 2:
Определи тип Product с полями:
id: numbertitle: stringprice: number
Определи тип DiscountedProduct, который расширял бы базовый продукт, добавляя поля связанные со скидками.
Создай переменную item типа DiscountedProduct и присвой ей объект.
Задание 3:
Создай универсальную функцию
function wrap(value) {
return { value };
}
Добавь дженерик T, чтобы функция принимала значение любого типа, а возвращаемый объект имел тип { value: T }.