Compression Streams API

Compression Streams API は、gzip 形式や deflate 形式によるデータのストリームの圧縮や展開を行う JavaScript の API を提供します。

ビルトインの圧縮機能を使うことで、JavaScript のアプリケーションに圧縮ライブラリーを含める必要がなくなり、アプリケーションのダウンロードサイズをより小さくできます。

インターフェイス

CompressionStream

データのストリームを圧縮します。

DecompressionStream

データのストリームを展開します。

この例では、ストリームを gzip 圧縮により圧縮します。

js
const compressedReadableStream = inputReadableStream.pipeThrough(
  new CompressionStream("gzip"),
);

この例は、blob を gzip により展開する関数です。

js
async function DecompressBlob(blob) {
  const ds = new DecompressionStream("gzip");
  const decompressedStream = blob.stream().pipeThrough(ds);
  return await new Response(decompressedStream).blob();
}

仕様書

Specification
Compression Streams
# compression-stream

ブラウザーの互換性

BCD tables only load in the browser