react-native-decompiler
Version:
react native decompile apk and ipa(soon)
39 lines • 4.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const types_1 = require("@babel/types");
const plugin_1 = require("../../plugin");
class DefaultInteropEvaluator extends plugin_1.Plugin {
constructor() {
super(...arguments);
this.pass = 1;
}
getVisitor() {
return {
VariableDeclarator: (path) => {
if (!types_1.isIdentifier(path.node.id))
return;
if (this.variableIsForDependency(path, ['@babel/runtime/helpers/interopRequireDefault', '@babel/runtime/helpers/interopRequireWildcard'])) {
const interopVarName = path.node.id.name;
this.bindingTraverse(path.scope.bindings[interopVarName], interopVarName, {
CallExpression: (bindingPath) => {
if (!types_1.isIdentifier(bindingPath.node.callee) || bindingPath.node.callee.name !== interopVarName)
return;
if (types_1.isCallExpression(bindingPath.node.arguments[0])) {
bindingPath.replaceWith(bindingPath.node.arguments[0]);
}
else if (types_1.isIdentifier(bindingPath.node.arguments[0])) {
const parent = bindingPath.find((p) => p.isVariableDeclarator());
if (!(parent === null || parent === void 0 ? void 0 : parent.isVariableDeclarator()) || !types_1.isIdentifier(parent.node.id))
throw new Error('Failed assertion');
this.mergeBindings(parent, parent.node.id.name, bindingPath.node.arguments[0].name);
}
},
});
path.remove();
}
},
};
}
}
exports.default = DefaultInteropEvaluator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdEludGVyb3BFdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb21waWxlcnMvZXZhbHVhdG9ycy9kZWZhdWx0SW50ZXJvcEV2YWx1YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSx3Q0FHc0I7QUFDdEIseUNBQXNDO0FBS3RDLE1BQXFCLHVCQUF3QixTQUFRLGVBQU07SUFBM0Q7O1FBQ1csU0FBSSxHQUFHLENBQUMsQ0FBQztJQXlCcEIsQ0FBQztJQXZCQyxVQUFVO1FBQ1IsT0FBTztZQUNMLGtCQUFrQixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxvQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUFFLE9BQU87Z0JBQ3hDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDLDhDQUE4QyxFQUFFLCtDQUErQyxDQUFDLENBQUMsRUFBRTtvQkFDekksTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO29CQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGNBQWMsRUFBRTt3QkFDeEUsY0FBYyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7NEJBQzlCLElBQUksQ0FBQyxvQkFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWM7Z0NBQUUsT0FBTzs0QkFDdEcsSUFBSSx3QkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dDQUNuRCxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQ3hEO2lDQUFNLElBQUksb0JBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dDQUN0RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO2dDQUNqRSxJQUFJLEVBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLG9CQUFvQixHQUFFLElBQUksQ0FBQyxvQkFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29DQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQ0FDMUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUNyRjt3QkFDSCxDQUFDO3FCQUNGLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQ2Y7WUFDSCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFCRCwwQ0EwQkMifQ==