index.js 411 B

123456789101112131415161718192021
  1. 'use strict';
  2. const first = require('ee-first');
  3. module.exports = function(emitter, events) {
  4. if (Array.isArray(emitter)) {
  5. events = emitter;
  6. emitter = this;
  7. }
  8. return new Promise((resolve, reject) => {
  9. first([
  10. [ emitter ].concat(events),
  11. ], (err, ee, event, args) => {
  12. if (err) {
  13. reject(err);
  14. } else {
  15. resolve({ event, args });
  16. }
  17. });
  18. });
  19. };