Скрипт, заменяющий вызов одной функции другой

Пытаюсь написать на Node.js скрипт, заменяющий вызов функцию log() на print() в коде

function main() {
   const print = "World";
   log(print);
}

log("Hello");
main();

Я реализовал так, но функция print(print) внутри main() вызывает ошибку. Подскажите как решить данную проблему.

const util = require('util');
const vm = require('vm');

const script = new vm.Script(`function main() {
   const print = "World";
   print(print);
}
print("Hello");
main();`);

script.runInNewContext({
    print: console.log
});

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Igor

Не называйте локальную переменную так же, как называется функция, которую Вы вызываете.

const script = new vm.Script(`function main() {
   const print1 = "World";
   print(print1);
}
print("Hello");
main();`);
→ Ссылка