{"version":3,"file":"datauri.mjs","names":[],"sources":["../../../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n  if (dataUri.startsWith('data:'))\n    return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n  if (dataUri.startsWith('data:'))\n    return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n  if (dataUri.startsWith('data:')) {\n    const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n  const u = fromBase64(base64String)\n  // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n  const buffer = u.slice().buffer\n  return new Blob([buffer], { type: mimeString })\n  }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n  const bin = await blobToArrayBuffer(blob)\n  if (bin)\n    return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n  return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":";;;;AAGA,SAAgB,oBAAoB,SAAyC;AAC3E,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAO,WAAW,QAAQ,MAAM,KAAK,EAAE,CAAC,GAAG;;AAG/C,SAAgB,kBAAkB,SAAqC;AACrE,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAO,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC;;AAG1C,SAAgB,cAAc,SAAmC;AAC/D,KAAI,QAAQ,WAAW,QAAQ,EAAE;EAC/B,MAAM,CAAC,YAAY,gBAAgB,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE;EAGnE,MAAM,SAFI,WAAW,aAAa,CAEjB,OAAO,CAAC;AACzB,SAAO,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,YAAY,CAAC;;;AAIjD,eAAsB,cAAc,MAAyC;CAC3E,MAAM,MAAM,MAAM,kBAAkB,KAAK;AACzC,KAAI,IACF,QAAO,QAAQ,KAAK,KAAK,GAAG,SAAS,IAAI;;AAG7C,SAAgB,oBAAoB,KAAiB,OAAO,4BAAoC;AAC9F,QAAO,QAAQ,KAAK,GAAG,SAAS,IAAI"}