UNPKG

barrageapi

Version:

A library for sending data to Barrage, an advanced streaming analytics service from MIOsoft

35 lines (31 loc) 1.02 kB
var eventHandlers = {}; module.exports = exports = { broadcast : function (eventName, eventData) { var eventListeners = eventHandlers[eventName]; if (eventListeners) { for (var i = 0; i < eventListeners.length; i++) { eventListeners[i](eventData); } } }, addEventListener : function (eventName, callback) { if (Object.prototype.toString.call(callback) !== '[object Function]') { throw new TypeError("Callback was not of type function"); } var eventListeners = eventHandlers[eventName]; if (!eventListeners) { eventListeners = []; } if (eventListeners.indexOf(callback) === -1) { eventListeners.push(callback); } eventHandlers[eventName] = eventListeners; }, removeEventListener : function (eventName, callback) { var eventListeners = eventHandlers[eventName]; if (eventListeners) { for (var i = 0; i < eventListeners.length; i++) { if (eventListeners[i] === callback) { eventListeners.splice(i, 1); break; } } } } };