@j2inn/app
Version:
J2 Innovations core application framework
42 lines (41 loc) • 1.25 kB
TypeScript
import { HDict, HNamespace } from 'haystack-core';
import { App, AppStore } from '..';
import { RemoteAppView } from './RemoteAppView';
/**
* An application that loads remotely as a micro frontend application.
*
* All behavior and plugin points are defined using haystack defs.
*/
export declare class RemoteApp implements App {
readonly app: HDict;
readonly views: Record<string, RemoteAppView>;
store?: AppStore;
messages?: string[];
/**
* Used by the `isRemoteApp` type guard check.
*/
readonly _symbol: symbol;
constructor(app: HDict, namespace: HNamespace);
private loadMessages;
private loadAppViews;
get id(): string;
get remoteStoreUri(): string;
/**
* Asynchronously ensure the store is loaded if one is available.
*/
loadStore(): Promise<void>;
/**
* Returns a list of apps.
*
* @param namespace The namespace to query for apps.
* @returns An array of apps.
*/
static makeApps(namespace: HNamespace): App[];
}
/**
* Type guard check for checking whether an app is a remote app or not.
*
* @param app The app.
* @returns True if the app is a remote app.
*/
export declare function isRemoteApp(app: unknown): app is RemoteApp;