90 lines
1.8 KiB
TypeScript
90 lines
1.8 KiB
TypeScript
export interface Config {
|
|
loader_groups: boolean;
|
|
verbose: boolean;
|
|
error: boolean;
|
|
baseUrl: string;
|
|
}
|
|
|
|
export enum BackendType {
|
|
WEB,
|
|
NATIVE
|
|
}
|
|
|
|
export interface AppVersion {
|
|
ui: string;
|
|
backend: string;
|
|
|
|
type: "web" | "native";
|
|
debug_mode: boolean;
|
|
}
|
|
|
|
export let config: Config;
|
|
|
|
export type Task = {
|
|
name: string,
|
|
priority: number, /* tasks with the same priority will be executed in sync */
|
|
function: () => Promise<void>
|
|
};
|
|
export enum Stage {
|
|
/*
|
|
loading loader required files (incl this)
|
|
*/
|
|
INITIALIZING,
|
|
/*
|
|
setting up the loading process
|
|
*/
|
|
SETUP,
|
|
/*
|
|
loading all style sheet files
|
|
*/
|
|
STYLE,
|
|
/*
|
|
loading all javascript files
|
|
*/
|
|
JAVASCRIPT,
|
|
/*
|
|
loading all template files
|
|
*/
|
|
TEMPLATES,
|
|
/*
|
|
initializing static/global stuff
|
|
*/
|
|
JAVASCRIPT_INITIALIZING,
|
|
/*
|
|
finalizing load process
|
|
*/
|
|
FINALIZING,
|
|
/*
|
|
invoking main task
|
|
*/
|
|
LOADED,
|
|
|
|
DONE
|
|
}
|
|
|
|
export type ModuleMapping = {
|
|
application: string,
|
|
modules: {
|
|
"id": string,
|
|
"context": string,
|
|
"resource": string
|
|
}[]
|
|
};
|
|
export function module_mapping() : ModuleMapping[];
|
|
|
|
export function version() : AppVersion;
|
|
|
|
export function finished();
|
|
export function running();
|
|
export function register_task(stage: Stage, task: Task);
|
|
export function execute() : Promise<void>;
|
|
export function execute_managed();
|
|
export type DependSource = {
|
|
url: string;
|
|
depends: string[];
|
|
}
|
|
export type SourcePath = string | DependSource | string[];
|
|
export type ErrorHandler = (message: string, detail: string) => void;
|
|
export function critical_error(message: string, detail?: string);
|
|
export function critical_error_handler(handler?: ErrorHandler, override?: boolean);
|
|
export function hide_overlay(); |