@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,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createBot", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createBot;
9
+ }
10
+ });
11
+ const _gateway = require("@discordeno/gateway");
12
+ const _rest = require("@discordeno/rest");
13
+ const _utils = require("@discordeno/utils");
14
+ const _handlers = require("./handlers.cjs");
15
+ const _helpers = require("./helpers.cjs");
16
+ const _transformers = require("./transformers.cjs");
17
+ function createBot(options) {
18
+ if (!options.transformers) options.transformers = {};
19
+ if (!options.transformers.desiredProperties) options.transformers.desiredProperties = options.desiredProperties;
20
+ if (!options.rest) options.rest = {
21
+ token: options.token,
22
+ applicationId: options.applicationId
23
+ };
24
+ if (!options.rest.token) options.rest.token = options.token;
25
+ if (!options.rest.logger && options.loggerFactory) options.rest.logger = options.loggerFactory('REST');
26
+ if (!options.gateway) options.gateway = {
27
+ token: options.token
28
+ };
29
+ if (!options.gateway.token) options.gateway.token = options.token;
30
+ if (!options.gateway.events) options.gateway.events = {};
31
+ if (!options.gateway.logger && options.loggerFactory) options.gateway.logger = options.loggerFactory('GATEWAY');
32
+ if (!options.gateway.events.message) {
33
+ options.gateway.events.message = async (shard, data)=>{
34
+ // TRIGGER RAW EVENT
35
+ bot.events.raw?.(data, shard.id);
36
+ if (!data.t) return;
37
+ // RUN DISPATCH CHECK
38
+ await bot.events.dispatchRequirements?.(data, shard.id);
39
+ bot.handlers[data.t]?.(bot, data, shard.id);
40
+ };
41
+ }
42
+ options.gateway.intents = options.intents;
43
+ options.gateway.preferSnakeCase = true;
44
+ const id = (0, _utils.getBotIdFromToken)(options.token);
45
+ const bot = {
46
+ id,
47
+ applicationId: id,
48
+ transformers: (0, _transformers.createTransformers)(options.transformers),
49
+ handlers: (0, _handlers.createBotGatewayHandlers)(options.handlers ?? {}),
50
+ rest: (0, _rest.createRestManager)(options.rest),
51
+ gateway: (0, _gateway.createGatewayManager)(options.gateway),
52
+ events: options.events ?? {},
53
+ logger: options.loggerFactory ? options.loggerFactory('BOT') : (0, _utils.createLogger)({
54
+ name: 'BOT'
55
+ }),
56
+ // Set up helpers below.
57
+ helpers: {},
58
+ async start () {
59
+ if (!options.gateway?.connection) {
60
+ bot.gateway.connection = await bot.rest.getSessionInfo();
61
+ // Check for overrides in the configuration
62
+ if (!options.gateway?.url) bot.gateway.url = bot.gateway.connection.url;
63
+ if (!options.gateway?.totalShards) bot.gateway.totalShards = bot.gateway.connection.shards;
64
+ if (!options.gateway?.lastShardId && !options.gateway?.totalShards) bot.gateway.lastShardId = bot.gateway.connection.shards - 1;
65
+ }
66
+ if (!bot.gateway.resharding.getSessionInfo) {
67
+ bot.gateway.resharding.getSessionInfo = async ()=>{
68
+ return await bot.rest.getGatewayBot();
69
+ };
70
+ }
71
+ await bot.gateway.spawnShards();
72
+ },
73
+ async shutdown () {
74
+ return await bot.gateway.shutdown(_gateway.ShardSocketCloseCodes.Shutdown, 'User requested bot stop');
75
+ }
76
+ };
77
+ bot.helpers = (0, _helpers.createBotHelpers)(bot);
78
+ if (options.applicationId) bot.applicationId = bot.transformers.snowflake(options.applicationId);
79
+ return bot;
80
+ }
81
+
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCB0eXBlIEdhdGV3YXlIYW5kbGVycywgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IHR5cGUgVHJhbnNmb3JtZXJzLCBjcmVhdGVUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuXG4vLyBPdmVybG9hZHMgdG8gYXZvaWQgYWRkaW5nIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXMgaWYgd2UgYXJlIGdpdmVuIGEgY29tcGxldGUgb2JqZWN0XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb3Q8XG4gIFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+KG9wdGlvbnM6IENyZWF0ZUJvdE9wdGlvbnM8VFByb3BzLCBUQmVoYXZpb3I+KTogQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VFByb3BzPiwgVEJlaGF2aW9yPlxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPixcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz4sIFRCZWhhdmlvcj4ge1xuICB0eXBlIENvbXBsZXRlUHJvcHMgPSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz5cbiAgdHlwZSBUeXBlZEJvdCA9IEJvdDxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+XG5cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycykgb3B0aW9ucy50cmFuc2Zvcm1lcnMgPSB7fVxuICBpZiAoIW9wdGlvbnMudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzKSBvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcyA9IG9wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXNcbiAgaWYgKCFvcHRpb25zLnJlc3QpIG9wdGlvbnMucmVzdCA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4sIGFwcGxpY2F0aW9uSWQ6IG9wdGlvbnMuYXBwbGljYXRpb25JZCB9XG4gIGlmICghb3B0aW9ucy5yZXN0LnRva2VuKSBvcHRpb25zLnJlc3QudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5yZXN0LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMucmVzdC5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ1JFU1QnKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheSkgb3B0aW9ucy5nYXRld2F5ID0geyB0b2tlbjogb3B0aW9ucy50b2tlbiB9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LnRva2VuKSBvcHRpb25zLmdhdGV3YXkudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmV2ZW50cykgb3B0aW9ucy5nYXRld2F5LmV2ZW50cyA9IHt9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0dBVEVXQVknKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSkge1xuICAgIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSA9IGFzeW5jIChzaGFyZCwgZGF0YSkgPT4ge1xuICAgICAgLy8gVFJJR0dFUiBSQVcgRVZFTlRcbiAgICAgIGJvdC5ldmVudHMucmF3Py4oZGF0YSwgc2hhcmQuaWQpXG5cbiAgICAgIGlmICghZGF0YS50KSByZXR1cm5cblxuICAgICAgLy8gUlVOIERJU1BBVENIIENIRUNLXG4gICAgICBhd2FpdCBib3QuZXZlbnRzLmRpc3BhdGNoUmVxdWlyZW1lbnRzPy4oZGF0YSwgc2hhcmQuaWQpXG4gICAgICBib3QuaGFuZGxlcnNbZGF0YS50IGFzIEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXNdPy4oYm90LCBkYXRhLCBzaGFyZC5pZClcbiAgICB9XG4gIH1cblxuICBvcHRpb25zLmdhdGV3YXkuaW50ZW50cyA9IG9wdGlvbnMuaW50ZW50c1xuICBvcHRpb25zLmdhdGV3YXkucHJlZmVyU25ha2VDYXNlID0gdHJ1ZVxuXG4gIGNvbnN0IGlkID0gZ2V0Qm90SWRGcm9tVG9rZW4ob3B0aW9ucy50b2tlbilcblxuICBjb25zdCBib3Q6IFR5cGVkQm90ID0ge1xuICAgIGlkLFxuICAgIGFwcGxpY2F0aW9uSWQ6IGlkLFxuICAgIHRyYW5zZm9ybWVyczogY3JlYXRlVHJhbnNmb3JtZXJzKG9wdGlvbnMudHJhbnNmb3JtZXJzKSBhcyBUeXBlZEJvdFsndHJhbnNmb3JtZXJzJ10sXG4gICAgaGFuZGxlcnM6IGNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+KG9wdGlvbnMuaGFuZGxlcnMgPz8ge30pLFxuICAgIHJlc3Q6IGNyZWF0ZVJlc3RNYW5hZ2VyKG9wdGlvbnMucmVzdCBhcyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMpLFxuICAgIGdhdGV3YXk6IGNyZWF0ZUdhdGV3YXlNYW5hZ2VyKG9wdGlvbnMuZ2F0ZXdheSBhcyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMpLFxuICAgIGV2ZW50czogb3B0aW9ucy5ldmVudHMgPz8ge30sXG4gICAgbG9nZ2VyOiBvcHRpb25zLmxvZ2dlckZhY3RvcnkgPyBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0JPVCcpIDogY3JlYXRlTG9nZ2VyKHsgbmFtZTogJ0JPVCcgfSksXG4gICAgLy8gU2V0IHVwIGhlbHBlcnMgYmVsb3cuXG4gICAgaGVscGVyczoge30gYXMgQm90SGVscGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+LFxuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYm90LmdhdGV3YXkuY29ubmVjdGlvbiA9IGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKClcblxuICAgICAgICAvLyBDaGVjayBmb3Igb3ZlcnJpZGVzIGluIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py51cmwpIGJvdC5nYXRld2F5LnVybCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24udXJsXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS50b3RhbFNoYXJkcyA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/Lmxhc3RTaGFyZElkICYmICFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS5sYXN0U2hhcmRJZCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzIC0gMVxuICAgICAgfVxuXG4gICAgICBpZiAoIWJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8pIHtcbiAgICAgICAgYm90LmdhdGV3YXkucmVzaGFyZGluZy5nZXRTZXNzaW9uSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgYm90LmdhdGV3YXkuc3Bhd25TaGFyZHMoKVxuICAgIH0sXG5cbiAgICBhc3luYyBzaHV0ZG93bigpIHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QuZ2F0ZXdheS5zaHV0ZG93bihTaGFyZFNvY2tldENsb3NlQ29kZXMuU2h1dGRvd24sICdVc2VyIHJlcXVlc3RlZCBib3Qgc3RvcCcpXG4gICAgfSxcbiAgfVxuXG4gIGJvdC5oZWxwZXJzID0gY3JlYXRlQm90SGVscGVycyhib3QpXG4gIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uSWQpIGJvdC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9ucy5hcHBsaWNhdGlvbklkKVxuXG4gIHJldHVybiBib3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiB7XG4gIC8qKiBUaGUgYm90J3MgdG9rZW4uICovXG4gIHRva2VuOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIElkIG9mIHRoZSBib3QgaW5jYXNlIGl0IGlzIGFuIG9sZCBib3QgdG9rZW4uICovXG4gIGFwcGxpY2F0aW9uSWQ/OiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBib3QncyBpbnRlbnRzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIG1ha2UgYSBjb25uZWN0aW9uIHdpdGggZGlzY29yZHMgZ2F0ZXdheS4gKi9cbiAgaW50ZW50cz86IEdhdGV3YXlJbnRlbnRzXG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSByZXN0IG1hbmFnZXIuICovXG4gIHJlc3Q/OiBPbWl0PENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIEFueSBvcHRpb25zIHlvdSB3aXNoIHRvIHByb3ZpZGUgdG8gdGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheT86IE9taXQ8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPiAmIFBhcnRpYWw8UGljazxDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsICd0b2tlbic+PlxuICAvKiogVGhlIGV2ZW50IGhhbmRsZXJzLiAqL1xuICBldmVudHM/OiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+PlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVycz86IFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBoYW5kbGVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBoYW5kbGUgaW5jb21pbmcgZGlzY29yZCBwYXlsb2FkcyBmcm9tIGdhdGV3YXkgYW5kIGNhbGwgYW4gZXZlbnQuICovXG4gIGhhbmRsZXJzPzogUGFydGlhbDxSZWNvcmQ8R2F0ZXdheURpc3BhdGNoRXZlbnROYW1lcywgQm90R2F0ZXdheUhhbmRsZXI8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+Pj5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgYm90XG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBkZXNpcmVkUHJvcGVydGllcz86IFRQcm9wc1xuICAvKipcbiAgICogU2V0IHRoZSBkZXNpcmVkIHByb3BlcnRpZXMgYmVoYXZpb3IgZm9yIHVuZGVzaXJlZCBwcm9wZXJ0aWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5XG4gICAqL1xuICBkZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPzogVEJlaGF2aW9yXG4gIC8qKlxuICAgKiBUaGlzIGZhY3Rvcnkgd2lsbCBiZSBpbnZva2VkIHRvIGNyZWF0ZSB0aGUgbG9nZ2VyIGZvciBnYXRld2F5LCByZXN0IGFuZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSWYgbm90IHByb3ZpZGVkIHRoZSBkZWZhdWx0IGxvZ2dlciB3aWxsIGJlIHVzZWQgd2l0aCByZXN0IGFuZCBnYXRld2F5IHNoYXJpbmcgdGhlIHNhbWUgbG9nZ2VyXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkIDMgdGltZXMsIG9uZSB3aXRoIHRoZSBuYW1lIG9mIGBSRVNUYCwgb25lIHdpdGggYEdBVEVXQVlgIGFuZCB0aGUgdGhpcmQgb25lIHdpdGggbmFtZSBgQk9UYFxuICAgKi9cbiAgbG9nZ2VyRmFjdG9yeT86IChuYW1lOiAnUkVTVCcgfCAnR0FURVdBWScgfCAnQk9UJykgPT4gUGljazx0eXBlb2YgbG9nZ2VyLCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCc+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyA9IFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+IHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYm90LiAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBUaGUgYXBwbGljYXRpb24gaWQgb2YgdGhlIGJvdC4gVGhpcyBpcyB1c3VhbGx5IHRoZSBzYW1lIGFzIGlkIGJ1dCBpbiB0aGUgY2FzZSBvZiBvbGQgYm90cyBjYW4gYmUgZGlmZmVyZW50LiAqL1xuICBhcHBsaWNhdGlvbklkOiBiaWdpbnRcbiAgLyoqIFRoZSByZXN0IG1hbmFnZXIuICovXG4gIHJlc3Q6IFJlc3RNYW5hZ2VyXG4gIC8qKiBUaGUgZ2F0ZXdheSBtYW5hZ2VyLiAqL1xuICBnYXRld2F5OiBHYXRld2F5TWFuYWdlclxuICAvKiogVGhlIGV2ZW50IGhhbmRsZXJzLiAqL1xuICBldmVudHM6IFBhcnRpYWw8RXZlbnRIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj4+XG4gIC8qKiBBIGxvZ2dlciB1dGlsaXR5IHRvIG1ha2UgaXQgZWFzeSB0byBsb2cgbmljZSBhbmQgdXNlZnVsIHRoaW5ncyBpbiB0aGUgYm90IGNvZGUuICovXG4gIGxvZ2dlcjogUGljazx0eXBlb2YgbG9nZ2VyLCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCc+XG4gIC8qKiBUaGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIHRyYW5zZm9ybSBkaXNjb3JkIG9iamVjdHMgdG8gZGlzY29yZGVubyBzaGFwZWQgb2JqZWN0cy4gKi9cbiAgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+ICYge1xuICAgICRpbmZlcnJlZFR5cGVzOiB7XG4gICAgICBbSyBpbiBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXTogU2V0dXBEZXNpcmVkUHJvcHM8VHJhbnNmb3JtZXJzT2JqZWN0c1tLXSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgfVxuICB9XG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVyczogR2F0ZXdheUhhbmRsZXJzPFRQcm9wcywgVEJlaGF2aW9yPlxuICBoZWxwZXJzOiBCb3RIZWxwZXJzPFRQcm9wcywgVEJlaGF2aW9yPlxuICAvKiogU3RhcnQgdGhlIGJvdCBjb25uZWN0aW9uIHRvIHRoZSBnYXRld2F5LiAqL1xuICBzdGFydDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogU2h1dHMgZG93biBhbGwgdGhlIGJvdCBjb25uZWN0aW9ucyB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc2h1dGRvd246ICgpID0+IFByb21pc2U8dm9pZD5cbn1cblxuLyoqIEBpbnRlcm5hbCBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZSAqL1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxCb3QgPSBCb3Q8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7fSwgdHJ1ZT4sIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PlxuIl0sIm5hbWVzIjpbImNyZWF0ZUJvdCIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsInJlc3QiLCJ0b2tlbiIsImFwcGxpY2F0aW9uSWQiLCJsb2dnZXIiLCJsb2dnZXJGYWN0b3J5IiwiZ2F0ZXdheSIsImV2ZW50cyIsIm1lc3NhZ2UiLCJzaGFyZCIsImRhdGEiLCJib3QiLCJyYXciLCJpZCIsInQiLCJkaXNwYXRjaFJlcXVpcmVtZW50cyIsImhhbmRsZXJzIiwiaW50ZW50cyIsInByZWZlclNuYWtlQ2FzZSIsImdldEJvdElkRnJvbVRva2VuIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwiY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIiwiY3JlYXRlUmVzdE1hbmFnZXIiLCJjcmVhdGVHYXRld2F5TWFuYWdlciIsImNyZWF0ZUxvZ2dlciIsIm5hbWUiLCJoZWxwZXJzIiwic3RhcnQiLCJjb25uZWN0aW9uIiwiZ2V0U2Vzc2lvbkluZm8iLCJ1cmwiLCJ0b3RhbFNoYXJkcyIsInNoYXJkcyIsImxhc3RTaGFyZElkIiwicmVzaGFyZGluZyIsImdldEdhdGV3YXlCb3QiLCJzcGF3blNoYXJkcyIsInNodXRkb3duIiwiU2hhcmRTb2NrZXRDbG9zZUNvZGVzIiwiU2h1dGRvd24iLCJjcmVhdGVCb3RIZWxwZXJzIiwic25vd2ZsYWtlIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1DZ0JBOzs7ZUFBQUE7Ozt5QkFsQzRDO3NCQUUxQjt1QkFFMkI7MEJBUzBCO3lCQUNyQzs4QkFDSTtBQW1CL0MsU0FBU0EsVUFHZEMsT0FBNEM7SUFJNUMsSUFBSSxDQUFDQSxRQUFRQyxZQUFZLEVBQUVELFFBQVFDLFlBQVksR0FBRyxDQUFDO0lBQ25ELElBQUksQ0FBQ0QsUUFBUUMsWUFBWSxDQUFDQyxpQkFBaUIsRUFBRUYsUUFBUUMsWUFBWSxDQUFDQyxpQkFBaUIsR0FBR0YsUUFBUUUsaUJBQWlCO0lBQy9HLElBQUksQ0FBQ0YsUUFBUUcsSUFBSSxFQUFFSCxRQUFRRyxJQUFJLEdBQUc7UUFBRUMsT0FBT0osUUFBUUksS0FBSztRQUFFQyxlQUFlTCxRQUFRSyxhQUFhO0lBQUM7SUFDL0YsSUFBSSxDQUFDTCxRQUFRRyxJQUFJLENBQUNDLEtBQUssRUFBRUosUUFBUUcsSUFBSSxDQUFDQyxLQUFLLEdBQUdKLFFBQVFJLEtBQUs7SUFDM0QsSUFBSSxDQUFDSixRQUFRRyxJQUFJLENBQUNHLE1BQU0sSUFBSU4sUUFBUU8s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
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "commandOptionsParser", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return commandOptionsParser;
9
+ }
10
+ });
11
+ const _types = require("@discordeno/types");
12
+ function commandOptionsParser(__interaction, options) {
13
+ // This is necessary as typescript gets really confused when using __interaction alone, as it will say that 'data' does not exist despite it surely exist since we have the &
14
+ const interaction = __interaction;
15
+ if (!interaction.data) return {};
16
+ if (!options) options = interaction.data.options ?? [];
17
+ const args = {};
18
+ for (const option of options){
19
+ switch(option.type){
20
+ case _types.ApplicationCommandOptionTypes.SubCommandGroup:
21
+ case _types.ApplicationCommandOptionTypes.SubCommand:
22
+ args[option.name] = commandOptionsParser(interaction, option.options);
23
+ break;
24
+ case _types.ApplicationCommandOptionTypes.Channel:
25
+ args[option.name] = interaction.data.resolved?.channels?.get(BigInt(option.value));
26
+ break;
27
+ case _types.ApplicationCommandOptionTypes.Role:
28
+ args[option.name] = interaction.data.resolved?.roles?.get(BigInt(option.value));
29
+ break;
30
+ case _types.ApplicationCommandOptionTypes.User:
31
+ args[option.name] = {
32
+ user: interaction.data.resolved?.users?.get(BigInt(option.value)),
33
+ member: interaction.data.resolved?.members?.get(BigInt(option.value))
34
+ };
35
+ break;
36
+ case _types.ApplicationCommandOptionTypes.Attachment:
37
+ args[option.name] = interaction.data.resolved?.attachments?.get(BigInt(option.value));
38
+ break;
39
+ case _types.ApplicationCommandOptionTypes.Mentionable:
40
+ // Mentionable are roles or users
41
+ args[option.name] = interaction.data.resolved?.roles?.get(BigInt(option.value)) ?? {
42
+ user: interaction.data.resolved?.users?.get(BigInt(option.value)),
43
+ member: interaction.data.resolved?.members?.get(BigInt(option.value))
44
+ };
45
+ break;
46
+ default:
47
+ args[option.name] = option.value;
48
+ }
49
+ }
50
+ return args;
51
+ }
52
+
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kT3B0aW9uc1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBdHRhY2htZW50LFxuICBDaGFubmVsLFxuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBNZW1iZXIsXG4gIFJvbGUsXG4gIFNldHVwRGVzaXJlZFByb3BzLFxuICBUcmFuc2Zvcm1Qcm9wZXJ0eSxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFVzZXIsXG59IGZyb20gJy4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjb21tYW5kT3B0aW9uc1BhcnNlcjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgJiB7IGludGVyYWN0aW9uOiB7IGRhdGE6IHRydWUgfSB9LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuPihfX2ludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+LCBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW10pOiBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbjxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0eXBlc2NyaXB0IGdldHMgcmVhbGx5IGNvbmZ1c2VkIHdoZW4gdXNpbmcgX19pbnRlcmFjdGlvbiBhbG9uZSwgYXMgaXQgd2lsbCBzYXkgdGhhdCAnZGF0YScgZG9lcyBub3QgZXhpc3QgZGVzcGl0ZSBpdCBzdXJlbHkgZXhpc3Qgc2luY2Ugd2UgaGF2ZSB0aGUgJlxuICBjb25zdCBpbnRlcmFjdGlvbiA9IF9faW50ZXJhY3Rpb24gYXMgU2V0dXBEZXNpcmVkUHJvcHM8XG4gICAgSW50ZXJhY3Rpb24sXG4gICAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7IGludGVyYWN0aW9uOiB7IGRhdGE6IHRydWUgfSB9PixcbiAgICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICA+XG5cbiAgaWYgKCFpbnRlcmFjdGlvbi5kYXRhKSByZXR1cm4ge31cbiAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0gaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zID8/IFtdXG5cbiAgY29uc3QgYXJnczogUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzLCBUQmVoYXZpb3I+ID0ge31cblxuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgc3dpdGNoIChvcHRpb24udHlwZSkge1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXA6XG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb24sIG9wdGlvbi5vcHRpb25zKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuQ2hhbm5lbDpcbiAgICAgICAgYXJnc1tvcHRpb24ubmFtZV0gPSBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy5jaGFubmVscz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlJvbGU6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ucm9sZXM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5Vc2VyOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IHtcbiAgICAgICAgICB1c2VyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy51c2Vycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICAgIG1lbWJlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ubWVtYmVycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkF0dGFjaG1lbnQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8uYXR0YWNobWVudHM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5NZW50aW9uYWJsZTpcbiAgICAgICAgLy8gTWVudGlvbmFibGUgYXJlIHJvbGVzIG9yIHVzZXJzXG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gKGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnJvbGVzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbjxUUHJvcHMsIFRCZWhhdmlvcj5bc3RyaW5nXSkgPz8ge1xuICAgICAgICAgIHVzZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnVzZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICAgICAgbWVtYmVyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy5tZW1iZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gb3B0aW9uLnZhbHVlIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmdzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+IHtcbiAgW2tleTogc3RyaW5nXTogSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+XG59XG5cbmV4cG9ydCB0eXBlIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9XG4gIHwgc3RyaW5nXG4gIHwgbnVtYmVyXG4gIHwgYm9vbGVhblxuICB8IFRyYW5zZm9ybVByb3BlcnR5PEludGVyYWN0aW9uUmVzb2x2ZWRVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgfCBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgVHJhbnNmb3JtUHJvcGVydHk8Um9sZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgVHJhbnNmb3JtUHJvcGVydHk8QXR0YWNobWVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzLCBUQmVoYXZpb3I+XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25SZXNvbHZlZFVzZXIge1xuICB1c2VyOiBVc2VyXG4gIG1lbWJlcjogSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlclxufVxuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCA9IFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucycgfCAndGhyZWFkTWV0YWRhdGEnIHwgJ3BhcmVudElkJz5cblxuZXhwb3J0IHR5cGUgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlciA9IE9taXQ8TWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+XG4iXSwibmFtZXMiOlsiY29tbWFuZE9wdGlvbnNQYXJzZXIiLCJfX2ludGVyYWN0aW9uIiwib3B0aW9ucyIsImludGVyYWN0aW9uIiwiZGF0YSIsImFyZ3MiLCJvcHRpb24iLCJ0eXBlIiwiQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMiLCJTdWJDb21tYW5kR3JvdXAiLCJTdWJDb21tYW5kIiwibmFtZSIsIkNoYW5uZWwiLCJyZXNvbHZlZCIsImNoYW5uZWxzIiwiZ2V0IiwiQmlnSW50IiwidmFsdWUiLCJSb2xlIiwicm9sZXMiLCJVc2VyIiwidXNlciIsInVzZXJzIiwibWVtYmVyIiwibWVtYmVycyIsIkF0dGFjaG1lbnQiLCJhdHRhY2htZW50cyIsIk1lbnRpb25hYmxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdCZ0JBOzs7ZUFBQUE7Ozt1QkFoQjhCO0FBZ0J2QyxTQUFTQSxxQkFHZEMsYUFBZ0UsRUFBRUMsT0FBaUM7SUFDbkcsNktBQTZLO0lBQzdLLE1BQU1DLGNBQWNGO0lBTXBCLElBQUksQ0FBQ0UsWUFBWUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUMvQixJQUFJLENBQUNGLFNBQVNBLFVBQVVDLFlBQVlDLElBQUksQ0FBQ0YsT0FBTyxJQUFJLEVBQUU7SUFFdEQsTUFBTUcsT0FBbUQsQ0FBQztJQUUxRCxLQUFLLE1BQU1DLFVBQVVKLFFBQVM7UUFDNUIsT0FBUUksT0FBT0MsSUFBSTtZQUNqQixLQUFLQyxvQ0FBNkIsQ0FBQ0MsZUFBZTtZQUNsRCxLQUFLRCxvQ0FBNkIsQ0FBQ0UsVUFBVTtnQkFDM0NMLElBQUksQ0FBQ0MsT0FBT0ssSUFBSSxDQUFDLEdBQUdYLHFCQUFxQkcsYUFBYUcsT0FBT0osT0FBTztnQkFDcEU7WUFDRixLQUFLTSxvQ0FBNkIsQ0FBQ0ksT0FBTztnQkFDeENQLElBQUksQ0FBQ0MsT0FBT0ssSUFBSSxDQUFDLEdBQUdSLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFQyxVQUFVQyxJQUFJQyxPQUFPVixPQUFPVyxLQUFLO2dCQUNoRjtZQUNGLEtBQUtULG9DQUE2QixDQUFDVSxJQUFJO2dCQUNyQ2IsSUFBSSxDQUFDQyxPQUFPSyxJQUFJLENBQUMsR0FBR1IsWUFBWUMsSUFBSSxDQUFDUyxRQUFRLEVBQUVNLE9BQU9KLElBQUlDLE9BQU9WLE9BQU9XLEtBQUs7Z0JBQzdFO1lBQ0YsS0FBS1Qsb0NBQTZCLENBQUNZLElBQUk7Z0JBQ3JDZixJQUFJLENBQUNDLE9BQU9LLElBQUksQ0FBQyxHQUFHO29CQUNsQlUsTUFBTWxCLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFUyxPQUFPUCxJQUFJQyxPQUFPVixPQUFPVyxLQUFLO29CQUMvRE0sUUFBUXBCLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFVyxTQUFTVCxJQUFJQyxPQUFPVixPQUFPVyxLQUFLO2dCQUNyRTtnQkFDQTtZQUNGLEtBQUtULG9DQUE2QixDQUFDaUIsVUFBVTtnQkFDM0NwQixJQUFJLENBQUNDLE9BQU9LLElBQUksQ0FBQyxHQUFHUixZQUFZQyxJQUFJLENBQUNTLFFBQVEsRUFBRWEsYUFBYVgsSUFBSUMsT0FBT1YsT0FBT1csS0FBSztnQkFDbkY7WUFDRixLQUFLVCxvQ0FBNkIsQ0FBQ21CLFdBQVc7Z0JBQzVDLGlDQUFpQztnQkFDakN0QixJQUFJLENBQUNDLE9BQU9LLElBQUksQ0FBQyxHQUFHLEFBQUNSLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFTSxPQUFPSixJQUFJQyxPQUFPVixPQUFPVyxLQUFLLE1BQThEO29CQUMxSUksTUFBTWxCLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFUyxPQUFPUCxJQUFJQyxPQUFPVixPQUFPVyxLQUFLO29CQUMvRE0sUUFBUXBCLFlBQVlDLElBQUksQ0FBQ1MsUUFBUSxFQUFFVyxTQUFTVCxJQUFJQyxPQUFPVixPQUFPVyxLQUFLO2dCQUNyRTtnQkFDQTtZQUNGO2dCQUNFWixJQUFJLENBQUNDLE9BQU9LLElBQUksQ0FBQyxHQUFHTCxPQUFPVyxLQUFLO1FBQ3BDO0lBQ0Y7SUFFQSxPQUFPWjtBQUNUIn0=
@@ -0,0 +1,30 @@
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
+ CHANNEL_MENTION_REGEX: function() {
13
+ return CHANNEL_MENTION_REGEX;
14
+ },
15
+ CONTEXT_MENU_COMMANDS_NAME_REGEX: function() {
16
+ return CONTEXT_MENU_COMMANDS_NAME_REGEX;
17
+ },
18
+ DISCORD_SNOWFLAKE_REGEX: function() {
19
+ return DISCORD_SNOWFLAKE_REGEX;
20
+ },
21
+ SLASH_COMMANDS_NAME_REGEX: function() {
22
+ return SLASH_COMMANDS_NAME_REGEX;
23
+ }
24
+ });
25
+ const SLASH_COMMANDS_NAME_REGEX = /^[-_\p{L}\p{N}\p{sc=Deva}\p{sc=Thai}]{1,32}$/u;
26
+ const CONTEXT_MENU_COMMANDS_NAME_REGEX = /^[\w-\s]{1,32}$/;
27
+ const CHANNEL_MENTION_REGEX = /<#[0-9]+>/g;
28
+ const DISCORD_SNOWFLAKE_REGEX = /^(?<id>\d{17,19})$/;
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNMQVNIX0NPTU1BTkRTX05BTUVfUkVHRVggPSAvXlstX1xccHtMfVxccHtOfVxccHtzYz1EZXZhfVxccHtzYz1UaGFpfV17MSwzMn0kL3VcbmV4cG9ydCBjb25zdCBDT05URVhUX01FTlVfQ09NTUFORFNfTkFNRV9SRUdFWCA9IC9eW1xcdy1cXHNdezEsMzJ9JC9cbmV4cG9ydCBjb25zdCBDSEFOTkVMX01FTlRJT05fUkVHRVggPSAvPCNbMC05XSs+L2dcbmV4cG9ydCBjb25zdCBESVNDT1JEX1NOT1dGTEFLRV9SRUdFWCA9IC9eKD88aWQ+XFxkezE3LDE5fSkkL1xuIl0sIm5hbWVzIjpbIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsIkNPTlRFWFRfTUVOVV9DT01NQU5EU19OQU1FX1JFR0VYIiwiRElTQ09SRF9TTk9XRkxBS0VfUkVHRVgiLCJTTEFTSF9DT01NQU5EU19OQU1FX1JFR0VYIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVhQSxxQkFBcUI7ZUFBckJBOztJQURBQyxnQ0FBZ0M7ZUFBaENBOztJQUVBQyx1QkFBdUI7ZUFBdkJBOztJQUhBQyx5QkFBeUI7ZUFBekJBOzs7QUFBTixNQUFNQSw0QkFBNEI7QUFDbEMsTUFBTUYsbUNBQW1DO0FBQ3pDLE1BQU1ELHdCQUF3QjtBQUM5QixNQUFNRSwwQkFBMEIifQ==