403Webshell
Server IP : 104.21.28.229  /  Your IP : 216.73.216.142
Web Server : Apache/2
System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : mienphi ( 1014)
PHP Version : 8.2.14
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/mienphi/public_html/wp-content/plugins/learnpress/assets/src/apps/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mienphi/public_html/wp-content/plugins/learnpress/assets/src/apps/js//data-controls.js
import triggerFetch from '@wordpress/api-fetch';

const createRegistryControl = function createRegistryControl( registryControl ) {
	registryControl.isRegistryControl = true;

	return registryControl;
};

export const apiFetch = ( request ) => {
	return {
		type: 'API_FETCH',
		request,
	};
};

export function select( storeKey, selectorName, ...args ) {
	return {
		type: 'SELECT',
		storeKey,
		selectorName,
		args,
	};
}

export function dispatch( storeKey, actionName, ...args ) {
	return {
		type: 'DISPATCH',
		storeKey,
		actionName,
		args,
	};
}

const resolveSelect = ( registry, { storeKey, selectorName, args } ) => {
	return new Promise( ( resolve ) => {
		const hasFinished = () => registry.select( '' )
			.hasFinishedResolution( storeKey, selectorName, args );

		const getResult = () => registry.select( storeKey )[ selectorName ]
			.apply( null, args );

		const result = getResult();

		if ( hasFinished() ) {
			return resolve( result );
		}

		const unsubscribe = registry.subscribe( () => {
			if ( hasFinished() ) {
				unsubscribe();
				resolve( getResult() );
			}
		} );
	} );
};

export const controls = {
	API_FETCH( { request } ) {
		return triggerFetch( request );
	},
	SELECT: createRegistryControl(
		( registry ) => ( { storeKey, selectorName, args } ) => {
			return registry.select( storeKey )[ selectorName ].hasResolver
				? resolveSelect( registry, { storeKey, selectorName, args } )
				: registry.select( storeKey )[ selectorName ]( ...args );
		}
	),
	DISPATCH: createRegistryControl(
		( registry ) => ( { storeKey, actionName, args } ) => {
			return registry.dispatch( storeKey )[ actionName ]( ...args );
		}
	),
};

Youez - 2016 - github.com/yon3zu
LinuXploit