HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: //proc/self/root/home4/cca63905/.trash/wp-content/plugins/elementor/app/assets/js/router.js
/**
 * App Router
 *
 * TODO: Temporary solution for routing extensibility.
 */

class Router {
	/**
	 * @type {*[]}
	 */
	routes = [];

	history = null;

	/**
	 *
	 * @param {{path: string, component: Object, props: Object}} route
	 */
	addRoute( route ) {
		this.routes.push( route );
	}

	getRoutes() {
		return this.routes.map( ( route ) => {
			const props = route.props || {};
			// Use the path as a key, and add it as a prop.
			props.path = props.key = route.path;
			return React.createElement( route.component, props );
		} );
	}
}

const router = new Router();

// Make router available for use within packages.
window.elementorAppPackages = {
	router,
};

export default router;