@@ -78,7 +78,8 @@ EventEmitter.init = function() {
7878 }
7979 }
8080
81- if ( ! this . _events || this . _events === Object . getPrototypeOf ( this ) . _events ) {
81+ if ( this . _events === undefined ||
82+ this . _events === Object . getPrototypeOf ( this ) . _events ) {
8283 this . _events = Object . create ( null ) ;
8384 this . _eventsCount = 0 ;
8485 }
@@ -170,8 +171,8 @@ EventEmitter.prototype.emit = function emit(type) {
170171 var doError = ( type === 'error' ) ;
171172
172173 events = this . _events ;
173- if ( events )
174- doError = ( doError && events . error == null ) ;
174+ if ( events !== undefined )
175+ doError = ( doError && events . error === undefined ) ;
175176 else if ( ! doError )
176177 return false ;
177178
@@ -181,7 +182,7 @@ EventEmitter.prototype.emit = function emit(type) {
181182 if ( doError ) {
182183 if ( arguments . length > 1 )
183184 er = arguments [ 1 ] ;
184- if ( domain ) {
185+ if ( domain !== null && domain !== undefined ) {
185186 if ( ! er ) {
186187 const errors = lazyErrors ( ) ;
187188 er = new errors . Error ( 'ERR_UNHANDLED_ERROR' ) ;
@@ -206,10 +207,10 @@ EventEmitter.prototype.emit = function emit(type) {
206207
207208 handler = events [ type ] ;
208209
209- if ( ! handler )
210+ if ( handler === undefined )
210211 return false ;
211212
212- if ( domain && this !== process ) {
213+ if ( domain !== null && domain !== undefined && this !== process ) {
213214 domain . enter ( ) ;
214215 needDomainExit = true ;
215216 }
@@ -255,13 +256,13 @@ function _addListener(target, type, listener, prepend) {
255256 }
256257
257258 events = target . _events ;
258- if ( ! events ) {
259+ if ( events === undefined ) {
259260 events = target . _events = Object . create ( null ) ;
260261 target . _eventsCount = 0 ;
261262 } else {
262263 // To avoid recursion in the case that type === "newListener"! Before
263264 // adding it to the listeners, first emit "newListener".
264- if ( events . newListener ) {
265+ if ( events . newListener !== undefined ) {
265266 target . emit ( 'newListener' , type ,
266267 listener . listener ? listener . listener : listener ) ;
267268
@@ -272,7 +273,7 @@ function _addListener(target, type, listener, prepend) {
272273 existing = events [ type ] ;
273274 }
274275
275- if ( ! existing ) {
276+ if ( existing === undefined ) {
276277 // Optimize the case of one listener. Don't need the extra array object.
277278 existing = events [ type ] = listener ;
278279 ++ target . _eventsCount ;
@@ -384,11 +385,11 @@ EventEmitter.prototype.removeListener =
384385 }
385386
386387 events = this . _events ;
387- if ( ! events )
388+ if ( events === undefined )
388389 return this ;
389390
390391 list = events [ type ] ;
391- if ( ! list )
392+ if ( list === undefined )
392393 return this ;
393394
394395 if ( list === listener || list . listener === listener ) {
@@ -424,7 +425,7 @@ EventEmitter.prototype.removeListener =
424425 if ( list . length === 1 )
425426 events [ type ] = list [ 0 ] ;
426427
427- if ( events . removeListener )
428+ if ( events . removeListener !== undefined )
428429 this . emit ( 'removeListener' , type , originalListener || listener ) ;
429430 }
430431
@@ -436,15 +437,15 @@ EventEmitter.prototype.removeAllListeners =
436437 var listeners , events , i ;
437438
438439 events = this . _events ;
439- if ( ! events )
440+ if ( events === undefined )
440441 return this ;
441442
442443 // not listening for removeListener, no need to emit
443- if ( ! events . removeListener ) {
444+ if ( events . removeListener === undefined ) {
444445 if ( arguments . length === 0 ) {
445446 this . _events = Object . create ( null ) ;
446447 this . _eventsCount = 0 ;
447- } else if ( events [ type ] ) {
448+ } else if ( events [ type ] !== undefined ) {
448449 if ( -- this . _eventsCount === 0 )
449450 this . _events = Object . create ( null ) ;
450451 else
@@ -472,7 +473,7 @@ EventEmitter.prototype.removeAllListeners =
472473
473474 if ( typeof listeners === 'function' ) {
474475 this . removeListener ( type , listeners ) ;
475- } else if ( listeners ) {
476+ } else if ( listeners !== undefined ) {
476477 // LIFO order
477478 for ( i = listeners . length - 1 ; i >= 0 ; i -- ) {
478479 this . removeListener ( type , listeners [ i ] ) ;
@@ -487,11 +488,11 @@ EventEmitter.prototype.listeners = function listeners(type) {
487488 var ret ;
488489 var events = this . _events ;
489490
490- if ( ! events )
491+ if ( events === undefined )
491492 ret = [ ] ;
492493 else {
493494 evlistener = events [ type ] ;
494- if ( ! evlistener )
495+ if ( evlistener === undefined )
495496 ret = [ ] ;
496497 else if ( typeof evlistener === 'function' )
497498 ret = [ evlistener . listener || evlistener ] ;
@@ -514,12 +515,12 @@ EventEmitter.prototype.listenerCount = listenerCount;
514515function listenerCount ( type ) {
515516 const events = this . _events ;
516517
517- if ( events ) {
518+ if ( events !== undefined ) {
518519 const evlistener = events [ type ] ;
519520
520521 if ( typeof evlistener === 'function' ) {
521522 return 1 ;
522- } else if ( evlistener ) {
523+ } else if ( evlistener !== undefined ) {
523524 return evlistener . length ;
524525 }
525526 }
0 commit comments