gpt4 book ai didi

typescript - 如何使用 Typescript Compiler API 生成全局属性访问表达式?

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:24 28 4
gpt4 key购买 nike

我正在尝试使用 compiler api 生成一些 typescript 代码.不幸的是,官方(或任何与此相关的)文档很少,我现在完全陷入了一个非常简单的任务:

我想生成一个简单的函数调用,如 foo()。仅此而已,一个简单的全局函数调用。

经过长时间的搜索,我走到了这一步:

import ts from 'typescript'

ts.createCall(
ts.createPropertyAccess(
*some expression*,
'foo'
),
undefined, //generics
[], //parameters
);

据我所知,我需要将一个表达式传递给 createPropertyAccess 以成为所访问属性的“所有者”(如 foo 中的 foo)。栏)。但是,在这种情况下,没有“所有者”,因为函数驻留在全局范围内。

有没有办法生成这样的函数调用?我尝试使用 ts.createOmittedExpression,但生成了以下代码:

().bar();

最佳答案

在这种情况下,您可以只使用 ts.createIdentifierfoo() 中没有属性访问表达式。

const statement = ts.createExpressionStatement(
ts.createCall(ts.createIdentifier("foo"), undefined, undefined)
);

顺便看看我的网站ts-ast-viewer .它现在将显示将在编辑器中创建代码的编译器 API 代码。

关于typescript - 如何使用 Typescript Compiler API 生成全局属性访问表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55211931/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com