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,7 +154,8 @@ 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(
pick(interaction.channel, [
"topic", "topic",
"nsfw", "nsfw",
"lastMessageId", "lastMessageId",
@@ -162,6 +163,7 @@ export class ReacordDiscordJs extends Reacord {
"parentId", "parentId",
"rateLimitPerUser", "rateLimitPerUser",
]), ]),
),
id: interaction.channelId, id: interaction.channelId,
} }
: raise("Non-channel interactions are not supported") : raise("Non-channel interactions are not supported")
@@ -190,7 +192,8 @@ 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(
pick(interaction.member, [
"id", "id",
"nick", "nick",
"displayName", "displayName",
@@ -199,6 +202,7 @@ export class ReacordDiscordJs extends Reacord {
"color", "color",
"pending", "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,
} }