Skip to content

Commit e9f980c

Browse files
perrin4869darrachequesne
authored andcommitted
[feature] Add support for all event emitter methods (socketio#2601)
1 parent 6f44f3a commit e9f980c

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/index.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var engine = require('engine.io');
99
var client = require('socket.io-client');
1010
var clientVersion = require('socket.io-client/package').version;
1111
var Client = require('./client');
12+
var Emitter = require('events').EventEmitter;
1213
var Namespace = require('./namespace');
1314
var Adapter = require('socket.io-adapter');
1415
var debug = require('debug')('socket.io:server');
@@ -372,7 +373,11 @@ Server.prototype.close = function(){
372373
* Expose main namespace (/).
373374
*/
374375

375-
['on', 'to', 'in', 'use', 'emit', 'send', 'write', 'clients', 'compress'].forEach(function(fn){
376+
var emitterMethods = Object.keys(Emitter.prototype).filter(function(key){
377+
return typeof Emitter.prototype[key] === 'function';
378+
});
379+
380+
emitterMethods.concat(['to', 'in', 'use', 'send', 'write', 'clients', 'compress']).forEach(function(fn){
376381
Server.prototype[fn] = function(){
377382
var nsp = this.sockets[fn];
378383
return nsp.apply(this.sockets, arguments);

0 commit comments

Comments
 (0)