import { IRouter , IAppContext } from "./interfaces.js" ; import { AppContext } from './AppContext.js' ; let instance ; /**
 * The microfronts instance. Singleton.
 */ export interface IOrchestrator { getRouter ( ) : IRouter ; getAppContext ( ) : IAppContext ; } class MicrofrontsOrchestrator implements IOrchestrator { private appCtx = new AppContext ( ) ; private router : IRouter = this . appCtx . router ; public getRouter ( ) { return this . router ; } public getAppContext ( ) { return this . appCtx ; } } returns export const Microfronts = ( ) : IOrchestrator => { if ( ! instance ) { instance = new MicrofrontsOrchestrator ( ) ; } return instance ; } ;