events: fix removeListener for Symbols · nodejs/node@55486bc · GitHub
Skip to content

Commit 55486bc

Browse files
fuxingZhangMylesBorins
authored andcommitted
events: fix removeListener for Symbols
Fix removeListener when eventName type is 'symbol'. ```js const EventEmitter = require('events'); const myEmitter = new EventEmitter(); const sym = Symbol('symbol'); const fn = () => { }; myEmitter.on(sym, fn); myEmitter.on('removeListener', (...args) => { console.log('removeListener'); console.log(args, args[0] === sym, args[1] === fn); }); myEmitter.removeAllListeners() ``` When the listener's eventName type is 'symbol' and removeListener is called with no parameters, removeListener should be emitted. PR-URL: #31847 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Shelley Vohr <codebytere@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 2585b81 commit 55486bc

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

lib/events.js

Lines changed: 1 addition & 2 deletions

test/parallel/test-event-emitter-remove-all-listeners.js

Lines changed: 13 additions & 0 deletions

0 commit comments

Comments
 (0)