1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| module.exports = function (/*Buffer*/ inbuf) {
| var zlib = require("zlib");
|
| return {
| inflate: function () {
| return zlib.inflateRawSync(inbuf);
| },
|
| inflateAsync: function (/*Function*/ callback) {
| var tmp = zlib.createInflateRaw(),
| 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);
| }
| };
| };
|
|