Kompresi dan dekompresi di browser dengan Compression Streams API

Menulis aplikasi web yang lebih kecil yang tidak perlu mengirimkan library kompresi atau dekompresi sendiri

Compression Streams API digunakan untuk mengompresi dan mendekompresi aliran data menggunakan format gzip atau deflate (atau deflate-raw).

Dengan kompresi bawaan, aplikasi JavaScript tidak perlu menyertakan library kompresi, sehingga ukuran download aplikasi menjadi lebih kecil. Pratinjau Teknologi Chrome dan Safari Stabil kini mendukung API yang berguna ini. Mengompresi data ditampilkan di sini.

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

Untuk mendekompresi, alirkan streaming yang dikompresi melalui streaming dekompresi.

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

Demo

Dukungan browser

Compression Streams API didukung dari Chromium 80 dan Safari Technology Preview 152.