Skip to content

Commit

Permalink
types: More accurate types instead of GuildChannelResolvable (#6744)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jiralite committed Oct 3, 2021
1 parent 9e421f6 commit a8e6010
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 6 deletions.
17 changes: 15 additions & 2 deletions src/managers/GuildInviteManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,18 @@ class GuildInviteManager extends CachedManager {
* @typedef {string} InviteResolvable
*/

/**
* Data that can be resolved to a channel that an invite can be created on. This can be:
* * TextChannel
* * VoiceChannel
* * NewsChannel
* * StoreChannel
* * StageChannel
* * Snowflake
* @typedef {TextChannel|VoiceChannel|NewsChannel|StoreChannel|StageChannel|Snowflake}
* GuildInvitableChannelResolvable
*/

/**
* Resolves an InviteResolvable to an Invite object.
* @method resolve
Expand Down Expand Up @@ -67,7 +79,8 @@ class GuildInviteManager extends CachedManager {
/**
* Options used to fetch all invites from a guild.
* @typedef {Object} FetchInvitesOptions
* @property {GuildChannelResolvable} [channelId] The channel to fetch all invites from
* @property {GuildInvitableChannelResolvable} [channelId]
* The channel to fetch all invites from
* @property {boolean} [cache=true] Whether or not to cache the fetched invites
*/

Expand Down Expand Up @@ -153,7 +166,7 @@ class GuildInviteManager extends CachedManager {

/**
* Create an invite to the guild from the provided channel.
* @param {GuildChannelResolvable} channel The options for creating the invite from a channel.
* @param {GuildInvitableChannelResolvable} channel The options for creating the invite from a channel.
* @param {CreateInviteOptions} [options={}] The options for creating the invite from a channel.
* @returns {Promise<Invite>}
* @example
Expand Down
2 changes: 1 addition & 1 deletion src/structures/NewsChannel.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const { Error } = require('../errors');
class NewsChannel extends BaseGuildTextChannel {
/**
* Adds the target to this channel's followers.
* @param {GuildChannelResolvable} channel The channel where the webhook should be created
* @param {TextChannelResolvable} channel The channel where the webhook should be created
* @param {string} [reason] Reason for creating the webhook
* @returns {Promise<NewsChannel>}
* @example
Expand Down
14 changes: 11 additions & 3 deletions typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1524,7 +1524,7 @@ export class MessageSelectMenu extends BaseMessageComponent {
export class NewsChannel extends BaseGuildTextChannel {
public threads: ThreadManager<AllowedThreadTypeForNewsChannel>;
public type: 'GUILD_NEWS';
public addFollower(channel: GuildChannelResolvable, reason?: string): Promise<NewsChannel>;
public addFollower(channel: TextChannelResolvable, reason?: string): Promise<NewsChannel>;
}

export class OAuth2Guild extends BaseGuild {
Expand Down Expand Up @@ -2664,7 +2664,7 @@ export class GuildBanManager extends CachedManager<Snowflake, GuildBan, GuildBan
export class GuildInviteManager extends DataManager<string, Invite, InviteResolvable> {
public constructor(guild: Guild, iterable?: Iterable<RawInviteData>);
public guild: Guild;
public create(channel: GuildChannelResolvable, options?: CreateInviteOptions): Promise<Invite>;
public create(channel: GuildInvitableChannelResolvable, options?: CreateInviteOptions): Promise<Invite>;
public fetch(options: InviteResolvable | FetchInviteOptions): Promise<Invite>;
public fetch(options?: FetchInvitesOptions): Promise<Collection<string, Invite>>;
public delete(invite: InviteResolvable, reason?: string): Promise<Invite>;
Expand Down Expand Up @@ -3836,7 +3836,7 @@ interface FetchInviteOptions extends BaseFetchOptions {
}

interface FetchInvitesOptions {
channelId?: GuildChannelResolvable;
channelId?: GuildInvitableChannelResolvable;
cache?: boolean;
}

Expand Down Expand Up @@ -4222,6 +4222,14 @@ export interface InviteGenerationOptions {
scopes: InviteScope[];
}

type GuildInvitableChannelResolvable =
| TextChannel
| VoiceChannel
| NewsChannel
| StoreChannel
| StageChannel
| Snowflake;

export interface CreateInviteOptions {
temporary?: boolean;
maxAge?: number;
Expand Down

0 comments on commit a8e6010

Please sign in to comment.