NodeJS: Como usar brotliCompress/brotliDecompress con Promises

brotli_promises.js
import { brotliCompress as _brotliCompress, brotliDecompress as _brotliDecompress } from "zlib";
import { promisify } from "util";

const brotliCompress = promisify(_brotliCompress);
const brotliDecompress = promisify(_brotliDecompress);

Ejemplo de uso

brotli_usage_example.js
import { brotliCompress as _brotliCompress, brotliDecompress as _brotliDecompress } from 'zlib';
import { promisify } from 'util';

// Promisify las funciones de compression y decompression de Brotli
const brotliCompress = promisify(_brotliCompress);
const brotliDecompress = promisify(_brotliDecompress);

async function compressAndDecompress() {
  try {
    // String de ejemplo a comprimir
    const stringToCompress = "This is a sample string to be compressed using Brotli in Node.js";

    // Convertir el string a un Buffer
    const bufferToCompress = Buffer.from(stringToCompress, 'utf-8');

    // Comprimir el buffer usando Brotli
    const compressedBuffer = await brotliCompress(bufferToCompress);
    console.log('Compressed Buffer:', compressedBuffer);

    // Opcional: Convertir el buffer comprimido a un string base64 para mostrar
    const compressedString = compressedBuffer.toString('base64');
    console.log('Compressed String (Base64):', compressedString);

    // Descomprimir el buffer usando Brotli
    const decompressedBuffer = await brotliDecompress(compressedBuffer);
    const decompressedString = decompressedBuffer.toString('utf-8');
    console.log('Decompressed String:', decompressedString);
  } catch (err) {
    console.error('Error during compression/decompression:', err);
  }
}

// Llamar la funcion
compressAndDecompress();

Echa un vistazo a artículos similares por categoría: NodeJS JavaScript