@decorators/server
Version:
node decorators - decorators for express library
73 lines • 6.95 kB
JavaScript
;
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=