core-mvc
Version:
Simple but powerful MVC framework for NodeJS.
26 lines (25 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Application = void 0;
const inversify_1 = require("inversify");
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
const lifecycle_1 = require("./runtime/lifecycle");
class Application {
constructor() {
this.containerModules = [];
}
addContainerModule(containerModule) {
this.containerModules.push(containerModule);
}
async start({ container = new inversify_1.Container(), } = {}) {
for (const containerModule of this.containerModules) {
await container.loadAsync(containerModule instanceof inversify_1.AsyncContainerModule
? containerModule
: containerModule(container));
}
container.load((0, inversify_binding_decorators_1.buildProviderModule)());
(0, lifecycle_1.initializeControllers)(container);
return { container };
}
}
exports.Application = Application;