inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
28 lines • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const AbstractObjectDefinitionInspector_1 = require("../AbstractObjectDefinitionInspector");
const SingletonDefinition_1 = require("../objectdefinition/SingletonDefinition");
class ObjectDefinitionStartStopMethodsInspector extends AbstractObjectDefinitionInspector_1.AbstractObjectDefinitionInspector {
// tslint:disable-next-line:prefer-function-over-method
interestedIn(objectDefinition) {
return (objectDefinition instanceof SingletonDefinition_1.SingletonDefinition)
&& (objectDefinition.getProducedClass().startMethod !== undefined
|| objectDefinition.getProducedClass().stopMethod !== undefined);
}
/**
* @param {SingletonDefinition} objectDefinition singleton definition
*/
// tslint:disable-next-line:prefer-function-over-method
doInspect(objectDefinition) {
const startMethodName = objectDefinition.getProducedClass().startMethod;
if (startMethodName) {
objectDefinition.startFunction(startMethodName);
}
const stopMethodName = objectDefinition.getProducedClass().stopMethod;
if (stopMethodName) {
objectDefinition.stopFunction(stopMethodName);
}
}
}
exports.ObjectDefinitionStartStopMethodsInspector = ObjectDefinitionStartStopMethodsInspector;
//# sourceMappingURL=ObjectDefinitionStartStopMethodsInspector.js.map