Files
reverse-skills-max/vendor-new/xbsReverseSkill/ast-deobfuscation/scripts/patterns/shared-pattern-pass.js

18 lines
516 B
JavaScript

const { parseArgs, parseFile, reparse, saveAst } = require("../shared");
function runPatternPass(transform) {
const { inputPath, outputPath } = parseArgs();
let ast = parseFile(inputPath);
const result = typeof transform === "function" ? transform(ast) || { ast, changed: false } : { ast, changed: false };
if (result.changed) {
ast = reparse(result.ast || ast);
} else if (result.ast) {
ast = result.ast;
}
saveAst(ast, outputPath);
}
module.exports = {
runPatternPass
};