Nova-Client/Solar/Launcher/node_modules/adm-zip/methods/deflater.js
2023-03-19 19:32:58 +00:00

32 lines
817 B
JavaScript

module.exports = function (/*Buffer*/inbuf) {
var zlib = require("zlib");
var opts = {chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024};
return {
deflate: function () {
return zlib.deflateRawSync(inbuf, opts);
},
deflateAsync: function (/*Function*/callback) {
var tmp = zlib.createDeflateRaw(opts), parts = [], total = 0;
tmp.on('data', function (data) {
parts.push(data);
total += data.length;
});
tmp.on('end', function () {
var buf = Buffer.alloc(total), written = 0;
buf.fill(0);
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
part.copy(buf, written);
written += part.length;
}
callback && callback(buf);
});
tmp.end(inbuf);
}
}
};