Начиная с ts.Node
для инициализатора p.prop1
ниже, существует ли простой способ получить информацию о разрешенном типе (включая теги документов / комментарии) для Props.prop1
с помощью средства проверки типов?
interface Props {
/**
* Doc comment
* @tag
*/
prop1: string;
}
const p: Props = { prop1: 'hello' };
// ^^^^^
Мне известны такие API, как getTypeAtLocation
, getDeclaredTypeOfSymbol
, getApparentType
и getPropertyOfType
, но я не мог понять, как их объединить (или какие другие API могут потребоваться), чтобы делать то, что я хочу. Вызов typeChecker.getSymbolAtLocation(node)
на узле инициализатора prop1
возвращает символ, который не имеет полной информации о типе.
(В конечном итоге мне нужны теги JSDoc, которые, если у вас есть права ts.Symbol
, можно получить с помощью symbol.getJsDocTags()
.)