All files / js.socket/src/connection-observer factory.js

100% Statements 9/9
100% Branches 0/0
100% Functions 2/2
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 35 361x                             9x 9x 9x 9x                 9x 9x   9x       1x  
const ConnectionObserver = require('.')
 
/**
 * Responsible for attaching a dispacther to all data events on a socket
 */
class ConnectionObserverFactory
{
  /**
   * @param {Logger} log
   * @param {DispatcherFactory} dispatcherFactory
   * @param {EmitterFactory} emitterFactory
   * @param {ContextFactory} contextFactory
   */
  constructor(log, dispatcherFactory, emitterFactory, contextFactory)
  {
    this.log                = log
    this.dispatcherFactory  = dispatcherFactory
    this.emitterFactory     = emitterFactory
    this.contextFactory     = contextFactory
  }
 
  /**
   * @returns {ConnectionObserver}
   */
  create()
  {
    const
    emitter     = this.emitterFactory.create(),
    dispatcher  = this.dispatcherFactory.create()
 
    return new ConnectionObserver(this.log, dispatcher, emitter, this.contextFactory)
  }
}
 
module.exports = ConnectionObserverFactory