2025-02-10 16:49:47 +11:00
|
|
|
import { useEffect, useMemo } from 'react';
|
|
|
|
|
|
|
|
|
|
export const useObjectURL = (object?: Blob): string | undefined => {
|
|
|
|
|
const url = useMemo(() => {
|
|
|
|
|
if (object) return URL.createObjectURL(object);
|
|
|
|
|
return undefined;
|
|
|
|
|
}, [object]);
|
|
|
|
|
|
|
|
|
|
useEffect(
|
|
|
|
|
() => () => {
|
|
|
|
|
if (url) URL.revokeObjectURL(url);
|
|
|
|
|
},
|
2026-05-21 23:30:50 -04:00
|
|
|
[url],
|
2025-02-10 16:49:47 +11:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return url;
|
|
|
|
|
};
|