(bytes: Uint8Array)
| 1543 | // ── Base64 helpers ─────────────────────────────────────────────────── |
| 1544 | |
| 1545 | function bytesToBase64(bytes: Uint8Array): string { |
| 1546 | const CHUNK = 8192; |
| 1547 | let binary = ""; |
| 1548 | for (let i = 0; i < bytes.byteLength; i += CHUNK) { |
| 1549 | binary += String.fromCharCode( |
| 1550 | ...bytes.subarray(i, Math.min(i + CHUNK, bytes.byteLength)) |
| 1551 | ); |
| 1552 | } |
| 1553 | return btoa(binary); |
| 1554 | } |
| 1555 | |
| 1556 | function base64ToBytes(b64: string): Uint8Array { |
| 1557 | const binary = atob(b64); |