react-native-decompiler
Version:
react native decompile apk and ipa(soon)
73 lines • 6.27 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const t = __importStar(require("@babel/types"));
const plugin_1 = require("../../plugin");
class RequireMapper extends plugin_1.Plugin {
constructor() {
super(...arguments);
this.pass = 1;
}
getVisitor() {
return {
CallExpression: (path) => {
if (!t.isIdentifier(path.node.callee))
return;
const moduleDependency = this.getModuleDependency(path);
if (moduleDependency == null)
return;
const varDeclar = path.find((p) => p.isVariableDeclarator());
const varName = (varDeclar === null || varDeclar === void 0 ? void 0 : varDeclar.isVariableDeclarator()) && t.isIdentifier(varDeclar.node.id) ? varDeclar.node.id.name : null;
if (moduleDependency.isPolyfill && varName) {
this.bindingTraverse(path.scope.bindings[varName], varName, {
MemberExpression: (bPath) => {
if (!t.isIdentifier(bPath.node.object) || !t.isIdentifier(bPath.node.property))
return;
if (bPath.node.object.name !== varName || bPath.node.property.name !== 'default')
return;
bPath.replaceWith(bPath.node.object);
},
});
path.scope.rename(varName, moduleDependency.npmModuleVarName);
varDeclar === null || varDeclar === void 0 ? void 0 : varDeclar.remove();
return;
}
path.get('arguments')[0].replaceWith(t.stringLiteral(this.generateModuleName(moduleDependency)));
if (!(varDeclar === null || varDeclar === void 0 ? void 0 : varDeclar.isVariableDeclarator()))
return;
if (!t.isIdentifier(varDeclar.node.id))
return;
path.scope.rename(varDeclar.node.id.name, moduleDependency.npmModuleVarName || `module${moduleDependency.moduleId}`);
},
};
}
generateModuleName(module) {
if (module.isNpmModule) {
return module.moduleName;
}
if (module.isStatic && module) {
return `./${module.moduleName}.css`;
}
return `./${module.moduleName}`;
}
}
exports.default = RequireMapper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZU1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvbXBpbGVycy9tYXBwZXJzL3JlcXVpcmVNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLGdEQUFrQztBQUVsQyx5Q0FBc0M7QUFLdEMsTUFBcUIsYUFBYyxTQUFRLGVBQU07SUFBakQ7O1FBQ1csU0FBSSxHQUFHLENBQUMsQ0FBQztJQTRDcEIsQ0FBQztJQTFDQyxVQUFVO1FBQ1IsT0FBTztZQUNMLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN2QixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFBRSxPQUFPO2dCQUU5QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJO29CQUFFLE9BQU87Z0JBRXJDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7Z0JBQzdELE1BQU0sT0FBTyxHQUFHLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLG9CQUFvQixPQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBRXZILElBQUksZ0JBQWdCLENBQUMsVUFBVSxJQUFJLE9BQU8sRUFBRTtvQkFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUU7d0JBQzFELGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7NEJBQzFCLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dDQUFFLE9BQU87NEJBQ3ZGLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUztnQ0FBRSxPQUFPOzRCQUV6RixLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3ZDLENBQUM7cUJBQ0YsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUM5RCxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsTUFBTSxHQUFHO29CQUNwQixPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxJQUFJLEVBQUMsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLG9CQUFvQixHQUFFO29CQUFFLE9BQU87Z0JBQy9DLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUFFLE9BQU87Z0JBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdkgsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBYztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDdEIsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sRUFBRTtZQUM3QixPQUFPLEtBQUssTUFBTSxDQUFDLFVBQVUsTUFBTSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUE3Q0QsZ0NBNkNDIn0=