index.js 504 B

12345678910111213141516
  1. const nodeEmitter = require('./default-emitter')
  2. const redisEmitter = require('./redis-emitter')
  3. let emitter
  4. /**
  5. * Singleton event emitter that is shared between modules throughout the lifetime of the server.
  6. * Used to transmit events (such as progress, upload completion) from controllers,
  7. * such as the Google Drive 'get' controller, along to the client.
  8. */
  9. module.exports = (redisUrl) => {
  10. if (!emitter) {
  11. emitter = redisUrl ? redisEmitter(redisUrl) : nodeEmitter()
  12. }
  13. return emitter
  14. }