mirror of
https://github.com/TeamPiped/Piped.git
synced 2025-10-17 21:08:20 +00:00
Add helper utility to compress data.
This commit is contained in:
18
src/utils/compressionUtils.js
Normal file
18
src/utils/compressionUtils.js
Normal 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);
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user