import { useCallback, useRef } from 'react';
type UsePreservedSipUriResult = {
preserveSipUri: (value?: string | null) => void;
getPreservedSipUri: () => string;
resetPreservedSipUri: () => void;
};
export const usePreservedSipUri = (): UsePreservedSipUriResult => {
const preservedSipUriRef = useRef('');
const preserveSipUri = useCallback((value?: string | null) => {
if (typeof value === 'string') {
preservedSipUriRef.current = value;
}
}, []);
const getPreservedSipUri = useCallback(() => {
return preservedSipUriRef.current;
}, []);
const resetPreservedSipUri = useCallback(() => {
preservedSipUriRef.current = '';
}, []);
return {
preserveSipUri,
getPreservedSipUri,
resetPreservedSipUri,
};
};