import * as React from 'react'; /** * React hook which returns the latest callback without changing the reference. */ // eslint-disable-next-line @typescript-eslint/ban-types function useLatestCallback(callback: T): T { const ref = React.useRef(callback); const latestCallback = React.useRef(function latestCallback( this: unknown, ...args: unknown[] ) { return ref.current.apply(this, args); } as unknown as T).current; React.useInsertionEffect(() => { ref.current = callback; }); return latestCallback; } // Use export assignment to compile to module.exports = export = useLatestCallback;