Compactação e descompactação de dados usando zlib no Nodejs

lguém pode me explicar como a biblioteca zlib funciona no Nodej

Sou relativamente novo no Nodejs e ainda não sei como usar buffers e fluxo

Meu cenário simples é uma variável de string, e quero compactar ou descompactar (desinflar ou inflar, gzip ou gunzip, etc ') a string para outra strin

I.e. (como eu esperaria que funcionasse)

var zlib = require('zlib');
var str = "this is a test string to be zipped";
var zip = zlib.Deflate(str); // zip = [object Object]
var packed = zip.toString([encoding?]); // packed = "packedstringdata"
var unzipped = zlib.Inflate(packed); // unzipped = [object Object]
var newstr = unzipped.toString([again - encoding?]); // newstr = "this is a test string to be zipped";

brigado pela ajuda

questionAnswers(3)

yourAnswerToTheQuestion