"use client"; import React, { useRef } from "react"; const UNINITIALIZED = {}; /** * useRef initialized with a function on mount. */ function useRefWithInit(init: () => T): React.RefObject; function useRefWithInit( init: (arg: U) => T, initArg: U, ): React.RefObject; function useRefWithInit(init: (arg?: unknown) => unknown, initArg?: unknown) { const ref = useRef(UNINITIALIZED as any); if (ref.current === UNINITIALIZED) { ref.current = init(initArg); } return ref; } export { useRefWithInit };