File "use-debounced-callback.js"

Full Path: /home/warrior1/public_html/plugins/elementor/app/modules/kit-library/assets/js/hooks/use-debounced-callback.js
File size: 392 bytes
MIME-type: text/x-java
Charset: utf-8

import { useRef, useCallback } from 'react';

export default function useDebouncedCallback( callback, wait ) {
	const timeout = useRef();

	return useCallback(
		( ...args ) => {
			const later = () => {
				clearTimeout( timeout.current );

				callback( ...args );
			};

			clearTimeout( timeout.current );

			timeout.current = setTimeout( later, wait );
		},
		[ callback, wait ],
	);
}