@lilybird/transformers
Version:
Event transformers and more for lilybird
83 lines (82 loc) • 2.72 kB
JavaScript
import { ThreadChannel, channelFactory } from "./factories/channel.js";
import { interactionFactory } from "./factories/interaction.js";
import { GuildMember } from "./factories/guild-member.js";
import { guildFactory } from "./factories/guild.js";
import { User } from "./factories/user.js";
import { Message } from "./index.js";
export function makeTransformersObject() {
return {
channelCreate: {
return: 0,
handler: (client, data) => channelFactory(client, data)
},
channelUpdate: {
return: 0,
handler: (client, data) => channelFactory(client, data)
},
channelDelete: {
return: 0,
handler: (client, data) => channelFactory(client, data)
},
channelPinsUpdate: {
return: 1,
handler: (_, data) => [
data.guild_id,
data.channel_id,
typeof data.last_pin_timestamp === "string" ? new Date(data.last_pin_timestamp) : null
]
},
threadCreate: {
return: 0,
handler: (client, data) => channelFactory(client, data)
},
threadUpdate: {
return: 0,
handler: (client, data) => channelFactory(client, data)
},
threadDelete: {
return: 0,
handler: (client, data) => new ThreadChannel(client, data, false)
},
guildCreate: {
return: 0,
handler: (client, data) => guildFactory(client, data)
},
guildUpdate: {
return: 0,
handler: (client, data) => guildFactory(client, data)
},
guildMemberAdd: {
return: 0,
handler: (client, data) => new GuildMember(client, data)
},
guildMemberRemove: {
return: 1,
handler: (client, data) => [data.guild_id, new User(client, data.user)]
},
guildMemberUpdate: {
return: 0,
handler: (client, data) => new GuildMember(client, data)
},
interactionCreate: {
return: 0,
handler: (client, data) => interactionFactory(client, data)
},
messageCreate: {
return: 0,
handler: (client, data) => new Message(client, data)
},
messageUpdate: {
return: 0,
handler: (client, data) => new Message(client, data)
},
messageDelete: {
return: 0,
handler: (client, data) => new Message(client, data)
},
userUpdate: {
return: 0,
handler: (client, data) => new User(client, data)
}
};
}