Replace compression polyfill ("Worker" related errors) (#222)

* replace compression-streams-polyfill with globalThis check [#167]

* work around web worker issue with decompression polyfill.

* js 2.10.0-beta.0

* js 2.10.0; update examples
This commit is contained in:
Brandon Liu
2023-07-31 22:20:42 +08:00
committed by GitHub
parent 6a4a403942
commit 77c956d381
7 changed files with 23 additions and 43 deletions

View File

@@ -1,4 +1,4 @@
import { makeDecompressionStream } from "compression-streams-polyfill/ponyfill";
import { decompressSync } from "fflate";
import v2 from "./v2";
export * from "./adapters";
@@ -162,10 +162,15 @@ async function defaultDecompress(
if (compression === Compression.None || compression === Compression.Unknown) {
return buf;
} else if (compression === Compression.Gzip) {
let stream = new Response(buf).body!;
const decompressionStream = makeDecompressionStream(TransformStream);
let result = stream.pipeThrough(new decompressionStream("gzip"));
return new Response(result).arrayBuffer();
if (typeof (globalThis as any).DecompressionStream == "undefined") {
return decompressSync(new Uint8Array(buf));
} else {
let stream = new Response(buf).body!;
let result: ReadableStream<Uint8Array> = stream.pipeThrough(
new (globalThis as any).DecompressionStream("gzip")
);
return new Response(result).arrayBuffer();
}
} else {
throw Error("Compression method not supported");
}