Я изо всех сил пытаюсь понять, как передать общий тип, который требует параметра функции только для того, чтобы функция предоставляла параметр. Ниже приведен надуманный пример, иллюстрирующий то, что я пытаюсь сделать.
interface SingleItem<T> {
body: T
}
interface MultiItem<T> {
body: T[]
}
function requestImages<BodyType> () {
...
return resp as BodyType<Image>;
}
requestImage<SingleItem>(); //<-- will throw because SingleItem requires a parameter
requestImage<MultiItem>();
Я понимаю, что могу изменить SingleItem и MutliItem, чтобы иметь значение по умолчанию для типа, но я пытаюсь изучить детали машинописного текста, не обязательно обойти эту проблему. Есть ли способ обойтись без дженериков?