ensure pruneNullishValues is called with plain objects

it would probably be better to add an actual check and error for this, but meh
This commit is contained in:
MapleLeaf
2022-01-11 16:22:29 -06:00
parent 42e8cbf754
commit 86aa408897

View File

@@ -154,14 +154,16 @@ export class ReacordDiscordJs extends Reacord {
// todo please dear god clean this up // todo please dear god clean this up
const channel: ChannelInfo = interaction.channel const channel: ChannelInfo = interaction.channel
? { ? {
...pick(pruneNullishValues(interaction.channel), [ ...pruneNullishValues(
"topic", pick(interaction.channel, [
"nsfw", "topic",
"lastMessageId", "nsfw",
"ownerId", "lastMessageId",
"parentId", "ownerId",
"rateLimitPerUser", "parentId",
]), "rateLimitPerUser",
]),
),
id: interaction.channelId, id: interaction.channelId,
} }
: raise("Non-channel interactions are not supported") : raise("Non-channel interactions are not supported")
@@ -190,15 +192,17 @@ export class ReacordDiscordJs extends Reacord {
const member: GuildMemberInfo | undefined = const member: GuildMemberInfo | undefined =
interaction.member instanceof Discord.GuildMember interaction.member instanceof Discord.GuildMember
? { ? {
...pick(pruneNullishValues(interaction.member), [ ...pruneNullishValues(
"id", pick(interaction.member, [
"nick", "id",
"displayName", "nick",
"avatarUrl", "displayName",
"displayAvatarUrl", "avatarUrl",
"color", "displayAvatarUrl",
"pending", "color",
]), "pending",
]),
),
displayName: interaction.member.displayName, displayName: interaction.member.displayName,
roles: [...interaction.member.roles.cache.map((role) => role.id)], roles: [...interaction.member.roles.cache.map((role) => role.id)],
joinedAt: interaction.member.joinedAt?.toISOString(), joinedAt: interaction.member.joinedAt?.toISOString(),
@@ -210,18 +214,15 @@ export class ReacordDiscordJs extends Reacord {
const guild: GuildInfo | undefined = interaction.guild const guild: GuildInfo | undefined = interaction.guild
? { ? {
...pick(pruneNullishValues(interaction.guild), ["id", "name"]), ...pruneNullishValues(pick(interaction.guild, ["id", "name"])),
member: member ?? raise("unexpected: member is undefined"), member: member ?? raise("unexpected: member is undefined"),
} }
: undefined : undefined
const user: UserInfo = { const user: UserInfo = {
...pick(pruneNullishValues(interaction.user), [ ...pruneNullishValues(
"id", pick(interaction.user, ["id", "username", "discriminator", "tag"]),
"username", ),
"discriminator",
"tag",
]),
avatarUrl: interaction.user.avatarURL()!, avatarUrl: interaction.user.avatarURL()!,
accentColor: interaction.user.accentColor ?? undefined, accentColor: interaction.user.accentColor ?? undefined,
} }