| Index: lib/events.js |
| diff --git a/lib/events.js b/lib/events.js |
| index 3e9067a2b1bfe88ccace767b19ded6fdc42c5be1..ace413d2a26ac6e45f29cbef6f7d61acdc83284f 100644 |
| --- a/lib/events.js |
| +++ b/lib/events.js |
| @@ -24,7 +24,7 @@ |
| */ |
| exports.EventEmitter = function() |
| { |
| - this._listeners = Object.create(null); |
| + this._listeners = new Map(); |
| }; |
| exports.EventEmitter.prototype = { |
| @@ -36,10 +36,10 @@ exports.EventEmitter.prototype = { |
| */ |
| on(name, listener) |
| { |
| - if (name in this._listeners) |
| - this._listeners[name].push(listener); |
| + if (this._listeners.has(name)) |
|
Manish Jethani
2018/04/01 08:44:16
It's usually not worth calling Map.has if you're g
kzar
2018/04/03 17:27:55
Done.
|
| + this._listeners.get(name).push(listener); |
| else |
| - this._listeners[name] = [listener]; |
| + this._listeners.set(name, [listener]); |
| }, |
| /** |
| @@ -50,7 +50,7 @@ exports.EventEmitter.prototype = { |
| */ |
| off(name, listener) |
| { |
| - let listeners = this._listeners[name]; |
| + let listeners = this._listeners.get(name); |
|
Manish Jethani
2018/04/01 08:44:16
While we're at it, perhaps it would be a good idea
kzar
2018/04/03 17:27:55
Good idea, but I'd rather not since this would cha
Sebastian Noack
2018/04/03 20:42:34
What change of behavior are you concerned about? M
Manish Jethani
2018/04/04 06:54:49
Dave has a point that this would be more likely to
|
| if (listeners) |
| { |
| let idx = listeners.indexOf(listener); |
| @@ -87,7 +87,7 @@ exports.EventEmitter.prototype = { |
| */ |
| listeners(name) |
| { |
| - let listeners = this._listeners[name]; |
| + let listeners = this._listeners.get(name); |
| return listeners ? listeners.slice() : []; |
| }, |