Add helper utility to compress data.

This commit is contained in:
Kavin
2023-02-03 16:45:13 +00:00
parent 8376723f31
commit e79ebc2429
3 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
export const compressGzip = async data => {
// Firefox does not support CompressionStream yet
if (typeof CompressionStream !== "undefined") {
let bytes = new TextEncoder().encode(data);
// eslint-disable-next-line no-undef
const cs = new CompressionStream("gzip");
const writer = cs.writable.getWriter();
writer.write(bytes);
writer.close();
const compAb = await new Response(cs.readable).arrayBuffer();
bytes = new Uint8Array(compAb);
return bytes;
} else {
const pako = require("pako");
return pako.gzip(data);
}
};