Skip to content

Commit b96882a

Browse files
authored
fix: add all EventListener methods to TypedEventEmitter interface (#1718)
1 parent 4296ad6 commit b96882a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/lib/TypedEmitter.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ export interface TypedEventEmitter<
2020
event: TEvent,
2121
callback: TEvents[TEvent],
2222
): this
23+
prependListener<TEvent extends keyof TEvents>(
24+
event: TEvent,
25+
callback: TEvents[TEvent],
26+
): this
27+
prependOnceListener<TEvent extends keyof TEvents>(
28+
event: TEvent,
29+
callback: TEvents[TEvent],
30+
): this
31+
2332
removeListener<TEvent extends keyof TEvents>(
2433
event: TEvent,
2534
callback: TEvents[TEvent],
@@ -28,12 +37,29 @@ export interface TypedEventEmitter<
2837
event: TEvent,
2938
callback: TEvents[TEvent],
3039
): this
40+
3141
removeAllListeners(event?: keyof TEvents): this
3242

3343
emit<TEvent extends keyof TEvents>(
3444
event: TEvent,
3545
...args: Parameters<TEvents[TEvent]>
3646
): boolean
47+
48+
setMaxListeners(n: number): this
49+
getMaxListeners(): number
50+
51+
listeners<TEvent extends keyof TEvents>(
52+
eventName: TEvent,
53+
): TEvents[TEvent][]
54+
rawListeners<TEvent extends keyof TEvents>(
55+
eventName: TEvent,
56+
): TEvents[TEvent][]
57+
listenerCount<TEvent extends keyof TEvents>(
58+
event: TEvent,
59+
listener?: TEvents[TEvent],
60+
): number
61+
62+
eventNames(): Array<keyof TEvents>
3763
}
3864

3965
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging

0 commit comments

Comments
 (0)