- commit
- e5abb49dcced9af631279330025775c317b8d24b
- parent
- fcee1bf186f868844bda5e46af6df52af0316956
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2024-05-29 13:15
use gzip
Diffstat
| A | static/gzip.js | 27 | +++++++++++++++++++++++++++ |
1 files changed, 27 insertions, 0 deletions
diff --git a/static/gzip.js b/static/gzip.js
@@ -0,0 +1,27 @@
-1 1 export async function compress(bytes) {
-1 2 var compressionStream = new CompressionStream('gzip');
-1 3 var writableStream = new WritableStream();
-1 4 var readableStream = new ReadableStream({
-1 5 start(controller) {
-1 6 controller.enqueue(bytes);
-1 7 controller.close();
-1 8 }
-1 9 });
-1 10 await readableStream.pipeThrough(compressionStream).pipeTo(writableStream);
-1 11 var result = await new Response(writableStream).arrayBuffer();
-1 12 return new Uint8Array(result);
-1 13 }
-1 14
-1 15 export async function decompress(bytes) {
-1 16 var decompressionStream = new DecompressionStream('gzip');
-1 17 var writableStream = new WritableStream();
-1 18 var readableStream = new ReadableStream({
-1 19 start(controller) {
-1 20 controller.enqueue(bytes);
-1 21 controller.close();
-1 22 }
-1 23 });
-1 24 await readableStream.pipeThrough(decompressionStream).pipeTo(writableStream);
-1 25 var result = await new Response(writableStream).arrayBuffer();
-1 26 return new Uint8Array(result);
-1 27 }