UNPKG

@methodus/server

Version:
51 lines 2.53 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); }; Object.defineProperty(exports, "__esModule", { value: true }); const express = require("express"); const fp_1 = require("../../fp"); const log_1 = require("../../log"); const request = require('request-promise-native'); require("reflect-metadata"); let ExpressEventBus = class ExpressEventBus { constructor(obj, methodType) { let proto = fp_1.fp.maybeProto(obj); let methodus = fp_1.fp.maybeMethodus(obj); //let collection = Object.getOwnPropertyNames(proto); let autoRouter = express.Router(); Object.keys(methodus._events).forEach(itemKey => { let item = methodus._events[itemKey]; switch (item.verb) { case "GET" /* Get */: autoRouter.get(item.route, proto[item.propertyKey].bind(obj)); break; case "POST" /* Post */: autoRouter.post(item.route, proto[item.propertyKey].bind(obj)); break; case "DELETE" /* Delete */: autoRouter.delete(item.route, proto[item.propertyKey].bind(obj)); break; case "HEAD" /* Head */: autoRouter.head(item.route, proto[item.propertyKey].bind(obj)); break; case "PUT" /* Put */: autoRouter.put(item.route, proto[item.propertyKey].bind(obj)); break; } }); this.router = autoRouter; } }; ExpressEventBus = __decorate([ log_1.LogClass(log_1.logger), __metadata("design:paramtypes", [Object, String]) ], ExpressEventBus); exports.ExpressEventBus = ExpressEventBus; //# sourceMappingURL=event.js.map