Since compression and decompression are streaming processes, they are a natural match for WHATWG Streams. They match exactly the model of a transform stream. So this is what I have based my design around.
Simple usage example:
const compressedReadableStream = inputReadableStream.pipeThrough(new CompressionStream('gzip'));
There are more examples in the explainer.
There were enthusiastic responses to the Blink Intent to Implement thread and I have seen a lot of support this week at TPAC 2019.
The most pressing use case is compressed uploads, but there are many other exciting possibilities.
Currently apps which have a keen need for compression, such as analytics, include a compression library such as pako with their code. Having the facility built-in to the platform would avoid the extra download.
I would like to explore incubating a standard document with the WICG.