15.AST代码还原案例

This commit is contained in:
aiyingfeng 2023-08-25 16:31:03 +08:00
parent b304f9f37b
commit c373c690cd

View File

@ -0,0 +1,19 @@
//这里填入 数组的声明与定义
let arrName = "XXX"; //XXX 为你要还原的数组名
const replaceArrayElements =
{
MemberExpression: {
exit(path) {
let {object, property} = path.node;
if (!types.isIdentifier(object, {name: arrName}) ||
!types.isNumericLiteral(property)) {
return;
}
let value = eval(path.toString());
path.replaceWith(types.valueToNode(value));
}
},
}
traverse(ast, replaceArrayElements);