inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
29 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// tslint:disable:prefer-function-over-method
const BaseSingletonDefinition_1 = require("../ioc/objectdefinition/BaseSingletonDefinition");
const SqsWorker_1 = require("./SqsWorker");
class SqsWorkerPlugin {
constructor() {
this.name = 'SqsWorkerPlugin';
}
getName() {
return this.name;
}
willStart(app) {
if (!app.hasConfig('SqsWorker')) {
throw new Error('SQSWorkerPlugin has been registered but could not find config using key "SqsWorker"');
}
const context = app.getContext();
const confs = context.getConfig('SqsWorker');
Object.keys(confs).forEach((key) => {
const clientSingleton = new BaseSingletonDefinition_1.BaseSingletonDefinition(SqsWorker_1.SqsWorker, key);
clientSingleton.constructorParamByValue(confs[key]);
clientSingleton.constructorParamByValue(key);
clientSingleton.setPropertyByRef('handler', confs[key]['handlerObject']);
context.registerSingletons(clientSingleton);
});
}
}
exports.default = SqsWorkerPlugin;
//# sourceMappingURL=SqsWorkerPlugin.js.map