utils.ts 821 B

1234567891011121314151617181920
  1. async function decodeBase64AndDecompress(base64String: string) {
  2. const binaryString = atob(base64String)
  3. const compressedUint8Array = Uint8Array.from(binaryString, char => char.charCodeAt(0))
  4. const decompressedStream = new Response(compressedUint8Array).body.pipeThrough(new DecompressionStream('gzip'))
  5. const decompressedArrayBuffer = await new Response(decompressedStream).arrayBuffer()
  6. return new TextDecoder().decode(decompressedArrayBuffer)
  7. }
  8. function getProcessedInputsFromUrlParams(): Record<string, any> {
  9. const urlParams = new URLSearchParams(window.location.search)
  10. const inputs: Record<string, any> = {}
  11. urlParams.forEach(async (value, key) => {
  12. inputs[key] = await decodeBase64AndDecompress(decodeURIComponent(value))
  13. })
  14. return inputs
  15. }
  16. export {
  17. getProcessedInputsFromUrlParams,
  18. }