| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- '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;
 
 
  |