Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Некоторую базовую информацию о типах полей классов дает опция emitDecoratorMetadata. Для чего-то большего — да, только кодогенерация.
Автор смешал в кучу классы и объекты. Все, что позволяет такой подход, можно записать одной строчкой на Javascript, а к классам и Typescript в целом оно никакого отношения не имеет:
function describe(obj) {
return Object.keys(obj).map(k => ({ field: k, value: obj[k], type: typeof obj[k] }));
}Хочется сказать, что штука получилась интересная, но пока непонятно, что с ней делать дальше.Комментаторы выше уже сказали, почему на самом деле этот подход не получится применить ни для чего полезного. Поэтому — поставить на полочку, порадоваться и двигаться дальше.
Я думаю, что эту задачу было бы эффективнее решить через плагин к ttypescript. Как, например, это сделано в typescript-is.
Разбираем классы по косточкам или интроспектируем типы в Typescript