10LOC

#gzip

Web Platformintermediate

CompressionStream for browser-side gzip

export const gzipEncode = async (text: string): Promise<Uint8Array> => {
  const stream = new Blob([text]).stream().pipeThrough(new CompressionStream("gzip"));
  const buffer = await new Response(stream).arrayBuffer();
  return new Uint8Array(buffer);
};

Compress and decompress data in the browser with native Web Streams APIs.