UNPKG

@micro.ts/core

Version:

Microservice framework with Typescript

46 lines (45 loc) 1.92 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppBuilder = void 0; const BaseServer_1 = require("./BaseServer"); const Logger_1 = require("./Logger"); const di_1 = require("../di"); class AppBuilder { constructor(config) { this.config = config; di_1.Container.set(Logger_1.LoggerKey, new Logger_1.BaseLogger()); } useStartup(c) { this.startupBuilder = new c(this.config); return this; } startServer() { return __awaiter(this, void 0, void 0, function* () { if (!this.server) { const options = this.startupBuilder.getServerOptions(); this.server = new BaseServer_1.BaseServer(options); yield this.startupBuilder.callBeforeStartHooks(); yield this.server.start(); yield this.startupBuilder.callAfterStartHooks(); } return this.server; }); } start() { return __awaiter(this, void 0, void 0, function* () { yield this.startupBuilder.beforeStart(); yield this.startServer(); yield this.startupBuilder.afterStart(); }); } } exports.AppBuilder = AppBuilder;