INNER CODE UNIT · JavaScript
decodeEmbeddedPayload
oncologylab/fp-tools · src/fp_tools/resources/static_browser/app.js:132
async function decodeEmbeddedPayload(payloadB64) {
if (!("DecompressionStream" in window))
throw new Error(
"This report needs a modern browser with gzip DecompressionStream support.",
);
const bytes = Uint8Array.from(atob(payloadB64), (character) =>
character.charCodeAt(0),
),
stream = new Blob([bytes])
.stream()
.pipeThrough(new DecompressionStream("gzip"));
return JSON.parse(await new Response(stream).text());
}
function payloadHasAggregates(payload) {
return Boolean(payload?.aggregate?.motifs?.length);
}