events.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const serviceManager_1 = require("../serviceManager");
  4. const Debug = require("debug");
  5. class EventsFeature {
  6. constructor() {
  7. this.logger = Debug('axm:features:events');
  8. }
  9. init() {
  10. this.transport = serviceManager_1.ServiceManager.get('transport');
  11. this.logger('init');
  12. }
  13. emit(name, data) {
  14. if (typeof name !== 'string') {
  15. console.error('event name must be a string');
  16. return console.trace();
  17. }
  18. if (typeof data !== 'object') {
  19. console.error('event data must be an object');
  20. return console.trace();
  21. }
  22. if (data instanceof Array) {
  23. console.error(`event data cannot be an array`);
  24. return console.trace();
  25. }
  26. let inflightObj = {};
  27. try {
  28. inflightObj = JSON.parse(JSON.stringify(data));
  29. }
  30. catch (err) {
  31. return console.log('Failed to serialize the event data', err.message);
  32. }
  33. inflightObj.__name = name;
  34. if (this.transport === undefined) {
  35. return this.logger('Failed to send event as transporter isnt available');
  36. }
  37. this.transport.send('human:event', inflightObj);
  38. }
  39. destroy() {
  40. this.logger('destroy');
  41. }
  42. }
  43. exports.EventsFeature = EventsFeature;
  44. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZlYXR1cmVzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNEQUFrRDtBQUdsRCwrQkFBOEI7QUFFOUIsTUFBYSxhQUFhO0lBQTFCO1FBR1UsV0FBTSxHQUFhLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBc0N6RCxDQUFDO0lBcENDLElBQUk7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLCtCQUFjLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDckIsQ0FBQztJQUVELElBQUksQ0FBRSxJQUFhLEVBQUUsSUFBVTtRQUM3QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7WUFDNUMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7U0FDdkI7UUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUE7WUFDN0MsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7U0FDdkI7UUFDRCxJQUFJLElBQUksWUFBWSxLQUFLLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1lBQzlDLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1NBQ3ZCO1FBRUQsSUFBSSxXQUFXLEdBQWlCLEVBQUUsQ0FBQTtRQUNsQyxJQUFJO1lBQ0YsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1NBQy9DO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQ3RFO1FBRUQsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtTQUN6RTtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDeEIsQ0FBQztDQUNGO0FBekNELHNDQXlDQyJ9