使用Compiler的API可以获取到ts文件结构,
获取文件中所有的方法和属性,我使用的是:
let type = checker.getDeclaredTypeOfSymbol(symbol)
let symbols = type.getProperties() // Symbol[]
symbols.forEach(val => {
console.log(serializeSymbol(val))
})
输出的结果为:
{ name: 'getName', documentation: '获取名字', type: '() => string' }
{ name: 'test', documentation: '测试方法', type: '() => string' }
但是这种方式只以获取粗略的值, 获取不到比较精确的返回值.
这个interface
可以获取到精确的类型, 但是只有constructor
的方法可以返回这个接口,其他类型的不行