fix(Types): make event listeners accept async callbacks (#5602)

This commit is contained in:
Antonio Román
2021-05-29 13:28:21 +02:00
committed by GitHub
parent add924cdb2
commit a73a5cf914

14
typings/index.d.ts vendored
View File

@@ -55,6 +55,8 @@ declare enum StickerFormatTypes {
LOTTIE = 3,
}
type Awaited<T> = T | Promise<T>;
declare module 'discord.js' {
import BaseCollection from '@discordjs/collection';
import { ChildProcess } from 'child_process';
@@ -325,25 +327,25 @@ declare module 'discord.js' {
public sweepMessages(lifetime?: number): number;
public toJSON(): object;
public on<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => void): this;
public on<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => Awaited<void>): this;
public on<S extends string | symbol>(
event: Exclude<S, keyof ClientEvents>,
listener: (...args: any[]) => void,
listener: (...args: any[]) => Awaited<void>,
): this;
public once<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => void): this;
public once<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => Awaited<void>): this;
public once<S extends string | symbol>(
event: Exclude<S, keyof ClientEvents>,
listener: (...args: any[]) => void,
listener: (...args: any[]) => Awaited<void>,
): this;
public emit<K extends keyof ClientEvents>(event: K, ...args: ClientEvents[K]): boolean;
public emit<S extends string | symbol>(event: Exclude<S, keyof ClientEvents>, ...args: any[]): boolean;
public off<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => void): this;
public off<K extends keyof ClientEvents>(event: K, listener: (...args: ClientEvents[K]) => Awaited<void>): this;
public off<S extends string | symbol>(
event: Exclude<S, keyof ClientEvents>,
listener: (...args: any[]) => void,
listener: (...args: any[]) => Awaited<void>,
): this;
public removeAllListeners<K extends keyof ClientEvents>(event?: K): this;