feat(EnumResolvers): remove Enumresolvers (#7876)

This commit is contained in:
Khafra
2022-05-13 05:35:08 -04:00
committed by GitHub
parent de3f1573f0
commit 76694c1497
3 changed files with 0 additions and 1020 deletions

View File

@@ -19,7 +19,6 @@ exports.Collection = require('@discordjs/collection').Collection;
exports.Constants = require('./util/Constants');
exports.Colors = require('./util/Colors');
exports.DataResolver = require('./util/DataResolver');
exports.EnumResolvers = require('./util/EnumResolvers');
exports.Events = require('./util/Events');
exports.Formatters = require('./util/Formatters');
exports.IntentsBitField = require('./util/IntentsBitField');

View File

@@ -1,843 +0,0 @@
'use strict';
const {
ApplicationCommandType,
InteractionType,
ComponentType,
ButtonStyle,
ApplicationCommandOptionType,
ChannelType,
ApplicationCommandPermissionType,
MessageType,
GuildNSFWLevel,
GuildVerificationLevel,
GuildDefaultMessageNotifications,
GuildExplicitContentFilter,
GuildPremiumTier,
GuildScheduledEventStatus,
StageInstancePrivacyLevel,
GuildMFALevel,
TeamMemberMembershipState,
GuildScheduledEventEntityType,
IntegrationExpireBehavior,
AuditLogEvent,
VideoQualityMode,
} = require('discord-api-types/v10');
function unknownKeyStrategy(val) {
throw new Error(`Could not resolve enum value for ${val}`);
}
/**
* Holds a bunch of methods to resolve enum values to readable strings.
*/
class EnumResolvers extends null {
/**
* A string that can be resolved to a {@link ChannelType} enum value. Here are the available types:
* * GUILD_TEXT
* * DM
* * GUILD_VOICE
* * GROUP_DM
* * GUILD_CATEGORY
* * GUILD_NEWS
* * GUILD_NEWS_THREAD
* * GUILD_PUBLIC_THREAD
* * GUILD_PRIVATE_THREAD
* * GUILD_STAGE_VOICE
* @typedef {string} ChannelTypeEnumResolvable
*/
/**
* Resolves enum key to {@link ChannelType} enum value
* @param {ChannelTypeEnumResolvable|ChannelType} key The key to resolve
* @returns {ChannelType}
*/
static resolveChannelType(key) {
switch (key) {
case 'GUILD_TEXT':
return ChannelType.GuildText;
case 'DM':
return ChannelType.DM;
case 'GUILD_VOICE':
return ChannelType.GuildVoice;
case 'GROUP_DM':
return ChannelType.GroupDM;
case 'GUILD_CATEGORY':
return ChannelType.GuildCategory;
case 'GUILD_NEWS':
return ChannelType.GuildNews;
case 'GUILD_NEWS_THREAD':
return ChannelType.GuildNewsThread;
case 'GUILD_PUBLIC_THREAD':
return ChannelType.GuildPublicThread;
case 'GUILD_PRIVATE_THREAD':
return ChannelType.GuildPrivateThread;
case 'GUILD_STAGE_VOICE':
return ChannelType.GuildStageVoice;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to an {@link InteractionType} enum value. Here are the available types:
* * PING
* * APPLICATION_COMMAND
* * MESSAGE_COMPONENT
* * APPLICATION_COMMAND_AUTOCOMPLETE
* @typedef {string} InteractionTypeEnumResolvable
*/
/**
* Resolves enum key to {@link InteractionType} enum value
* @param {InteractionTypeEnumResolvable|InteractionType} key The key to resolve
* @returns {InteractionType}
*/
static resolveInteractionType(key) {
switch (key) {
case 'PING':
return InteractionType.Ping;
case 'APPLICATION_COMMAND':
return InteractionType.ApplicationCommand;
case 'MESSAGE_COMPONENT':
return InteractionType.MessageComponent;
case 'APPLICATION_COMMAND_AUTOCOMPLETE':
return InteractionType.ApplicationCommandAutocomplete;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to an {@link ApplicationCommandType} enum value. Here are the available types:
* * CHAT_INPUT
* * USER
* * MESSAGE
* @typedef {string} ApplicationCommandTypeEnumResolvable
*/
/**
* Resolves enum key to {@link ApplicationCommandType} enum value
* @param {ApplicationCommandTypeEnumResolvable|ApplicationCommandType} key The key to resolve
* @returns {ApplicationCommandType}
*/
static resolveApplicationCommandType(key) {
switch (key) {
case 'CHAT_INPUT':
return ApplicationCommandType.ChatInput;
case 'USER':
return ApplicationCommandType.User;
case 'MESSAGE':
return ApplicationCommandType.Message;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to an {@link ApplicationCommandOptionType} enum value. Here are the available types:
* * SUB_COMMAND
* * SUB_COMMAND_GROUP
* * STRING
* * INTEGER
* * BOOLEAN
* * USER
* * CHANNEL
* * ROLE
* * NUMBER
* * MENTIONABLE
* @typedef {string} ApplicationCommandOptionTypeEnumResolvable
*/
/**
* Resolves enum key to {@link ApplicationCommandOptionType} enum value
* @param {ApplicationCommandOptionTypeEnumResolvable|ApplicationCommandOptionType} key The key to resolve
* @returns {ApplicationCommandOptionType}
*/
static resolveApplicationCommandOptionType(key) {
switch (key) {
case 'SUB_COMMAND':
return ApplicationCommandOptionType.Subcommand;
case 'SUB_COMMAND_GROUP':
return ApplicationCommandOptionType.SubcommandGroup;
case 'STRING':
return ApplicationCommandOptionType.String;
case 'INTEGER':
return ApplicationCommandOptionType.Integer;
case 'BOOLEAN':
return ApplicationCommandOptionType.Boolean;
case 'USER':
return ApplicationCommandOptionType.User;
case 'CHANNEL':
return ApplicationCommandOptionType.Channel;
case 'ROLE':
return ApplicationCommandOptionType.Role;
case 'NUMBER':
return ApplicationCommandOptionType.Number;
case 'MENTIONABLE':
return ApplicationCommandOptionType.Mentionable;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to an {@link ApplicationCommandPermissionType} enum value.
* Here are the available types:
* * ROLE
* * USER
* @typedef {string} ApplicationCommandPermissionTypeEnumResolvable
*/
/**
* Resolves enum key to {@link ApplicationCommandPermissionType} enum value
* @param {ApplicationCommandPermissionTypeEnumResolvable|ApplicationCommandPermissionType} key The key to resolve
* @returns {ApplicationCommandPermissionType}
*/
static resolveApplicationCommandPermissionType(key) {
switch (key) {
case 'ROLE':
return ApplicationCommandPermissionType.Role;
case 'USER':
return ApplicationCommandPermissionType.User;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link ComponentType} enum value. Here are the available types:
* * ACTION_ROW
* * BUTTON
* * SELECT_MENU
* @typedef {string} ComponentTypeEnumResolvable
*/
/**
* Resolves enum key to {@link ComponentType} enum value
* @param {ComponentTypeEnumResolvable|ComponentType} key The key to resolve
* @returns {ComponentType}
*/
static resolveComponentType(key) {
switch (key) {
case 'ACTION_ROW':
return ComponentType.ActionRow;
case 'BUTTON':
return ComponentType.Button;
case 'SELECT_MENU':
return ComponentType.SelectMenu;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link ButtonStyle} enum value. Here are the available types:
* * PRIMARY
* * SECONDARY
* * SUCCESS
* * DANGER
* * LINK
* @typedef {string} ButtonStyleEnumResolvable
*/
/**
* Resolves enum key to {@link ButtonStyle} enum value
* @param {ButtonStyleEnumResolvable|ButtonStyle} key The key to resolve
* @returns {ButtonStyle}
*/
static resolveButtonStyle(key) {
switch (key) {
case 'PRIMARY':
return ButtonStyle.Primary;
case 'SECONDARY':
return ButtonStyle.Secondary;
case 'SUCCESS':
return ButtonStyle.Success;
case 'DANGER':
return ButtonStyle.Danger;
case 'LINK':
return ButtonStyle.Link;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link MessageType} enum value. Here are the available types:
* * DEFAULT
* * RECIPIENT_ADD
* * RECIPIENT_REMOVE
* * CALL
* * CHANNEL_NAME_CHANGE
* * CHANNEL_ICON_CHANGE
* * CHANNEL_PINNED_MESSAGE
* * GUILD_MEMBER_JOIN
* * USER_PREMIUM_GUILD_SUBSCRIPTION
* * USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1
* * USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2
* * USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3
* * CHANNEL_FOLLOW_ADD
* * GUILD_DISCOVERY_DISQUALIFIED
* * GUILD_DISCOVERY_REQUALIFIED
* * GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING
* * GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING
* * THREAD_CREATED
* * REPLY
* * CHAT_INPUT_COMMAND
* * THREAD_STARTER_MESSAGE
* * GUILD_INVITE_REMINDER
* * CONTEXT_MENU_COMMAND
* @typedef {string} MessageTypeEnumResolvable
*/
/**
* Resolves enum key to {@link MessageType} enum value
* @param {MessageTypeEnumResolvable|MessageType} key The key to lookup
* @returns {MessageType}
*/
static resolveMessageType(key) {
switch (key) {
case 'DEFAULT':
return MessageType.Default;
case 'RECIPIENT_ADD':
return MessageType.RecipientAdd;
case 'RECIPIENT_REMOVE':
return MessageType.RecipientRemove;
case 'CALL':
return MessageType.Call;
case 'CHANNEL_NAME_CHANGE':
return MessageType.ChannelNameChange;
case 'CHANNEL_ICON_CHANGE':
return MessageType.ChannelIconChange;
case 'CHANNEL_PINNED_MESSAGE':
return MessageType.ChannelPinnedMessage;
case 'GUILD_MEMBER_JOIN':
return MessageType.GuildMemberJoin;
case 'USER_PREMIUM_GUILD_SUBSCRIPTION':
return MessageType.UserPremiumGuildSubscription;
case 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1':
return MessageType.UserPremiumGuildSubscriptionTier1;
case 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2':
return MessageType.UserPremiumGuildSubscriptionTier2;
case 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3':
return MessageType.UserPremiumGuildSubscriptionTier3;
case 'CHANNEL_FOLLOW_ADD':
return MessageType.ChannelFollowAdd;
case 'GUILD_DISCOVERY_DISQUALIFIED':
return MessageType.GuildDiscoveryDisqualified;
case 'GUILD_DISCOVERY_REQUALIFIED':
return MessageType.GuildDiscoveryRequalified;
case 'GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING':
return MessageType.GuildDiscoveryGracePeriodInitialWarning;
case 'GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING':
return MessageType.GuildDiscoveryGracePeriodFinalWarning;
case 'THREAD_CREATED':
return MessageType.ThreadCreated;
case 'REPLY':
return MessageType.Reply;
case 'CHAT_INPUT_COMMAND':
return MessageType.ChatInputCommand;
case 'THREAD_STARTER_MESSAGE':
return MessageType.ThreadStarterMessage;
case 'GUILD_INVITE_REMINDER':
return MessageType.GuildInviteReminder;
case 'CONTEXT_MENU_COMMAND':
return MessageType.ContextMenuCommand;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildNSFWLevel} enum value. Here are the available types:
* * DEFAULT
* * EXPLICIT
* * SAFE
* * AGE_RESTRICTED
* @typedef {string} GuildNSFWLevelEnumResolvable
*/
/**
* Resolves enum key to {@link GuildNSFWLevel} enum value
* @param {GuildNSFWLevelEnumResolvable|GuildNSFWLevel} key The key to lookup
* @returns {GuildNSFWLevel}
*/
static resolveGuildNSFWLevel(key) {
switch (key) {
case 'DEFAULT':
return GuildNSFWLevel.Default;
case 'EXPLICIT':
return GuildNSFWLevel.Explicit;
case 'SAFE':
return GuildNSFWLevel.Safe;
case 'AGE_RESTRICTED':
return GuildNSFWLevel.AgeRestricted;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildVerificationLevel} enum value. Here are the available types:
* * NONE
* * LOW
* * MEDIUM
* * HIGH
* * VERY_HIGH
* @typedef {string} GuildVerificationLevelEnumResolvable
*/
/**
* Resolves enum key to {@link GuildVerificationLevel} enum value
* @param {GuildVerificationLevelEnumResolvable|GuildVerificationLevel} key The key to lookup
* @returns {GuildVerificationLevel}
*/
static resolveGuildVerificationLevel(key) {
switch (key) {
case 'NONE':
return GuildVerificationLevel.None;
case 'LOW':
return GuildVerificationLevel.Low;
case 'MEDIUM':
return GuildVerificationLevel.Medium;
case 'HIGH':
return GuildVerificationLevel.High;
case 'VERY_HIGH':
return GuildVerificationLevel.VeryHigh;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildDefaultMessageNotifications} enum value.
* Here are the available types:
* * ALL_MESSAGES
* * ONLY_MENTIONS
* @typedef {string} GuildDefaultMessageNotificationsEnumResolvable
*/
/**
* Resolves enum key to {@link GuildDefaultMessageNotifications} enum value
* @param {GuildDefaultMessageNotificationsEnumResolvable|GuildDefaultMessageNotifications} key The key to lookup
* @returns {GuildDefaultMessageNotifications}
*/
static resolveGuildDefaultMessageNotifications(key) {
switch (key) {
case 'ALL_MESSAGES':
return GuildDefaultMessageNotifications.AllMessages;
case 'ONLY_MENTIONS':
return GuildDefaultMessageNotifications.OnlyMentions;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildExplicitContentFilter} enum value. Here are the available types:
* * DISABLED
* * MEMBERS_WITHOUT_ROLES
* * ALL_MEMBERS
* @typedef {string} GuildExplicitContentFilterEnumResolvable
*/
/**
* Resolves enum key to {@link GuildExplicitContentFilter} enum value
* @param {GuildExplicitContentFilterEnumResolvable|GuildExplicitContentFilter} key The key to lookup
* @returns {GuildExplicitContentFilter}
*/
static resolveGuildExplicitContentFilter(key) {
switch (key) {
case 'DISABLED':
return GuildExplicitContentFilter.Disabled;
case 'MEMBERS_WITHOUT_ROLES':
return GuildExplicitContentFilter.MembersWithoutRoles;
case 'ALL_MEMBERS':
return GuildExplicitContentFilter.AllMembers;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildPremiumTier} enum value. Here are the available types:
* * NONE
* * TIER_1
* * TIER_2
* * TIER_3
* @typedef {string} GuildPremiumTierEnumResolvable
*/
/**
* Resolves enum key to {@link GuildPremiumTier} enum value
* @param {GuildPremiumTierEnumResolvable|GuildPremiumTier} key The key to lookup
* @returns {GuildPremiumTier}
*/
static resolveGuildPremiumTier(key) {
switch (key) {
case 'NONE':
return GuildPremiumTier.None;
case 'TIER_1':
return GuildPremiumTier.Tier1;
case 'TIER_2':
return GuildPremiumTier.Tier2;
case 'TIER_3':
return GuildPremiumTier.Tier3;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildScheduledEventStatus} enum value. Here are the available types:
* * SCHEDULED
* * ACTIVE
* * COMPLETED
* * CANCELED
* @typedef {string} GuildScheduledEventStatusEnumResolvable
*/
/**
* Resolves enum key to {@link GuildScheduledEventStatus} enum value
* @param {GuildScheduledEventStatusEnumResolvable|GuildScheduledEventStatus} key The key to lookup
* @returns {GuildScheduledEventStatus}
*/
static resolveGuildScheduledEventStatus(key) {
switch (key) {
case 'SCHEDULED':
return GuildScheduledEventStatus.Scheduled;
case 'ACTIVE':
return GuildScheduledEventStatus.Active;
case 'COMPLETED':
return GuildScheduledEventStatus.Completed;
case 'CANCELED':
return GuildScheduledEventStatus.Canceled;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link StageInstancePrivacyLevel} enum value. Here are the available types:
* * PUBLIC
* * GUILD_ONLY
* @typedef {string} StageInstancePrivacyLevelEnumResolvable
*/
/**
* Resolves enum key to {@link StageInstancePrivacyLevel} enum value
* @param {StageInstancePrivacyLevelEnumResolvable|StageInstancePrivacyLevel} key The key to lookup
* @returns {StageInstancePrivacyLevel}
*/
static resolveStageInstancePrivacyLevel(key) {
switch (key) {
case 'PUBLIC':
return StageInstancePrivacyLevel.Public;
case 'GUILD_ONLY':
return StageInstancePrivacyLevel.GuildOnly;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildMFALevel} enum value. Here are the available types:
* * NONE
* * ELEVATED
* @typedef {string} GuildMFALevelEnumResolvable
*/
/**
* Resolves enum key to {@link GuildMFALevel} enum value
* @param {GuildMFALevelEnumResolvable|GuildMFALevel} key The key to lookup
* @returns {GuildMFALevel}
*/
static resolveGuildMFALevel(key) {
switch (key) {
case 'NONE':
return GuildMFALevel.None;
case 'ELEVATED':
return GuildMFALevel.Elevated;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link TeamMemberMembershipState} enum value. Here are the available types:
* * INVITED
* * ACCEPTED
* @typedef {string} TeamMemberMembershipStateEnumResolvable
*/
/**
* Resolves enum key to {@link TeamMemberMembershipState} enum value
* @param {TeamMemberMembershipStateEnumResolvable|TeamMemberMembershipState} key The key to lookup
* @returns {TeamMemberMembershipState}
*/
static resolveTeamMemberMembershipState(key) {
switch (key) {
case 'INVITED':
return TeamMemberMembershipState.Invited;
case 'ACCEPTED':
return TeamMemberMembershipState.Accepted;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link GuildScheduledEventEntityType} enum value. Here are the available types:
* * STAGE_INSTANCE
* * VOICE
* * EXTERNAL
* @typedef {string} GuildScheduledEventEntityTypeEnumResolvable
*/
/**
* Resolves enum key to {@link GuildScheduledEventEntityType} enum value
* @param {GuildScheduledEventEntityTypeEnumResolvable|GuildScheduledEventEntityType} key The key to lookup
* @returns {GuildScheduledEventEntityType}
*/
static resolveGuildScheduledEventEntityType(key) {
switch (key) {
case 'STAGE_INSTANCE':
return GuildScheduledEventEntityType.StageInstance;
case 'VOICE':
return GuildScheduledEventEntityType.Voice;
case 'EXTERNAL':
return GuildScheduledEventEntityType.External;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link IntegrationExpireBehavior} enum value. Here are the available types:
* * REMOVE_ROLE
* * KICK
* @typedef {string} IntegrationExpireBehaviorEnumResolvable
*/
/**
* Resolves enum key to {@link IntegrationExpireBehavior} enum value
* @param {IntegrationExpireBehaviorEnumResolvable|IntegrationExpireBehavior} key The key to lookup
* @returns {IntegrationExpireBehavior}
*/
static resolveIntegrationExpireBehavior(key) {
switch (key) {
case 'REMOVE_ROLE':
return IntegrationExpireBehavior.RemoveRole;
case 'KICK':
return IntegrationExpireBehavior.Kick;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link AuditLogEvent} enum value. Here are the available types:
* * GUILD_UPDATE
* * CHANNEL_CREATE
* * CHANNEL_UPDATE
* * CHANNEL_DELETE
* * CHANNEL_OVERWRITE_CREATE
* * CHANNEL_OVERWRITE_UPDATE
* * CHANNEL_OVERWRITE_DELETE
* * MEMBER_KICK
* * MEMBER_PRUNE
* * MEMBER_BAN_ADD
* * MEMBER_BAN_REMOVE
* * MEMBER_UPDATE
* * MEMBER_ROLE_UPDATE
* * MEMBER_MOVE
* * MEMBER_DISCONNECT
* * BOT_ADD
* * ROLE_CREATE
* * ROLE_UPDATE
* * ROLE_DELETE
* * INVITE_CREATE
* * INVITE_UPDATE
* * INVITE_DELETE
* * WEBHOOK_CREATE
* * WEBHOOK_UPDATE
* * WEBHOOK_DELETE
* * INTEGRATION_CREATE
* * INTEGRATION_UPDATE
* * INTEGRATION_DELETE
* * STAGE_INSTANCE_CREATE
* * STAGE_INSTANCE_UPDATE
* * STAGE_INSTANCE_DELETE
* * STICKER_CREATE
* * STICKER_UPDATE
* * STICKER_DELETE
* * GUILD_SCHEDULED_EVENT_CREATE
* * GUILD_SCHEDULED_EVENT_UPDATE
* * GUILD_SCHEDULED_EVENT_DELETE
* * THREAD_CREATE
* * THREAD_UPDATE
* * THREAD_DELETE
* @typedef {string} AuditLogEventEnumResolvable
*/
/**
* Resolves enum key to {@link AuditLogEvent} enum value
* @param {AuditLogEventEnumResolvable|AuditLogEvent} key The key to lookup
* @returns {AuditLogEvent}
*/
static resolveAuditLogEvent(key) {
switch (key) {
case 'GUILD_UPDATE':
return AuditLogEvent.GuildUpdate;
case 'CHANNEL_CREATE':
return AuditLogEvent.ChannelCreate;
case 'CHANNEL_UPDATE':
return AuditLogEvent.ChannelUpdate;
case 'CHANNEL_DELETE':
return AuditLogEvent.ChannelDelete;
case 'CHANNEL_OVERWRITE_CREATE':
return AuditLogEvent.ChannelOverwriteCreate;
case 'CHANNEL_OVERWRITE_UPDATE':
return AuditLogEvent.ChannelOverwriteUpdate;
case 'CHANNEL_OVERWRITE_DELETE':
return AuditLogEvent.ChannelOverwriteDelete;
case 'MEMBER_KICK':
return AuditLogEvent.MemberKick;
case 'MEMBER_PRUNE':
return AuditLogEvent.MemberPrune;
case 'MEMBER_BAN_ADD':
return AuditLogEvent.MemberBanAdd;
case 'MEMBER_BAN_REMOVE':
return AuditLogEvent.MemberBanRemove;
case 'MEMBER_UPDATE':
return AuditLogEvent.MemberUpdate;
case 'MEMBER_ROLE_UPDATE':
return AuditLogEvent.MemberRoleUpdate;
case 'MEMBER_MOVE':
return AuditLogEvent.MemberMove;
case 'MEMBER_DISCONNECT':
return AuditLogEvent.MemberDisconnect;
case 'BOT_ADD':
return AuditLogEvent.BotAdd;
case 'ROLE_CREATE':
return AuditLogEvent.RoleCreate;
case 'ROLE_UPDATE':
return AuditLogEvent.RoleUpdate;
case 'ROLE_DELETE':
return AuditLogEvent.RoleDelete;
case 'INVITE_CREATE':
return AuditLogEvent.InviteCreate;
case 'INVITE_UPDATE':
return AuditLogEvent.InviteUpdate;
case 'INVITE_DELETE':
return AuditLogEvent.InviteDelete;
case 'WEBHOOK_CREATE':
return AuditLogEvent.WebhookCreate;
case 'WEBHOOK_UPDATE':
return AuditLogEvent.WebhookUpdate;
case 'WEBHOOK_DELETE':
return AuditLogEvent.WebhookDelete;
case 'EMOJI_CREATE':
return AuditLogEvent.EmojiCreate;
case 'EMOJI_UPDATE':
return AuditLogEvent.EmojiUpdate;
case 'EMOJI_DELETE':
return AuditLogEvent.EmojiDelete;
case 'MESSAGE_DELETE':
return AuditLogEvent.MessageDelete;
case 'MESSAGE_BULK_DELETE':
return AuditLogEvent.MessageBulkDelete;
case 'MESSAGE_PIN':
return AuditLogEvent.MessagePin;
case 'MESSAGE_UNPIN':
return AuditLogEvent.MessageUnpin;
case 'INTEGRATION_CREATE':
return AuditLogEvent.IntegrationCreate;
case 'INTEGRATION_UPDATE':
return AuditLogEvent.IntegrationUpdate;
case 'INTEGRATION_DELETE':
return AuditLogEvent.IntegrationDelete;
case 'STAGE_INSTANCE_CREATE':
return AuditLogEvent.StageInstanceCreate;
case 'STAGE_INSTANCE_UPDATE':
return AuditLogEvent.StageInstanceUpdate;
case 'STAGE_INSTANCE_DELETE':
return AuditLogEvent.StageInstanceDelete;
case 'STICKER_CREATE':
return AuditLogEvent.StickerCreate;
case 'STICKER_UPDATE':
return AuditLogEvent.StickerUpdate;
case 'STICKER_DELETE':
return AuditLogEvent.StickerDelete;
case 'GUILD_SCHEDULED_EVENT_CREATE':
return AuditLogEvent.GuildScheduledEventCreate;
case 'GUILD_SCHEDULED_EVENT_UPDATE':
return AuditLogEvent.GuildScheduledEventUpdate;
case 'GUILD_SCHEDULED_EVENT_DELETE':
return AuditLogEvent.GuildScheduledEventDelete;
case 'THREAD_CREATE':
return AuditLogEvent.ThreadCreate;
case 'THREAD_UPDATE':
return AuditLogEvent.ThreadUpdate;
case 'THREAD_DELETE':
return AuditLogEvent.ThreadDelete;
default:
return unknownKeyStrategy(key);
}
}
/**
* A string that can be resolved to a {@link VideoQualityMode} enum value. Here are the available types:
* * AUTO (automatic)
* * FULL (720p)
* @typedef {string} VideoQualityModeEnumResolvable
*/
/**
* Resolves enum key to {@link VideoQualityMode} enum value
* @param {VideoQualityModeEnumResolvable|VideoQualityMode} key The key to lookup
* @returns {VideoQualityMode}
*/
static resolveVideoQualityMode(key) {
switch (key) {
case 'AUTO':
return VideoQualityMode.Auto;
case 'FULL':
return VideoQualityMode.Full;
default:
return unknownKeyStrategy(key);
}
}
}
// Precondition logic wrapper
function preconditioner(func) {
return key => {
if (typeof key !== 'string' && typeof key !== 'number') {
throw new Error('Enum value must be string or number');
}
if (typeof key === 'number') {
return key;
}
return func(key);
};
}
// Injects wrapper into class static methods.
function applyPreconditioner(obj) {
for (const name in Object.getOwnPropertyNames(obj)) {
if (typeof obj[name] !== 'function') {
return;
}
obj[name] = preconditioner(obj[name]);
}
}
// Apply precondition logic
applyPreconditioner(EnumResolvers);
module.exports = EnumResolvers;

View File

@@ -1019,53 +1019,6 @@ export class DataResolver extends null {
public static resolveGuildTemplateCode(data: GuildTemplateResolvable): string;
}
export class EnumResolvers extends null {
private constructor();
public static resolveChannelType(key: ChannelTypeEnumResolvable | ChannelType): ChannelType;
public static resolveInteractionType(key: InteractionTypeEnumResolvable | InteractionType): InteractionType;
public static resolveApplicationCommandType(
key: ApplicationCommandTypeEnumResolvable | ApplicationCommandType,
): ApplicationCommandType;
public static resolveApplicationCommandOptionType(
key: ApplicationCommandOptionTypeEnumResolvable | ApplicationCommandOptionType,
): ApplicationCommandOptionType;
public static resolveApplicationCommandPermissionType(
key: ApplicationCommandPermissionTypeEnumResolvable | ApplicationCommandPermissionType,
): ApplicationCommandPermissionType;
public static resolveComponentType(key: ComponentTypeEnumResolvable | ComponentType): ComponentType;
public static resolveButtonStyle(key: ButtonStyleEnumResolvable | ButtonStyle): ButtonStyle;
public static resolveMessageType(key: MessageTypeEnumResolvable | MessageType): MessageType;
public static resolveGuildNSFWLevel(key: GuildNSFWLevelEnumResolvable | GuildNSFWLevel): GuildNSFWLevel;
public static resolveGuildVerificationLevel(
key: GuildVerificationLevelEnumResolvable | GuildVerificationLevel,
): GuildVerificationLevel;
public static resolveGuildDefaultMessageNotifications(
key: GuildDefaultMessageNotificationsEnumResolvable | GuildDefaultMessageNotifications,
): GuildDefaultMessageNotifications;
public static resolveGuildExplicitContentFilter(
key: GuildExplicitContentFilterEnumResolvable | GuildExplicitContentFilter,
): GuildExplicitContentFilter;
public static resolveGuildPremiumTier(key: GuildPremiumTierEnumResolvable | GuildPremiumTier): GuildPremiumTier;
public static resolveGuildScheduledEventStatus(
key: GuildScheduledEventStatusEnumResolvable | GuildScheduledEventStatus,
): GuildScheduledEventStatus;
public static resolveStageInstancePrivacyLevel(
key: StageInstancePrivacyLevelEnumResolvable | StageInstancePrivacyLevel,
): StageInstancePrivacyLevel;
public static resolveGuildMFALevel(key: GuildMFALevelEnumResolvable | GuildMFALevel): GuildMFALevel;
public static resolveTeamMemberMembershipState(
key: TeamMemberMembershipStateEnumResolvable | TeamMemberMembershipState,
): TeamMemberMembershipState;
public static resolveGuildScheduledEventEntityType(
key: GuildScheduledEventEntityTypeEnumResolvable | GuildScheduledEventEntityType,
): GuildScheduledEventEntityType;
public static resolveIntegrationExpireBehavior(
key: IntegrationExpireBehaviorEnumResolvable | IntegrationExpireBehavior,
): IntegrationExpireBehavior;
public static resolveAuditLogEvent(key: AuditLogEventEnumResolvable | AuditLogEvent): AuditLogEvent;
public static resolveVideoQualityMode(key: VideoQualityModeEnumResolvable | VideoQualityMode): VideoQualityMode;
}
export class DMChannel extends TextBasedChannelMixin(Channel, ['bulkDelete', 'fetchWebhooks', 'createWebhook']) {
private constructor(client: Client, data?: RawDMChannelData);
public recipientId: Snowflake;
@@ -4115,135 +4068,6 @@ export type EmojiIdentifierResolvable = string | EmojiResolvable;
export type EmojiResolvable = Snowflake | GuildEmoji | ReactionEmoji;
export type ChannelTypeEnumResolvable =
| 'GUILD_TEXT'
| 'DM'
| 'GUILD_VOICE'
| 'GROUP_DM'
| 'GUILD_CATEGORY'
| 'GUILD_NEWS'
| 'GUILD_NEWS_THREAD'
| 'GUILD_PUBLIC_THREAD'
| 'GUILD_PRIVATE_THREAD'
| 'GUILD_STAGE_VOICE';
export type InteractionTypeEnumResolvable =
| 'PING'
| 'APPLICATION_COMMAND'
| 'MESSAGE_COMPONENT'
| 'APPLICATION_COMMAND_AUTOCOMPLETE';
export type ApplicationCommandTypeEnumResolvable = 'CHAT_INPUT' | 'USER' | 'MESSAGE';
export type ApplicationCommandOptionTypeEnumResolvable =
| 'SUB_COMMAND'
| 'SUB_COMMAND_GROUP'
| 'STRING'
| 'INTEGER'
| 'BOOLEAN'
| 'USER'
| 'CHANNEL'
| 'ROLE'
| 'NUMBER'
| 'MENTIONABLE';
export type ApplicationCommandPermissionTypeEnumResolvable = 'ROLE' | 'USER';
export type ComponentTypeEnumResolvable = 'ACTION_ROW' | 'BUTTON' | 'SELECT_MENU';
export type ButtonStyleEnumResolvable = 'PRIMARY' | 'SECONDARY' | 'SUCCESS' | 'DANGER' | 'LINK';
export type MessageTypeEnumResolvable =
| 'DEFAULT'
| 'RECIPIENT_ADD'
| 'RECIPIENT_REMOVE'
| 'CALL'
| 'CHANNEL_NAME_CHANGE'
| 'CHANNEL_ICON_CHANGE'
| 'CHANNEL_PINNED_MESSAGE'
| 'GUILD_MEMBER_JOIN'
| 'USER_PREMIUM_GUILD_SUBSCRIPTION'
| 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1'
| 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2'
| 'USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3'
| 'CHANNEL_FOLLOW_ADD'
| 'GUILD_DISCOVERY_DISQUALIFIED'
| 'GUILD_DISCOVERY_REQUALIFIED'
| 'GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING'
| 'GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING'
| 'THREAD_CREATED'
| 'REPLY'
| 'CHAT_INPUT_COMMAND'
| 'THREAD_STARTER_MESSAGE'
| 'GUILD_INVITE_REMINDER'
| 'CONTEXT_MENU_COMMAND';
export type GuildNSFWLevelEnumResolvable = 'DEFAULT' | 'EXPLICIT' | 'SAFE' | 'AGE_RESTRICTED';
export type GuildVerificationLevelEnumResolvable = 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'VERY_HIGH';
export type GuildDefaultMessageNotificationsEnumResolvable = 'ALL_MESSAGES' | 'ONLY_MENTIONS';
export type GuildExplicitContentFilterEnumResolvable = 'DISABLED' | 'MEMBERS_WITHOUT_ROLES' | 'ALL_MEMBERS';
export type GuildPremiumTierEnumResolvable = 'NONE' | 'TIER_1' | 'TIER_2' | 'TIER_3';
export type GuildScheduledEventStatusEnumResolvable = 'SCHEDULED' | 'ACTIVE' | 'COMPLETED' | 'CANCELED';
export type StageInstancePrivacyLevelEnumResolvable = 'PUBLIC' | 'GUILD_ONLY';
export type GuildMFALevelEnumResolvable = 'NONE' | 'ELEVATED';
export type TeamMemberMembershipStateEnumResolvable = 'INVITED' | 'ACCEPTED';
export type GuildScheduledEventEntityTypeEnumResolvable = 'STAGE_INSTANCE' | 'VOICE' | 'EXTERNAL';
export type IntegrationExpireBehaviorEnumResolvable = 'REMOVE_ROLE' | 'KICK';
export type AuditLogEventEnumResolvable =
| 'GUILD_UPDATE'
| 'CHANNEL_CREATE'
| 'CHANNEL_UPDATE'
| 'CHANNEL_DELETE'
| 'CHANNEL_OVERWRITE_CREATE'
| 'CHANNEL_OVERWRITE_UPDATE'
| 'CHANNEL_OVERWRITE_DELETE'
| 'MEMBER_KICK'
| 'MEMBER_PRUNE'
| 'MEMBER_BAN_ADD'
| 'MEMBER_BAN_REMOVE'
| 'MEMBER_UPDATE'
| 'MEMBER_ROLE_UPDATE'
| 'MEMBER_MOVE'
| 'MEMBER_DISCONNECT'
| 'BOT_ADD'
| 'ROLE_CREATE'
| 'ROLE_UPDATE'
| 'ROLE_DELETE'
| 'INVITE_CREATE'
| 'INVITE_UPDATE'
| 'INVITE_DELETE'
| 'WEBHOOK_CREATE'
| 'WEBHOOK_UPDATE'
| 'WEBHOOK_DELETE'
| 'INTEGRATION_CREATE'
| 'INTEGRATION_UPDATE'
| 'INTEGRATION_DELETE'
| 'STAGE_INSTANCE_CREATE'
| 'STAGE_INSTANCE_UPDATE'
| 'STAGE_INSTANCE_DELETE'
| 'STICKER_CREATE'
| 'STICKER_UPDATE'
| 'STICKER_DELETE'
| 'GUILD_SCHEDULED_EVENT_CREATE'
| 'GUILD_SCHEDULED_EVENT_UPDATE'
| 'GUILD_SCHEDULED_EVENT_DELETE'
| 'THREAD_CREATE'
| 'THREAD_UPDATE'
| 'THREAD_DELETE';
export type VideoQualityModeEnumResolvable = 'AUTO' | 'FULL';
export interface ErrorEvent {
error: unknown;
message: string;