Skip to content

Commit

Permalink
Added Len func to each XCache interface (#248)
Browse files Browse the repository at this point in the history
  • Loading branch information
TisLeo committed Mar 20, 2023
1 parent 381f278 commit 8369a3b
Showing 1 changed file with 110 additions and 0 deletions.
110 changes: 110 additions & 0 deletions cache/caches.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ type GuildCache interface {

Guild(guildID snowflake.ID) (discord.Guild, bool)
GuildsForEach(fn func(guild discord.Guild))
GuildsLen() int
AddGuild(guild discord.Guild)
RemoveGuild(guildID snowflake.ID) (discord.Guild, bool)
}
Expand Down Expand Up @@ -117,6 +118,10 @@ func (c *guildCacheImpl) GuildsForEach(fn func(guild discord.Guild)) {
c.cache.ForEach(fn)
}

func (c *guildCacheImpl) GuildsLen() int {
return c.cache.Len()
}

func (c *guildCacheImpl) AddGuild(guild discord.Guild) {
c.cache.Put(guild.ID, guild)
}
Expand All @@ -128,6 +133,7 @@ func (c *guildCacheImpl) RemoveGuild(guildID snowflake.ID) (discord.Guild, bool)
type ChannelCache interface {
Channel(channelID snowflake.ID) (discord.GuildChannel, bool)
ChannelsForEach(fn func(channel discord.GuildChannel))
ChannelsLen() int
AddChannel(channel discord.GuildChannel)
RemoveChannel(channelID snowflake.ID) (discord.GuildChannel, bool)
RemoveChannelsByGuildID(guildID snowflake.ID)
Expand All @@ -151,6 +157,10 @@ func (c *channelCacheImpl) ChannelsForEach(fn func(channel discord.GuildChannel)
c.cache.ForEach(fn)
}

func (c *channelCacheImpl) ChannelsLen() int {
return c.cache.Len()
}

func (c *channelCacheImpl) AddChannel(channel discord.GuildChannel) {
c.cache.Put(channel.ID(), channel)
}
Expand All @@ -168,6 +178,8 @@ func (c *channelCacheImpl) RemoveChannelsByGuildID(guildID snowflake.ID) {
type StageInstanceCache interface {
StageInstance(guildID snowflake.ID, stageInstanceID snowflake.ID) (discord.StageInstance, bool)
StageInstanceForEach(guildID snowflake.ID, fn func(stageInstance discord.StageInstance))
StageInstancesAllLen() int
StageInstancesLen(guildID snowflake.ID) int
AddStageInstance(stageInstance discord.StageInstance)
RemoveStageInstance(guildID snowflake.ID, stageInstanceID snowflake.ID) (discord.StageInstance, bool)
RemoveStageInstancesByGuildID(guildID snowflake.ID)
Expand All @@ -193,6 +205,14 @@ func (c *stageInstanceCacheImpl) StageInstanceForEach(guildID snowflake.ID, fn f
})
}

func (c *stageInstanceCacheImpl) StageInstancesAllLen() int {
return c.cache.Len()
}

func (c *stageInstanceCacheImpl) StageInstancesLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *stageInstanceCacheImpl) AddStageInstance(stageInstance discord.StageInstance) {
c.cache.Put(stageInstance.GuildID, stageInstance.ID, stageInstance)
}
Expand All @@ -208,6 +228,8 @@ func (c *stageInstanceCacheImpl) RemoveStageInstancesByGuildID(guildID snowflake
type GuildScheduledEventCache interface {
GuildScheduledEvent(guildID snowflake.ID, guildScheduledEventID snowflake.ID) (discord.GuildScheduledEvent, bool)
GuildScheduledEventsForEach(guildID snowflake.ID, fn func(guildScheduledEvent discord.GuildScheduledEvent))
GuildScheduledEventsAllLen() int
GuildScheduledEventsLen(guildID snowflake.ID) int
AddGuildScheduledEvent(guildScheduledEvent discord.GuildScheduledEvent)
RemoveGuildScheduledEvent(guildID snowflake.ID, guildScheduledEventID snowflake.ID) (discord.GuildScheduledEvent, bool)
RemoveGuildScheduledEventsByGuildID(guildID snowflake.ID)
Expand All @@ -231,6 +253,14 @@ func (c *guildScheduledEventCacheImpl) GuildScheduledEventsForEach(guildID snowf
c.cache.GroupForEach(guildID, fn)
}

func (c *guildScheduledEventCacheImpl) GuildScheduledEventsAllLen() int {
return c.cache.Len()
}

func (c *guildScheduledEventCacheImpl) GuildScheduledEventsLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *guildScheduledEventCacheImpl) AddGuildScheduledEvent(guildScheduledEvent discord.GuildScheduledEvent) {
c.cache.Put(guildScheduledEvent.GuildID, guildScheduledEvent.ID, guildScheduledEvent)
}
Expand All @@ -246,6 +276,8 @@ func (c *guildScheduledEventCacheImpl) RemoveGuildScheduledEventsByGuildID(guild
type RoleCache interface {
Role(guildID snowflake.ID, roleID snowflake.ID) (discord.Role, bool)
RolesForEach(guildID snowflake.ID, fn func(role discord.Role))
RolesAllLen() int
RolesLen(guildID snowflake.ID) int
AddRole(role discord.Role)
RemoveRole(guildID snowflake.ID, roleID snowflake.ID) (discord.Role, bool)
RemoveRolesByGuildID(guildID snowflake.ID)
Expand All @@ -269,6 +301,14 @@ func (c *roleCacheImpl) RolesForEach(guildID snowflake.ID, fn func(role discord.
c.cache.GroupForEach(guildID, fn)
}

func (c *roleCacheImpl) RolesAllLen() int {
return c.cache.Len()
}

func (c *roleCacheImpl) RolesLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *roleCacheImpl) AddRole(role discord.Role) {
c.cache.Put(role.GuildID, role.ID, role)
}
Expand All @@ -284,6 +324,8 @@ func (c *roleCacheImpl) RemoveRolesByGuildID(guildID snowflake.ID) {
type MemberCache interface {
Member(guildID snowflake.ID, userID snowflake.ID) (discord.Member, bool)
MembersForEach(guildID snowflake.ID, fn func(member discord.Member))
MembersAllLen() int
MembersLen(guildID snowflake.ID) int
AddMember(member discord.Member)
RemoveMember(guildID snowflake.ID, userID snowflake.ID) (discord.Member, bool)
RemoveMembersByGuildID(guildID snowflake.ID)
Expand All @@ -307,6 +349,14 @@ func (c *memberCacheImpl) MembersForEach(guildID snowflake.ID, fn func(member di
c.cache.GroupForEach(guildID, fn)
}

func (c *memberCacheImpl) MembersAllLen() int {
return c.cache.Len()
}

func (c *memberCacheImpl) MembersLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *memberCacheImpl) AddMember(member discord.Member) {
c.cache.Put(member.GuildID, member.User.ID, member)
}
Expand All @@ -322,6 +372,8 @@ func (c *memberCacheImpl) RemoveMembersByGuildID(guildID snowflake.ID) {
type ThreadMemberCache interface {
ThreadMember(threadID snowflake.ID, userID snowflake.ID) (discord.ThreadMember, bool)
ThreadMemberForEach(threadID snowflake.ID, fn func(threadMember discord.ThreadMember))
ThreadMembersAllLen() int
ThreadMembersLen(guildID snowflake.ID) int
AddThreadMember(threadMember discord.ThreadMember)
RemoveThreadMember(threadID snowflake.ID, userID snowflake.ID) (discord.ThreadMember, bool)
RemoveThreadMembersByThreadID(threadID snowflake.ID)
Expand All @@ -347,6 +399,14 @@ func (c *threadMemberCacheImpl) ThreadMemberForEach(threadID snowflake.ID, fn fu
})
}

func (c *threadMemberCacheImpl) ThreadMembersAllLen() int {
return c.cache.Len()
}

func (c *threadMemberCacheImpl) ThreadMembersLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *threadMemberCacheImpl) AddThreadMember(threadMember discord.ThreadMember) {
c.cache.Put(threadMember.ThreadID, threadMember.UserID, threadMember)
}
Expand All @@ -362,6 +422,8 @@ func (c *threadMemberCacheImpl) RemoveThreadMembersByThreadID(threadID snowflake
type PresenceCache interface {
Presence(guildID snowflake.ID, userID snowflake.ID) (discord.Presence, bool)
PresenceForEach(guildID snowflake.ID, fn func(presence discord.Presence))
PresencesAllLen() int
PresencesLen(guildID snowflake.ID) int
AddPresence(presence discord.Presence)
RemovePresence(guildID snowflake.ID, userID snowflake.ID) (discord.Presence, bool)
RemovePresencesByGuildID(guildID snowflake.ID)
Expand All @@ -387,6 +449,14 @@ func (c *presenceCacheImpl) PresenceForEach(guildID snowflake.ID, fn func(presen
})
}

func (c *presenceCacheImpl) PresencesAllLen() int {
return c.cache.Len()
}

func (c *presenceCacheImpl) PresencesLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *presenceCacheImpl) AddPresence(presence discord.Presence) {
c.cache.Put(presence.GuildID, presence.PresenceUser.ID, presence)
}
Expand All @@ -402,6 +472,8 @@ func (c *presenceCacheImpl) RemovePresencesByGuildID(guildID snowflake.ID) {
type VoiceStateCache interface {
VoiceState(guildID snowflake.ID, userID snowflake.ID) (discord.VoiceState, bool)
VoiceStatesForEach(guildID snowflake.ID, fn func(discord.VoiceState))
VoiceStatesAllLen() int
VoiceStatesLen(guildID snowflake.ID) int
AddVoiceState(voiceState discord.VoiceState)
RemoveVoiceState(guildID snowflake.ID, userID snowflake.ID) (discord.VoiceState, bool)
RemoveVoiceStatesByGuildID(guildID snowflake.ID)
Expand All @@ -425,6 +497,14 @@ func (c *voiceStateCacheImpl) VoiceStatesForEach(guildID snowflake.ID, fn func(d
c.cache.GroupForEach(guildID, fn)
}

func (c *voiceStateCacheImpl) VoiceStatesAllLen() int {
return c.cache.Len()
}

func (c *voiceStateCacheImpl) VoiceStatesLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *voiceStateCacheImpl) AddVoiceState(voiceState discord.VoiceState) {
c.cache.Put(voiceState.GuildID, voiceState.UserID, voiceState)
}
Expand All @@ -440,6 +520,8 @@ func (c *voiceStateCacheImpl) RemoveVoiceStatesByGuildID(guildID snowflake.ID) {
type MessageCache interface {
Message(channelID snowflake.ID, messageID snowflake.ID) (discord.Message, bool)
MessagesForEach(channelID snowflake.ID, fn func(message discord.Message))
MessagesAllLen() int
MessagesLen(guildID snowflake.ID) int
AddMessage(message discord.Message)
RemoveMessage(channelID snowflake.ID, messageID snowflake.ID) (discord.Message, bool)
RemoveMessagesByChannelID(channelID snowflake.ID)
Expand All @@ -464,6 +546,14 @@ func (c *messageCacheImpl) MessagesForEach(channelID snowflake.ID, fn func(messa
c.cache.GroupForEach(channelID, fn)
}

func (c *messageCacheImpl) MessagesAllLen() int {
return c.cache.Len()
}

func (c *messageCacheImpl) MessagesLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *messageCacheImpl) AddMessage(message discord.Message) {
c.cache.Put(message.ChannelID, message.ID, message)
}
Expand All @@ -485,6 +575,8 @@ func (c *messageCacheImpl) RemoveMessagesByGuildID(guildID snowflake.ID) {
type EmojiCache interface {
Emoji(guildID snowflake.ID, emojiID snowflake.ID) (discord.Emoji, bool)
EmojisForEach(guildID snowflake.ID, fn func(emoji discord.Emoji))
EmojisAllLen() int
EmojisLen(guildID snowflake.ID) int
AddEmoji(emoji discord.Emoji)
RemoveEmoji(guildID snowflake.ID, emojiID snowflake.ID) (discord.Emoji, bool)
RemoveEmojisByGuildID(guildID snowflake.ID)
Expand All @@ -508,6 +600,14 @@ func (c *emojiCacheImpl) EmojisForEach(guildID snowflake.ID, fn func(emoji disco
c.cache.GroupForEach(guildID, fn)
}

func (c *emojiCacheImpl) EmojisAllLen() int {
return c.cache.Len()
}

func (c *emojiCacheImpl) EmojisLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *emojiCacheImpl) AddEmoji(emoji discord.Emoji) {
c.cache.Put(emoji.GuildID, emoji.ID, emoji)
}
Expand All @@ -523,6 +623,8 @@ func (c *emojiCacheImpl) RemoveEmojisByGuildID(guildID snowflake.ID) {
type StickerCache interface {
Sticker(guildID snowflake.ID, stickerID snowflake.ID) (discord.Sticker, bool)
StickersForEach(guildID snowflake.ID, fn func(sticker discord.Sticker))
StickersAllLen() int
StickersLen(guildID snowflake.ID) int
AddSticker(sticker discord.Sticker)
RemoveSticker(guildID snowflake.ID, stickerID snowflake.ID) (discord.Sticker, bool)
RemoveStickersByGuildID(guildID snowflake.ID)
Expand All @@ -546,6 +648,14 @@ func (c *stickerCacheImpl) StickersForEach(guildID snowflake.ID, fn func(sticker
c.cache.GroupForEach(guildID, fn)
}

func (c *stickerCacheImpl) StickersAllLen() int {
return c.cache.Len()
}

func (c *stickerCacheImpl) StickersLen(guildID snowflake.ID) int {
return c.cache.GroupLen(guildID)
}

func (c *stickerCacheImpl) AddSticker(sticker discord.Sticker) {
if sticker.GuildID == nil {
return
Expand Down

0 comments on commit 8369a3b

Please sign in to comment.