UNPKG

@j2inn/app

Version:

J2 Innovations core application framework

30 lines (29 loc) 1.16 kB
import type { AppStore } from './AppStore'; import type { AppView } from './AppView'; /** * Defines an application that has views associated with it. */ export interface App<AppStoreType extends AppStore = AppStore> { /** * @returns a unique identifier for an application. This id must be unique as it's * used in loading and maintaining the state of an application. */ id: string; /** * @returns An instance of a new store for the application. */ store?: AppStoreType; /** * The messages the application is listening for. */ messages?: string[]; /** * @returns the app views associated with this application. Each application * view has a unique key that's combined with the application id to form * a unique key. For example, if the application id is `finUi.myApp` and id is `myView` then * the computed id is `finUi.myApp.myView`. Any localized name for the view will * be computed from the overall id for view with a name postfix. Therefore the * name for this view would be looked up as `finUi.myApp.myView.name`. */ views?: Record<string, AppView>; }