ОШИБКА {...} не соответствует строке типа при добавлении выражения с помощью jscodeshift
Я пробую jscodeshift и продолжаю получать следующую ошибку всякий раз, когда я пытаюсь вставить новое выражение
{operator: ==, left: [object Object], right: [object Object], loc: null, type: BinaryExpression, comments: null} does not match type string
Это то, что в моем маленьком тесте:
var testBinary = j.binaryExpression("==", j.literal(2), j.literal(3))
return j(file.source)
.find(j.IfStatement)
.insertBefore(testBinary)
.toSource();
Вы можете попробовать это здесь https://astexplorer.net/
если я использую j(file.source).find().replaceWith(), это работает без проблем.
Что я здесь не так делаю?
1 ответ
Использование:
var testBinary = j.binaryExpression("==", j.literal(2), j.literal(3)),
root = j(j(file.source);
j(root.find(j.IfStatement).at(0).get())
.insertBefore(testBinary);
return root.toSource();