15
15
*/
16
16
17
17
import { Context , ContextManager , ROOT_CONTEXT } from '@opentelemetry/api' ;
18
- import { Func , TargetWithEvents } from './types' ;
18
+ import { TargetWithEvents } from './types' ;
19
19
import { isListenerObject } from './util' ;
20
20
21
21
/* Key name to be used to save a context reference in Zone */
@@ -53,9 +53,10 @@ export class ZoneContextManager implements ContextManager {
53
53
* @param context A context (span) to be executed within target function
54
54
* @param target Function to be executed within the context
55
55
*/
56
+ // eslint-disable-next-line @typescript-eslint/ban-types
56
57
private _bindFunction < T extends Function > ( context : Context , target : T ) : T {
57
58
const manager = this ;
58
- const contextWrapper = function ( this : any , ...args : unknown [ ] ) {
59
+ const contextWrapper = function ( this : unknown , ...args : unknown [ ] ) {
59
60
return manager . with ( context , ( ) => target . apply ( this , args ) ) ;
60
61
} ;
61
62
Object . defineProperty ( contextWrapper , 'length' , {
@@ -134,16 +135,16 @@ export class ZoneContextManager implements ContextManager {
134
135
*/
135
136
private _patchAddEventListener (
136
137
target : TargetWithEvents ,
137
- original : Function ,
138
+ original : NonNullable < TargetWithEvents [ 'addEventListener' ] > ,
138
139
context : Context
139
140
) {
140
141
const contextManager = this ;
141
142
142
143
return function (
143
- this : { } ,
144
- event : string ,
145
- listener : Func < void > ,
146
- opts ?: any
144
+ this : TargetWithEvents ,
145
+ event ,
146
+ listener ,
147
+ opts
147
148
) {
148
149
if ( target . __ot_listeners === undefined ) {
149
150
target . __ot_listeners = { } ;
@@ -157,7 +158,7 @@ export class ZoneContextManager implements ContextManager {
157
158
// store a weak reference of the user listener to ours
158
159
listeners . set ( listener , patchedListener ) ;
159
160
return original . call ( this , event , patchedListener , opts ) ;
160
- } ;
161
+ } as TargetWithEvents [ 'addEventListener' ] ;
161
162
}
162
163
163
164
/**
@@ -167,9 +168,9 @@ export class ZoneContextManager implements ContextManager {
167
168
*/
168
169
private _patchRemoveEventListener (
169
170
target : TargetWithEvents ,
170
- original : Function
171
+ original : NonNullable < TargetWithEvents [ 'removeEventListener' ] >
171
172
) {
172
- return function ( this : { } , event : string , listener : Func < void > ) {
173
+ return function ( this : TargetWithEvents , event , listener ) {
173
174
if (
174
175
target . __ot_listeners === undefined ||
175
176
target . __ot_listeners [ event ] === undefined
@@ -180,7 +181,7 @@ export class ZoneContextManager implements ContextManager {
180
181
const patchedListener = events . get ( listener ) ;
181
182
events . delete ( listener ) ;
182
183
return original . call ( this , event , patchedListener || listener ) ;
183
- } ;
184
+ } as TargetWithEvents [ 'removeEventListener' ] ;
184
185
}
185
186
186
187
/**
0 commit comments