Skip to content

Commit a9e5b85

Browse files
AbdUlHamedMareeAbd UlHameed Maree
andauthored
feat(typings): add missing types for some emitter methods (#1502)
Co-authored-by: Abd UlHameed Maree <[email protected]>
1 parent 0661564 commit a9e5b85

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

lib/typed-events.ts

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,20 @@ export abstract class StrictEventEmitter<
107107
return this;
108108
}
109109

110+
/**
111+
* Removes the `listener` function as an event listener for `ev`.
112+
*
113+
* @param ev Name of the event
114+
* @param listener Callback function
115+
*/
116+
off<Ev extends ReservedOrUserEventNames<ReservedEvents, ListenEvents>>(
117+
ev?: Ev,
118+
listener?: ReservedOrUserListener<ReservedEvents, ListenEvents, Ev>
119+
): this {
120+
super.off(ev as string, listener);
121+
return this;
122+
}
123+
110124
/**
111125
* Emits an event.
112126
*
@@ -153,4 +167,44 @@ export abstract class StrictEventEmitter<
153167
Ev
154168
>[];
155169
}
170+
171+
/**
172+
* Returns true if there is a listener for this event.
173+
*
174+
* @param event Event name
175+
* @returns boolean
176+
*/
177+
hasListeners<
178+
Ev extends ReservedOrUserEventNames<ReservedEvents, ListenEvents>
179+
>(event: Ev): boolean {
180+
return super.hasListeners(event as string);
181+
}
182+
183+
/**
184+
* Removes the `listener` function as an event listener for `ev`.
185+
*
186+
* @param ev Name of the event
187+
* @param listener Callback function
188+
*/
189+
removeListener<
190+
Ev extends ReservedOrUserEventNames<ReservedEvents, ListenEvents>
191+
>(
192+
ev?: Ev,
193+
listener?: ReservedOrUserListener<ReservedEvents, ListenEvents, Ev>
194+
): this {
195+
super.removeListener(ev as string, listener);
196+
return this;
197+
}
198+
199+
/**
200+
* Removes all `listener` function as an event listener for `ev`.
201+
*
202+
* @param ev Name of the event
203+
*/
204+
removeAllListeners<
205+
Ev extends ReservedOrUserEventNames<ReservedEvents, ListenEvents>
206+
>(ev?: Ev): this {
207+
super.removeAllListeners(ev as string);
208+
return this;
209+
}
156210
}

0 commit comments

Comments
 (0)