From 2392a6f5de2efcf6b326173d26295c928b94adb6 Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Fri, 10 Jun 2022 20:20:00 +0100 Subject: [PATCH] types(ThreadMemberManager): Fix return type of fetching members with no arguments (#8060) * types(ThreadMemberManager): non-optional first overload for fetching * test: organisation --- packages/discord.js/typings/index.d.ts | 2 +- packages/discord.js/typings/index.test-d.ts | 25 ++++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index ec3bdbfda..31721e263 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -3411,7 +3411,7 @@ export class ThreadMemberManager extends CachedManager; - public fetch(options?: ThreadMemberResolvable | FetchThreadMemberOptions): Promise; + public fetch(options: ThreadMemberResolvable | FetchThreadMemberOptions): Promise; public fetch(options?: FetchThreadMembersOptions): Promise>; public fetchMe(options?: BaseFetchOptions): Promise; public remove(id: Snowflake | '@me', reason?: string): Promise; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 3d1613e3b..b8757d548 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -126,6 +126,7 @@ import { MessageContextMenuCommandInteraction, UserContextMenuCommandInteraction, AnyThreadChannel, + ThreadMemberManager, } from '.'; import { expectAssignable, expectNotAssignable, expectNotType, expectType } from 'tsd'; import { UnsafeButtonBuilder, UnsafeEmbedBuilder, UnsafeSelectMenuBuilder } from '@discordjs/builders'; @@ -560,17 +561,6 @@ client.on('guildCreate', async g => { channel.send({ components: [row, row2] }); } - if (channel.isThread()) { - const fetchedMember = await channel.members.fetch('12345678'); - const fetchedMember2 = await channel.members.fetch({ member: '12345678', cache: false, force: true }); - expectType(fetchedMember); - expectType(fetchedMember2); - const fetchedMemberCol = await channel.members.fetch({ cache: true }); - expectType>(fetchedMemberCol); - // @ts-expect-error The `force` option cannot be used alongside fetching all thread members. - const fetchedMemberCol2 = await channel.members.fetch({ cache: true, force: false }); - } - channel.setName('foo').then(updatedChannel => { console.log(`New channel name: ${updatedChannel.name}`); }); @@ -1110,6 +1100,19 @@ declare const guildBanManager: GuildBanManager; guildBanManager.fetch({ user: '1234567890', after: '1234567890', cache: true, force: false }); } +declare const threadMemberManager: ThreadMemberManager; +{ + expectType>(threadMemberManager.fetch('12345678')); + expectType>(threadMemberManager.fetch({ member: '12345678', cache: false })); + expectType>(threadMemberManager.fetch({ member: '12345678', force: true })); + expectType>(threadMemberManager.fetch({ member: '12345678', cache: false, force: true })); + expectType>>(threadMemberManager.fetch()); + expectType>>(threadMemberManager.fetch({})); + expectType>>(threadMemberManager.fetch({ cache: true })); + // @ts-expect-error The `force` option cannot be used alongside fetching all thread members. + threadMemberManager.fetch({ cache: true, force: false }); +} + declare const typing: Typing; expectType(typing.user); if (typing.user.partial) expectType(typing.user.username);