Предположим, у меня есть следующие интерфейсы:
interface Person {
name: string;
}
interface Attendee {
person: Person;
id: number;
}
Я уже понял, как использовать API компилятора для извлечения строковых представлений каждого типа свойства, например:
{
Attendee: {
person: "Person",
id: "number"
}
}
Вот как я это делаю: https://github.com/jlkiri/tsx-ray/blob/master/src/index.ts.
Это комбинация typeToString
и getTypeOfSymbolAtLocation
средства проверки типов.
Однако я хотел бы разрешить типы лайков Person
к их определению, чтобы я получил:
{
Attendee: {
person: {
name: "string";
},
id: "number"
}
}
Есть ли API, который я мог бы использовать, чтобы легко сделать это, или мне нужно самому реализовать logi c?