Crie apps da Web menores que não precisam ter a própria biblioteca de compactação ou descompactação
A API Compression Streams é para compactar e descompactar streams de dados usando os formatos gzip ou deflate (ou deflae-raw).
Com a compactação integrada, os aplicativos JavaScript não precisam incluir uma biblioteca de compactação, o que diminui o tamanho do download do aplicativo. A Visualização da tecnologia estável do Chrome e do Safari agora oferece suporte a essa API útil. A compactação de dados é mostrada abaixo.
const readableStream = await fetch('lorem.txt').then(
(response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
new CompressionStream('gzip')
);
Para descompactar, canalize um stream compactado pelo stream de descompactação.
const decompressedReadableStream = compressedReadableStream.pipeThrough(
new DecompressionStream('gzip')
);
Demonstração
Suporte ao navegador
A API Compression Streams é compatível com o Chromium 80 e a Safari Technology Preview 152. Para outros navegadores, marque CanIUse.
Agradecimentos
Imagem principal de Matt Artz no Unsplash (links em inglês).