import {useRef} from 'react'; type UninitializedMarker = Readonly<Record<string, unknown>> | symbol; const UNINITIALIZED: UninitializedMarker = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({}); export default function useStable<T>(initialValueCallback: () => T): T { const ref = useRef<T | UninitializedMarker>(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = initialValueCallback(); } return ref.current as T; }