'use strict'; var EventEmitter = require('events').EventEmitter; var sparklesNamespace = 'store@sparkles'; var defaultNamespace = 'default'; function getStore() { var store = global[sparklesNamespace]; if (!store) { store = global[sparklesNamespace] = {}; } return store; } function getEmitter(namespace) { var store = getStore(); namespace = namespace || defaultNamespace; var ee = store[namespace]; if (!ee) { ee = store[namespace] = new EventEmitter(); ee.setMaxListeners(0); ee.remove = function remove() { ee.removeAllListeners(); delete store[namespace]; }; } return ee; } function exists(namespace) { var store = getStore(); return !!(store[namespace]); } module.exports = getEmitter; module.exports.exists = exists;