const trackedUrls = new Set(); export const createTrackedObjectUrl = (blob: Blob): string => { const url = URL.createObjectURL(blob); trackedUrls.add(url); return url; }; export const revokeTrackedObjectUrl = (url?: string) => { if (!url) return; if (trackedUrls.has(url)) { trackedUrls.delete(url); } URL.revokeObjectURL(url); }; export const revokeMultipleObjectUrls = (urls: (string | undefined)[]) => { urls.forEach(revokeTrackedObjectUrl); }; export const revokeAllTrackedObjectUrls = () => { trackedUrls.forEach(url => URL.revokeObjectURL(url)); trackedUrls.clear(); };