import { useImperativeHandle, useRef } from "react";

export default function useForwardedRef<T>(
  forwardedRef?: React.ForwardedRef<T>,
): React.MutableRefObject<T> {
  const innerRef = useRef<T | null>(null);

  useImperativeHandle(forwardedRef, () => innerRef.current as T);

  return innerRef as React.MutableRefObject<T>;
}
