88
99import { makeZoneAwareAddListener , makeZoneAwareListeners , makeZoneAwareRemoveListener , patchMethod } from '../common/utils' ;
1010
11+ const callAndReturnFirstParam = ( fn : ( self : any , args : any [ ] ) => any ) => {
12+ return ( self : any , args : any [ ] ) => {
13+ fn ( self , args ) ;
14+ return self ;
15+ } ;
16+ } ;
1117
1218// For EventEmitter
1319const EE_ADD_LISTENER = 'addListener' ;
@@ -16,12 +22,9 @@ const EE_REMOVE_LISTENER = 'removeListener';
1622const EE_LISTENERS = 'listeners' ;
1723const EE_ON = 'on' ;
1824
19-
20- const zoneAwareAddListener =
21- makeZoneAwareAddListener ( EE_ADD_LISTENER , EE_REMOVE_LISTENER , false , true ) ;
22- const zoneAwarePrependListener =
23- makeZoneAwareAddListener ( EE_PREPEND_LISTENER , EE_REMOVE_LISTENER , false , true ) ;
24- const zoneAwareRemoveListener = makeZoneAwareRemoveListener ( EE_REMOVE_LISTENER , false ) ;
25+ const zoneAwareAddListener = callAndReturnFirstParam ( makeZoneAwareAddListener ( EE_ADD_LISTENER , EE_REMOVE_LISTENER , false , true ) ) ;
26+ const zoneAwarePrependListener = callAndReturnFirstParam ( makeZoneAwareAddListener ( EE_PREPEND_LISTENER , EE_REMOVE_LISTENER , false , true ) ) ;
27+ const zoneAwareRemoveListener = callAndReturnFirstParam ( makeZoneAwareRemoveListener ( EE_REMOVE_LISTENER , false ) ) ;
2528const zoneAwareListeners = makeZoneAwareListeners ( EE_LISTENERS ) ;
2629
2730export function patchEventEmitterMethods ( obj : any ) : boolean {
4649
4750if ( events && events . EventEmitter ) {
4851 patchEventEmitterMethods ( events . EventEmitter . prototype ) ;
49- }
52+ }
0 commit comments