如何使用typescript编译器API来获取正常的函数信息,例如:returnType / parameters?

时间:2017-11-10 03:07:51

标签: typescript typescript-compiler-api

/**
 * class of User
 */
class User {
    /**
     * constructor
     * @param name c-name
     */
    constructor(name: string) {
        this.name = name
    }
    /**
     * property name
     */
    private name: string
    /**
     * setName
     * @param name f-name
     */
    public setName(name: string) {
        this.name = name
    }
}

我看到了Typescript Wiki,我可以获得构造函数的信息,例如:returnType / parameters。

[
    {
        "name": "User",
        "documentation": "class of User",
        "type": "typeof User",
        "constructors": [
            {
                "parameters": [
                    {
                        "name": "name",
                        "documentation": "c-name",
                        "type": "string"
                    }
                ],
                "returnType": "User",
                "documentation": "constructor"
            }
        ]
    }
]

但是我希望得到关于正常函数 getName 的returnType / parameters / documentation的信息,我该怎么做?

ps:我知道构造函数有签名,签名有函数 getReturntype ,但是普通函数没有签名,所以我无法获取信息

谢谢!

1 个答案:

答案 0 :(得分:6)

假设您知道如何获取docker-machine ssh default,那么以下内容将起作用:

/mnt/sda1

顺便说一下,你应该查看我写的AST viewer。它可能会帮助您解决未来的一些问题(减去关于类型检查器的问题)。此外,根据您的使用情况,ts-simple-ast将有助于更轻松地导航和操作AST。