mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-04 22:16:08 +00:00
feat: <resource>.filter types
This commit is contained in:
parent
20088e9275
commit
400a8b8c52
3
src/cache/resources/channels.ts
vendored
3
src/cache/resources/channels.ts
vendored
@ -1,3 +1,4 @@
|
|||||||
|
import type { APIChannel } from 'discord-api-types/v10';
|
||||||
import { fakePromise } from '../../common';
|
import { fakePromise } from '../../common';
|
||||||
import type { AllChannels } from '../../structures';
|
import type { AllChannels } from '../../structures';
|
||||||
import channelFrom from '../../structures/channels';
|
import channelFrom from '../../structures/channels';
|
||||||
@ -7,7 +8,7 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Channels extends GuildRelatedResource {
|
export class Channels extends GuildRelatedResource {
|
||||||
namespace = 'channel';
|
namespace = 'channel';
|
||||||
|
|
||||||
parse(data: any, id: string, guild_id: string) {
|
parse(data: APIChannel, id: string, guild_id: string) {
|
||||||
const { permission_overwrites, ...rest } = super.parse(data, id, guild_id);
|
const { permission_overwrites, ...rest } = super.parse(data, id, guild_id);
|
||||||
return rest;
|
return rest;
|
||||||
}
|
}
|
||||||
|
5
src/cache/resources/emojis.ts
vendored
5
src/cache/resources/emojis.ts
vendored
@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Emojis extends GuildRelatedResource {
|
export class Emojis extends GuildRelatedResource {
|
||||||
namespace = 'emoji';
|
namespace = 'emoji';
|
||||||
|
|
||||||
|
//@ts-ignore
|
||||||
|
filter(data: APIEmoji, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<GuildEmoji | undefined> {
|
override get(id: string): ReturnCache<GuildEmoji | undefined> {
|
||||||
return fakePromise(super.get(id)).then(rawEmoji =>
|
return fakePromise(super.get(id)).then(rawEmoji =>
|
||||||
rawEmoji ? new GuildEmoji(this.client, rawEmoji, rawEmoji.guild_id) : undefined,
|
rawEmoji ? new GuildEmoji(this.client, rawEmoji, rawEmoji.guild_id) : undefined,
|
||||||
|
5
src/cache/resources/guilds.ts
vendored
5
src/cache/resources/guilds.ts
vendored
@ -7,6 +7,11 @@ import { BaseResource } from './default/base';
|
|||||||
export class Guilds extends BaseResource {
|
export class Guilds extends BaseResource {
|
||||||
namespace = 'guild';
|
namespace = 'guild';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIGuild, id: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<Guild<'cached'> | undefined> {
|
override get(id: string): ReturnCache<Guild<'cached'> | undefined> {
|
||||||
return fakePromise(super.get(id)).then(guild => (guild ? new Guild<'cached'>(this.client, guild) : undefined));
|
return fakePromise(super.get(id)).then(guild => (guild ? new Guild<'cached'>(this.client, guild) : undefined));
|
||||||
}
|
}
|
||||||
|
6
src/cache/resources/members.ts
vendored
6
src/cache/resources/members.ts
vendored
@ -1,3 +1,4 @@
|
|||||||
|
import type { APIGuildMember } from 'discord-api-types/v10';
|
||||||
import type { ReturnCache } from '../..';
|
import type { ReturnCache } from '../..';
|
||||||
import { fakePromise } from '../../common';
|
import { fakePromise } from '../../common';
|
||||||
import { GuildMember } from '../../structures';
|
import { GuildMember } from '../../structures';
|
||||||
@ -5,6 +6,11 @@ import { GuildBasedResource } from './default/guild-based';
|
|||||||
export class Members extends GuildBasedResource {
|
export class Members extends GuildBasedResource {
|
||||||
namespace = 'member';
|
namespace = 'member';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIGuildMember, id: string, guild_id: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override parse(data: any, key: string, guild_id: string) {
|
override parse(data: any, key: string, guild_id: string) {
|
||||||
const { user, ...rest } = super.parse(data, data.user?.id ?? key, guild_id);
|
const { user, ...rest } = super.parse(data, data.user?.id ?? key, guild_id);
|
||||||
return rest;
|
return rest;
|
||||||
|
5
src/cache/resources/overwrites.ts
vendored
5
src/cache/resources/overwrites.ts
vendored
@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Overwrites extends GuildRelatedResource {
|
export class Overwrites extends GuildRelatedResource {
|
||||||
namespace = 'overwrite';
|
namespace = 'overwrite';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIOverwrite[], id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
parse(data: any[], _id: string, guild_id: string) {
|
parse(data: any[], _id: string, guild_id: string) {
|
||||||
data.forEach(x => {
|
data.forEach(x => {
|
||||||
x.guild_id = guild_id;
|
x.guild_id = guild_id;
|
||||||
|
5
src/cache/resources/presence.ts
vendored
5
src/cache/resources/presence.ts
vendored
@ -4,6 +4,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Presences extends GuildRelatedResource<PresenceResource> {
|
export class Presences extends GuildRelatedResource<PresenceResource> {
|
||||||
namespace = 'presence';
|
namespace = 'presence';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: GatewayPresenceUpdate, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override parse(data: any, key: string, guild_id: string): PresenceResource {
|
override parse(data: any, key: string, guild_id: string): PresenceResource {
|
||||||
const { user, ...rest } = super.parse(data, key, guild_id);
|
const { user, ...rest } = super.parse(data, key, guild_id);
|
||||||
rest.user_id ??= key;
|
rest.user_id ??= key;
|
||||||
|
6
src/cache/resources/roles.ts
vendored
6
src/cache/resources/roles.ts
vendored
@ -1,3 +1,4 @@
|
|||||||
|
import type { APIRole } from 'discord-api-types/v10';
|
||||||
import type { ReturnCache } from '../..';
|
import type { ReturnCache } from '../..';
|
||||||
import { fakePromise } from '../../common';
|
import { fakePromise } from '../../common';
|
||||||
import { GuildRole } from '../../structures';
|
import { GuildRole } from '../../structures';
|
||||||
@ -6,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Roles extends GuildRelatedResource {
|
export class Roles extends GuildRelatedResource {
|
||||||
namespace = 'role';
|
namespace = 'role';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIRole, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<GuildRole | undefined> {
|
override get(id: string): ReturnCache<GuildRole | undefined> {
|
||||||
return fakePromise(super.get(id)).then(rawRole =>
|
return fakePromise(super.get(id)).then(rawRole =>
|
||||||
rawRole ? new GuildRole(this.client, rawRole, rawRole.guild_id) : undefined,
|
rawRole ? new GuildRole(this.client, rawRole, rawRole.guild_id) : undefined,
|
||||||
|
5
src/cache/resources/stage-instances.ts
vendored
5
src/cache/resources/stage-instances.ts
vendored
@ -3,4 +3,9 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
|
|
||||||
export class StageInstances extends GuildRelatedResource<APIStageInstance> {
|
export class StageInstances extends GuildRelatedResource<APIStageInstance> {
|
||||||
namespace = 'stage_instance';
|
namespace = 'stage_instance';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIStageInstance, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
5
src/cache/resources/stickers.ts
vendored
5
src/cache/resources/stickers.ts
vendored
@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Stickers extends GuildRelatedResource {
|
export class Stickers extends GuildRelatedResource {
|
||||||
namespace = 'sticker';
|
namespace = 'sticker';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APISticker, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<Sticker | undefined> {
|
override get(id: string): ReturnCache<Sticker | undefined> {
|
||||||
return fakePromise(super.get(id)).then(rawSticker =>
|
return fakePromise(super.get(id)).then(rawSticker =>
|
||||||
rawSticker ? new Sticker(this.client, rawSticker) : undefined,
|
rawSticker ? new Sticker(this.client, rawSticker) : undefined,
|
||||||
|
5
src/cache/resources/threads.ts
vendored
5
src/cache/resources/threads.ts
vendored
@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related';
|
|||||||
export class Threads extends GuildRelatedResource {
|
export class Threads extends GuildRelatedResource {
|
||||||
namespace = 'thread';
|
namespace = 'thread';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIThreadChannel, id: string, guild_id?: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<ThreadChannel | undefined> {
|
override get(id: string): ReturnCache<ThreadChannel | undefined> {
|
||||||
return fakePromise(super.get(id)).then(rawThread =>
|
return fakePromise(super.get(id)).then(rawThread =>
|
||||||
rawThread ? new ThreadChannel(this.client, rawThread) : undefined,
|
rawThread ? new ThreadChannel(this.client, rawThread) : undefined,
|
||||||
|
5
src/cache/resources/users.ts
vendored
5
src/cache/resources/users.ts
vendored
@ -7,6 +7,11 @@ import { BaseResource } from './default/base';
|
|||||||
export class Users extends BaseResource {
|
export class Users extends BaseResource {
|
||||||
namespace = 'user';
|
namespace = 'user';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: APIUser, id: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override get(id: string): ReturnCache<User | undefined> {
|
override get(id: string): ReturnCache<User | undefined> {
|
||||||
return fakePromise(super.get(id)).then(rawUser => (rawUser ? new User(this.client, rawUser) : undefined));
|
return fakePromise(super.get(id)).then(rawUser => (rawUser ? new User(this.client, rawUser) : undefined));
|
||||||
}
|
}
|
||||||
|
5
src/cache/resources/voice-states.ts
vendored
5
src/cache/resources/voice-states.ts
vendored
@ -7,6 +7,11 @@ import { GuildBasedResource } from './default/guild-based';
|
|||||||
export class VoiceStates extends GuildBasedResource {
|
export class VoiceStates extends GuildBasedResource {
|
||||||
namespace = 'voice_state';
|
namespace = 'voice_state';
|
||||||
|
|
||||||
|
//@ts-expect-error
|
||||||
|
filter(data: GatewayVoiceState, id: string, guild_id: string) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
override parse(data: any, id: string, guild_id: string) {
|
override parse(data: any, id: string, guild_id: string) {
|
||||||
const { member, ...rest } = super.parse(data, id, guild_id);
|
const { member, ...rest } = super.parse(data, id, guild_id);
|
||||||
return rest;
|
return rest;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user