mirror of
https://github.com/Tony0410/News-reader-pro.git
synced 2026-05-24 13:21:40 +08:00
25 lines
612 B
TypeScript
25 lines
612 B
TypeScript
const trackedUrls = new Set<string>();
|
|
|
|
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();
|
|
};
|