all files / app/services/ messageService.js

81.25% Statements 13/16
100% Branches 0/0
40% Functions 2/5
81.25% Lines 13/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                           13×           13×      
var logger = require('../logger')
var events = require('events')
 
var emitter = {}
 
Object.defineProperty(emitter, 'emitter', {
  configurable: false,
  set: function (newE) {
    emitter.e = newE
    emitter.e.setMaxListeners(0)
    emitter.e.on('error', function (err) {
      logger.error(err, new Error(err.stack).stack)
    })
  },
  get: function () {
    throw new Error('no getter for this property')
  }
})
 
// wire up the default emitter
emitter.emitter = new events.EventEmitter()
var setP = function (p) {
  emitter[ p ] = function () {
    return emitter.e[ p ].apply(emitter.e, arguments)
  }
}
 
// wire up all methods on emitter
for (var p in events.EventEmitter.prototype) {
  setP(p)
}
 
module.exports = emitter