lath
Version:
Seamless connection of pages.
36 lines (35 loc) • 1.47 kB
TypeScript
import { Applet } from '../Applet/index';
import { EventProvider } from '../Event';
import { AppletManifest, Segue, FrameworksAppletConfig, PresetConfig, PresetApplets } from '../types';
declare type ApplicationOptions = Pick<Required<PresetConfig>, 'applets'>;
declare class ApplicationBase extends EventProvider {
segue: Segue;
to: Segue['to'];
applets: {
[key: string]: Applet;
};
residentApplets: Array<string>;
presetAppletsView: PresetApplets;
config: FrameworksAppletConfig;
readonly historyNodeLocation: number;
protected routerRegExp: RegExp;
protected options: ApplicationOptions;
protected resolveURL(url: string): URL;
protected verifyAppletSrcLegitimacy(url: string): boolean;
protected captureAppletSrc(url: string, capture?: string | ((resolve: {
pathname: string;
origin: string;
host: string;
hash: string;
href: string;
search: string;
port: string;
searchParams: URLSearchParams;
}, url: string) => string | boolean) | undefined): boolean;
protected promiseApplet(promise: () => Promise<AppletManifest>): Promise<AppletManifest>;
checkIsPresetAppletsView(id: string): boolean;
delPresetAppletsView(id: string, remove?: boolean): void;
setPrestAppletsView(presetApplets: PresetApplets): void;
setting(options: ApplicationOptions): void;
}
export { ApplicationBase };