diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 11e7e7b9b805..6491c79831cf 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -1029,6 +1029,16 @@ export type If = Value ex ? FalseResult : TrueResult | FalseResult; +/** @internal */ +type AsyncEventIteratorDisposability = + ReturnType extends AsyncDisposable ? AsyncDisposable : {}; +/** @internal */ +interface AsyncEventIterator + extends AsyncIterableIterator, + AsyncEventIteratorDisposability { + [Symbol.asyncIterator](): AsyncEventIterator; +} + export class Client extends BaseClient { public constructor(options: ClientOptions); private actions: unknown; @@ -1049,7 +1059,7 @@ export class Client extends BaseClient { eventEmitter: Emitter, eventName: Emitter extends Client ? Event : string | symbol, options?: { signal?: AbortSignal | undefined }, - ): AsyncIterableIterator; + ): AsyncEventIterator; public application: If; public channels: ChannelManager; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index fd9511ed9444..b6e8b295f4e1 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -1322,7 +1322,7 @@ client.on('guildCreate', async g => { // EventEmitter static method overrides expectType]>>(Client.once(client, 'ready')); -expectType]>>(Client.on(client, 'ready')); +expectAssignable]>>(Client.on(client, 'ready')); client.login('absolutely-valid-token');