@discordeno/bot 19.0.0 → 20.0.0-next.41219d5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/bot.cjs +82 -0
  2. package/dist/cjs/commandOptionsParser.cjs +53 -0
  3. package/dist/cjs/constants.cjs +30 -0
  4. package/dist/cjs/desiredProperties.cjs +542 -0
  5. package/dist/cjs/events.cjs +6 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
  8. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
  9. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
  11. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
  12. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
  13. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
  14. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
  15. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
  16. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
  17. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
  18. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
  19. package/dist/cjs/handlers/channels/index.cjs +32 -0
  20. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
  21. package/dist/cjs/handlers/emojis/index.cjs +20 -0
  22. package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
  23. package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
  24. package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
  25. package/dist/cjs/handlers/entitlements/index.cjs +22 -0
  26. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
  27. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
  28. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
  29. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
  30. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
  31. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
  32. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
  33. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
  34. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
  35. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
  36. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
  37. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
  38. package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
  39. package/dist/cjs/handlers/guilds/index.cjs +29 -0
  40. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
  41. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
  42. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
  43. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
  44. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
  45. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
  46. package/dist/cjs/handlers/index.cjs +35 -0
  47. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
  48. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
  49. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
  50. package/dist/cjs/handlers/integrations/index.cjs +22 -0
  51. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
  52. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +19 -0
  53. package/dist/cjs/handlers/interactions/index.cjs +21 -0
  54. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
  55. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
  56. package/dist/cjs/handlers/invites/index.cjs +21 -0
  57. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
  58. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
  59. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
  60. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +19 -0
  61. package/dist/cjs/handlers/members/index.cjs +23 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +20 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
  64. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
  65. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
  66. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
  67. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
  68. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
  69. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +21 -0
  70. package/dist/cjs/handlers/messages/index.cjs +27 -0
  71. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
  72. package/dist/cjs/handlers/misc/READY.cjs +28 -0
  73. package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
  74. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
  75. package/dist/cjs/handlers/misc/index.cjs +23 -0
  76. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
  77. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
  78. package/dist/cjs/handlers/poll/index.cjs +21 -0
  79. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
  80. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
  81. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
  82. package/dist/cjs/handlers/roles/index.cjs +22 -0
  83. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
  84. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
  85. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
  86. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
  87. package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
  88. package/dist/cjs/handlers/soundboard/index.cjs +24 -0
  89. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
  90. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
  91. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
  92. package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
  93. package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
  94. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
  95. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
  96. package/dist/cjs/handlers/voice/index.cjs +22 -0
  97. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
  98. package/dist/cjs/handlers/webhooks/index.cjs +20 -0
  99. package/dist/cjs/handlers.cjs +132 -0
  100. package/dist/cjs/helpers.cjs +776 -0
  101. package/dist/cjs/index.cjs +34 -0
  102. package/dist/cjs/transformers/activity.cjs +74 -0
  103. package/dist/cjs/transformers/application.cjs +69 -0
  104. package/dist/cjs/transformers/applicationCommand.cjs +29 -0
  105. package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
  106. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
  107. package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
  108. package/dist/cjs/transformers/attachment.cjs +31 -0
  109. package/dist/cjs/transformers/auditLogEntry.cjs +37 -0
  110. package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
  111. package/dist/cjs/transformers/automodRule.cjs +41 -0
  112. package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
  113. package/dist/cjs/transformers/channel.cjs +149 -0
  114. package/dist/cjs/transformers/component.cjs +97 -0
  115. package/dist/cjs/transformers/embed.cjs +54 -0
  116. package/dist/cjs/transformers/emoji.cjs +57 -0
  117. package/dist/cjs/transformers/entitlement.cjs +27 -0
  118. package/dist/cjs/transformers/gatewayBot.cjs +25 -0
  119. package/dist/cjs/transformers/guild.cjs +157 -0
  120. package/dist/cjs/transformers/index.cjs +66 -0
  121. package/dist/cjs/transformers/integration.cjs +44 -0
  122. package/dist/cjs/transformers/interaction.cjs +274 -0
  123. package/dist/cjs/transformers/invite.cjs +51 -0
  124. package/dist/cjs/transformers/member.cjs +69 -0
  125. package/dist/cjs/transformers/message.cjs +300 -0
  126. package/dist/cjs/transformers/onboarding.cjs +56 -0
  127. package/dist/cjs/transformers/poll.cjs +50 -0
  128. package/dist/cjs/transformers/presence.cjs +25 -0
  129. package/dist/cjs/transformers/reverse/activity.cjs +53 -0
  130. package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
  131. package/dist/cjs/transformers/reverse/application.cjs +38 -0
  132. package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
  133. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
  134. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
  135. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
  136. package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
  137. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +37 -0
  138. package/dist/cjs/transformers/reverse/component.cjs +94 -0
  139. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +36 -0
  140. package/dist/cjs/transformers/reverse/embed.cjs +53 -0
  141. package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
  142. package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
  143. package/dist/cjs/transformers/reverse/index.cjs +37 -0
  144. package/dist/cjs/transformers/reverse/member.cjs +59 -0
  145. package/dist/cjs/transformers/reverse/presence.cjs +41 -0
  146. package/dist/cjs/transformers/reverse/team.cjs +28 -0
  147. package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
  148. package/dist/cjs/transformers/role.cjs +78 -0
  149. package/dist/cjs/transformers/scheduledEvent.cjs +58 -0
  150. package/dist/cjs/transformers/sku.cjs +23 -0
  151. package/dist/cjs/transformers/soundboardSound.cjs +25 -0
  152. package/dist/cjs/transformers/stageInstance.cjs +22 -0
  153. package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
  154. package/dist/cjs/transformers/sticker.cjs +48 -0
  155. package/dist/cjs/transformers/subscription.cjs +27 -0
  156. package/dist/cjs/transformers/team.cjs +29 -0
  157. package/dist/cjs/transformers/template.cjs +28 -0
  158. package/dist/cjs/transformers/threadMember.cjs +35 -0
  159. package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
  160. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
  161. package/dist/cjs/transformers/toggles/channel.cjs +73 -0
  162. package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
  163. package/dist/cjs/transformers/toggles/guild.cjs +257 -0
  164. package/dist/cjs/transformers/toggles/index.cjs +28 -0
  165. package/dist/cjs/transformers/toggles/member.cjs +126 -0
  166. package/dist/cjs/transformers/toggles/role.cjs +73 -0
  167. package/dist/cjs/transformers/toggles/user.cjs +63 -0
  168. package/dist/cjs/transformers/toggles/voice.cjs +78 -0
  169. package/dist/cjs/transformers/types.cjs +6 -0
  170. package/dist/cjs/transformers/user.cjs +60 -0
  171. package/dist/cjs/transformers/voiceRegion.cjs +22 -0
  172. package/dist/cjs/transformers/voiceState.cjs +24 -0
  173. package/dist/cjs/transformers/webhook.cjs +37 -0
  174. package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
  175. package/dist/cjs/transformers/widget.cjs +35 -0
  176. package/dist/cjs/transformers/widgetSettings.cjs +19 -0
  177. package/dist/cjs/transformers.cjs +165 -0
  178. package/dist/cjs/utils.cjs +32 -0
  179. package/dist/esm/bot.js +2 -7
  180. package/dist/esm/commandOptionsParser.js +4 -2
  181. package/dist/esm/desiredProperties.js +2 -1
  182. package/dist/esm/events.js +1 -1
  183. package/dist/esm/helpers.js +4 -1
  184. package/dist/esm/transformers/component.js +5 -1
  185. package/dist/esm/transformers/emoji.js +4 -2
  186. package/dist/esm/transformers/guild.js +2 -2
  187. package/dist/esm/transformers/interaction.js +4 -4
  188. package/dist/esm/transformers/member.js +2 -2
  189. package/dist/esm/transformers/message.js +2 -2
  190. package/dist/esm/transformers/role.js +2 -2
  191. package/dist/esm/transformers/subscription.js +2 -1
  192. package/dist/esm/transformers/types.js +1 -1
  193. package/dist/esm/transformers/user.js +2 -2
  194. package/dist/esm/transformers.js +1 -1
  195. package/dist/types/bot.d.ts +2 -1
  196. package/dist/types/bot.d.ts.map +1 -1
  197. package/dist/types/commandOptionsParser.d.ts +9 -4
  198. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  199. package/dist/types/desiredProperties.d.ts +7 -4
  200. package/dist/types/desiredProperties.d.ts.map +1 -1
  201. package/dist/types/events.d.ts +51 -52
  202. package/dist/types/events.d.ts.map +1 -1
  203. package/dist/types/helpers.d.ts +96 -95
  204. package/dist/types/helpers.d.ts.map +1 -1
  205. package/dist/types/transformers/component.d.ts.map +1 -1
  206. package/dist/types/transformers/emoji.d.ts +1 -0
  207. package/dist/types/transformers/emoji.d.ts.map +1 -1
  208. package/dist/types/transformers/guild.d.ts +1 -0
  209. package/dist/types/transformers/guild.d.ts.map +1 -1
  210. package/dist/types/transformers/interaction.d.ts +1 -0
  211. package/dist/types/transformers/interaction.d.ts.map +1 -1
  212. package/dist/types/transformers/member.d.ts +1 -0
  213. package/dist/types/transformers/member.d.ts.map +1 -1
  214. package/dist/types/transformers/message.d.ts +1 -0
  215. package/dist/types/transformers/message.d.ts.map +1 -1
  216. package/dist/types/transformers/role.d.ts +1 -0
  217. package/dist/types/transformers/role.d.ts.map +1 -1
  218. package/dist/types/transformers/subscription.d.ts.map +1 -1
  219. package/dist/types/transformers/types.d.ts +4 -2
  220. package/dist/types/transformers/types.d.ts.map +1 -1
  221. package/dist/types/transformers/user.d.ts +1 -0
  222. package/dist/types/transformers/user.d.ts.map +1 -1
  223. package/dist/types/transformers.d.ts +153 -153
  224. package/dist/types/transformers.d.ts.map +1 -1
  225. package/package.json +9 -9
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ baseInteraction: function() {
13
+ return baseInteraction;
14
+ },
15
+ transformInteraction: function() {
16
+ return transformInteraction;
17
+ },
18
+ transformInteractionCallback: function() {
19
+ return transformInteractionCallback;
20
+ },
21
+ transformInteractionCallbackResponse: function() {
22
+ return transformInteractionCallbackResponse;
23
+ },
24
+ transformInteractionDataOption: function() {
25
+ return transformInteractionDataOption;
26
+ },
27
+ transformInteractionDataResolved: function() {
28
+ return transformInteractionDataResolved;
29
+ },
30
+ transformInteractionResource: function() {
31
+ return transformInteractionResource;
32
+ }
33
+ });
34
+ const _types = require("@discordeno/types");
35
+ const _utils = require("@discordeno/utils");
36
+ const baseInteraction = {
37
+ // This allows typescript to still check for type errors on functions below
38
+ ...undefined,
39
+ async respond (response, options) {
40
+ let type = _types.InteractionResponseTypes.ChannelMessageWithSource;
41
+ // If user provides a string, change it to a response object
42
+ if (typeof response === 'string') response = {
43
+ content: response
44
+ };
45
+ // If user provides an object, determine if it should be an autocomplete or a modal response
46
+ if (response.title) type = _types.InteractionResponseTypes.Modal;
47
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) type = _types.InteractionResponseTypes.ApplicationCommandAutocompleteResult;
48
+ if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = _types.MessageFlags.Ephemeral;
49
+ // Since this has already been given a response, any further responses must be followups.
50
+ if (this.acknowledged) return await this.bot.helpers.sendFollowupMessage(this.token, response);
51
+ // Modals cannot be chained
52
+ if (this.type === _types.InteractionTypes.ModalSubmit && type === _types.InteractionResponseTypes.Modal) throw new Error('Cannot respond to a modal interaction with another modal.');
53
+ this.acknowledged = true;
54
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
55
+ type,
56
+ data: response
57
+ }, {
58
+ withResponse: options?.withResponse
59
+ });
60
+ },
61
+ async edit (response, messageId, options) {
62
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction.');
63
+ // If user provides a string, change it to a response object
64
+ if (typeof response === 'string') response = {
65
+ content: response
66
+ };
67
+ if (messageId) {
68
+ return await this.bot?.helpers.editFollowupMessage(this.token, messageId, response);
69
+ }
70
+ if (!this.acknowledged) {
71
+ if (this.type !== _types.InteractionTypes.MessageComponent && this.type !== _types.InteractionTypes.ModalSubmit) throw new Error("This interaction has not been responded to yet and this isn't a MessageComponent or ModalSubmit interaction.");
72
+ this.acknowledged = true;
73
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
74
+ type: _types.InteractionResponseTypes.UpdateMessage,
75
+ data: response
76
+ }, options);
77
+ }
78
+ return await this.bot.helpers.editOriginalInteractionResponse(this.token, response);
79
+ },
80
+ async deferEdit (options) {
81
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction.');
82
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction.');
83
+ if (this.type !== _types.InteractionTypes.MessageComponent && this.type !== _types.InteractionTypes.ModalSubmit) throw new Error("Cannot defer to then edit an interaction that isn't a MessageComponent or ModalSubmit interaction.");
84
+ this.acknowledged = true;
85
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
86
+ type: _types.InteractionResponseTypes.DeferredUpdateMessage
87
+ }, options);
88
+ },
89
+ async defer (isPrivate, options) {
90
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction.');
91
+ this.acknowledged = true;
92
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
93
+ type: _types.InteractionResponseTypes.DeferredChannelMessageWithSource,
94
+ data: {
95
+ flags: isPrivate ? _types.MessageFlags.Ephemeral : undefined
96
+ }
97
+ }, options);
98
+ },
99
+ async delete (messageId) {
100
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
101
+ if (messageId) return await this.bot?.helpers.deleteFollowupMessage(this.token, messageId);
102
+ else return await this.bot?.helpers.deleteOriginalInteractionResponse(this.token);
103
+ }
104
+ };
105
+ function transformInteraction(bot, payload) {
106
+ const guildId = payload.interaction.guild_id ? bot.transformers.snowflake(payload.interaction.guild_id) : undefined;
107
+ const user = bot.transformers.user(bot, payload.interaction.member?.user ?? payload.interaction.user);
108
+ const interaction = Object.create(baseInteraction);
109
+ const props = bot.transformers.desiredProperties.interaction;
110
+ // Typescript has an hard time with this, so we need to tell him for sure this is a Bot
111
+ interaction.bot = bot;
112
+ interaction.acknowledged = false;
113
+ if (props.id && payload.interaction.id) interaction.id = bot.transformers.snowflake(payload.interaction.id);
114
+ if (props.applicationId && payload.interaction.application_id) interaction.applicationId = bot.transformers.snowflake(payload.interaction.application_id);
115
+ if (props.type && payload.interaction.type) interaction.type = payload.interaction.type;
116
+ if (props.token && payload.interaction.token) interaction.token = payload.interaction.token;
117
+ if (props.version && payload.interaction.version) interaction.version = payload.interaction.version;
118
+ if (props.locale && payload.interaction.locale) interaction.locale = payload.interaction.locale;
119
+ if (props.guildLocale && payload.interaction.guild_locale) interaction.guildLocale = payload.interaction.guild_locale;
120
+ if (props.guild && payload.interaction.guild) // @ts-expect-error payload.interaction.guild is a Partial<DiscordGuild>
121
+ interaction.guild = bot.transformers.guild(bot, {
122
+ guild: payload.interaction.guild,
123
+ shardId: payload.shardId
124
+ });
125
+ if (props.guildId && guildId) interaction.guildId = guildId;
126
+ if (props.user && user) interaction.user = user;
127
+ if (props.appPermissions && payload.interaction.app_permissions) interaction.appPermissions = bot.transformers.snowflake(payload.interaction.app_permissions);
128
+ if (props.message && payload.interaction.message) interaction.message = bot.transformers.message(bot, {
129
+ message: payload.interaction.message,
130
+ shardId: 0
131
+ });
132
+ if (props.channel && payload.interaction.channel) interaction.channel = bot.transformers.channel(bot, {
133
+ channel: payload.interaction.channel,
134
+ guildId
135
+ });
136
+ if (props.channelId && payload.interaction.channel_id) interaction.channelId = bot.transformers.snowflake(payload.interaction.channel_id);
137
+ if (props.member && guildId && payload.interaction.member) interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, user.id);
138
+ if (props.authorizingIntegrationOwners && payload.interaction.authorizing_integration_owners) {
139
+ interaction.authorizingIntegrationOwners = {};
140
+ if (payload.interaction.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[_types.DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['0']);
141
+ if (payload.interaction.authorizing_integration_owners['1']) interaction.authorizingIntegrationOwners[_types.DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['1']);
142
+ }
143
+ if (props.context && payload.interaction.context) interaction.context = payload.interaction.context;
144
+ if (props.data && payload.interaction.data) {
145
+ interaction.data = {
146
+ type: payload.interaction.data.type,
147
+ componentType: payload.interaction.data.component_type,
148
+ customId: payload.interaction.data.custom_id,
149
+ components: payload.interaction.data.components?.map((component)=>bot.transformers.component(bot, component)),
150
+ values: payload.interaction.data.values,
151
+ id: payload.interaction.data.id ? bot.transformers.snowflake(payload.interaction.data.id) : undefined,
152
+ name: payload.interaction.data.name,
153
+ resolved: payload.interaction.data.resolved ? bot.transformers.interactionDataResolved(bot, {
154
+ resolved: payload.interaction.data.resolved,
155
+ shardId: payload.shardId,
156
+ guildId
157
+ }) : undefined,
158
+ options: payload.interaction.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
159
+ targetId: payload.interaction.data.target_id ? bot.transformers.snowflake(payload.interaction.data.target_id) : undefined
160
+ };
161
+ }
162
+ // Typescript has an hard time with interaction.bot, so we need to tell him for sure this interaction is the of the correct type
163
+ return bot.transformers.customizers.interaction(bot, payload, interaction);
164
+ }
165
+ function transformInteractionDataOption(bot, option) {
166
+ const opt = {
167
+ name: option.name,
168
+ type: option.type,
169
+ value: option.value,
170
+ options: option.options,
171
+ focused: option.focused
172
+ };
173
+ return bot.transformers.customizers.interactionDataOptions(bot, option, opt);
174
+ }
175
+ function transformInteractionDataResolved(bot, payload) {
176
+ const transformed = {};
177
+ if (payload.resolved.messages) {
178
+ transformed.messages = new _utils.Collection(Object.entries(payload.resolved.messages).map(([_id, value])=>{
179
+ const message = bot.transformers.message(bot, {
180
+ message: value,
181
+ shardId: payload.shardId
182
+ });
183
+ return [
184
+ message.id,
185
+ message
186
+ ];
187
+ }));
188
+ }
189
+ if (payload.resolved.users) {
190
+ transformed.users = new _utils.Collection(Object.entries(payload.resolved.users).map(([_id, value])=>{
191
+ const user = bot.transformers.user(bot, value);
192
+ return [
193
+ user.id,
194
+ user
195
+ ];
196
+ }));
197
+ }
198
+ if (payload.guildId && payload.resolved.members) {
199
+ transformed.members = new _utils.Collection(Object.entries(payload.resolved.members).map(([id, value])=>{
200
+ const member = bot.transformers.member(bot, value, payload.guildId, bot.transformers.snowflake(id));
201
+ return [
202
+ member.id,
203
+ member
204
+ ];
205
+ }));
206
+ }
207
+ if (payload.guildId && payload.resolved.roles) {
208
+ transformed.roles = new _utils.Collection(Object.entries(payload.resolved.roles).map(([_id, value])=>{
209
+ const role = bot.transformers.role(bot, {
210
+ role: value,
211
+ guildId: payload.guildId
212
+ });
213
+ return [
214
+ role.id,
215
+ role
216
+ ];
217
+ }));
218
+ }
219
+ if (payload.resolved.channels) {
220
+ transformed.channels = new _utils.Collection(Object.entries(payload.resolved.channels).map(([_id, value])=>{
221
+ const channel = bot.transformers.channel(bot, {
222
+ channel: value
223
+ });
224
+ return [
225
+ channel.id,
226
+ channel
227
+ ];
228
+ }));
229
+ }
230
+ if (payload.resolved.attachments) {
231
+ transformed.attachments = new _utils.Collection(Object.entries(payload.resolved.attachments).map(([key, value])=>{
232
+ const id = bot.transformers.snowflake(key);
233
+ return [
234
+ id,
235
+ bot.transformers.attachment(bot, value)
236
+ ];
237
+ }));
238
+ }
239
+ return bot.transformers.customizers.interactionDataResolved(bot, payload, transformed);
240
+ }
241
+ function transformInteractionCallbackResponse(bot, payload) {
242
+ const props = bot.transformers.desiredProperties.interactionCallbackResponse;
243
+ const response = {};
244
+ if (props.interaction && payload.interactionCallbackResponse.interaction) response.interaction = bot.transformers.interactionCallback(bot, payload.interactionCallbackResponse.interaction);
245
+ if (props.resource && payload.interactionCallbackResponse.resource) response.resource = bot.transformers.interactionResource(bot, {
246
+ interactionResource: payload.interactionCallbackResponse.resource,
247
+ shardId: payload.shardId
248
+ });
249
+ return bot.transformers.customizers.interactionCallbackResponse(bot, payload.interactionCallbackResponse, response);
250
+ }
251
+ function transformInteractionCallback(bot, payload) {
252
+ const props = bot.transformers.desiredProperties.interactionCallback;
253
+ const callback = {};
254
+ if (props.id && payload.id) callback.id = bot.transformers.snowflake(payload.id);
255
+ if (props.type && payload.type) callback.type = payload.type;
256
+ if (props.activityInstanceId && payload.activity_instance_id) callback.activityInstanceId = payload.activity_instance_id;
257
+ if (props.responseMessageId && payload.response_message_id) callback.responseMessageId = bot.transformers.snowflake(payload.response_message_id);
258
+ if (props.responseMessageEphemeral && payload.response_message_ephemeral) callback.responseMessageEphemeral = payload.response_message_ephemeral;
259
+ if (props.responseMessageLoading && payload.response_message_loading) callback.responseMessageLoading = payload.response_message_loading;
260
+ return bot.transformers.customizers.interactionCallback(bot, payload, callback);
261
+ }
262
+ function transformInteractionResource(bot, payload) {
263
+ const props = bot.transformers.desiredProperties.interactionResource;
264
+ const resource = {};
265
+ if (props.type && payload.interactionResource.type) resource.type = payload.interactionResource.type;
266
+ if (props.activityInstance && payload.interactionResource.activity_instance) resource.activityInstance = payload.interactionResource.activity_instance;
267
+ if (props.message && payload.interactionResource.message) resource.message = bot.transformers.message(bot, {
268
+ message: payload.interactionResource.message,
269
+ shardId: payload.shardId
270
+ });
271
+ return bot.transformers.customizers.interactionResource(bot, payload.interactionResource, resource);
272
+ }
273
+
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEpIHtcbiAgICBpbnRlcmFjdGlvbi5kYXRhID0ge1xuICAgICAgdHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnR5cGUsXG4gICAgICBjb21wb25lbnRUeXBlOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50X3R5cGUsXG4gICAgICBjdXN0b21JZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmN1c3RvbV9pZCxcbiAgICAgIGNvbXBvbmVudHM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSxcbiAgICAgIHZhbHVlczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnZhbHVlcyxcbiAgICAgIGlkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgbmFtZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm5hbWUsXG4gICAgICByZXNvbHZlZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkXG4gICAgICAgID8gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHsgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyByZXNvbHZlZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkOyBzaGFyZElkOiBudW1iZXI7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbik6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykge1xuICAgIHRyYW5zZm9ybWVkLm1lc3NhZ2VzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lc3NhZ2VzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgeyBtZXNzYWdlOiB2YWx1ZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gICAgICAgIHJldHVybiBbbWVzc2FnZS5pZCwgbWVzc2FnZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQudXNlcnMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFt1c2VyLmlkLCB1c2VyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyOiBNZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCBwYXlsb2FkLmd1aWxkSWQhLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gICAgICAgIHJldHVybiBbbWVtYmVyLmlkLCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5ndWlsZElkICYmIHBheWxvYWQucmVzb2x2ZWQucm9sZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5yb2xlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogdmFsdWUsIGd1aWxkSWQ6IHBheWxvYWQuZ3VpbGRJZCEgfSlcbiAgICAgICAgcmV0dXJuIFtyb2xlLmlkLCByb2xlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5jaGFubmVscykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogdmFsdWUgfSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWxcbiAgICAgICAgcmV0dXJuIFtjaGFubmVsLmlkLCBjaGFubmVsXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcbiAgY29uc3QgcmVzcG9uc2UgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gICAgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5pbnRlcmFjdGlvbilcbiAgaWYgKHByb3BzLnJlc291cmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlKVxuICAgIHJlc3BvbnNlLnJlc291cmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwge1xuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UucmVzb3VyY2UsXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgcmVzcG9uc2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2sge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1xuICBjb25zdCBjYWxsYmFjayA9IHt9IGFzIEludGVyYWN0aW9uQ2FsbGJhY2tcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25SZXNvdXJjZTogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2U7IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgSW50ZXJhY3Rpb25SZXNvdXJjZVxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlKVxuICAgIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UuYWN0aXZpdHlfaW5zdGFuY2VcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UpXG4gICAgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UsIHJlc291cmNlKVxufVxuIl0sIm5hbWVzIjpbImJhc2VJbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJJbnRlcmFjdGlvblR5cGVzIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0IiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJNZXNzYWdlRmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwiTW9kYWxTdWJtaXQiLCJFcnJvciIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJkYXRhIiwid2l0aFJlc3BvbnNlIiwiZWRpdCIsIm1lc3NhZ2VJZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJNZXNzYWdlQ29tcG9uZW50IiwiVXBkYXRlTWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWZlckVkaXQiLCJEZWZlcnJlZFVwZGF0ZU1lc3NhZ2UiLCJkZWZlciIsIkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiZGVsZXRlIiwiZGVsZXRlRm9sbG93dXBNZXNzYWdlIiwiZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwicGF5bG9hZCIsImd1aWxkSWQiLCJpbnRlcmFjdGlvbiIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlciIsIm1lbWJlciIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJhcHBQZXJtaXNzaW9ucyIsImFwcF9wZXJtaXNzaW9ucyIsIm1lc3NhZ2UiLCJjaGFubmVsIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsImNvbnRleHQiLCJjb21wb25lbnRUeXBlIiwiY29tcG9uZW50X3R5cGUiLCJjdXN0b21JZCIsImN1c3RvbV9pZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJ2YWx1ZXMiLCJuYW1lIiwicmVzb2x2ZWQiLCJpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsIkNvbGxlY3Rpb24iLCJlbnRyaWVzIiwiX2lkIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImtleSIsImF0dGFjaG1lbnQiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiY2FsbGJhY2siLCJhY3Rpdml0eUluc3RhbmNlSWQiLCJhY3Rpdml0eV9pbnN0YW5jZV9pZCIsInJlc3BvbnNlTWVzc2FnZUlkIiwicmVzcG9uc2VfbWVzc2FnZV9pZCIsInJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCIsInJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsIiwicmVzcG9uc2VNZXNzYWdlTG9hZGluZyIsInJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZyIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rpdml0eV9pbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE0QmFBLGVBQWU7ZUFBZkE7O0lBb0ZHQyxvQkFBb0I7ZUFBcEJBOztJQWtLQUMsNEJBQTRCO2VBQTVCQTs7SUFsQkFDLG9DQUFvQztlQUFwQ0E7O0lBM0VBQyw4QkFBOEI7ZUFBOUJBOztJQVlBQyxnQ0FBZ0M7ZUFBaENBOztJQWtHQUMsNEJBQTRCO2VBQTVCQTs7O3VCQXhSVDt1QkFDb0I7QUFnQnBCLE1BQU1OLGtCQUFnRjtJQUMzRiwyRUFBMkU7SUFDM0UsR0FBSU8sU0FBUztJQUViLE1BQU1DLFNBQVFDLFFBQVEsRUFBRUMsT0FBTztRQUM3QixJQUFJQyxPQUFPQywrQkFBd0IsQ0FBQ0Msd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9KLGFBQWEsVUFBVUEsV0FBVztZQUFFSyxTQUFTTDtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTTSxLQUFLLEVBQUVKLE9BQU9DLCtCQUF3QixDQUFDSSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDTCxJQUFJLEtBQUtNLHVCQUFnQixDQUFDQyw4QkFBOEIsRUFBRVAsT0FBT0MsK0JBQXdCLENBQUNPLG9DQUFvQztRQUN2SSxJQUFJUixTQUFTQywrQkFBd0IsQ0FBQ0Msd0JBQXdCLElBQUlILFNBQVNVLFdBQVdYLFNBQVNZLEtBQUssR0FBR0MsbUJBQVksQ0FBQ0MsU0FBUztRQUU3SCx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDQyxLQUFLLEVBQUVuQjtRQUVyRiwyQkFBMkI7UUFDM0Is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
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformInvite", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformInvite;
9
+ }
10
+ });
11
+ const _index = require("../index.cjs");
12
+ function transformInvite(bot, payload) {
13
+ const props = bot.transformers.desiredProperties.invite;
14
+ const invite = {};
15
+ if (props.type && 'type' in payload.invite) invite.type = payload.invite.type;
16
+ if (props.code && payload.invite.code) invite.code = payload.invite.code;
17
+ if (props.createdAt && payload.invite.created_at) invite.createdAt = Date.parse(payload.invite.created_at);
18
+ if (props.inviter && payload.invite.inviter) invite.inviter = bot.transformers.user(bot, payload.invite.inviter);
19
+ if (props.maxAge) invite.maxAge = payload.invite.max_age;
20
+ if (props.maxUses) invite.maxUses = payload.invite.max_uses;
21
+ if (props.targetType && payload.invite.target_type) invite.targetType = payload.invite.target_type;
22
+ if (props.targetUser && payload.invite.target_user) invite.targetUser = bot.transformers.user(bot, payload.invite.target_user);
23
+ if (props.targetApplication && payload.invite.target_application) invite.targetApplication = bot.transformers.application(bot, {
24
+ application: payload.invite.target_application,
25
+ shardId: payload.shardId
26
+ });
27
+ if (props.temporary && payload.invite.temporary) invite.temporary = payload.invite.temporary;
28
+ if (props.uses && payload.invite.uses) invite.uses = payload.invite.uses;
29
+ if ((0, _index.isInviteWithMetadata)(payload.invite)) {
30
+ if (props.channelId && payload.invite.channel?.id) invite.channelId = bot.transformers.snowflake(payload.invite.channel.id);
31
+ if (props.guildId && payload.invite.guild?.id) invite.guildId = bot.transformers.snowflake(payload.invite.guild.id);
32
+ if (props.approximateMemberCount && payload.invite.approximate_member_count) invite.approximateMemberCount = payload.invite.approximate_member_count;
33
+ if (props.approximatePresenceCount && payload.invite.approximate_presence_count !== undefined) invite.approximatePresenceCount = payload.invite.approximate_presence_count;
34
+ if (props.guildScheduledEvent && payload.invite.guild_scheduled_event) invite.guildScheduledEvent = bot.transformers.scheduledEvent(bot, payload.invite.guild_scheduled_event);
35
+ if (props.stageInstance && invite.guildId && payload.invite.stage_instance) {
36
+ invite.stageInstance = bot.transformers.inviteStageInstance(bot, {
37
+ ...payload.invite.stage_instance,
38
+ guildId: invite.guildId
39
+ });
40
+ }
41
+ if (props.expiresAt && payload.invite.expires_at) {
42
+ invite.expiresAt = Date.parse(payload.invite.expires_at);
43
+ }
44
+ } else {
45
+ if (props.channelId && payload.invite.channel_id) invite.channelId = bot.transformers.snowflake(payload.invite.channel_id);
46
+ if (props.guildId && payload.invite.guild_id) invite.guildId = bot.transformers.snowflake(payload.invite.guild_id);
47
+ }
48
+ return bot.transformers.customizers.invite(bot, payload.invite, invite);
49
+ }
50
+
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEFwcGxpY2F0aW9uLCBEaXNjb3JkSW52aXRlQ3JlYXRlLCBEaXNjb3JkSW52aXRlTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgSW50ZXJuYWxCb3QsIHR5cGUgSW52aXRlLCBpc0ludml0ZVdpdGhNZXRhZGF0YSB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW52aXRlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludml0ZTogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlXG4gIGNvbnN0IGludml0ZSA9IHt9IGFzIEludml0ZVxuXG4gIGlmIChwcm9wcy50eXBlICYmICd0eXBlJyBpbiBwYXlsb2FkLmludml0ZSkgaW52aXRlLnR5cGUgPSBwYXlsb2FkLmludml0ZS50eXBlXG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuaW52aXRlLmNvZGUpIGludml0ZS5jb2RlID0gcGF5bG9hZC5pbnZpdGUuY29kZVxuICBpZiAocHJvcHMuY3JlYXRlZEF0ICYmIHBheWxvYWQuaW52aXRlLmNyZWF0ZWRfYXQpIGludml0ZS5jcmVhdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlLmNyZWF0ZWRfYXQpXG4gIGlmIChwcm9wcy5pbnZpdGVyICYmIHBheWxvYWQuaW52aXRlLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGUuaW52aXRlcilcbiAgaWYgKHByb3BzLm1heEFnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQuaW52aXRlLm1heF9hZ2VcbiAgaWYgKHByb3BzLm1heFVzZXMpIGludml0ZS5tYXhVc2VzID0gcGF5bG9hZC5pbnZpdGUubWF4X3VzZXNcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3R5cGUpIGludml0ZS50YXJnZXRUeXBlID0gcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3R5cGVcbiAgaWYgKHByb3BzLnRhcmdldFVzZXIgJiYgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3VzZXIpIGludml0ZS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3VzZXIpXG4gIGlmIChwcm9wcy50YXJnZXRBcHBsaWNhdGlvbiAmJiBwYXlsb2FkLmludml0ZS50YXJnZXRfYXBwbGljYXRpb24pXG4gICAgaW52aXRlLnRhcmdldEFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHtcbiAgICAgIGFwcGxpY2F0aW9uOiBwYXlsb2FkLmludml0ZS50YXJnZXRfYXBwbGljYXRpb24gYXMgRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG4gIGlmIChwcm9wcy50ZW1wb3JhcnkgJiYgcGF5bG9hZC5pbnZpdGUudGVtcG9yYXJ5KSBpbnZpdGUudGVtcG9yYXJ5ID0gcGF5bG9hZC5pbnZpdGUudGVtcG9yYXJ5XG4gIGlmIChwcm9wcy51c2VzICYmIHBheWxvYWQuaW52aXRlLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC5pbnZpdGUudXNlc1xuXG4gIGlmIChpc0ludml0ZVdpdGhNZXRhZGF0YShwYXlsb2FkLmludml0ZSkpIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuaW52aXRlLmNoYW5uZWw/LmlkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuY2hhbm5lbC5pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmludml0ZS5ndWlsZD8uaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuZ3VpbGQuaWQpXG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5pbnZpdGUuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KVxuICAgICAgaW52aXRlLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmludml0ZS5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuaW52aXRlLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgICBpbnZpdGUuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5pbnZpdGUuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgICBpZiAocHJvcHMuZ3VpbGRTY2hlZHVsZWRFdmVudCAmJiBwYXlsb2FkLmludml0ZS5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpXG4gICAgICBpbnZpdGUuZ3VpbGRTY2hlZHVsZWRFdmVudCA9IGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBwYXlsb2FkLmludml0ZS5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpXG4gICAgaWYgKHByb3BzLnN0YWdlSW5zdGFuY2UgJiYgaW52aXRlLmd1aWxkSWQgJiYgcGF5bG9hZC5pbnZpdGUuc3RhZ2VfaW5zdGFuY2UpIHtcbiAgICAgIGludml0ZS5zdGFnZUluc3RhbmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnZpdGVTdGFnZUluc3RhbmNlKGJvdCwge1xuICAgICAgICAuLi5wYXlsb2FkLmludml0ZS5zdGFnZV9pbnN0YW5jZSxcbiAgICAgICAgZ3VpbGRJZDogaW52aXRlLmd1aWxkSWQsXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuaW52aXRlLmV4cGlyZXNfYXQpIHtcbiAgICAgIGludml0ZS5leHBpcmVzQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlLmV4cGlyZXNfYXQpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnZpdGUuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW52aXRlLmNoYW5uZWxfaWQpXG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5pbnZpdGUuZ3VpbGRfaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuZ3VpbGRfaWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLmludml0ZSwgaW52aXRlKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUludml0ZSIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW52aXRlIiwidHlwZSIsImNvZGUiLCJjcmVhdGVkQXQiLCJjcmVhdGVkX2F0IiwiRGF0ZSIsInBhcnNlIiwiaW52aXRlciIsInVzZXIiLCJtYXhBZ2UiLCJtYXhfYWdlIiwibWF4VXNlcyIsIm1heF91c2VzIiwidGFyZ2V0VHlwZSIsInRhcmdldF90eXBlIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0QXBwbGljYXRpb24iLCJ0YXJnZXRfYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiaXNJbnZpdGVXaXRoTWV0YWRhdGEiLCJjaGFubmVsSWQiLCJjaGFubmVsIiwiaWQiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJ1bmRlZmluZWQiLCJndWlsZFNjaGVkdWxlZEV2ZW50IiwiZ3VpbGRfc2NoZWR1bGVkX2V2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJzdGFnZUluc3RhbmNlIiwic3RhZ2VfaW5zdGFuY2UiLCJpbnZpdGVTdGFnZUluc3RhbmNlIiwiZXhwaXJlc0F0IiwiZXhwaXJlc19hdCIsImNoYW5uZWxfaWQiLCJndWlsZF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdnQkE7OztlQUFBQTs7O3VCQUZvRDtBQUU3RCxTQUFTQSxnQkFDZEMsR0FBZ0IsRUFDaEJDLE9BQWlGO0lBRWpGLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU07SUFDdkQsTUFBTUEsU0FBUyxDQUFDO0lBRWhCLElBQUlILE1BQU1JLElBQUksSUFBSSxVQUFVTCxRQUFRSSxNQUFNLEVBQUVBLE9BQU9DLElBQUksR0FBR0wsUUFBUUksTUFBTSxDQUFDQyxJQUFJO0lBQzdFLElBQUlKLE1BQU1LLElBQUksSUFBSU4sUUFBUUksTUFBTSxDQUFDRSxJQUFJLEVBQUVGLE9BQU9FLElBQUksR0FBR04sUUFBUUksTUFBTSxDQUFDRSxJQUFJO0lBQ3hFLElBQUlMLE1BQU1NLFNBQVMsSUFBSVAsUUFBUUksTUFBTSxDQUFDSSxVQUFVLEVBQUVKLE9BQU9HLFNBQVMsR0FBR0UsS0FBS0MsS0FBSyxDQUFDVixRQUFRSSxNQUFNLENBQUNJLFVBQVU7SUFDekcsSUFBSVAsTUFBTVUsT0FBTyxJQUFJWCxRQUFRSSxNQUFNLENB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
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ baseMember: function() {
13
+ return baseMember;
14
+ },
15
+ transformMember: function() {
16
+ return transformMember;
17
+ }
18
+ });
19
+ const _utils = require("@discordeno/utils");
20
+ const _Permissions = require("./toggles/Permissions.cjs");
21
+ const _member = require("./toggles/member.cjs");
22
+ const baseMember = {
23
+ // This allows typescript to still check for type errors on functions below
24
+ ...undefined,
25
+ get deaf () {
26
+ return !!this.toggles?.has('deaf');
27
+ },
28
+ get mute () {
29
+ return !!this.toggles?.has('mute');
30
+ },
31
+ get pending () {
32
+ return !!this.toggles?.has('pending');
33
+ },
34
+ get flags () {
35
+ return this.toggles?.flags ?? 0;
36
+ },
37
+ get didRejoin () {
38
+ return !!this.toggles?.didRejoin;
39
+ },
40
+ get startedOnboarding () {
41
+ return !!this.toggles?.startedOnboarding;
42
+ },
43
+ get bypassesVerification () {
44
+ return !!this.toggles?.bypassesVerification;
45
+ },
46
+ get completedOnboarding () {
47
+ return !!this.toggles?.completedOnboarding;
48
+ }
49
+ };
50
+ function transformMember(bot, payload, guildId, userId) {
51
+ const member = Object.create(baseMember);
52
+ const props = bot.transformers.desiredProperties.member;
53
+ if (props.id && userId) member.id = typeof userId === 'string' ? bot.transformers.snowflake(userId) : userId;
54
+ if (props.guildId && guildId) member.guildId = typeof guildId === 'string' ? bot.transformers.snowflake(guildId) : guildId;
55
+ if (props.user && payload.user) member.user = bot.transformers.user(bot, payload.user);
56
+ if (props.nick && payload.nick) member.nick = payload.nick;
57
+ if (props.roles && payload.roles) member.roles = payload.roles.map((id)=>bot.transformers.snowflake(id));
58
+ if (props.joinedAt && payload.joined_at) member.joinedAt = Date.parse(payload.joined_at);
59
+ if (props.premiumSince && payload.premium_since) member.premiumSince = Date.parse(payload.premium_since);
60
+ if (props.communicationDisabledUntil && payload.communication_disabled_until) member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until);
61
+ if (props.avatar && payload.avatar) member.avatar = (0, _utils.iconHashToBigInt)(payload.avatar);
62
+ if (props.banner && payload.banner) member.banner = (0, _utils.iconHashToBigInt)(payload.banner);
63
+ if (props.permissions && payload.permissions) member.permissions = new _Permissions.Permissions(payload.permissions);
64
+ if (props.toggles) member.toggles = new _member.MemberToggles(payload);
65
+ if (props.avatarDecorationData && payload.avatar_decoration_data) member.avatarDecorationData = bot.transformers.avatarDecorationData(bot, payload.avatar_decoration_data);
66
+ return bot.transformers.customizers.member(bot, payload, member);
67
+ }
68
+
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEludGVybmFsQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBNZW1iZXJUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL21lbWJlci5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VNZW1iZXI6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXSksXG5cbiAgZ2V0IGRlYWYoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2RlYWYnKVxuICB9LFxuICBnZXQgbXV0ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnbXV0ZScpXG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJylcbiAgfSxcbiAgZ2V0IGZsYWdzKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LmZsYWdzID8/IDBcbiAgfSxcbiAgZ2V0IGRpZFJlam9pbigpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmRpZFJlam9pblxuICB9LFxuICBnZXQgc3RhcnRlZE9uYm9hcmRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5zdGFydGVkT25ib2FyZGluZ1xuICB9LFxuICBnZXQgYnlwYXNzZXNWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5ieXBhc3Nlc1ZlcmlmaWNhdGlvblxuICB9LFxuICBnZXQgY29tcGxldGVkT25ib2FyZGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmNvbXBsZXRlZE9uYm9hcmRpbmdcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lbWJlcihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZE1lbWJlcixcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lbWJlciB7XG4gIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVtYmVyKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVtYmVyXG5cbiAgaWYgKHByb3BzLmlkICYmIHVzZXJJZCkgbWVtYmVyLmlkID0gdHlwZW9mIHVzZXJJZCA9PT0gJ3N0cmluZycgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1c2VySWQpIDogdXNlcklkXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIG1lbWJlci5ndWlsZElkID0gdHlwZW9mIGd1aWxkSWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZ3VpbGRJZCkgOiBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWVtYmVyLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpXG4gIGlmIChwcm9wcy5uaWNrICYmIHBheWxvYWQubmljaykgbWVtYmVyLm5pY2sgPSBwYXlsb2FkLm5pY2tcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIG1lbWJlci5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIG1lbWJlci5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5wcmVtaXVtU2luY2UgJiYgcGF5bG9hZC5wcmVtaXVtX3NpbmNlKSBtZW1iZXIucHJlbWl1bVNpbmNlID0gRGF0ZS5wYXJzZShwYXlsb2FkLnByZW1pdW1fc2luY2UpXG4gIGlmIChwcm9wcy5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gICAgbWVtYmVyLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gIGlmIChwcm9wcy5hdmF0YXIgJiYgcGF5bG9hZC5hdmF0YXIpIG1lbWJlci5hdmF0YXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYXZhdGFyKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuYmFubmVyKSBtZW1iZXIuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcilcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucGVybWlzc2lvbnMpIG1lbWJlci5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMudG9nZ2xlcykgbWVtYmVyLnRvZ2dsZXMgPSBuZXcgTWVtYmVyVG9nZ2xlcyhwYXlsb2FkKVxuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIG1lbWJlci5hdmF0YXJEZWNvcmF0aW9uRGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEoYm90LCBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVtYmVyKGJvdCwgcGF5bG9hZCwgbWVtYmVyKVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZW1iZXIiLCJ0cmFuc2Zvcm1NZW1iZXIiLCJ1bmRlZmluZWQiLCJkZWFmIiwidG9nZ2xlcyIsImhhcyIsIm11dGUiLCJwZW5kaW5nIiwiZmxhZ3MiLCJkaWRSZWpvaW4iLCJzdGFydGVkT25ib2FyZGluZyIsImJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiY29tcGxldGVkT25ib2FyZGluZyIsImJvdCIsInBheWxvYWQiLCJndWlsZElkIiwidXNlcklkIiwibWVtYmVyIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImlkIiwic25vd2ZsYWtlIiwidXNlciIsIm5pY2siLCJyb2xlcyIsIm1hcCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwicHJlbWl1bVNpbmNlIiwicHJlbWl1bV9zaW5jZSIsImNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsIiwiY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCIsImF2YXRhciIsImljb25IYXNoVG9CaWdJbnQiLCJiYW5uZXIiLCJwZXJtaXNzaW9ucyIsIlBlcm1pc3Npb25zIiwiTWVtYmVyVG9nZ2xlcyIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiYXZhdGFyX2RlY29yYXRpb25fZGF0YSIsImN1c3RvbWl6ZXJzIl0s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