8
8
9
9
import { makeZoneAwareAddListener , makeZoneAwareListeners , makeZoneAwareRemoveListener , patchMethod } from '../common/utils' ;
10
10
11
+ const callAndReturnFirstParam = ( fn : ( self : any , args : any [ ] ) => any ) => {
12
+ return ( self : any , args : any [ ] ) => {
13
+ fn ( self , args ) ;
14
+ return self ;
15
+ } ;
16
+ } ;
11
17
12
18
// For EventEmitter
13
19
const EE_ADD_LISTENER = 'addListener' ;
@@ -16,12 +22,9 @@ const EE_REMOVE_LISTENER = 'removeListener';
16
22
const EE_LISTENERS = 'listeners' ;
17
23
const EE_ON = 'on' ;
18
24
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 ) ) ;
25
28
const zoneAwareListeners = makeZoneAwareListeners ( EE_LISTENERS ) ;
26
29
27
30
export function patchEventEmitterMethods ( obj : any ) : boolean {
46
49
47
50
if ( events && events . EventEmitter ) {
48
51
patchEventEmitterMethods ( events . EventEmitter . prototype ) ;
49
- }
52
+ }
0 commit comments