"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const log = require("./log"); const events = require("events"); class AProcessor extends events.EventEmitter { constructor(label) { super(); this._label = label; this.addListener('input', this.process); log.info(`Processor object instanciated: ${this.constructor.name}, ${this._label}`); } in(message) { log.info(`Routing ${message} to Processor class ${this.constructor.name}, ${this._label}`); this.emit('input', message); } } exports.AProcessor = AProcessor; class ExProc1 extends AProcessor { process(message) { log.info(`ExRoute1.process: ${this._label}, ${message}`); } } exports.ExProc1 = ExProc1; //# sourceMappingURL=processor.js.map