Я пытаюсь сгенерировать некоторый машинописный код, используя компилятор api .К сожалению, официальная (или любая в этом отношении) документация скудна, и теперь я полностью застрял на очень простой задаче:
Я хочу сгенерировать простой вызов функции, такой как foo()
.Вот и все, простой вызов глобальной функции.
После долгих поисков я зашел так далеко:
import ts from 'typescript'
ts.createCall(
ts.createPropertyAccess(
*some expression*,
'foo'
),
undefined, //generics
[], //parameters
);
Насколько я понимаю, мне нужно передать выражение createPropertyAccess
быть «владельцем» доступного свойства (например, foo
в foo.bar
).Однако в этом случае «владелец» отсутствует, поскольку функция находится в глобальной области видимости.
Есть ли способ сгенерировать такой вызов функции?Я попытался использовать ts.createOmittedExpression
, но сгенерировал следующий код:
().bar();