react-native-decompiler
Version:
react native decompile apk and ipa(soon)
35 lines • 3.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const types_1 = require("@babel/types");
const plugin_1 = require("../../plugin");
class EsModuleCleaner extends plugin_1.Plugin {
constructor() {
super(...arguments);
this.pass = 2;
}
evaluate(path) {
const bodyPath = this.navigateToModuleBody(path);
bodyPath.node.body = bodyPath.node.body.filter((line) => {
var _a, _b;
const callExpression = types_1.isExpressionStatement(line) ? line.expression : line;
if (!types_1.isCallExpression(callExpression))
return true;
if (!types_1.isMemberExpression(callExpression.callee))
return true;
if (!types_1.isIdentifier(callExpression.callee.object) || !types_1.isIdentifier(callExpression.callee.property))
return true;
if (callExpression.callee.object.name !== 'Object' || callExpression.callee.property.name !== 'defineProperty')
return true;
if (!types_1.isIdentifier(callExpression.arguments[0]) || !types_1.isStringLiteral(callExpression.arguments[1]))
return true;
if (((_a = bodyPath.scope.getBindingIdentifier(callExpression.arguments[0].name)) === null || _a === void 0 ? void 0 : _a.start) !== ((_b = this.module.exportsParam) === null || _b === void 0 ? void 0 : _b.start))
return true;
if (callExpression.arguments[1].value !== '__esModule')
return true;
this.module.tags.push('__esModule');
return false;
});
}
}
exports.default = EsModuleCleaner;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNNb2R1bGVDbGVhbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VkaXRvcnMvY2xlYW5lcnMvZXNNb2R1bGVDbGVhbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsd0NBT3NCO0FBRXRCLHlDQUFzQztBQUt0QyxNQUFxQixlQUFnQixTQUFRLGVBQU07SUFBbkQ7O1FBQ1csU0FBSSxHQUFHLENBQUMsQ0FBQztJQW1CcEIsQ0FBQztJQWpCQyxRQUFRLENBQUMsSUFBa0M7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFOztZQUN0RCxNQUFNLGNBQWMsR0FBRyw2QkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzVFLElBQUksQ0FBQyx3QkFBZ0IsQ0FBQyxjQUFjLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDbkQsSUFBSSxDQUFDLDBCQUFrQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDNUQsSUFBSSxDQUFDLG9CQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDOUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxnQkFBZ0I7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDNUgsSUFBSSxDQUFDLG9CQUFZLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzdHLElBQUksT0FBQSxRQUFRLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBDQUFFLEtBQUssYUFBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksMENBQUUsS0FBSyxDQUFBO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ2xJLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUVwRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBCRCxrQ0FvQkMifQ==