@nuxt/content
Version:
Write your content inside your Nuxt app
16 lines (15 loc) • 676 B
JavaScript
export async function decompressSQLDump(base64Str, compressionType = "gzip") {
let binaryData;
if (typeof Buffer !== "undefined") {
const buffer = Buffer.from(base64Str, "base64");
binaryData = Uint8Array.from(buffer);
} else if (typeof atob !== "undefined") {
binaryData = Uint8Array.from(atob(base64Str), (c) => c.charCodeAt(0));
} else {
throw new TypeError("No base64 decoding method available");
}
const response = new Response(new Blob([binaryData]));
const decompressedStream = response.body?.pipeThrough(new DecompressionStream(compressionType));
const text = await new Response(decompressedStream).text();
return JSON.parse(text);
}