From 83c50f064826db023a89e5f8096aa97c9aa7e1d1 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 18 Nov 2016 17:29:41 +0300 Subject: [PATCH] add back emitter --- src/emitter.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/emitter.js diff --git a/src/emitter.js b/src/emitter.js new file mode 100644 index 0000000000..ca262257b7 --- /dev/null +++ b/src/emitter.js @@ -0,0 +1,35 @@ +"use strict"; + +var eventEmitter = new (require('events')).EventEmitter(); + + +eventEmitter.all = function (events, callback) { + var eventList = events.slice(0); + + events.forEach(function onEvent(event) { + eventEmitter.on(event, function () { + var index = eventList.indexOf(event); + if (index === -1) { + return; + } + eventList.splice(index, 1); + if (eventList.length === 0) { + callback(); + } + }); + }); +}; + +eventEmitter.any = function (events, callback) { + events.forEach(function onEvent(event) { + eventEmitter.on(event, function () { + if (events !== null) { + callback(); + } + + events = null; + }); + }); +}; + +module.exports = eventEmitter; \ No newline at end of file