Потоки сжатия теперь поддерживаются во всех браузерах. Потоки сжатия теперь поддерживаются во всех браузерах.

Browser Support

  • Хром: 80.
  • Край: 80.
  • Firefox: 113.
  • Сафари: 16.4.

Source

API потоков сжатия предназначен для сжатия и распаковки потоков данных с использованием форматов gzip или deflate (или deflate-raw).

Благодаря встроенному сжатию Compression Streams API приложениям JavaScript не требуется включать библиотеку сжатия, что уменьшает размер загружаемого приложения. Этот полезный API теперь поддерживается всеми браузерами.

Сжатие данных

В следующем фрагменте показано, как сжимать данные:

const readableStream = await fetch('lorem.txt').then(
  (response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
  new CompressionStream('gzip')
);

Распаковать данные

Для декомпрессии пропустите сжатый поток через декомпрессионный поток.

const decompressedReadableStream = compressedReadableStream.pipeThrough(
  new DecompressionStream('gzip')
);

Демо