@iredium/butterfly
Version:
Express API Framework
48 lines (47 loc) • 1.85 kB
TypeScript
import { ConfigInterface, EventListener } from '../types/config';
import { RouteDrawer } from '../routes/route_drawer';
import express = require('express');
import { Database } from './databases/database';
declare class App {
app: express.Express;
server: any;
protected booted: boolean;
protected initCompleted: boolean;
protected routes: Function;
protected routeDrawer: RouteDrawer;
protected databaseConfigs: any;
protected databases: Database[];
protected userServiceClass: any;
protected useViewEngine: boolean;
protected useDefaultLogger: boolean;
protected viewEngine: string | undefined;
protected viewsPaths: (string | undefined)[];
protected errorView: string | undefined;
protected modules: Function[];
protected eventListenerMap: EventListener[];
protected hooks: {
'butterfly:setup': never[];
'butterfly:ready': never[];
'butterfly:registerEventListener': never[];
'butterfly:registerViewPaths': never[];
'butterfly:registerMiddlewares': never[];
'butterfly:drawRoutes': never[];
'butterfly:onError': never[];
};
constructor(config: ConfigInterface);
init(): Promise<express.Express>;
boot(): Promise<void>;
hook(name: string, handler: Function): void;
close(): Promise<void>;
closeDatabases(): Promise<void>;
protected bootModules(): Promise<void>;
protected executeHookHandlers(name: any, ...args: any[]): Promise<void>;
protected registerEventListener(): Promise<void>;
protected setup(): Promise<void>;
protected connectDatabases(): Promise<void>;
protected registerMiddlewares(): Promise<void>;
protected registerErrorMiddleware(): Promise<void>;
protected drawRoutes(): Promise<void>;
}
export default App;
export declare const Butterfly: typeof App;