@@ -342,7 +342,7 @@ EventEmitter.init = function(opts) {
342342
343343 if ( this . _events === undefined ||
344344 this . _events === ObjectGetPrototypeOf ( this ) . _events ) {
345- this . _events = { __proto__ : null } ;
345+ this . _reset ( ) ;
346346 this . _eventsCount = 0 ;
347347 }
348348
@@ -359,6 +359,10 @@ EventEmitter.init = function(opts) {
359359 }
360360} ;
361361
362+ EventEmitter . prototype . _reset = function ( ) {
363+ this . _events = { __proto__ : null } ;
364+ }
365+
362366function addCatch ( that , promise , type , args ) {
363367 if ( ! that [ kCapture ] ) {
364368 return ;
@@ -549,7 +553,8 @@ function _addListener(target, type, listener, prepend) {
549553
550554 events = target . _events ;
551555 if ( events === undefined ) {
552- events = target . _events = { __proto__ : null } ;
556+ target . _reset ( ) ;
557+ events = target . _events ;
553558 target . _eventsCount = 0 ;
554559 } else {
555560 // To avoid recursion in the case that type === "newListener"! Before
@@ -687,7 +692,7 @@ EventEmitter.prototype.removeListener =
687692
688693 if ( list === listener || list . listener === listener ) {
689694 if ( -- this . _eventsCount === 0 )
690- this . _events = { __proto__ : null } ;
695+ this . _reset ( ) ;
691696 else {
692697 delete events [ type ] ;
693698 if ( events . removeListener )
@@ -742,11 +747,11 @@ EventEmitter.prototype.removeAllListeners =
742747 // Not listening for removeListener, no need to emit
743748 if ( events . removeListener === undefined ) {
744749 if ( arguments . length === 0 ) {
745- this . _events = { __proto__ : null } ;
750+ this . _reset ( ) ;
746751 this . _eventsCount = 0 ;
747752 } else if ( events [ type ] !== undefined ) {
748753 if ( -- this . _eventsCount === 0 )
749- this . _events = { __proto__ : null } ;
754+ this . _reset ( ) ;
750755 else
751756 delete events [ type ] ;
752757 }
@@ -760,7 +765,7 @@ EventEmitter.prototype.removeAllListeners =
760765 this . removeAllListeners ( key ) ;
761766 }
762767 this . removeAllListeners ( 'removeListener' ) ;
763- this . _events = { __proto__ : null } ;
768+ this . _reset ( ) ;
764769 this . _eventsCount = 0 ;
765770 return this ;
766771 }
0 commit comments