Я пытаюсь создать плагин, который обнаруживает выполнение функции во время ее передачи и возвращает аргументы этого
Например:
код:
testFN("hello");
testFN("world");
будетВозврат при перемещении babel:
hello
world
Я создал плагин babel, который может обнаружить эту функцию и вывести ее параметры, но я не могу найти аргументы внутри нее
Так что в настоящее время это выглядит так
module.exports = function ({ types: t }) {
return {
visitor: {
Identifier(path) {
if (path.node.name === 'testFN') {
console.log(path.node);
}
},
},
};
};
Он выводит:
Node {
type: 'Identifier',
start: 753,
end: 759,
loc:
SourceLocation {
start: Position { line: 19, column: 8 },
end: Position { line: 19, column: 14 },
identifierName: 'testFN' },
name: 'testFN' }
Node {
type: 'Identifier',
start: 830,
end: 836,
loc:
SourceLocation {
start: Position { line: 23, column: 2 },
end: Position { line: 23, column: 8 },
identifierName: 'testFN' },
name: 'testFN' }
Я пытался использовать браузер AST, но он дает другой путь к объекту, который я не могу найти в своем коде плагина babel https://astexplorer.net/#/gist/763d13950ad0334ac8ea3187464fcdbf/295a8fd8640210cee586444a58445401e8baa690
Как получить доступ к аргументам моей функции через babel?
Спасибо