cryptpadtab

encrypted notes in a browser tab  https://p.ce9e.org/cryptpadtab/
git clone https://git.ce9e.org/cryptpadtab.git

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 }