UNPKG

fcr-core

Version:

Core APIs for building online scenes

33 lines (30 loc) 1.4 kB
import "core-js/modules/es.typed-array.to-reversed.js"; import "core-js/modules/es.typed-array.to-sorted.js"; import "core-js/modules/es.typed-array.with.js"; import "core-js/modules/esnext.array-buffer.detached.js"; import "core-js/modules/esnext.array-buffer.transfer.js"; import "core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js"; import "core-js/modules/esnext.json.parse.js"; import "core-js/modules/esnext.typed-array.filter-reject.js"; import "core-js/modules/esnext.typed-array.group-by.js"; import "core-js/modules/esnext.typed-array.to-spliced.js"; import "core-js/modules/esnext.typed-array.unique-by.js"; export async function deCompressGzipToJson(compressedData) { try { // 检查浏览器是否支持 Compression Streams API if (typeof DecompressionStream === 'undefined') { throw new Error('DecompressionStream is not supported in this browser'); } // 创建解压缩流 const decompressionStream = new DecompressionStream('gzip'); const decompressedStream = new Blob([new Uint8Array(compressedData)]).stream().pipeThrough(decompressionStream); // 获取解压缩后的文本 const response = new Response(decompressedStream); const text = await response.text(); // 解析为 JSON 对象 return JSON.parse(text); } catch (error) { console.error('Gzip decompression to JSON failed:', error); throw error; } }