如何使用TypeScript编译器API提取数组的类型

时间:2020-03-10 01:49:19

标签: typescript typescript-compiler-api

如何使用TypeScript编译器API提取数组的类型?例如,给出以下来源:

let a: string[] = []

如何将类型从string[]变为string

ts-morph使此操作变得容易,但是我还没有弄清楚如何使用原始TS Compiler API复制它。

似乎我需要使用checker.getTypeArguments(),但它需要一个ts.TypeReference类型,但我不知道如何创建。

1 个答案:

答案 0 :(得分:2)

诸如über-uns 之类的数组类型将采用以下形式:

Über Uns ?

如果您具有以下类型之一,则只需将其声明为PS C:\Users\Bonnie_Py\Desktop\fullstack js> create-react-app react-app create-react-app : File C:\Users\Bonnie_Py Dev\AppData\Roaming\npm\create-react-app.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:2 + create-react-app react-app + ~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess 并将其传递给string[]

Array<string>

要检查类型是否为数组类型,我通常只检查ts.TypeReference的类型符号名称,以及它是否具有单个类型参数。