24 lines
869 B
TypeScript
24 lines
869 B
TypeScript
|
import '@ms/nashorn'
|
||
|
|
||
|
let Files = Java.type("java.nio.file.Files");
|
||
|
let Paths = Java.type("java.nio.file.Paths");
|
||
|
let StandardCopyOption = Java.type("java.nio.file.StandardCopyOption");
|
||
|
|
||
|
let TarInputStream = Java.type("org.kamranzafar.jtar.TarInputStream");
|
||
|
let GZIPInputStream = Java.type("java.util.zip.GZIPInputStream");
|
||
|
let BufferedInputStream = Java.type("java.io.BufferedInputStream");
|
||
|
|
||
|
function decompression(input: any, target: string) {
|
||
|
let tis = new TarInputStream(new BufferedInputStream(new GZIPInputStream(input)));
|
||
|
let entry: any;
|
||
|
while ((entry = tis.getNextEntry()) != null) {
|
||
|
let targetPath = Paths.get(target + "/" + entry.getName().substring("package/".length));
|
||
|
targetPath.toFile().getParentFile().mkdirs();
|
||
|
Files.copy(tis, targetPath, StandardCopyOption.REPLACE_EXISTING);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export = {
|
||
|
decompression
|
||
|
}
|