@sustain/core
Version:
Sustain is a Framework that is barely used despedcies to make stable and sustainable apps
38 lines (33 loc) • 1.18 kB
text/typescript
import {Application} from './interfaces/application.interface';
import {SustainServer} from './server';
import {getAllModuleMetaData, executeOnServerStart} from './utils/module.helper';
import {loadControllers} from './utils/http-request.helper';
class BootstrapFramework {
application: Application;
mainModuleMetaData: any;
applicationRequests: any;
constructor(app: any) {
this.application = app;
this.mainModuleMetaData = getAllModuleMetaData(this.application);
const {controllers, modules} = this.mainModuleMetaData;
this.applicationRequests = loadControllers(controllers);
executeOnServerStart(modules, this.applicationRequests);
this.bootServer(this.applicationRequests, this.mainModuleMetaData);
}
bootServer(requests: any, mainModuleMetaData: any) {
const {port, staticFolders = [], extensions = {}, middleswares = []} = mainModuleMetaData;
new SustainServer(requests, {
port,
staticFolders,
extensions,
middleswares,
});
}
}
/**
* Boostratp the Application
* @param app
*/
export function bootstrap(app: any): any {
new BootstrapFramework(app);
}