types: Fix channel create overloads (#7294)

This commit is contained in:
Jiralite
2022-01-19 21:06:07 +00:00
committed by GitHub
parent b4ed8fd3ed
commit 1c6c9449ad
2 changed files with 9 additions and 7 deletions

View File

@@ -499,7 +499,6 @@ export class CategoryChannel extends GuildChannel {
name: string,
options: CategoryCreateChannelOptions & { type: T },
): Promise<MappedChannelCategoryTypes[T]>;
/** @deprecated See [Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/4414590563479) for more information */
public createChannel(
name: string,
@@ -2832,17 +2831,18 @@ export class GuildChannelManager extends CachedManager<Snowflake, GuildBasedChan
private constructor(guild: Guild, iterable?: Iterable<RawGuildChannelData>);
public readonly channelCountWithoutThreads: number;
public guild: Guild;
public create<T extends Exclude<GuildChannelTypes, ChannelType.GuildStore>>(
name: string,
options: GuildChannelCreateOptions & { type: T },
): Promise<MappedGuildChannelTypes[T]>;
/** @deprecated See [Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/4414590563479) for more information */
public create(
name: string,
options: GuildChannelCreateOptions & { type: ChannelType.GuildStore },
): Promise<StoreChannel>;
/** @deprecated See [Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/4414590563479) for more information */
public create<T extends CategoryChannelType | ChannelType.GuildCategory>(
name: string,
options: GuildChannelCreateOptions & { type: T },
): Promise<MappedGuildChannelTypes[T]>;
public create(name: string, options: GuildChannelCreateOptions): Promise<NonThreadGuildBasedChannel>;
public create(name: string, options?: GuildChannelCreateOptions): Promise<TextChannel>;
public fetch(id: Snowflake, options?: BaseFetchOptions): Promise<NonThreadGuildBasedChannel | null>;
public fetch(id?: undefined, options?: BaseFetchOptions): Promise<Collection<Snowflake, NonThreadGuildBasedChannel>>;
public setPositions(channelPositions: readonly ChannelPosition[]): Promise<Guild>;

View File

@@ -915,6 +915,8 @@ declare const guildChannelManager: GuildChannelManager;
{
type AnyChannel = TextChannel | VoiceChannel | CategoryChannel | NewsChannel | StoreChannel | StageChannel;
expectType<Promise<TextChannel>>(guildChannelManager.create('name'));
expectType<Promise<TextChannel>>(guildChannelManager.create('name', {}));
expectType<Promise<VoiceChannel>>(guildChannelManager.create('name', { type: ChannelType.GuildVoice }));
expectType<Promise<CategoryChannel>>(guildChannelManager.create('name', { type: ChannelType.GuildCategory }));
expectType<Promise<TextChannel>>(guildChannelManager.create('name', { type: ChannelType.GuildText }));