seyfert/packages/cache/members.ts
Yuzu b15666f20e
chore: use single quotes (#68)
* chore: single quote
2022-07-18 18:25:23 +00:00

27 lines
863 B
TypeScript

import type { DiscordMemberWithUser, Snowflake } from './deps.ts';
import type { SessionCache } from './mod.ts';
import type { CachedUser } from './users.ts';
import { Member } from './deps.ts';
export interface CachedMember extends Omit<Member, 'user'> {
userId: Snowflake;
user?: CachedUser;
}
export function memberBootstrapper(cache: SessionCache, member: DiscordMemberWithUser, guildId: Snowflake) {
cache.guilds.retrieve(guildId, (guild) => {
guild.members.set(
member.user.id,
Object.assign(
new Member(cache.session, member, guildId),
{
userId: member.user.id,
get user(): CachedUser | undefined {
return cache.users.get(this.userId);
},
},
),
);
});
}