UNPKG

@decorators/server

Version:

node decorators - decorators for express library

73 lines 6.95 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var HttpModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpModule = void 0; const di_1 = require("@decorators/di"); const core_1 = require("../../core"); const helpers_1 = require("./helpers"); let HttpModule = exports.HttpModule = HttpModule_1 = class HttpModule { static create(adapter) { return { module: HttpModule_1, providers: [{ provide: helpers_1.HTTP_ADAPTER, ...(adapter instanceof helpers_1.HttpApplicationAdapter ? { useValue: adapter } : { useClass: adapter }), }], }; } constructor(server, adapter, routeResolver) { this.server = server; this.adapter = adapter; this.routeResolver = routeResolver; this.adapter.attachServer(this.server); } close() { return this.adapter.close(); } getAdapter() { return this.adapter; } getHttpServer() { return this.server; } async listen(port) { await this.routeResolver.resolve(); await this.adapter.listen(); if (this.server.listening) { return; } return this.server.listen(port); } set(setting, value) { var _a, _b; (_b = (_a = this.adapter).set) === null || _b === void 0 ? void 0 : _b.call(_a, setting, value); } use(...args) { this.adapter.use(...args); } }; exports.HttpModule = HttpModule = HttpModule_1 = __decorate([ (0, core_1.Module)({ providers: [ helpers_1.RouteHandler, helpers_1.RouteResolver, ], }), __param(0, (0, di_1.Inject)(core_1.APP_SERVER)), __param(1, (0, di_1.Inject)(helpers_1.HTTP_ADAPTER)), __metadata("design:paramtypes", [Object, helpers_1.HttpApplicationAdapter, helpers_1.RouteResolver]) ], HttpModule); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGxhdGZvcm1zL2h0dHAvaHR0cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QztBQUV4QyxxQ0FBK0Y7QUFDL0YsdUNBQThGO0FBUXZGLElBQU0sVUFBVSx1Q0FBaEIsTUFBTSxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQ1gsT0FBMEc7UUFFMUcsT0FBTztZQUNMLE1BQU0sRUFBRSxZQUFVO1lBQ2xCLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSxzQkFBWTtvQkFDckIsR0FBRyxDQUFDLE9BQU8sWUFBWSxnQ0FBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO2lCQUMvRixDQUFDO1NBQ29CLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQzhCLE1BQWMsRUFDWixPQUErQixFQUNyRCxhQUE0QjtRQUZSLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUNyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUVwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQWE7UUFDeEIsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRW5DLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ3pCLE9BQU87U0FDUjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFlLEVBQUUsS0FBYzs7UUFDakMsTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsR0FBRyxtREFBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFHLElBQWU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTtxQkFwRFksVUFBVTtJQU50QixJQUFBLGFBQU0sRUFBQztRQUNOLFNBQVMsRUFBRTtZQUNULHNCQUFZO1lBQ1osdUJBQWE7U0FDZDtLQUNGLENBQUM7SUFlRyxXQUFBLElBQUEsV0FBTSxFQUFDLGlCQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLElBQUEsV0FBTSxFQUFDLHNCQUFZLENBQUMsQ0FBQTs2Q0FBa0IsZ0NBQXNCO1FBQ3RDLHVCQUFhO0dBaEIzQixVQUFVLENBb0R0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCB9IGZyb20gJ0BkZWNvcmF0b3JzL2RpJztcblxuaW1wb3J0IHsgQVBQX1NFUlZFUiwgQ2xhc3NDb25zdHJ1Y3RvciwgTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEhUVFBfQURBUFRFUiwgSHR0cEFwcGxpY2F0aW9uQWRhcHRlciwgUm91dGVIYW5kbGVyLCBSb3V0ZVJlc29sdmVyIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuQE1vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIFJvdXRlSGFuZGxlcixcbiAgICBSb3V0ZVJlc29sdmVyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIdHRwTW9kdWxlIHtcbiAgc3RhdGljIGNyZWF0ZShcbiAgICBhZGFwdGVyOiBDbGFzc0NvbnN0cnVjdG9yPEh0dHBBcHBsaWNhdGlvbkFkYXB0ZXI+IHwgSW5zdGFuY2VUeXBlPENsYXNzQ29uc3RydWN0b3I8SHR0cEFwcGxpY2F0aW9uQWRhcHRlcj4+LFxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBIdHRwTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBIVFRQX0FEQVBURVIsXG4gICAgICAgIC4uLihhZGFwdGVyIGluc3RhbmNlb2YgSHR0cEFwcGxpY2F0aW9uQWRhcHRlciA/IHsgdXNlVmFsdWU6IGFkYXB0ZXIgfSA6IHsgdXNlQ2xhc3M6IGFkYXB0ZXIgfSksXG4gICAgICB9XSxcbiAgICB9IGFzIE1vZHVsZVdpdGhQcm92aWRlcnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFQUF9TRVJWRVIpIHByaXZhdGUgc2VydmVyOiBTZXJ2ZXIsXG4gICAgQEluamVjdChIVFRQX0FEQVBURVIpIHByaXZhdGUgYWRhcHRlcjogSHR0cEFwcGxpY2F0aW9uQWRhcHRlcixcbiAgICBwcml2YXRlIHJvdXRlUmVzb2x2ZXI6IFJvdXRlUmVzb2x2ZXIsXG4gICkge1xuICAgIHRoaXMuYWRhcHRlci5hdHRhY2hTZXJ2ZXIodGhpcy5zZXJ2ZXIpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5jbG9zZSgpO1xuICB9XG5cbiAgZ2V0QWRhcHRlcjxBZGFwdGVyIGV4dGVuZHMgSHR0cEFwcGxpY2F0aW9uQWRhcHRlcj4oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlciBhcyBBZGFwdGVyO1xuICB9XG5cbiAgZ2V0SHR0cFNlcnZlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2ZXI7XG4gIH1cblxuICBhc3luYyBsaXN0ZW4ocG9ydD86IG51bWJlcikge1xuICAgIGF3YWl0IHRoaXMucm91dGVSZXNvbHZlci5yZXNvbHZlKCk7XG5cbiAgICBhd2FpdCB0aGlzLmFkYXB0ZXIubGlzdGVuKCk7XG5cbiAgICBpZiAodGhpcy5zZXJ2ZXIubGlzdGVuaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VydmVyLmxpc3Rlbihwb3J0KTtcbiAgfVxuXG4gIHNldChzZXR0aW5nOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5hZGFwdGVyLnNldD8uKHNldHRpbmcsIHZhbHVlKTtcbiAgfVxuXG4gIHVzZSguLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICB0aGlzLmFkYXB0ZXIudXNlKC4uLmFyZ3MpO1xuICB9XG59XG4iXX0=