react-native-decompiler
Version:
react native decompile apk and ipa(soon)
29 lines • 3.06 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const crypto_1 = __importDefault(require("crypto"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const path_1 = __importDefault(require("path"));
class CacheParse {
constructor(cmdArgs) {
this.cmdArgs = cmdArgs;
}
async writeCache(filename, moduleList) {
return fs_extra_1.default.writeJSON(filename, {
inputChecksum: await this.generateInputChecksums(this.cmdArgs.in),
modules: moduleList.filter((ele) => ele != null).map((e) => e.toCache()),
});
}
async generateInputChecksums(input) {
if ((await fs_extra_1.default.lstat(input)).isDirectory()) {
return fs_extra_1.default.readdir(input)
.then((fileNames) => Promise.all(fileNames.map((file) => fs_extra_1.default.readFile(path_1.default.join(input, file)))))
.then((files) => files.map((file) => crypto_1.default.createHash('md5').update(file).digest('hex')));
}
return [crypto_1.default.createHash('md5').update(await fs_extra_1.default.readFile(input)).digest('hex')];
}
}
exports.default = CacheParse;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVQYXJzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jYWNoZVBhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZUEsb0RBQTRCO0FBQzVCLHdEQUEwQjtBQUMxQixnREFBd0I7QUFLeEIsTUFBcUIsVUFBVTtJQUc3QixZQUFZLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsVUFBb0I7UUFDckQsT0FBTyxrQkFBRSxDQUFDLFNBQVMsQ0FBYSxRQUFRLEVBQUU7WUFDeEMsYUFBYSxFQUFFLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2hELElBQUksQ0FBQyxNQUFNLGtCQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDekMsT0FBTyxrQkFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ3JCLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDOUYsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RjtRQUVELE9BQU8sQ0FBQyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7Q0FDRjtBQXZCRCw2QkF1QkMifQ==