Skip to content

Commit 400a8b8

Browse files
committed
feat: <resource>.filter types
1 parent 20088e9 commit 400a8b8

12 files changed

+59
-1
lines changed

src/cache/resources/channels.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { APIChannel } from 'discord-api-types/v10';
12
import { fakePromise } from '../../common';
23
import type { AllChannels } from '../../structures';
34
import channelFrom from '../../structures/channels';
@@ -7,7 +8,7 @@ import { GuildRelatedResource } from './default/guild-related';
78
export class Channels extends GuildRelatedResource {
89
namespace = 'channel';
910

10-
parse(data: any, id: string, guild_id: string) {
11+
parse(data: APIChannel, id: string, guild_id: string) {
1112
const { permission_overwrites, ...rest } = super.parse(data, id, guild_id);
1213
return rest;
1314
}

src/cache/resources/emojis.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
77
export class Emojis extends GuildRelatedResource {
88
namespace = 'emoji';
99

10+
//@ts-ignore
11+
filter(data: APIEmoji, id: string, guild_id?: string) {
12+
return true;
13+
}
14+
1015
override get(id: string): ReturnCache<GuildEmoji | undefined> {
1116
return fakePromise(super.get(id)).then(rawEmoji =>
1217
rawEmoji ? new GuildEmoji(this.client, rawEmoji, rawEmoji.guild_id) : undefined,

src/cache/resources/guilds.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { BaseResource } from './default/base';
77
export class Guilds extends BaseResource {
88
namespace = 'guild';
99

10+
//@ts-expect-error
11+
filter(data: APIGuild, id: string) {
12+
return true;
13+
}
14+
1015
override get(id: string): ReturnCache<Guild<'cached'> | undefined> {
1116
return fakePromise(super.get(id)).then(guild => (guild ? new Guild<'cached'>(this.client, guild) : undefined));
1217
}

src/cache/resources/members.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
import type { APIGuildMember } from 'discord-api-types/v10';
12
import type { ReturnCache } from '../..';
23
import { fakePromise } from '../../common';
34
import { GuildMember } from '../../structures';
45
import { GuildBasedResource } from './default/guild-based';
56
export class Members extends GuildBasedResource {
67
namespace = 'member';
78

9+
//@ts-expect-error
10+
filter(data: APIGuildMember, id: string, guild_id: string) {
11+
return true;
12+
}
13+
814
override parse(data: any, key: string, guild_id: string) {
915
const { user, ...rest } = super.parse(data, data.user?.id ?? key, guild_id);
1016
return rest;

src/cache/resources/overwrites.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
77
export class Overwrites extends GuildRelatedResource {
88
namespace = 'overwrite';
99

10+
//@ts-expect-error
11+
filter(data: APIOverwrite[], id: string, guild_id?: string) {
12+
return true;
13+
}
14+
1015
parse(data: any[], _id: string, guild_id: string) {
1116
data.forEach(x => {
1217
x.guild_id = guild_id;

src/cache/resources/presence.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ import { GuildRelatedResource } from './default/guild-related';
44
export class Presences extends GuildRelatedResource<PresenceResource> {
55
namespace = 'presence';
66

7+
//@ts-expect-error
8+
filter(data: GatewayPresenceUpdate, id: string, guild_id?: string) {
9+
return true;
10+
}
11+
712
override parse(data: any, key: string, guild_id: string): PresenceResource {
813
const { user, ...rest } = super.parse(data, key, guild_id);
914
rest.user_id ??= key;

src/cache/resources/roles.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { APIRole } from 'discord-api-types/v10';
12
import type { ReturnCache } from '../..';
23
import { fakePromise } from '../../common';
34
import { GuildRole } from '../../structures';
@@ -6,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
67
export class Roles extends GuildRelatedResource {
78
namespace = 'role';
89

10+
//@ts-expect-error
11+
filter(data: APIRole, id: string, guild_id?: string) {
12+
return true;
13+
}
14+
915
override get(id: string): ReturnCache<GuildRole | undefined> {
1016
return fakePromise(super.get(id)).then(rawRole =>
1117
rawRole ? new GuildRole(this.client, rawRole, rawRole.guild_id) : undefined,

src/cache/resources/stage-instances.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,9 @@ import { GuildRelatedResource } from './default/guild-related';
33

44
export class StageInstances extends GuildRelatedResource<APIStageInstance> {
55
namespace = 'stage_instance';
6+
7+
//@ts-expect-error
8+
filter(data: APIStageInstance, id: string, guild_id?: string) {
9+
return true;
10+
}
611
}

src/cache/resources/stickers.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
77
export class Stickers extends GuildRelatedResource {
88
namespace = 'sticker';
99

10+
//@ts-expect-error
11+
filter(data: APISticker, id: string, guild_id?: string) {
12+
return true;
13+
}
14+
1015
override get(id: string): ReturnCache<Sticker | undefined> {
1116
return fakePromise(super.get(id)).then(rawSticker =>
1217
rawSticker ? new Sticker(this.client, rawSticker) : undefined,

src/cache/resources/threads.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
77
export class Threads extends GuildRelatedResource {
88
namespace = 'thread';
99

10+
//@ts-expect-error
11+
filter(data: APIThreadChannel, id: string, guild_id?: string) {
12+
return true;
13+
}
14+
1015
override get(id: string): ReturnCache<ThreadChannel | undefined> {
1116
return fakePromise(super.get(id)).then(rawThread =>
1217
rawThread ? new ThreadChannel(this.client, rawThread) : undefined,

src/cache/resources/users.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { BaseResource } from './default/base';
77
export class Users extends BaseResource {
88
namespace = 'user';
99

10+
//@ts-expect-error
11+
filter(data: APIUser, id: string) {
12+
return true;
13+
}
14+
1015
override get(id: string): ReturnCache<User | undefined> {
1116
return fakePromise(super.get(id)).then(rawUser => (rawUser ? new User(this.client, rawUser) : undefined));
1217
}

src/cache/resources/voice-states.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import { GuildBasedResource } from './default/guild-based';
77
export class VoiceStates extends GuildBasedResource {
88
namespace = 'voice_state';
99

10+
//@ts-expect-error
11+
filter(data: GatewayVoiceState, id: string, guild_id: string) {
12+
return true;
13+
}
14+
1015
override parse(data: any, id: string, guild_id: string) {
1116
const { member, ...rest } = super.parse(data, id, guild_id);
1217
return rest;

0 commit comments

Comments
 (0)