streaming inflate in pure javascript (as a through stream).
the source code is annotated. be forewarned, it is full of bats and rusty nails and goblins and things.
var inflate = require('inflate')
your_input
.pipe(inflate())
.on('unused', function(unused_buffer, num_bytes_read) {
})
.pipe(your_output)
create an inflate stream. each inflate stream carries a 32k memory overhead (for the window).
create a new inflate stream that recycles the output window (and JIT warmup) from the previous inflate stream.
here's the starting point, and then an intermediate point on the way to this package.
MIT