Я новичок в машинописном тексте и пытаюсь поиграть с вложенными дженериками. К настоящему времени я не могу заставить их работать так, как я ожидал, вероятно, я упускаю что-то очевидное. Вот мой пример кода:
type GenericServiceResponse<T> = {
status: number;
payload: T;
}
type myServicePayload = {
name: string;
surname: string;
}
type myServiceResponse = GenericServiceResponse<myServicePayload>;
class GenericServiceRequest {
callback?: <T>(data:T) => void;
}
let request = new GenericServiceRequest();
request.callback = <myServiceResponse>(data:myServiceResponse) => {
console.info(data.payload.name);
};
Вывод компилятора tsc (целевой es5):
main.ts (20,23): ошибка TS2339: свойство «полезная нагрузка» не существует для типа «myServiceResponse».