UNPKG

webserv

Version:

a quick, flexible, fully typed development server

53 lines 2.4 kB
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()); }); }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "../../core/app", "../loader"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const app_1 = require("../../core/app"); const loader_1 = require("../loader"); function bootService(app, config, env) { return __awaiter(this, void 0, void 0, function* () { const loader = loader_1.getLoader(config.name); if (!loader) { throw new Error(`Service ${config.name} does not exist`); } const service = yield loader(config, env); app.add(service); }); } function startServer(app, { type = 'http', port = 8888, httpsOptions } = {}) { return __awaiter(this, void 0, void 0, function* () { const controls = yield app.start(type, { port, httpsOptions }); return controls; }); } exports.startServer = startServer; function bootServer(server, env, app = new app_1.App()) { return __awaiter(this, void 0, void 0, function* () { for (let service of server.services) { yield bootService(app, service, env); } return yield startServer(app, server); }); } exports.bootServer = bootServer; }); //# sourceMappingURL=server.js.map