@jeaks03/overseer
Version:
Just another TypeScript Back-End framework
41 lines • 3.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const requisites_1 = require("../core/requisites");
const router_1 = require("../routes/router");
const logger_1 = __importDefault(require("@jeaks03/logger"));
const global_1 = require("../configs/global");
const getShadowMeta = (target) => {
if (!target.prototype.__shadowMeta) {
return null;
}
return target.prototype.__shadowMeta;
};
exports.Requisite = (target) => {
if (global_1.GlobalConfig.isLibraryPackage) {
return;
}
let shadowMeta = getShadowMeta(target);
if (shadowMeta && shadowMeta.isRequisite) {
return;
}
requisites_1.Requisites.addClass(target);
if (!shadowMeta) {
target.prototype.__shadowMeta = {
isRequisite: true
};
shadowMeta = getShadowMeta(target);
}
shadowMeta.required = Reflect.getOwnMetadata("design:paramtypes", target) || [];
const foundRoutes = shadowMeta.routes;
if (foundRoutes) {
const router = requisites_1.Requisites.find(router_1.Router);
foundRoutes.forEach((route) => {
router.addRoute(route);
logger_1.default.info(router_1.Router, 'Mapped endpoint [ {}, `{}` ] to {}.{}(..) handler', route.details.method, route.details.path, route.handlerName, route.handler.name);
});
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlzaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvcnMvcmVxdWlzaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBQWdEO0FBQ2hELDZDQUEwQztBQUUxQyw2REFBcUM7QUFFckMsOENBQWlEO0FBRWpELE1BQU0sYUFBYSxHQUFHLENBQUksTUFBb0IsRUFBYyxFQUFFO0lBQzFELElBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtRQUMvQixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztBQUN6QyxDQUFDLENBQUE7QUFFWSxRQUFBLFNBQVMsR0FBbUIsQ0FBSSxNQUEwQixFQUFFLEVBQUU7SUFDdkUsSUFBRyxxQkFBWSxDQUFDLGdCQUFnQixFQUFFO1FBQzlCLE9BQU87S0FDVjtJQUVELElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxJQUFHLFVBQVUsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO1FBQ3JDLE9BQU87S0FDVjtJQUVELHVCQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLElBQUcsQ0FBQyxVQUFVLEVBQUU7UUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRztZQUM1QixXQUFXLEVBQUUsSUFBSTtTQUNwQixDQUFDO1FBRUYsVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QztJQUVELFVBQVUsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEYsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxJQUFHLFdBQVcsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLHVCQUFVLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxDQUFDO1FBRXZDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3RCLGdCQUFNLENBQUMsSUFBSSxDQUFDLGVBQU0sRUFBRSxtREFBbUQsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUosQ0FBQyxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUMsQ0FBQSJ9