@discordeno/bot 19.0.0 → 20.0.0-next.58fccd8

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 (213) 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 +541 -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 +26 -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 +1 -1
  180. package/dist/esm/commandOptionsParser.js +4 -2
  181. package/dist/esm/desiredProperties.js +1 -1
  182. package/dist/esm/helpers.js +4 -1
  183. package/dist/esm/transformers/component.js +5 -1
  184. package/dist/esm/transformers/emoji.js +4 -2
  185. package/dist/esm/transformers/guild.js +2 -2
  186. package/dist/esm/transformers/interaction.js +2 -2
  187. package/dist/esm/transformers/member.js +2 -2
  188. package/dist/esm/transformers/message.js +2 -2
  189. package/dist/esm/transformers/role.js +2 -2
  190. package/dist/esm/transformers/user.js +2 -2
  191. package/dist/types/bot.d.ts +1 -1
  192. package/dist/types/commandOptionsParser.d.ts +9 -4
  193. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  194. package/dist/types/desiredProperties.d.ts +6 -3
  195. package/dist/types/desiredProperties.d.ts.map +1 -1
  196. package/dist/types/helpers.d.ts +1 -0
  197. package/dist/types/helpers.d.ts.map +1 -1
  198. package/dist/types/transformers/component.d.ts.map +1 -1
  199. package/dist/types/transformers/emoji.d.ts +1 -0
  200. package/dist/types/transformers/emoji.d.ts.map +1 -1
  201. package/dist/types/transformers/guild.d.ts +1 -0
  202. package/dist/types/transformers/guild.d.ts.map +1 -1
  203. package/dist/types/transformers/interaction.d.ts +1 -0
  204. package/dist/types/transformers/interaction.d.ts.map +1 -1
  205. package/dist/types/transformers/member.d.ts +1 -0
  206. package/dist/types/transformers/member.d.ts.map +1 -1
  207. package/dist/types/transformers/message.d.ts +1 -0
  208. package/dist/types/transformers/message.d.ts.map +1 -1
  209. package/dist/types/transformers/role.d.ts +1 -0
  210. package/dist/types/transformers/role.d.ts.map +1 -1
  211. package/dist/types/transformers/user.d.ts +1 -0
  212. package/dist/types/transformers/user.d.ts.map +1 -1
  213. package/package.json +9 -9
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Permissions", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Permissions;
9
+ }
10
+ });
11
+ const _types = require("@discordeno/types");
12
+ const _ToggleBitfield = require("./ToggleBitfield.cjs");
13
+ let Permissions = class Permissions extends _ToggleBitfield.ToggleBitfieldBigint {
14
+ constructor(bits){
15
+ super(BigInt(bits));
16
+ }
17
+ has(permission) {
18
+ return this.contains(_types.BitwisePermissionFlags[permission]);
19
+ }
20
+ hasAll(permissions) {
21
+ return permissions.every((key)=>this.has(key));
22
+ }
23
+ missing(permissions) {
24
+ return permissions.filter((key)=>!this.has(key));
25
+ }
26
+ };
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9QZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzLCB0eXBlIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB9IGZyb20gJy4vVG9nZ2xlQml0ZmllbGQuanMnXG5cbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkQmlnaW50IHtcbiAgY29uc3RydWN0b3IoYml0czogc3RyaW5nIHwgYmlnaW50KSB7XG4gICAgc3VwZXIoQmlnSW50KGJpdHMpKVxuICB9XG5cbiAgaGFzKHBlcm1pc3Npb246IFBlcm1pc3Npb25TdHJpbmdzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbnMoQml0d2lzZVBlcm1pc3Npb25GbGFnc1twZXJtaXNzaW9uXSlcbiAgfVxuXG4gIGhhc0FsbChwZXJtaXNzaW9uczogUGVybWlzc2lvblN0cmluZ3NbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwZXJtaXNzaW9ucy5ldmVyeSgoa2V5KSA9PiB0aGlzLmhhcyhrZXkpKVxuICB9XG5cbiAgbWlzc2luZyhwZXJtaXNzaW9uczogUGVybWlzc2lvblN0cmluZ3NbXSk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICAgIHJldHVybiBwZXJtaXNzaW9ucy5maWx0ZXIoKGtleSkgPT4gIXRoaXMuaGFzKGtleSkpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJQZXJtaXNzaW9ucyIsIlRvZ2dsZUJpdGZpZWxkQmlnaW50IiwiY29uc3RydWN0b3IiLCJiaXRzIiwiQmlnSW50IiwiaGFzIiwicGVybWlzc2lvbiIsImNvbnRhaW5zIiwiQml0d2lzZVBlcm1pc3Npb25GbGFncyIsImhhc0FsbCIsInBlcm1pc3Npb25zIiwiZXZlcnkiLCJrZXkiLCJtaXNzaW5nIiwiZmlsdGVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdhQTs7O2VBQUFBOzs7dUJBSGtEO2dDQUMxQjtBQUU5QixJQUFBLEFBQU1BLGNBQU4sTUFBTUEsb0JBQW9CQyxvQ0FBb0I7SUFDbkRDLFlBQVlDLElBQXFCLENBQUU7UUFDakMsS0FBSyxDQUFDQyxPQUFPRDtJQUNmO0lBRUFFLElBQUlDLFVBQTZCLEVBQVc7UUFDMUMsT0FBTyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsNkJBQXNCLENBQUNGLFdBQVc7SUFDekQ7SUFFQUcsT0FBT0MsV0FBZ0MsRUFBVztRQUNoRCxPQUFPQSxZQUFZQyxLQUFLLENBQUMsQ0FBQ0MsTUFBUSxJQUFJLENBQUNQLEdBQUcsQ0FBQ087SUFDN0M7SUFFQUMsUUFBUUgsV0FBZ0MsRUFBdUI7UUFDN0QsT0FBT0EsWUFBWUksTUFBTSxDQUFDLENBQUNGLE1BQVEsQ0FBQyxJQUFJLENBQUNQLEdBQUcsQ0FBQ087SUFDL0M7QUFDRiJ9
@@ -0,0 +1,60 @@
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
+ ToggleBitfield: function() {
13
+ return ToggleBitfield;
14
+ },
15
+ ToggleBitfieldBigint: function() {
16
+ return ToggleBitfieldBigint;
17
+ }
18
+ });
19
+ let ToggleBitfield = class ToggleBitfield {
20
+ constructor(bitfield){
21
+ this.bitfield = 0;
22
+ if (bitfield) this.bitfield = bitfield;
23
+ }
24
+ /** Tests whether or not this bitfield has the permission requested. */ contains(bits) {
25
+ return Boolean(this.bitfield & bits);
26
+ }
27
+ /** Adds some bits to the bitfield. */ add(bits) {
28
+ this.bitfield |= bits;
29
+ return this;
30
+ }
31
+ /** Removes some bits from the bitfield. */ remove(bits) {
32
+ this.bitfield &= ~bits;
33
+ return this;
34
+ }
35
+ toJSON() {
36
+ return this.bitfield;
37
+ }
38
+ };
39
+ let ToggleBitfieldBigint = class ToggleBitfieldBigint {
40
+ constructor(bitfield){
41
+ this.bitfield = 0n;
42
+ if (bitfield) this.bitfield = bitfield;
43
+ }
44
+ /** Tests whether or not this bitfield has the permission requested. */ contains(bits) {
45
+ return Boolean(this.bitfield & bits);
46
+ }
47
+ /** Adds some bits to the bitfield. */ add(bits) {
48
+ this.bitfield |= bits;
49
+ return this;
50
+ }
51
+ /** Removes some bits from the bitfield. */ remove(bits) {
52
+ this.bitfield &= ~bits;
53
+ return this;
54
+ }
55
+ toJSON() {
56
+ return this.bitfield.toString();
57
+ }
58
+ };
59
+
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9Ub2dnbGVCaXRmaWVsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVG9nZ2xlQml0ZmllbGQge1xuICBiaXRmaWVsZCA9IDBcblxuICBjb25zdHJ1Y3RvcihiaXRmaWVsZD86IG51bWJlcikge1xuICAgIGlmIChiaXRmaWVsZCkgdGhpcy5iaXRmaWVsZCA9IGJpdGZpZWxkXG4gIH1cblxuICAvKiogVGVzdHMgd2hldGhlciBvciBub3QgdGhpcyBiaXRmaWVsZCBoYXMgdGhlIHBlcm1pc3Npb24gcmVxdWVzdGVkLiAqL1xuICBjb250YWlucyhiaXRzOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmJpdGZpZWxkICYgYml0cylcbiAgfVxuXG4gIC8qKiBBZGRzIHNvbWUgYml0cyB0byB0aGUgYml0ZmllbGQuICovXG4gIGFkZChiaXRzOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmJpdGZpZWxkIHw9IGJpdHNcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgc29tZSBiaXRzIGZyb20gdGhlIGJpdGZpZWxkLiAqL1xuICByZW1vdmUoYml0czogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5iaXRmaWVsZCAmPSB+Yml0c1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB0b0pTT04oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGJpdGZpZWxkID0gMG5cblxuICBjb25zdHJ1Y3RvcihiaXRmaWVsZD86IGJpZ2ludCkge1xuICAgIGlmIChiaXRmaWVsZCkgdGhpcy5iaXRmaWVsZCA9IGJpdGZpZWxkXG4gIH1cblxuICAvKiogVGVzdHMgd2hldGhlciBvciBub3QgdGhpcyBiaXRmaWVsZCBoYXMgdGhlIHBlcm1pc3Npb24gcmVxdWVzdGVkLiAqL1xuICBjb250YWlucyhiaXRzOiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmJpdGZpZWxkICYgYml0cylcbiAgfVxuXG4gIC8qKiBBZGRzIHNvbWUgYml0cyB0byB0aGUgYml0ZmllbGQuICovXG4gIGFkZChiaXRzOiBiaWdpbnQpOiB0aGlzIHtcbiAgICB0aGlzLmJpdGZpZWxkIHw9IGJpdHNcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgc29tZSBiaXRzIGZyb20gdGhlIGJpdGZpZWxkLiAqL1xuICByZW1vdmUoYml0czogYmlnaW50KTogdGhpcyB7XG4gICAgdGhpcy5iaXRmaWVsZCAmPSB+Yml0c1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZC50b1N0cmluZygpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJUb2dnbGVCaXRmaWVsZCIsIlRvZ2dsZUJpdGZpZWxkQmlnaW50IiwiY29uc3RydWN0b3IiLCJiaXRmaWVsZCIsImNvbnRhaW5zIiwiYml0cyIsIkJvb2xlYW4iLCJhZGQiLCJyZW1vdmUiLCJ0b0pTT04iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBYUEsY0FBYztlQUFkQTs7SUE2QkFDLG9CQUFvQjtlQUFwQkE7OztBQTdCTixJQUFBLEFBQU1ELGlCQUFOLE1BQU1BO0lBR1hFLFlBQVlDLFFBQWlCLENBQUU7YUFGL0JBLFdBQVc7UUFHVCxJQUFJQSxVQUFVLElBQUksQ0FBQ0EsUUFBUSxHQUFHQTtJQUNoQztJQUVBLHFFQUFxRSxHQUNyRUMsU0FBU0MsSUFBWSxFQUFXO1FBQzlCLE9BQU9DLFFBQVEsSUFBSSxDQUFDSCxRQUFRLEdBQUdFO0lBQ2pDO0lBRUEsb0NBQW9DLEdBQ3BDRSxJQUFJRixJQUFZLEVBQVE7UUFDdEIsSUFBSSxDQUFDRixRQUFRLElBQUlFO1FBQ2pCLE9BQU8sSUFBSTtJQUNiO0lBRUEseUNBQXlDLEdBQ3pDRyxPQUFPSCxJQUFZLEVBQVE7UUFDekIsSUFBSSxDQUFDRixRQUFRLElBQUksQ0FBQ0U7UUFDbEIsT0FBTyxJQUFJO0lBQ2I7SUFFQUksU0FBaUI7UUFDZixPQUFPLElBQUksQ0FBQ04sUUFBUTtJQUN0QjtBQUNGO0FBRU8sSUFBQSxBQUFNRix1QkFBTixNQUFNQTtJQUdYQyxZQUFZQyxRQUFpQixDQUFFO2FBRi9CQSxXQUFXLEVBQUU7UUFHWCxJQUFJQSxVQUFVLElBQUksQ0FBQ0EsUUFBUSxHQUFHQTtJQUNoQztJQUVBLHFFQUFxRSxHQUNyRUMsU0FBU0MsSUFBWSxFQUFXO1FBQzlCLE9BQU9DLFFBQVEsSUFBSSxDQUFDSCxRQUFRLEdBQUdFO0lBQ2pDO0lBRUEsb0NBQW9DLEdBQ3BDRSxJQUFJRixJQUFZLEVBQVE7UUFDdEIsSUFBSSxDQUFDRixRQUFRLElBQUlFO1FBQ2pCLE9BQU8sSUFBSTtJQUNiO0lBRUEseUNBQXlDLEdBQ3pDRyxPQUFPSCxJQUFZLEVBQVE7UUFDekIsSUFBSSxDQUFDRixRQUFRLElBQUksQ0FBQ0U7UUFDbEIsT0FBTyxJQUFJO0lBQ2I7SUFFQUksU0FBaUI7UUFDZixPQUFPLElBQUksQ0FBQ04sUUFBUSxDQUFDTyxRQUFRO0lBQy9CO0FBQ0YifQ==
@@ -0,0 +1,73 @@
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
+ ChannelToggle: function() {
13
+ return ChannelToggle;
14
+ },
15
+ ChannelToggles: function() {
16
+ return ChannelToggles;
17
+ }
18
+ });
19
+ const _ToggleBitfield = require("./ToggleBitfield.cjs");
20
+ const ChannelToggle = {
21
+ /** Whether the channel is nsfw */ nsfw: 1 << 0,
22
+ /** When a thread is locked, only users with `MANAGE_THREADS` can unarchive it */ locked: 1 << 1,
23
+ /** whether non-moderators can add other non-moderators to a thread; only available on private threads */ invitable: 1 << 2,
24
+ /** Whether the thread is archived */ archived: 1 << 3,
25
+ /** When a thread is created this will be true on that channel payload for the thread. */ newlyCreated: 1 << 4,
26
+ /** for group DM channels: whether the channel is managed by an application via the `gdm.join` OAuth2 scope */ managed: 1 << 5
27
+ };
28
+ let ChannelToggles = class ChannelToggles extends _ToggleBitfield.ToggleBitfield {
29
+ constructor(channelOrBitfield){
30
+ super();
31
+ if (typeof channelOrBitfield === 'number') this.bitfield = channelOrBitfield;
32
+ else {
33
+ const channel = channelOrBitfield;
34
+ if (channel.nsfw) this.add(ChannelToggle.nsfw);
35
+ if (channel.thread_metadata?.locked) this.add(ChannelToggle.locked);
36
+ if (channel.thread_metadata?.invitable) this.add(ChannelToggle.invitable);
37
+ if (channel.thread_metadata?.archived) this.add(ChannelToggle.archived);
38
+ if (channel.newly_created) this.add(ChannelToggle.newlyCreated);
39
+ if (channel.managed) this.add(ChannelToggle.managed);
40
+ }
41
+ }
42
+ /** Whether or not this channel is an nsfw channel. */ get nsfw() {
43
+ return this.has('nsfw');
44
+ }
45
+ /** Whether or not this thread channel is locked. */ get locked() {
46
+ return this.has('locked');
47
+ }
48
+ /** Whether or not this thread channel is invitable. */ get invitable() {
49
+ return this.has('invitable');
50
+ }
51
+ /** Whether or not this thread channel is archived. */ get archived() {
52
+ return this.has('archived');
53
+ }
54
+ /** Whether or not this thread channel is newly created. */ get newlyCreated() {
55
+ return this.has('newlyCreated');
56
+ }
57
+ get managed() {
58
+ return this.has('managed');
59
+ }
60
+ /** Checks whether or not the permissions exist in this */ has(permissions) {
61
+ if (!Array.isArray(permissions)) return super.contains(ChannelToggle[permissions]);
62
+ return super.contains(permissions.reduce((a, b)=>a |= ChannelToggle[b], 0));
63
+ }
64
+ /** Lists all the toggles for the role and whether or not each is true or false. */ list() {
65
+ const json = {};
66
+ for (const [key, value] of Object.entries(ChannelToggle)){
67
+ json[key] = super.contains(value);
68
+ }
69
+ return json;
70
+ }
71
+ };
72
+
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9jaGFubmVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZENoYW5uZWwgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi9Ub2dnbGVCaXRmaWVsZC5qcydcblxuZXhwb3J0IGNvbnN0IENoYW5uZWxUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBjaGFubmVsIGlzIG5zZncgKi9cbiAgbnNmdzogMSA8PCAwLFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkOiAxIDw8IDEsXG4gIC8qKiB3aGV0aGVyIG5vbi1tb2RlcmF0b3JzIGNhbiBhZGQgb3RoZXIgbm9uLW1vZGVyYXRvcnMgdG8gYSB0aHJlYWQ7IG9ubHkgYXZhaWxhYmxlIG9uIHByaXZhdGUgdGhyZWFkcyAqL1xuICBpbnZpdGFibGU6IDEgPDwgMixcbiAgLyoqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBhcmNoaXZlZCAqL1xuICBhcmNoaXZlZDogMSA8PCAzLFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBjcmVhdGVkIHRoaXMgd2lsbCBiZSB0cnVlIG9uIHRoYXQgY2hhbm5lbCBwYXlsb2FkIGZvciB0aGUgdGhyZWFkLiAqL1xuICBuZXdseUNyZWF0ZWQ6IDEgPDwgNCxcbiAgLyoqIGZvciBncm91cCBETSBjaGFubmVsczogd2hldGhlciB0aGUgY2hhbm5lbCBpcyBtYW5hZ2VkIGJ5IGFuIGFwcGxpY2F0aW9uIHZpYSB0aGUgYGdkbS5qb2luYCBPQXV0aDIgc2NvcGUgKi9cbiAgbWFuYWdlZDogMSA8PCA1LFxufVxuXG5leHBvcnQgY2xhc3MgQ2hhbm5lbFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZCB7XG4gIGNvbnN0cnVjdG9yKGNoYW5uZWxPckJpdGZpZWxkOiBEaXNjb3JkQ2hhbm5lbCB8IG51bWJlcikge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgY2hhbm5lbE9yQml0ZmllbGQgPT09ICdudW1iZXInKSB0aGlzLmJpdGZpZWxkID0gY2hhbm5lbE9yQml0ZmllbGRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGNoYW5uZWwgPSBjaGFubmVsT3JCaXRmaWVsZFxuICAgICAgaWYgKGNoYW5uZWwubnNmdykgdGhpcy5hZGQoQ2hhbm5lbFRvZ2dsZS5uc2Z3KVxuICAgICAgaWYgKGNoYW5uZWwudGhyZWFkX21ldGFkYXRhPy5sb2NrZWQpIHRoaXMuYWRkKENoYW5uZWxUb2dnbGUubG9ja2VkKVxuICAgICAgaWYgKGNoYW5uZWwudGhyZWFkX21ldGFkYXRhPy5pbnZpdGFibGUpIHRoaXMuYWRkKENoYW5uZWxUb2dnbGUuaW52aXRhYmxlKVxuICAgICAgaWYgKGNoYW5uZWwudGhyZWFkX21ldGFkYXRhPy5hcmNoaXZlZCkgdGhpcy5hZGQoQ2hhbm5lbFRvZ2dsZS5hcmNoaXZlZClcbiAgICAgIGlmIChjaGFubmVsLm5ld2x5X2NyZWF0ZWQpIHRoaXMuYWRkKENoYW5uZWxUb2dnbGUubmV3bHlDcmVhdGVkKVxuICAgICAgaWYgKGNoYW5uZWwubWFuYWdlZCkgdGhpcy5hZGQoQ2hhbm5lbFRvZ2dsZS5tYW5hZ2VkKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNoYW5uZWwgaXMgYW4gbnNmdyBjaGFubmVsLiAqL1xuICBnZXQgbnNmdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25zZncnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgdGhyZWFkIGNoYW5uZWwgaXMgbG9ja2VkLiAqL1xuICBnZXQgbG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbG9ja2VkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIHRocmVhZCBjaGFubmVsIGlzIGludml0YWJsZS4gKi9cbiAgZ2V0IGludml0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ludml0YWJsZScpXG4gIH1cblxuICAvKiogV2hldGhlciBvciBub3QgdGhpcyB0aHJlYWQgY2hhbm5lbCBpcyBhcmNoaXZlZC4gKi9cbiAgZ2V0IGFyY2hpdmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXJjaGl2ZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgdGhyZWFkIGNoYW5uZWwgaXMgbmV3bHkgY3JlYXRlZC4gKi9cbiAgZ2V0IG5ld2x5Q3JlYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld2x5Q3JlYXRlZCcpXG4gIH1cblxuICBnZXQgbWFuYWdlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21hbmFnZWQnKVxuICB9XG5cbiAgLyoqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVybWlzc2lvbnMgZXhpc3QgaW4gdGhpcyAqL1xuICBoYXMocGVybWlzc2lvbnM6IENoYW5uZWxUb2dnbGVLZXlzIHwgQ2hhbm5lbFRvZ2dsZUtleXNbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJtaXNzaW9ucykpIHJldHVybiBzdXBlci5jb250YWlucyhDaGFubmVsVG9nZ2xlW3Blcm1pc3Npb25zXSlcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IENoYW5uZWxUb2dnbGVbYl0pLCAwKSlcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPENoYW5uZWxUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENoYW5uZWxUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4ganNvbiBhcyBSZWNvcmQ8Q2hhbm5lbFRvZ2dsZUtleXMsIGJvb2xlYW4+XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ2hhbm5lbFRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgQ2hhbm5lbFRvZ2dsZVxuIl0sIm5hbWVzIjpbIkNoYW5uZWxUb2dnbGUiLCJDaGFubmVsVG9nZ2xlcyIsIm5zZnciLCJsb2NrZWQiLCJpbnZpdGFibGUiLCJhcmNoaXZlZCIsIm5ld2x5Q3JlYXRlZCIsIm1hbmFnZWQiLCJUb2dnbGVCaXRmaWVsZCIsImNvbnN0cnVjdG9yIiwiY2hhbm5lbE9yQml0ZmllbGQiLCJiaXRmaWVsZCIsImNoYW5uZWwiLCJhZGQiLCJ0aHJlYWRfbWV0YWRhdGEiLCJuZXdseV9jcmVhdGVkIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjb250YWlucyIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBR2FBLGFBQWE7ZUFBYkE7O0lBZUFDLGNBQWM7ZUFBZEE7OztnQ0FqQmtCO0FBRXhCLE1BQU1ELGdCQUFnQjtJQUMzQixnQ0FBZ0MsR0FDaENFLE1BQU0sS0FBSztJQUNYLCtFQUErRSxHQUMvRUMsUUFBUSxLQUFLO0lBQ2IsdUdBQXVHLEdBQ3ZHQyxXQUFXLEtBQUs7SUFDaEIsbUNBQW1DLEdBQ25DQyxVQUFVLEtBQUs7SUFDZix1RkFBdUYsR0FDdkZDLGNBQWMsS0FBSztJQUNuQiw0R0FBNEcsR0FDNUdDLFNBQVMsS0FBSztBQUNoQjtBQUVPLElBQUEsQUFBTU4saUJBQU4sTUFBTUEsdUJBQXVCTyw4QkFBYztJQUNoREMsWUFBWUMsaUJBQTBDLENBQUU7UUFDdEQsS0FBSztRQUVMLElBQUksT0FBT0Esc0JBQXNCLFVBQVUsSUFBSSxDQUFDQyxRQUFRLEdBQUdEO2FBQ3REO1lBQ0gsTUFBTUUsVUFBVUY7WUFDaEIsSUFBSUUsUUFBUVYsSUFBSSxFQUFFLElBQUksQ0FBQ1csR0FBRyxDQUFDYixjQUFjRSxJQUFJO1lBQzdDLElBQUlVLFFBQVFFLGVBQWUsRUFBRVgsUUFBUSxJQUFJLENBQUNVLEdBQUcsQ0FBQ2IsY0FBY0csTUFBTTtZQUNsRSxJQUFJUyxRQUFRRSxlQUFlLEVBQUVWLFdBQVcsSUFBSSxDQUFDUyxHQUFHLENBQUNiLGNBQWNJLFNBQVM7WUFDeEUsSUFBSVEsUUFBUUUsZUFBZSxFQUFFVCxVQUFVLElBQUksQ0FBQ1EsR0FBRyxDQUFDYixjQUFjSyxRQUFRO1lBQ3RFLElBQUlPLFFBQVFHLGFBQWEsRUFBRSxJQUFJLENBQUNGLEdBQUcsQ0FBQ2IsY0FBY00sWUFBWTtZQUM5RCxJQUFJTSxRQUFRTCxPQUFPLEVBQUUsSUFBSSxDQUFDTSxHQUFHLENBQUNiLGNBQWNPLE9BQU87UUFDckQ7SUFDRjtJQUVBLG9EQUFvRCxHQUNwRCxJQUFJTCxPQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQ2MsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsa0RBQWtELEdBQ2xELElBQUliLFNBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDYSxHQUFHLENBQUM7SUFDbEI7SUFFQSxxREFBcUQsR0FDckQsSUFBSVosWUFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUNZLEdBQUcsQ0FBQztJQUNsQjtJQUVBLG9EQUFvRCxHQUNwRCxJQUFJWCxXQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQ1csR0FBRyxDQUFDO0lBQ2xCO0lBRUEseURBQXlELEdBQ3pELElBQUlWLGVBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDVSxHQUFHLENBQUM7SUFDbEI7SUFFQSxJQUFJVCxVQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQ1MsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsd0RBQXdELEdBQ3hEQSxJQUFJQyxXQUFvRCxFQUFXO1FBQ2pFLElBQUksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDRixjQUFjLE9BQU8sS0FBSyxDQUFDRyxTQUFTcEIsYUFBYSxDQUFDaUIsWUFBWTtRQUVqRixPQUFPLEtBQUssQ0FBQ0csU0FBU0gsWUFBWUksTUFBTSxDQUFDLENBQUNDLEdBQUdDLElBQU9ELEtBQUt0QixhQUFhLENBQUN1QixFQUFFLEVBQUc7SUFDOUU7SUFFQSxpRkFBaUYsR0FDakZDLE9BQTJDO1FBQ3pDLE1BQU1DLE9BQWdDLENBQUM7UUFDdkMsS0FBSyxNQUFNLENBQUNDLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDN0IsZUFBZ0I7WUFDeER5QixJQUFJLENBQUNDLElBQUksR0FBRyxLQUFLLENBQUNOLFNBQVNPO1FBQzdCO1FBRUEsT0FBT0Y7SUFDVDtBQUNGIn0=
@@ -0,0 +1,63 @@
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
+ EmojiToggle: function() {
13
+ return EmojiToggle;
14
+ },
15
+ EmojiToggles: function() {
16
+ return EmojiToggles;
17
+ }
18
+ });
19
+ const _ToggleBitfield = require("./ToggleBitfield.cjs");
20
+ const EmojiToggle = {
21
+ /** Whether this emoji must be wrapped in colons */ requireColons: 1 << 0,
22
+ /** Whether this emoji is managed */ managed: 1 << 1,
23
+ /** Whether this emoji is animated */ animated: 1 << 2,
24
+ /** Whether this emoji can be used, may be false due to loss of Server Boosts */ available: 1 << 3
25
+ };
26
+ let EmojiToggles = class EmojiToggles extends _ToggleBitfield.ToggleBitfield {
27
+ constructor(roleOrTogglesInt){
28
+ super();
29
+ if (typeof roleOrTogglesInt === 'number') this.bitfield = roleOrTogglesInt;
30
+ else {
31
+ const role = roleOrTogglesInt;
32
+ if (role.require_colons) this.add(EmojiToggle.requireColons);
33
+ if (role.managed) this.add(EmojiToggle.managed);
34
+ if (role.animated) this.add(EmojiToggle.animated);
35
+ if (role.available) this.add(EmojiToggle.available);
36
+ }
37
+ }
38
+ /** Whether this emoji must be wrapped in colons */ get requireColons() {
39
+ return this.has('requireColons');
40
+ }
41
+ /** Whether this emoji is managed */ get managed() {
42
+ return this.has('managed');
43
+ }
44
+ /** Whether this emoji is animated */ get animated() {
45
+ return this.has('animated');
46
+ }
47
+ /** Whether this emoji can be used, may be false due to loss of Server Boosts */ get available() {
48
+ return this.has('available');
49
+ }
50
+ /** Checks whether or not the permissions exist in this */ has(permissions) {
51
+ if (!Array.isArray(permissions)) return super.contains(EmojiToggle[permissions]);
52
+ return super.contains(permissions.reduce((a, b)=>a |= EmojiToggle[b], 0));
53
+ }
54
+ /** Lists all the toggles for the role and whether or not each is true or false. */ list() {
55
+ const json = {};
56
+ for (const [key, value] of Object.entries(EmojiToggle)){
57
+ json[key] = super.contains(value);
58
+ }
59
+ return json;
60
+ }
61
+ };
62
+
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9lbW9qaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbW9qaSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5leHBvcnQgY29uc3QgRW1vamlUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgbXVzdCBiZSB3cmFwcGVkIGluIGNvbG9ucyAqL1xuICByZXF1aXJlQ29sb25zOiAxIDw8IDAsXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkOiAxIDw8IDEsXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgYW5pbWF0ZWQ6IDEgPDwgMixcbiAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBjYW4gYmUgdXNlZCwgbWF5IGJlIGZhbHNlIGR1ZSB0byBsb3NzIG9mIFNlcnZlciBCb29zdHMgKi9cbiAgYXZhaWxhYmxlOiAxIDw8IDMsXG59XG5cbmV4cG9ydCBjbGFzcyBFbW9qaVRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZCB7XG4gIGNvbnN0cnVjdG9yKHJvbGVPclRvZ2dsZXNJbnQ6IERpc2NvcmRFbW9qaSB8IG51bWJlcikge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2Ygcm9sZU9yVG9nZ2xlc0ludCA9PT0gJ251bWJlcicpIHRoaXMuYml0ZmllbGQgPSByb2xlT3JUb2dnbGVzSW50XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCByb2xlID0gcm9sZU9yVG9nZ2xlc0ludFxuXG4gICAgICBpZiAocm9sZS5yZXF1aXJlX2NvbG9ucykgdGhpcy5hZGQoRW1vamlUb2dnbGUucmVxdWlyZUNvbG9ucylcbiAgICAgIGlmIChyb2xlLm1hbmFnZWQpIHRoaXMuYWRkKEVtb2ppVG9nZ2xlLm1hbmFnZWQpXG4gICAgICBpZiAocm9sZS5hbmltYXRlZCkgdGhpcy5hZGQoRW1vamlUb2dnbGUuYW5pbWF0ZWQpXG4gICAgICBpZiAocm9sZS5hdmFpbGFibGUpIHRoaXMuYWRkKEVtb2ppVG9nZ2xlLmF2YWlsYWJsZSlcbiAgICB9XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgZ2V0IHJlcXVpcmVDb2xvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyZXF1aXJlQ29sb25zJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBnZXQgbWFuYWdlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21hbmFnZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBpcyBhbmltYXRlZCAqL1xuICBnZXQgYW5pbWF0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXZhaWxhYmxlJylcbiAgfVxuXG4gIC8qKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhlIHBlcm1pc3Npb25zIGV4aXN0IGluIHRoaXMgKi9cbiAgaGFzKHBlcm1pc3Npb25zOiBFbW9qaVRvZ2dsZUtleXMgfCBFbW9qaVRvZ2dsZUtleXNbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJtaXNzaW9ucykpIHJldHVybiBzdXBlci5jb250YWlucyhFbW9qaVRvZ2dsZVtwZXJtaXNzaW9uc10pXG5cbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMocGVybWlzc2lvbnMucmVkdWNlKChhLCBiKSA9PiAoYSB8PSBFbW9qaVRvZ2dsZVtiXSksIDApKVxuICB9XG5cbiAgLyoqIExpc3RzIGFsbCB0aGUgdG9nZ2xlcyBmb3IgdGhlIHJvbGUgYW5kIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgdHJ1ZSBvciBmYWxzZS4gKi9cbiAgbGlzdCgpOiBSZWNvcmQ8RW1vamlUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKEVtb2ppVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEVtb2ppVG9nZ2xlS2V5cywgYm9vbGVhbj5cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFbW9qaVRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgRW1vamlUb2dnbGVcbiJdLCJuYW1lcyI6WyJFbW9qaVRvZ2dsZSIsIkVtb2ppVG9nZ2xlcyIsInJlcXVpcmVDb2xvbnMiLCJtYW5hZ2VkIiwiYW5pbWF0ZWQiLCJhdmFpbGFibGUiLCJUb2dnbGVCaXRmaWVsZCIsImNvbnN0cnVjdG9yIiwicm9sZU9yVG9nZ2xlc0ludCIsImJpdGZpZWxkIiwicm9sZSIsInJlcXVpcmVfY29sb25zIiwiYWRkIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjb250YWlucyIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBR2FBLFdBQVc7ZUFBWEE7O0lBV0FDLFlBQVk7ZUFBWkE7OztnQ0Fia0I7QUFFeEIsTUFBTUQsY0FBYztJQUN6QixpREFBaUQsR0FDakRFLGVBQWUsS0FBSztJQUNwQixrQ0FBa0MsR0FDbENDLFNBQVMsS0FBSztJQUNkLG1DQUFtQyxHQUNuQ0MsVUFBVSxLQUFLO0lBQ2YsOEVBQThFLEdBQzlFQyxXQUFXLEtBQUs7QUFDbEI7QUFFTyxJQUFBLEFBQU1KLGVBQU4sTUFBTUEscUJBQXFCSyw4QkFBYztJQUM5Q0MsWUFBWUMsZ0JBQXVDLENBQUU7UUFDbkQsS0FBSztRQUVMLElBQUksT0FBT0EscUJBQXFCLFVBQVUsSUFBSSxDQUFDQyxRQUFRLEdBQUdEO2FBQ3JEO1lBQ0gsTUFBTUUsT0FBT0Y7WUFFYixJQUFJRSxLQUFLQyxjQUFjLEVBQUUsSUFBSSxDQUFDQyxHQUFHLENBQUNaLFlBQVlFLGFBQWE7WUFDM0QsSUFBSVEsS0FBS1AsT0FBTyxFQUFFLElBQUksQ0FBQ1MsR0FBRyxDQUFDWixZQUFZRyxPQUFPO1lBQzlDLElBQUlPLEtBQUtOLFFBQVEsRUFBRSxJQUFJLENBQUNRLEdBQUcsQ0FBQ1osWUFBWUksUUFBUTtZQUNoRCxJQUFJTSxLQUFLTCxTQUFTLEVBQUUsSUFBSSxDQUFDTyxHQUFHLENBQUNaLFlBQVlLLFNBQVM7UUFDcEQ7SUFDRjtJQUVBLGlEQUFpRCxHQUNqRCxJQUFJSCxnQkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUNXLEdBQUcsQ0FBQztJQUNsQjtJQUVBLGtDQUFrQyxHQUNsQyxJQUFJVixVQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQ1UsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsbUNBQW1DLEdBQ25DLElBQUlULFdBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDUyxHQUFHLENBQUM7SUFDbEI7SUFFQSw4RUFBOEUsR0FDOUUsSUFBSVIsWUFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUNRLEdBQUcsQ0FBQztJQUNsQjtJQUVBLHdEQUF3RCxHQUN4REEsSUFBSUMsV0FBZ0QsRUFBVztRQUM3RCxJQUFJLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0YsY0FBYyxPQUFPLEtBQUssQ0FBQ0csU0FBU2pCLFdBQVcsQ0FBQ2MsWUFBWTtRQUUvRSxPQUFPLEtBQUssQ0FBQ0csU0FBU0gsWUFBWUksTUFBTSxDQUFDLENBQUNDLEdBQUdDLElBQU9ELEtBQUtuQixXQUFXLENBQUNvQixFQUFFLEVBQUc7SUFDNUU7SUFFQSxpRkFBaUYsR0FDakZDLE9BQXlDO1FBQ3ZDLE1BQU1DLE9BQWdDLENBQUM7UUFDdkMsS0FBSyxNQUFNLENBQUNDLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDMUIsYUFBYztZQUN0RHNCLElBQUksQ0FBQ0MsSUFBSSxHQUFHLEtBQUssQ0FBQ04sU0FBU087UUFDN0I7UUFFQSxPQUFPRjtJQUNUO0FBQ0YifQ==
@@ -0,0 +1,257 @@
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
+ GuildToggle: function() {
13
+ return GuildToggle;
14
+ },
15
+ GuildToggles: function() {
16
+ return GuildToggles;
17
+ }
18
+ });
19
+ const _types = require("@discordeno/types");
20
+ const _ToggleBitfield = require("./ToggleBitfield.cjs");
21
+ const featureNames = [
22
+ 'animatedBanner',
23
+ 'animatedIcon',
24
+ 'applicationCommandPermissionsV2',
25
+ 'autoModeration',
26
+ 'banner',
27
+ 'community',
28
+ 'creatorMonetizableProvisional',
29
+ 'creatorStorePage',
30
+ 'developerSupportServer',
31
+ 'discoverable',
32
+ 'featurable',
33
+ 'invitesDisabled',
34
+ 'inviteSplash',
35
+ 'memberVerificationGateEnabled',
36
+ 'moreSoundboard',
37
+ 'moreStickers',
38
+ 'news',
39
+ 'partnered',
40
+ 'previewEnabled',
41
+ 'raidAlertsDisabled',
42
+ 'roleIcons',
43
+ 'roleSubscriptionsAvailableForPurchase',
44
+ 'roleSubscriptionsEnabled',
45
+ 'ticketedEventsEnabled',
46
+ 'vanityUrl',
47
+ 'verified',
48
+ 'vipRegions',
49
+ 'welcomeScreenEnabled'
50
+ ];
51
+ const GuildToggle = {
52
+ /** Whether the bot is the owner of the guild */ owner: 1n << 0n,
53
+ /** Whether the server widget is enabled */ widgetEnabled: 1n << 1n,
54
+ /** Whether this is considered a large guild */ large: 1n << 2n,
55
+ /** Whether this guild is unavailable due to an outage */ unavailable: 1n << 3n,
56
+ /** Whether the guild has the boost progress bar enabled */ premiumProgressBarEnabled: 1n << 4n,
57
+ // GUILD FEATURES ARE BELOW THIS
58
+ // MISSING VALUES IN THE BITFIELD: 26, 35+
59
+ /** Whether the guild has access to set an animated guild banner image */ animatedBanner: 1n << 11n,
60
+ /** Whether the guild has access to set an animated guild icon */ animatedIcon: 1n << 16n,
61
+ /** Whether the guild is using the old permissions configuration behavior */ applicationCommandPermissionsV2: 1n << 14n,
62
+ /** Whether the guild has set up auto moderation rules */ autoModeration: 1n << 28n,
63
+ /** Whether the guild has access to set a guild banner image */ banner: 1n << 17n,
64
+ /** Whether the guild can enable welcome screen, Membership Screening, stage channels and discovery, and receives community updates */ community: 1n << 10n,
65
+ /** Whether the guild has enabled monetization. */ creatorMonetizableProvisional: 1n << 31n,
66
+ /** Whether the guild has enabled the role subscription promo page. */ creatorStorePage: 1n << 32n,
67
+ /** Whether the guild has been set as a support server on the App Directory */ developerSupportServer: 1n << 30n,
68
+ /** Whether the guild is able to be discovered in the directory */ discoverable: 1n << 13n,
69
+ /** Whether the guild is able to be featured in the directory */ featurable: 1n << 15n,
70
+ /** Whether the guild has paused invites, preventing new users from joining */ invitesDisabled: 1n << 29n,
71
+ /** Whether the guild has access to set an invite splash background */ inviteSplash: 1n << 5n,
72
+ /** Whether the guild has enabled [Membership Screening](https://discord.com/developers/docs/resources/guild#membership-screening-object) */ memberVerificationGateEnabled: 1n << 19n,
73
+ /** Whether the guild has more soundboard sound slot */ moreSoundboard: 1n << 24n,
74
+ /** Whether the guild has increased custom sticker slots */ moreStickers: 1n << 23n,
75
+ /** Whether the guild has access to create news channels */ news: 1n << 12n,
76
+ /** Whether the guild is partnered */ partnered: 1n << 9n,
77
+ /** Whether the guild can be previewed before joining via Membership Screening or the directory */ previewEnabled: 1n << 20n,
78
+ /** Whether the guild has disabled alerts for join raids in the configured safety alerts channel */ raidAlertsDisabled: 1n << 22n,
79
+ /** Whether the guild is able to set role icons */ roleIcons: 1n << 27n,
80
+ /** Whether the guild has role subscriptions that can be purchased. */ roleSubscriptionsAvailableForPurchase: 1n << 33n,
81
+ /** Whether the guild has enabled role subscriptions. */ roleSubscriptionsEnabled: 1n << 34n,
82
+ /** Whether the guild has created soundboard sounds. */ soundboard: 1n << 25n,
83
+ /** Whether the guild has enabled ticketed events */ ticketedEventsEnabled: 1n << 21n,
84
+ /** Whether the guild has access to set a vanity URL */ vanityUrl: 1n << 7n,
85
+ /** Whether the guild is verified */ verified: 1n << 8n,
86
+ /** Whether the guild has access to set 384 kbps bitrate in voice (previously VIP voice servers) */ vipRegions: 1n << 6n,
87
+ /** Whether the guild has enabled the welcome screen */ welcomeScreenEnabled: 1n << 18n
88
+ };
89
+ let GuildToggles = class GuildToggles extends _ToggleBitfield.ToggleBitfieldBigint {
90
+ constructor(guildOrTogglesBigint){
91
+ super();
92
+ if (typeof guildOrTogglesBigint === 'bigint') this.bitfield = guildOrTogglesBigint;
93
+ else {
94
+ const guild = guildOrTogglesBigint;
95
+ // Cause discord be smart like that
96
+ if (!guild.features) guild.features = [];
97
+ if (guild.owner) this.add(GuildToggle.owner);
98
+ if (guild.widget_enabled) this.add(GuildToggle.widgetEnabled);
99
+ if (guild.large) this.add(GuildToggle.large);
100
+ if (guild.unavailable) this.add(GuildToggle.unavailable);
101
+ if (guild.premium_progress_bar_enabled) this.add(GuildToggle.premiumProgressBarEnabled);
102
+ if (guild.features.includes(_types.GuildFeatures.AnimatedBanner)) this.add(GuildToggle.animatedBanner);
103
+ if (guild.features.includes(_types.GuildFeatures.AnimatedIcon)) this.add(GuildToggle.animatedIcon);
104
+ if (guild.features.includes(_types.GuildFeatures.ApplicationCommandPermissionsV2)) this.add(GuildToggle.applicationCommandPermissionsV2);
105
+ if (guild.features.includes(_types.GuildFeatures.AutoModeration)) this.add(GuildToggle.autoModeration);
106
+ if (guild.features.includes(_types.GuildFeatures.Banner)) this.add(GuildToggle.banner);
107
+ if (guild.features.includes(_types.GuildFeatures.Community)) this.add(GuildToggle.community);
108
+ if (guild.features.includes(_types.GuildFeatures.CreatorMonetizableProvisional)) this.add(GuildToggle.creatorMonetizableProvisional);
109
+ if (guild.features.includes(_types.GuildFeatures.CreatorStorePage)) this.add(GuildToggle.creatorStorePage);
110
+ if (guild.features.includes(_types.GuildFeatures.DeveloperSupportServer)) this.add(GuildToggle.developerSupportServer);
111
+ if (guild.features.includes(_types.GuildFeatures.Discoverable)) this.add(GuildToggle.discoverable);
112
+ if (guild.features.includes(_types.GuildFeatures.Featurable)) this.add(GuildToggle.featurable);
113
+ if (guild.features.includes(_types.GuildFeatures.InvitesDisabled)) this.add(GuildToggle.invitesDisabled);
114
+ if (guild.features.includes(_types.GuildFeatures.InviteSplash)) this.add(GuildToggle.inviteSplash);
115
+ if (guild.features.includes(_types.GuildFeatures.MemberVerificationGateEnabled)) this.add(GuildToggle.memberVerificationGateEnabled);
116
+ if (guild.features.includes(_types.GuildFeatures.MoreSoundboard)) this.add(GuildToggle.moreSoundboard);
117
+ if (guild.features.includes(_types.GuildFeatures.MoreStickers)) this.add(GuildToggle.moreStickers);
118
+ if (guild.features.includes(_types.GuildFeatures.News)) this.add(GuildToggle.news);
119
+ if (guild.features.includes(_types.GuildFeatures.Partnered)) this.add(GuildToggle.partnered);
120
+ if (guild.features.includes(_types.GuildFeatures.PreviewEnabled)) this.add(GuildToggle.previewEnabled);
121
+ if (guild.features.includes(_types.GuildFeatures.RaidAlertsDisabled)) this.add(GuildToggle.raidAlertsDisabled);
122
+ if (guild.features.includes(_types.GuildFeatures.RoleIcons)) this.add(GuildToggle.roleIcons);
123
+ if (guild.features.includes(_types.GuildFeatures.RoleSubscriptionsAvailableForPurchase)) this.add(GuildToggle.roleSubscriptionsAvailableForPurchase);
124
+ if (guild.features.includes(_types.GuildFeatures.RoleSubscriptionsEnabled)) this.add(GuildToggle.roleSubscriptionsEnabled);
125
+ if (guild.features.includes(_types.GuildFeatures.Soundboard)) this.add(GuildToggle.soundboard);
126
+ if (guild.features.includes(_types.GuildFeatures.TicketedEventsEnabled)) this.add(GuildToggle.ticketedEventsEnabled);
127
+ if (guild.features.includes(_types.GuildFeatures.VanityUrl)) this.add(GuildToggle.vanityUrl);
128
+ if (guild.features.includes(_types.GuildFeatures.Verified)) this.add(GuildToggle.verified);
129
+ if (guild.features.includes(_types.GuildFeatures.VipRegions)) this.add(GuildToggle.vipRegions);
130
+ if (guild.features.includes(_types.GuildFeatures.WelcomeScreenEnabled)) this.add(GuildToggle.welcomeScreenEnabled);
131
+ }
132
+ }
133
+ get features() {
134
+ const features = [];
135
+ for (const key of Object.keys(GuildToggle)){
136
+ if (!featureNames.includes(key)) continue;
137
+ if (!super.contains(GuildToggle[key])) continue;
138
+ features.push(key);
139
+ }
140
+ return features;
141
+ }
142
+ /** Whether the bot is the owner of the guild */ get owner() {
143
+ return this.has('owner');
144
+ }
145
+ /** Whether the server widget is enabled */ get widgetEnabled() {
146
+ return this.has('widgetEnabled');
147
+ }
148
+ /** Whether this is considered a large guild */ get large() {
149
+ return this.has('large');
150
+ }
151
+ /** Whether this guild is unavailable due to an outage */ get unavailable() {
152
+ return this.has('unavailable');
153
+ }
154
+ /** Whether the guild has the boost progress bar enabled */ get premiumProgressBarEnabled() {
155
+ return this.has('premiumProgressBarEnabled');
156
+ }
157
+ /** Whether the guild has access to set an invite splash background */ get inviteSplash() {
158
+ return this.has('inviteSplash');
159
+ }
160
+ /** Whether the guild has access to set 384 kbps bitrate in voice (previously VIP voice servers) */ get vipRegions() {
161
+ return this.has('vipRegions');
162
+ }
163
+ /** Whether the guild has access to set a vanity URL */ get vanityUrl() {
164
+ return this.has('vanityUrl');
165
+ }
166
+ /** Whether the guild is verified */ get verified() {
167
+ return this.has('verified');
168
+ }
169
+ /** Whether the guild is partnered */ get partnered() {
170
+ return this.has('partnered');
171
+ }
172
+ /** Whether the guild can enable welcome screen, Membership Screening, stage channels and discovery, and receives community updates */ get community() {
173
+ return this.has('community');
174
+ }
175
+ /** Whether the Guild has been set as a support server on the App Directory */ get developerSupportServer() {
176
+ return this.has('developerSupportServer');
177
+ }
178
+ /** Whether the guild has access to set an animated guild banner image */ get animatedBanner() {
179
+ return this.has('animatedBanner');
180
+ }
181
+ /** Whether the guild has access to create news channels */ get news() {
182
+ return this.has('news');
183
+ }
184
+ /** Whether the guild is able to be discovered in the directory */ get discoverable() {
185
+ return this.has('discoverable');
186
+ }
187
+ /** Whether the guild is able to be featured in the directory */ get featurable() {
188
+ return this.has('featurable');
189
+ }
190
+ /** Whether the guild has access to set an animated guild icon */ get animatedIcon() {
191
+ return this.has('animatedIcon');
192
+ }
193
+ /** Whether the guild has access to set a guild banner image */ get banner() {
194
+ return this.has('banner');
195
+ }
196
+ /** Whether the guild has enabled the welcome screen */ get welcomeScreenEnabled() {
197
+ return this.has('welcomeScreenEnabled');
198
+ }
199
+ /** Whether the guild has enabled [Membership Screening](https://discord.com/developers/docs/resources/guild#membership-screening-object) */ get memberVerificationGateEnabled() {
200
+ return this.has('memberVerificationGateEnabled');
201
+ }
202
+ /** Whether the guild has more soundboard sound slot */ get moreSoundboard() {
203
+ return this.has('moreSoundboard');
204
+ }
205
+ /** Whether the guild can be previewed before joining via Membership Screening or the directory */ get previewEnabled() {
206
+ return this.has('previewEnabled');
207
+ }
208
+ /** Whether the guild has enabled ticketed events */ get ticketedEventsEnabled() {
209
+ return this.has('ticketedEventsEnabled');
210
+ }
211
+ /** Whether the guild has increased custom sticker slots */ get moreStickers() {
212
+ return this.has('moreStickers');
213
+ }
214
+ /** Whether the guild is able to set role icons */ get roleIcons() {
215
+ return this.has('roleIcons');
216
+ }
217
+ /** Whether the guild has set up auto moderation rules */ get autoModeration() {
218
+ return this.has('autoModeration');
219
+ }
220
+ /** Whether the guild has paused invites, preventing new users from joining */ get invitesDisabled() {
221
+ return this.has('invitesDisabled');
222
+ }
223
+ /** Whether the guild is using the old permissions configuration behavior */ get applicationCommandPermissionsV2() {
224
+ return this.has('applicationCommandPermissionsV2');
225
+ }
226
+ /** Whether the guild has enabled monetization. */ get creatorMonetizableProvisional() {
227
+ return this.has('creatorMonetizableProvisional');
228
+ }
229
+ /** Whether the guild has enabled the role subscription promo page. */ get creatorStorePage() {
230
+ return this.has('creatorStorePage');
231
+ }
232
+ /** Whether the guild has disabled alerts for join raids in the configured safety alerts channel */ get raidAlertsDisabled() {
233
+ return this.has('raidAlertsDisabled');
234
+ }
235
+ /** Whether the guild has role subscriptions that can be purchased. */ get roleSubscriptionsAvailableForPurchase() {
236
+ return this.has('roleSubscriptionsAvailableForPurchase');
237
+ }
238
+ /** Whether the guild has enabled role subscriptions. */ get roleSubscriptionsEnabled() {
239
+ return this.has('roleSubscriptionsEnabled');
240
+ }
241
+ /** Whether the guild has created soundboard sounds. */ get soundboard() {
242
+ return this.has('soundboard');
243
+ }
244
+ /** Checks whether or not the permissions exist in this */ has(permissions) {
245
+ if (!Array.isArray(permissions)) return super.contains(GuildToggle[permissions]);
246
+ return super.contains(permissions.reduce((a, b)=>a |= GuildToggle[b], 0n));
247
+ }
248
+ /** Lists all the toggles for the role and whether or not each is true or false. */ list() {
249
+ const json = {};
250
+ for (const [key, value] of Object.entries(GuildToggle)){
251
+ json[key] = super.contains(value);
252
+ }
253
+ return json;
254
+ }
255
+ };
256
+
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGRCaWdpbnQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBmZWF0dXJlTmFtZXMgPSBbXG4gICdhbmltYXRlZEJhbm5lcicsXG4gICdhbmltYXRlZEljb24nLFxuICAnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicsXG4gICdhdXRvTW9kZXJhdGlvbicsXG4gICdiYW5uZXInLFxuICAnY29tbXVuaXR5JyxcbiAgJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyxcbiAgJ2NyZWF0b3JTdG9yZVBhZ2UnLFxuICAnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicsXG4gICdkaXNjb3ZlcmFibGUnLFxuICAnZmVhdHVyYWJsZScsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdyYWlkQWxlcnRzRGlzYWJsZWQnLFxuICAncm9sZUljb25zJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyxcbiAgJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcsXG4gICd2YW5pdHlVcmwnLFxuICAndmVyaWZpZWQnLFxuICAndmlwUmVnaW9ucycsXG4gICd3ZWxjb21lU2NyZWVuRW5hYmxlZCcsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBHdWlsZFRvZ2dsZSA9IHtcbiAgLyoqIFdoZXRoZXIgdGhlIGJvdCBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIG93bmVyOiAxbiA8PCAwbixcbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICB3aWRnZXRFbmFibGVkOiAxbiA8PCAxbixcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgbGFyZ2U6IDFuIDw8IDJuLFxuICAvKiogV2hldGhlciB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgdW5hdmFpbGFibGU6IDFuIDw8IDNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkOiAxbiA8PCA0bixcblxuICAvLyBHVUlMRCBGRUFUVVJFUyBBUkUgQkVMT1cgVEhJU1xuICAvLyBNSVNTSU5HIFZBTFVFUyBJTiBUSEUgQklURklFTEQ6IDI2LCAzNStcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG59XG5cbmV4cG9ydCBjbGFzcyBHdWlsZFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGNvbnN0cnVjdG9yKGd1aWxkT3JUb2dnbGVzQmlnaW50OiBEaXNjb3JkR3VpbGQgfCBiaWdpbnQpIHtcbiAgICBzdXBlcigpXG5cbiAgICBpZiAodHlwZW9mIGd1aWxkT3JUb2dnbGVzQmlnaW50ID09PSAnYmlnaW50JykgdGhpcy5iaXRmaWVsZCA9IGd1aWxkT3JUb2dnbGVzQmlnaW50XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBndWlsZCA9IGd1aWxkT3JUb2dnbGVzQmlnaW50XG4gICAgICAvLyBDYXVzZSBkaXNjb3JkIGJlIHNtYXJ0IGxpa2UgdGhhdFxuICAgICAgaWYgKCFndWlsZC5mZWF0dXJlcykgZ3VpbGQuZmVhdHVyZXMgPSBbXVxuXG4gICAgICBpZiAoZ3VpbGQub3duZXIpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm93bmVyKVxuICAgICAgaWYgKGd1aWxkLndpZGdldF9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS53aWRnZXRFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmxhcmdlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5sYXJnZSlcbiAgICAgIGlmIChndWlsZC51bmF2YWlsYWJsZSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudW5hdmFpbGFibGUpXG4gICAgICBpZiAoZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZClcblxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRCYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEJhbm5lcilcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkFuaW1hdGVkSWNvbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFuaW1hdGVkSWNvbilcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXV0b01vZGVyYXRpb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hdXRvTW9kZXJhdGlvbilcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkJhbm5lcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmJhbm5lcilcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNvbW11bml0eSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmNvbW11bml0eSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5DcmVhdG9yU3RvcmVQYWdlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvclN0b3JlUGFnZSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5kZXZlbG9wZXJTdXBwb3J0U2VydmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGlzY292ZXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZGlzY292ZXJhYmxlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRmVhdHVyYWJsZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmZlYXR1cmFibGUpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5JbnZpdGVzRGlzYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5pbnZpdGVzRGlzYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5JbnZpdGVTcGxhc2gpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5pbnZpdGVTcGxhc2gpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5NZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVNvdW5kYm9hcmQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5tb3JlU291bmRib2FyZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1vcmVTdGlja2VycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTdGlja2VycylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk5ld3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5uZXdzKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUGFydG5lcmVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucGFydG5lcmVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUHJldmlld0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmV2aWV3RW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJhaWRBbGVydHNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJhaWRBbGVydHNEaXNhYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVJY29ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVJY29ucylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnNvdW5kYm9hcmQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5UaWNrZXRlZEV2ZW50c0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS50aWNrZXRlZEV2ZW50c0VuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WYW5pdHlVcmwpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS52YW5pdHlVcmwpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WZXJpZmllZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZlcmlmaWVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmlwUmVnaW9ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZpcFJlZ2lvbnMpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5XZWxjb21lU2NyZWVuRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndlbGNvbWVTY3JlZW5FbmFibGVkKVxuICAgIH1cbiAgfVxuXG4gIGdldCBmZWF0dXJlcygpOiBHdWlsZEZlYXR1cmVLZXlzW10ge1xuICAgIGNvbnN0IGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVLZXlzW10gPSBbXVxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKEd1aWxkVG9nZ2xlKSkge1xuICAgICAgaWYgKCFmZWF0dXJlTmFtZXMuaW5jbHVkZXMoa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpKSBjb250aW51ZVxuICAgICAgaWYgKCFzdXBlci5jb250YWlucyhHdWlsZFRvZ2dsZVtrZXkgYXMgR3VpbGRUb2dnbGVLZXlzXSkpIGNvbnRpbnVlXG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmVzXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgYm90IGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgZ2V0IG93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnb3duZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbGFyZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIGdldCB1bmF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3VuYXZhaWxhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gaW52aXRlIHNwbGFzaCBiYWNrZ3JvdW5kICovXG4gIGdldCBpbnZpdGVTcGxhc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVTcGxhc2gnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIGdldCB2aXBSZWdpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmlwUmVnaW9ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIGdldCB2ZXJpZmllZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ZlcmlmaWVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBwYXJ0bmVyZWQgKi9cbiAgZ2V0IHBhcnRuZXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BhcnRuZXJlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5JylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBHdWlsZCBoYXMgYmVlbiBzZXQgYXMgYSBzdXBwb3J0IHNlcnZlciBvbiB0aGUgQXBwIERpcmVjdG9yeSAqL1xuICBnZXQgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2RldmVsb3BlclN1cHBvcnRTZXJ2ZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBnZXQgYW5pbWF0ZWRCYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEJhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBkaXNjb3ZlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkaXNjb3ZlcmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZmVhdHVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZmVhdHVyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ZlYXR1cmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgZ2V0IGJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2Jhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGdldCB3ZWxjb21lU2NyZWVuRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dlbGNvbWVTY3JlZW5FbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgbW9yZSBzb3VuZGJvYXJkIHNvdW5kIHNsb3QgKi9cbiAgZ2V0IG1vcmVTb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVNvdW5kYm9hcmQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBiZSBwcmV2aWV3ZWQgYmVmb3JlIGpvaW5pbmcgdmlhIE1lbWJlcnNoaXAgU2NyZWVuaW5nIG9yIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IHByZXZpZXdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJldmlld0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgaW5jcmVhc2VkIGN1c3RvbSBzdGlja2VyIHNsb3RzICovXG4gIGdldCBtb3JlU3RpY2tlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtb3JlU3RpY2tlcnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgZ2V0IHJvbGVJY29ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVJY29ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBwYXVzZWQgaW52aXRlcywgcHJldmVudGluZyBuZXcgdXNlcnMgZnJvbSBqb2luaW5nICovXG4gIGdldCBpbnZpdGVzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHVzaW5nIHRoZSBvbGQgcGVybWlzc2lvbnMgY29uZmlndXJhdGlvbiBiZWhhdmlvciAqL1xuICBnZXQgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRoZSByb2xlIHN1YnNjcmlwdGlvbiBwcm9tbyBwYWdlLiAqL1xuICBnZXQgY3JlYXRvclN0b3JlUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JTdG9yZVBhZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBkaXNhYmxlZCBhbGVydHMgZm9yIGpvaW4gcmFpZHMgaW4gdGhlIGNvbmZpZ3VyZWQgc2FmZXR5IGFsZXJ0cyBjaGFubmVsICovXG4gIGdldCByYWlkQWxlcnRzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyYWlkQWxlcnRzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHJvbGUgc3Vic2NyaXB0aW9ucy4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGNyZWF0ZWQgc291bmRib2FyZCBzb3VuZHMuICovXG4gIGdldCBzb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc291bmRib2FyZCcpXG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKVxuXG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKHBlcm1pc3Npb25zLnJlZHVjZSgoYSwgYikgPT4gKGEgfD0gR3VpbGRUb2dnbGVbYl0pLCAwbikpXG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxHdWlsZFRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4ganNvbiBhcyBSZWNvcmQ8R3VpbGRUb2dnbGVLZXlzLCBib29sZWFuPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIEd1aWxkVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBHdWlsZFRvZ2dsZVxuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBmZWF0dXJlTmFtZXMpW251bWJlcl1cbiJdLCJuYW1lcyI6WyJHdWlsZFRvZ2dsZSIsIkd1aWxkVG9nZ2xlcyIsImZlYXR1cmVOYW1lcyIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsImxhcmdlIiwidW5hdmFpbGFibGUiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwiYW5pbWF0ZWRCYW5uZXIiLCJhbmltYXRlZEljb24iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiYXV0b01vZGVyYXRpb24iLCJiYW5uZXIiLCJjb21tdW5pdHkiLCJjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsImNyZWF0b3JTdG9yZVBhZ2UiLCJkZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiZGlzY292ZXJhYmxlIiwiZmVhdHVyYWJsZSIsImludml0ZXNEaXNhYmxlZCIsImludml0ZVNwbGFzaCIsIm1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwibW9yZVNvdW5kYm9hcmQiLCJtb3JlU3RpY2tlcnMiLCJuZXdzIiwicGFydG5lcmVkIiwicHJldmlld0VuYWJsZWQiLCJyYWlkQWxlcnRzRGlzYWJsZWQiLCJyb2xlSWNvbnMiLCJyb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwicm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwic291bmRib2FyZCIsInRpY2tldGVkRXZlbnRzRW5hYmxlZCIsInZhbml0eVVybCIsInZlcmlmaWVkIiwidmlwUmVnaW9ucyIsIndlbGNvbWVTY3JlZW5FbmFibGVkIiwiVG9nZ2xlQml0ZmllbGRCaWdpbnQiLCJjb25zdHJ1Y3RvciIsImd1aWxkT3JUb2dnbGVzQmlnaW50IiwiYml0ZmllbGQiLCJndWlsZCIsImZlYXR1cmVzIiwiYWRkIiwid2lkZ2V0X2VuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwiaW5jbHVkZXMiLCJHdWlsZEZlYXR1cmVzIiwiQW5pbWF0ZWRCYW5uZXIiLCJBbmltYXRlZEljb24iLCJBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiQXV0b01vZGVyYXRpb24iLCJCYW5uZXIiLCJDb21tdW5pdHkiLCJDcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsIkNyZWF0b3JTdG9yZVBhZ2UiLCJEZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiRGlzY292ZXJhYmxlIiwiRmVhdHVyYWJsZSIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwia2V5IiwiT2JqZWN0Iiwia2V5cyIsImNvbnRhaW5zIiwicHVzaCIsImhhcyIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVkdWNlIiwiYSIsImIiLCJsaXN0IiwianNvbiIsInZhbHVlIiwiZW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFrQ2FBLFdBQVc7ZUFBWEE7O0lBMkVBQyxZQUFZO2VB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
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./channel.cjs"), exports);
6
+ _export_star(require("./emoji.cjs"), exports);
7
+ _export_star(require("./guild.cjs"), exports);
8
+ _export_star(require("./member.cjs"), exports);
9
+ _export_star(require("./Permissions.cjs"), exports);
10
+ _export_star(require("./role.cjs"), exports);
11
+ _export_star(require("./ToggleBitfield.cjs"), exports);
12
+ _export_star(require("./user.cjs"), exports);
13
+ _export_star(require("./voice.cjs"), exports);
14
+ function _export_star(from, to) {
15
+ Object.keys(from).forEach(function(k) {
16
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
17
+ Object.defineProperty(to, k, {
18
+ enumerable: true,
19
+ get: function() {
20
+ return from[k];
21
+ }
22
+ });
23
+ }
24
+ });
25
+ return from;
26
+ }
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoYW5uZWwuanMnXG5leHBvcnQgKiBmcm9tICcuL2Vtb2ppLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9QZXJtaXNzaW9ucy5qcydcbmV4cG9ydCAqIGZyb20gJy4vcm9sZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vVG9nZ2xlQml0ZmllbGQuanMnXG5leHBvcnQgKiBmcm9tICcuL3VzZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3ZvaWNlLmpzJ1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==