parseDispatchEvent method

DispatchEvent parseDispatchEvent(
  1. RawDispatchEvent raw
)

Parse a DispatchEvent from raw.

Implementation

DispatchEvent parseDispatchEvent(RawDispatchEvent raw) {
  final mapping = {
    'READY': parseReady,
    'RESUMED': parseResumed,
    'APPLICATION_COMMAND_PERMISSIONS_UPDATE': parseApplicationCommandPermissionsUpdate,
    'AUTO_MODERATION_RULE_CREATE': parseAutoModerationRuleCreate,
    'AUTO_MODERATION_RULE_UPDATE': parseAutoModerationRuleUpdate,
    'AUTO_MODERATION_RULE_DELETE': parseAutoModerationRuleDelete,
    'AUTO_MODERATION_ACTION_EXECUTION': parseAutoModerationActionExecution,
    'CHANNEL_CREATE': parseChannelCreate,
    'CHANNEL_UPDATE': parseChannelUpdate,
    'CHANNEL_DELETE': parseChannelDelete,
    'THREAD_CREATE': parseThreadCreate,
    'THREAD_UPDATE': parseThreadUpdate,
    'THREAD_DELETE': parseThreadDelete,
    'THREAD_LIST_SYNC': parseThreadListSync,
    'THREAD_MEMBER_UPDATE': parseThreadMemberUpdate,
    'THREAD_MEMBERS_UPDATE': parseThreadMembersUpdate,
    'CHANNEL_PINS_UPDATE': parseChannelPinsUpdate,
    'GUILD_CREATE': parseGuildCreate,
    'GUILD_UPDATE': parseGuildUpdate,
    'GUILD_DELETE': parseGuildDelete,
    'GUILD_AUDIT_LOG_ENTRY_CREATE': parseGuildAuditLogCreate,
    'GUILD_BAN_ADD': parseGuildBanAdd,
    'GUILD_BAN_REMOVE': parseGuildBanRemove,
    'GUILD_EMOJIS_UPDATE': parseGuildEmojisUpdate,
    'GUILD_STICKERS_UPDATE': parseGuildStickersUpdate,
    'GUILD_INTEGRATIONS_UPDATE': parseGuildIntegrationsUpdate,
    'GUILD_MEMBER_ADD': parseGuildMemberAdd,
    'GUILD_MEMBER_REMOVE': parseGuildMemberRemove,
    'GUILD_MEMBER_UPDATE': parseGuildMemberUpdate,
    'GUILD_MEMBERS_CHUNK': parseGuildMembersChunk,
    'GUILD_ROLE_CREATE': parseGuildRoleCreate,
    'GUILD_ROLE_UPDATE': parseGuildRoleUpdate,
    'GUILD_ROLE_DELETE': parseGuildRoleDelete,
    'GUILD_SCHEDULED_EVENT_CREATE': parseGuildScheduledEventCreate,
    'GUILD_SCHEDULED_EVENT_UPDATE': parseGuildScheduledEventUpdate,
    'GUILD_SCHEDULED_EVENT_DELETE': parseGuildScheduledEventDelete,
    'GUILD_SCHEDULED_EVENT_USER_ADD': parseGuildScheduledEventUserAdd,
    'GUILD_SCHEDULED_EVENT_USER_REMOVE': parseGuildScheduledEventUserRemove,
    'INTEGRATION_CREATE': parseIntegrationCreate,
    'INTEGRATION_UPDATE': parseIntegrationUpdate,
    'INTEGRATION_DELETE': parseIntegrationDelete,
    'INVITE_CREATE': parseInviteCreate,
    'INVITE_DELETE': parseInviteDelete,
    'MESSAGE_CREATE': parseMessageCreate,
    'MESSAGE_UPDATE': parseMessageUpdate,
    'MESSAGE_DELETE': parseMessageDelete,
    'MESSAGE_DELETE_BULK': parseMessageBulkDelete,
    'MESSAGE_REACTION_ADD': parseMessageReactionAdd,
    'MESSAGE_REACTION_REMOVE': parseMessageReactionRemove,
    'MESSAGE_REACTION_REMOVE_ALL': parseMessageReactionRemoveAll,
    'MESSAGE_REACTION_REMOVE_EMOJI': parseMessageReactionRemoveEmoji,
    'PRESENCE_UPDATE': parsePresenceUpdate,
    'TYPING_START': parseTypingStart,
    'USER_UPDATE': parseUserUpdate,
    'VOICE_STATE_UPDATE': parseVoiceStateUpdate,
    'VOICE_SERVER_UPDATE': parseVoiceServerUpdate,
    'WEBHOOKS_UPDATE': parseWebhooksUpdate,
    'INTERACTION_CREATE': parseInteractionCreate,
    'STAGE_INSTANCE_CREATE': parseStageInstanceCreate,
    'STAGE_INSTANCE_UPDATE': parseStageInstanceUpdate,
    'STAGE_INSTANCE_DELETE': parseStageInstanceDelete,
    'ENTITLEMENT_CREATE': parseEntitlementCreate,
    'ENTITLEMENT_UPDATE': parseEntitlementUpdate,
    'ENTITLEMENT_DELETE': parseEntitlementDelete,
  };

  return mapping[raw.name]?.call(raw.payload) ?? UnknownDispatchEvent(gateway: this, raw: raw);
}