@curium.rocks/scripted-emitter
Version:
A emitter that uses a script to emit predefined events on a given timeline
28 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScriptedEmitterFactory = void 0;
const data_emitter_base_1 = require("@curium.rocks/data-emitter-base");
const scriptedEmitter_1 = require("./scriptedEmitter");
/**
*
*/
class ScriptedEmitterFactory extends data_emitter_base_1.BaseEmitterFactory {
/**
*
* @param {IEmitterDescription} description
* @return {Promise<IDataEmitter>}
*/
buildEmitter(description) {
if (description.emitterProperties == null)
return Promise.reject(new Error('missing required emitterProperties'));
const props = description.emitterProperties;
if (props.script == null)
return Promise.reject(new Error('missing required property script'));
const script = props.script;
if (script == null)
return Promise.reject(new Error('invalid script format'));
return Promise.resolve(new scriptedEmitter_1.ScriptedEmitter(description.id, description.name, description.description, script, this.loggerFacade));
}
}
exports.ScriptedEmitterFactory = ScriptedEmitterFactory;
//# sourceMappingURL=scriptedEmitterFactory.js.map