Wanted to pipe the contents of a file through to unzip module. Achieved it like this:
let unzip = require("unzip");
let fs = require("fs");
var Readable = require('stream').Readable
fs.readFile("x.zip", (err, data) => {
if(err)
throw err;
var s = new Readable
s.push(data)
s.push(null)
s.pipe(unzip.Parse()).on('entry', (entry) => {
let fileName = entry.path;
let type = entry.type; // 'Directory' or 'File'
let size = entry.size;
if(fileName.toLowerCase().endsWith(".srt")) {
entry.pipe(fs.createWriteStream(fileName));
} else {
entry.autodrain()
}
});
});