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 aplikasi JavaScript kompresi bawaan, Anda tidak perlu menyertakan library kompresi, sehingga ukuran download aplikasi menjadi lebih kecil. Chrome Stabil dan Pratinjau Teknologi Safari kini mendukung API yang berguna ini. Memadatkan data ditampilkan di sini.

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

Untuk melakukan dekompresi, salurkan aliran yang dikompresi melalui aliran dekompresi.

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

Demo

Dukungan browser

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