UNPKG

inceptum

Version:

hipages take on the foundational library for enterprise-grade apps written in NodeJS

37 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const AbstractObjectDefinitionInspector_1 = require("../ioc/AbstractObjectDefinitionInspector"); const SingletonDefinition_1 = require("../ioc/objectdefinition/SingletonDefinition"); class WebRoutingInspector extends AbstractObjectDefinitionInspector_1.AbstractObjectDefinitionInspector { constructor(definition) { super(); this.routesToRegister = []; this.definition = definition; this.definition.setPropertyByValue('routesToRegister', this.routesToRegister); } // tslint:disable-next-line:prefer-function-over-method interestedIn(objectDefinition) { return (objectDefinition instanceof SingletonDefinition_1.SingletonDefinition) && (objectDefinition.getProducedClass().routes !== undefined); } /** * @param {SingletonDefinition} objectDefinition singleton definition */ // tslint:disable-next-line:prefer-function-over-method doInspect(objectDefinition) { const routes = objectDefinition.getProducedClass().routes; routes.forEach((route, index) => { const instanceName = `instance_${index}`; this.routesToRegister.push({ verb: route.verb || 'get', path: route.path, methodName: route.methodName, instanceProperty: instanceName, objectName: objectDefinition.getName(), }); this.definition.setPropertyByRef(instanceName, objectDefinition.getName()); }); } } exports.WebRoutingInspector = WebRoutingInspector; //# sourceMappingURL=WebRoutingInspector.js.map