types: fix events augmentation (#8681)

This commit is contained in:
MrMythicalYT
2022-10-10 13:14:49 -04:00
committed by GitHub
parent 02ffce8173
commit ac83ada306

View File

@@ -194,11 +194,14 @@ import {
declare module 'node:events' {
class EventEmitter {
// Add type overloads for client events.
public static once<K extends keyof ClientEvents>(eventEmitter: Client, eventName: K): Promise<ClientEvents[K]>;
public static on<K extends keyof ClientEvents>(
eventEmitter: Client,
eventName: K,
): AsyncIterableIterator<ClientEvents[K]>;
public static once<E extends EventEmitter, K extends keyof ClientEvents>(
eventEmitter: E,
eventName: E extends Client ? K : string,
): Promise<E extends Client ? ClientEvents[K] : any[]>;
public static on<E extends EventEmitter, K extends keyof ClientEvents>(
eventEmitter: E,
eventName: E extends Client ? K : string,
): AsyncIterableIterator<E extends Client ? ClientEvents[K] : any>;
}
}