@buape/carbon 0.12.0 → 0.14.0

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 (305) hide show
  1. package/dist/package.json +8 -7
  2. package/dist/src/abstracts/BaseCommand.d.ts +4 -0
  3. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  4. package/dist/src/abstracts/BaseCommand.js +23 -0
  5. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  6. package/dist/src/abstracts/BaseComponent.d.ts +2 -2
  7. package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
  8. package/dist/src/abstracts/BaseGuildChannel.d.ts +1 -2
  9. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  10. package/dist/src/abstracts/BaseGuildChannel.js.map +1 -1
  11. package/dist/src/abstracts/BaseInteraction.d.ts +52 -0
  12. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  13. package/dist/src/abstracts/BaseInteraction.js +44 -6
  14. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  15. package/dist/src/abstracts/BaseModalComponent.d.ts +4 -3
  16. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
  17. package/dist/src/abstracts/BaseModalComponent.js +1 -1
  18. package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
  19. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +1 -2
  20. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  21. package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
  22. package/dist/src/adapters/bun/index.d.ts +6 -5
  23. package/dist/src/adapters/bun/index.d.ts.map +1 -1
  24. package/dist/src/adapters/bun/index.js +2 -2
  25. package/dist/src/adapters/bun/index.js.map +1 -1
  26. package/dist/src/adapters/fetch/index.d.ts +4 -3
  27. package/dist/src/adapters/fetch/index.d.ts.map +1 -1
  28. package/dist/src/adapters/fetch/index.js +7 -2
  29. package/dist/src/adapters/fetch/index.js.map +1 -1
  30. package/dist/src/adapters/node/index.d.ts +4 -3
  31. package/dist/src/adapters/node/index.d.ts.map +1 -1
  32. package/dist/src/adapters/node/index.js +2 -2
  33. package/dist/src/adapters/node/index.js.map +1 -1
  34. package/dist/src/classes/Client.d.ts +24 -4
  35. package/dist/src/classes/Client.d.ts.map +1 -1
  36. package/dist/src/classes/Client.js +64 -15
  37. package/dist/src/classes/Client.js.map +1 -1
  38. package/dist/src/classes/Listener.d.ts +15 -2
  39. package/dist/src/classes/Listener.d.ts.map +1 -1
  40. package/dist/src/classes/Listener.js +27 -6
  41. package/dist/src/classes/Listener.js.map +1 -1
  42. package/dist/src/classes/Modal.d.ts +2 -3
  43. package/dist/src/classes/Modal.d.ts.map +1 -1
  44. package/dist/src/classes/Modal.js.map +1 -1
  45. package/dist/src/classes/RequestClient.d.ts +18 -2
  46. package/dist/src/classes/RequestClient.d.ts.map +1 -1
  47. package/dist/src/classes/RequestClient.js +268 -68
  48. package/dist/src/classes/RequestClient.js.map +1 -1
  49. package/dist/src/classes/components/Button.d.ts.map +1 -1
  50. package/dist/src/classes/components/Button.js.map +1 -1
  51. package/dist/src/classes/components/Checkbox.d.ts +12 -0
  52. package/dist/src/classes/components/Checkbox.d.ts.map +1 -0
  53. package/dist/src/classes/components/Checkbox.js +20 -0
  54. package/dist/src/classes/components/Checkbox.js.map +1 -0
  55. package/dist/src/classes/components/CheckboxGroup.d.ts +24 -0
  56. package/dist/src/classes/components/CheckboxGroup.d.ts.map +1 -0
  57. package/dist/src/classes/components/CheckboxGroup.js +37 -0
  58. package/dist/src/classes/components/CheckboxGroup.js.map +1 -0
  59. package/dist/src/classes/components/Container.d.ts +6 -2
  60. package/dist/src/classes/components/Container.d.ts.map +1 -1
  61. package/dist/src/classes/components/Container.js +11 -0
  62. package/dist/src/classes/components/Container.js.map +1 -1
  63. package/dist/src/classes/components/File.d.ts +2 -2
  64. package/dist/src/classes/components/File.d.ts.map +1 -1
  65. package/dist/src/classes/components/File.js +4 -1
  66. package/dist/src/classes/components/File.js.map +1 -1
  67. package/dist/src/classes/components/FileUpload.d.ts +23 -0
  68. package/dist/src/classes/components/FileUpload.d.ts.map +1 -0
  69. package/dist/src/classes/components/FileUpload.js +36 -0
  70. package/dist/src/classes/components/FileUpload.js.map +1 -0
  71. package/dist/src/classes/components/Label.d.ts +10 -6
  72. package/dist/src/classes/components/Label.d.ts.map +1 -1
  73. package/dist/src/classes/components/Label.js +1 -2
  74. package/dist/src/classes/components/Label.js.map +1 -1
  75. package/dist/src/classes/components/MediaGallery.d.ts +8 -13
  76. package/dist/src/classes/components/MediaGallery.d.ts.map +1 -1
  77. package/dist/src/classes/components/MediaGallery.js +5 -0
  78. package/dist/src/classes/components/MediaGallery.js.map +1 -1
  79. package/dist/src/classes/components/RadioGroup.d.ts +24 -0
  80. package/dist/src/classes/components/RadioGroup.d.ts.map +1 -0
  81. package/dist/src/classes/components/RadioGroup.js +33 -0
  82. package/dist/src/classes/components/RadioGroup.js.map +1 -0
  83. package/dist/src/classes/components/Row.d.ts.map +1 -1
  84. package/dist/src/classes/components/Row.js +2 -3
  85. package/dist/src/classes/components/Row.js.map +1 -1
  86. package/dist/src/classes/components/Section.d.ts +4 -3
  87. package/dist/src/classes/components/Section.d.ts.map +1 -1
  88. package/dist/src/classes/components/Section.js +22 -0
  89. package/dist/src/classes/components/Section.js.map +1 -1
  90. package/dist/src/classes/components/TextDisplay.d.ts +2 -2
  91. package/dist/src/classes/components/TextDisplay.d.ts.map +1 -1
  92. package/dist/src/classes/components/TextDisplay.js +3 -0
  93. package/dist/src/classes/components/TextDisplay.js.map +1 -1
  94. package/dist/src/classes/components/TextInput.d.ts +0 -1
  95. package/dist/src/classes/components/TextInput.d.ts.map +1 -1
  96. package/dist/src/classes/components/TextInput.js +0 -1
  97. package/dist/src/classes/components/TextInput.js.map +1 -1
  98. package/dist/src/classes/components/Thumbnail.d.ts +3 -2
  99. package/dist/src/classes/components/Thumbnail.d.ts.map +1 -1
  100. package/dist/src/classes/components/Thumbnail.js +11 -0
  101. package/dist/src/classes/components/Thumbnail.js.map +1 -1
  102. package/dist/src/errors/DiscordError.d.ts.map +1 -1
  103. package/dist/src/errors/DiscordError.js.map +1 -1
  104. package/dist/src/index.d.ts +10 -0
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +9 -0
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/internals/AutocompleteInteraction.d.ts +1 -1
  109. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  110. package/dist/src/internals/CommandInteraction.d.ts +4 -0
  111. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  112. package/dist/src/internals/CommandInteraction.js +32 -1
  113. package/dist/src/internals/CommandInteraction.js.map +1 -1
  114. package/dist/src/internals/ComponentHandler.d.ts +4 -10
  115. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  116. package/dist/src/internals/ComponentHandler.js +46 -38
  117. package/dist/src/internals/ComponentHandler.js.map +1 -1
  118. package/dist/src/internals/EmojiHandler.d.ts.map +1 -1
  119. package/dist/src/internals/EmojiHandler.js +0 -1
  120. package/dist/src/internals/EmojiHandler.js.map +1 -1
  121. package/dist/src/internals/EventHandler.d.ts +13 -2
  122. package/dist/src/internals/EventHandler.d.ts.map +1 -1
  123. package/dist/src/internals/EventHandler.js +14 -11
  124. package/dist/src/internals/EventHandler.js.map +1 -1
  125. package/dist/src/internals/EventQueue.d.ts +59 -0
  126. package/dist/src/internals/EventQueue.d.ts.map +1 -0
  127. package/dist/src/internals/EventQueue.js +131 -0
  128. package/dist/src/internals/EventQueue.js.map +1 -0
  129. package/dist/src/internals/FieldsHandler.d.ts +4 -1
  130. package/dist/src/internals/FieldsHandler.d.ts.map +1 -1
  131. package/dist/src/internals/FieldsHandler.js +26 -3
  132. package/dist/src/internals/FieldsHandler.js.map +1 -1
  133. package/dist/src/internals/OptionsHandler.d.ts +12 -2
  134. package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
  135. package/dist/src/internals/OptionsHandler.js +31 -4
  136. package/dist/src/internals/OptionsHandler.js.map +1 -1
  137. package/dist/src/internals/TemporaryListenerManager.d.ts +20 -0
  138. package/dist/src/internals/TemporaryListenerManager.d.ts.map +1 -0
  139. package/dist/src/internals/TemporaryListenerManager.js +59 -0
  140. package/dist/src/internals/TemporaryListenerManager.js.map +1 -0
  141. package/dist/src/permissions.d.ts +1 -0
  142. package/dist/src/permissions.d.ts.map +1 -1
  143. package/dist/src/plugins/client-manager/ClientManager.d.ts +151 -0
  144. package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -0
  145. package/dist/src/plugins/client-manager/ClientManager.js +253 -0
  146. package/dist/src/plugins/client-manager/ClientManager.js.map +1 -0
  147. package/dist/src/plugins/client-manager/index.d.ts +2 -0
  148. package/dist/src/plugins/client-manager/index.d.ts.map +1 -0
  149. package/dist/src/plugins/client-manager/index.js +2 -0
  150. package/dist/src/plugins/client-manager/index.js.map +1 -0
  151. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts.map +1 -1
  152. package/dist/src/plugins/command-data/CommandDataPlugin.js +3 -6
  153. package/dist/src/plugins/command-data/CommandDataPlugin.js.map +1 -1
  154. package/dist/src/plugins/gateway/BabyCache.d.ts +16 -0
  155. package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -0
  156. package/dist/src/plugins/gateway/BabyCache.js +53 -0
  157. package/dist/src/plugins/gateway/BabyCache.js.map +1 -0
  158. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +7 -2
  159. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
  160. package/dist/src/plugins/gateway/GatewayPlugin.js +137 -31
  161. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
  162. package/dist/src/plugins/gateway/InteractionEventListener.d.ts +8 -0
  163. package/dist/src/plugins/gateway/InteractionEventListener.d.ts.map +1 -0
  164. package/dist/src/plugins/gateway/InteractionEventListener.js +9 -0
  165. package/dist/src/plugins/gateway/InteractionEventListener.js.map +1 -0
  166. package/dist/src/plugins/gateway/types.d.ts +5 -0
  167. package/dist/src/plugins/gateway/types.d.ts.map +1 -1
  168. package/dist/src/plugins/gateway/types.js.map +1 -1
  169. package/dist/src/plugins/gateway/utils/heartbeat.d.ts +1 -0
  170. package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -1
  171. package/dist/src/plugins/gateway/utils/heartbeat.js +13 -8
  172. package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -1
  173. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +1 -1
  174. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
  175. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +10 -6
  176. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
  177. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +0 -1
  178. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -1
  179. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +0 -4
  180. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -1
  181. package/dist/src/plugins/gateway-forwarder/index.d.ts +1 -1
  182. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -1
  183. package/dist/src/plugins/gateway-forwarder/index.js +1 -1
  184. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -1
  185. package/dist/src/plugins/paginator/GoToPageModal.d.ts +1 -1
  186. package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -1
  187. package/dist/src/plugins/paginator/GoToPageModal.js +2 -2
  188. package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -1
  189. package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -1
  190. package/dist/src/plugins/paginator/Paginator.js +1 -1
  191. package/dist/src/plugins/paginator/Paginator.js.map +1 -1
  192. package/dist/src/plugins/paginator/index.d.ts +2 -0
  193. package/dist/src/plugins/paginator/index.d.ts.map +1 -1
  194. package/dist/src/plugins/paginator/index.js +2 -0
  195. package/dist/src/plugins/paginator/index.js.map +1 -1
  196. package/dist/src/plugins/sharding/index.d.ts +1 -1
  197. package/dist/src/plugins/sharding/index.js +1 -1
  198. package/dist/src/plugins/voice/GuildDeleteListener.d.ts +7 -0
  199. package/dist/src/plugins/voice/GuildDeleteListener.d.ts.map +1 -0
  200. package/dist/src/plugins/voice/GuildDeleteListener.js +11 -0
  201. package/dist/src/plugins/voice/GuildDeleteListener.js.map +1 -0
  202. package/dist/src/plugins/voice/VoicePlugin.d.ts +15 -0
  203. package/dist/src/plugins/voice/VoicePlugin.d.ts.map +1 -0
  204. package/dist/src/plugins/voice/VoicePlugin.js +54 -0
  205. package/dist/src/plugins/voice/VoicePlugin.js.map +1 -0
  206. package/dist/src/plugins/voice/index.d.ts +2 -0
  207. package/dist/src/plugins/voice/index.d.ts.map +1 -0
  208. package/dist/src/plugins/voice/index.js +2 -0
  209. package/dist/src/plugins/voice/index.js.map +1 -0
  210. package/dist/src/structures/DmChannel.d.ts +4 -0
  211. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  212. package/dist/src/structures/DmChannel.js +6 -0
  213. package/dist/src/structures/DmChannel.js.map +1 -1
  214. package/dist/src/structures/Emoji.d.ts +11 -0
  215. package/dist/src/structures/Emoji.d.ts.map +1 -1
  216. package/dist/src/structures/Emoji.js +20 -0
  217. package/dist/src/structures/Emoji.js.map +1 -1
  218. package/dist/src/structures/GroupDmChannel.d.ts +12 -1
  219. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
  220. package/dist/src/structures/GroupDmChannel.js +19 -4
  221. package/dist/src/structures/GroupDmChannel.js.map +1 -1
  222. package/dist/src/structures/Guild.d.ts +70 -4
  223. package/dist/src/structures/Guild.d.ts.map +1 -1
  224. package/dist/src/structures/Guild.js +152 -21
  225. package/dist/src/structures/Guild.js.map +1 -1
  226. package/dist/src/structures/GuildMember.d.ts +18 -6
  227. package/dist/src/structures/GuildMember.d.ts.map +1 -1
  228. package/dist/src/structures/GuildMember.js +24 -9
  229. package/dist/src/structures/GuildMember.js.map +1 -1
  230. package/dist/src/structures/GuildScheduledEvent.d.ts +121 -0
  231. package/dist/src/structures/GuildScheduledEvent.d.ts.map +1 -0
  232. package/dist/src/structures/GuildScheduledEvent.js +228 -0
  233. package/dist/src/structures/GuildScheduledEvent.js.map +1 -0
  234. package/dist/src/structures/GuildThreadChannel.d.ts +1 -1
  235. package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -1
  236. package/dist/src/structures/Role.d.ts +33 -12
  237. package/dist/src/structures/Role.d.ts.map +1 -1
  238. package/dist/src/structures/Role.js +58 -24
  239. package/dist/src/structures/Role.js.map +1 -1
  240. package/dist/src/structures/ThreadMember.d.ts.map +1 -1
  241. package/dist/src/structures/ThreadMember.js +0 -1
  242. package/dist/src/structures/ThreadMember.js.map +1 -1
  243. package/dist/src/structures/User.d.ts +17 -5
  244. package/dist/src/structures/User.d.ts.map +1 -1
  245. package/dist/src/structures/User.js +28 -12
  246. package/dist/src/structures/User.js.map +1 -1
  247. package/dist/src/structures/Webhook.d.ts +40 -19
  248. package/dist/src/structures/Webhook.d.ts.map +1 -1
  249. package/dist/src/structures/Webhook.js +70 -30
  250. package/dist/src/structures/Webhook.js.map +1 -1
  251. package/dist/src/types/index.d.ts +55 -2
  252. package/dist/src/types/index.d.ts.map +1 -1
  253. package/dist/src/types/index.js.map +1 -1
  254. package/dist/src/types/listeners.d.ts +13 -9
  255. package/dist/src/types/listeners.d.ts.map +1 -1
  256. package/dist/src/types/listeners.js +3 -1
  257. package/dist/src/types/listeners.js.map +1 -1
  258. package/dist/src/utils/LRUCache.d.ts +46 -0
  259. package/dist/src/utils/LRUCache.d.ts.map +1 -0
  260. package/dist/src/utils/LRUCache.js +78 -0
  261. package/dist/src/utils/LRUCache.js.map +1 -0
  262. package/dist/src/utils/cdn.d.ts +31 -0
  263. package/dist/src/utils/cdn.d.ts.map +1 -0
  264. package/dist/src/utils/cdn.js +18 -0
  265. package/dist/src/utils/cdn.js.map +1 -0
  266. package/dist/src/utils/customIdParser.d.ts.map +1 -1
  267. package/dist/src/utils/customIdParser.js +6 -2
  268. package/dist/src/utils/customIdParser.js.map +1 -1
  269. package/dist/src/utils/index.d.ts +1 -0
  270. package/dist/src/utils/index.d.ts.map +1 -1
  271. package/dist/src/utils/index.js +1 -0
  272. package/dist/src/utils/index.js.map +1 -1
  273. package/dist/src/utils/payload.d.ts.map +1 -1
  274. package/dist/src/utils/payload.js +2 -1
  275. package/dist/src/utils/payload.js.map +1 -1
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +8 -7
  278. package/dist/src/classes/ClientWithCaching.d.ts +0 -51
  279. package/dist/src/classes/ClientWithCaching.d.ts.map +0 -1
  280. package/dist/src/classes/ClientWithCaching.js +0 -108
  281. package/dist/src/classes/ClientWithCaching.js.map +0 -1
  282. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts +0 -62
  283. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts.map +0 -1
  284. package/dist/src/classes/components/ModalChannelSelectMenu.js +0 -73
  285. package/dist/src/classes/components/ModalChannelSelectMenu.js.map +0 -1
  286. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts +0 -58
  287. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts.map +0 -1
  288. package/dist/src/classes/components/ModalMentionableSelectMenu.js +0 -68
  289. package/dist/src/classes/components/ModalMentionableSelectMenu.js.map +0 -1
  290. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts +0 -58
  291. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts.map +0 -1
  292. package/dist/src/classes/components/ModalRoleSelectMenu.js +0 -68
  293. package/dist/src/classes/components/ModalRoleSelectMenu.js.map +0 -1
  294. package/dist/src/classes/components/ModalStringSelectMenu.d.ts +0 -58
  295. package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +0 -1
  296. package/dist/src/classes/components/ModalStringSelectMenu.js +0 -64
  297. package/dist/src/classes/components/ModalStringSelectMenu.js.map +0 -1
  298. package/dist/src/classes/components/ModalUserSelectMenu.d.ts +0 -58
  299. package/dist/src/classes/components/ModalUserSelectMenu.d.ts.map +0 -1
  300. package/dist/src/classes/components/ModalUserSelectMenu.js +0 -68
  301. package/dist/src/classes/components/ModalUserSelectMenu.js.map +0 -1
  302. package/dist/src/internals/Cache.d.ts +0 -76
  303. package/dist/src/internals/Cache.d.ts.map +0 -1
  304. package/dist/src/internals/Cache.js +0 -122
  305. package/dist/src/internals/Cache.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Listener.js","sourceRoot":"","sources":["../../../src/classes/Listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Listener.js","sourceRoot":"","sources":["../../../src/classes/Listener.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import type { APIModalInteractionResponseCallbackData } from "discord-api-types/v10";
2
1
  import type { ModalInteraction } from "../internals/ModalInteraction.js";
3
- import type { ComponentData, ComponentParserResult } from "../types/index.js";
2
+ import type { APIModalInteractionResponseCallbackData2, ComponentData, ComponentParserResult } from "../types/index.js";
4
3
  import type { Label } from "./components/Label.js";
5
4
  import type { TextDisplay } from "./components/TextDisplay.js";
6
5
  export declare abstract class Modal {
@@ -33,6 +32,6 @@ export declare abstract class Modal {
33
32
  */
34
33
  customIdParser: (id: string) => ComponentParserResult;
35
34
  abstract run(interaction: ModalInteraction, data: ComponentData): unknown | Promise<unknown>;
36
- serialize: () => APIModalInteractionResponseCallbackData;
35
+ serialize: () => APIModalInteractionResponseCallbackData2;
37
36
  }
38
37
  //# sourceMappingURL=Modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D,8BAAsB,KAAK;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,CAAK;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE,QAAQ,CAAC,GAAG,CACX,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,QAAO,uCAAuC,CAMtD;CACD"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EACX,wCAAwC,EACxC,aAAa,EACb,qBAAqB,EACrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D,8BAAsB,KAAK;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,CAAK;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE,QAAQ,CAAC,GAAG,CACX,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,QAAO,wCAAwC,CAMvD;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,OAAgB,KAAK;IAM1B;;OAEG;IACH,UAAU,GAA4B,EAAE,CAAA;IAUxC;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAOrE,SAAS,GAAG,GAA4C,EAAE;QACzD,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;SAC7D,CAAA;IACF,CAAC,CAAA;CACD"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,OAAgB,KAAK;IAM1B;;OAEG;IACH,UAAU,GAA4B,EAAE,CAAA;IAUxC;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAOrE,SAAS,GAAG,GAA6C,EAAE;QAC1D,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;SAC7D,CAAA;IACF,CAAC,CAAA;CACD"}
@@ -37,6 +37,11 @@ export type RequestClientOptions = {
37
37
  * @default true
38
38
  */
39
39
  queueRequests?: boolean;
40
+ /**
41
+ * The maximum amount of queued requests before throwing.
42
+ * @default 1000
43
+ */
44
+ maxQueueSize?: number;
40
45
  };
41
46
  export type QueuedRequest = {
42
47
  method: string;
@@ -45,6 +50,7 @@ export type QueuedRequest = {
45
50
  query?: Record<string, string | number | boolean>;
46
51
  resolve: (value?: unknown) => void;
47
52
  reject: (reason?: unknown) => void;
53
+ routeKey: string;
48
54
  };
49
55
  export type RequestData = {
50
56
  body?: unknown;
@@ -62,10 +68,12 @@ export declare class RequestClient {
62
68
  readonly options: RequestClientOptions;
63
69
  protected queue: QueuedRequest[];
64
70
  private token;
65
- private rateLimitResetTime;
66
71
  private abortController;
72
+ private processingQueue;
73
+ private routeBuckets;
74
+ private bucketStates;
75
+ private globalRateLimitUntil;
67
76
  constructor(token: string, options?: RequestClientOptions);
68
- private waitForRateLimit;
69
77
  get(path: string, query?: QueuedRequest["query"]): Promise<unknown>;
70
78
  post(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise<unknown>;
71
79
  patch(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise<unknown>;
@@ -74,6 +82,14 @@ export declare class RequestClient {
74
82
  private request;
75
83
  private executeRequest;
76
84
  private processQueue;
85
+ private waitForBucket;
86
+ private scheduleRateLimit;
87
+ private updateBucketFromHeaders;
88
+ private getBucketKey;
89
+ private getMajorParameter;
90
+ private getRouteKey;
91
+ clearQueue(): void;
92
+ get queueSize(): number;
77
93
  abortAllRequests(): void;
78
94
  }
79
95
  //# sourceMappingURL=RequestClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestClient.d.ts","sourceRoot":"","sources":["../../../src/classes/RequestClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAWD,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACjD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,qBAAa,aAAa;IACzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,CAAK;IACrC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,eAAe,CAA+B;gBAE1C,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;YAS3C,gBAAgB;IAOxB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIhD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIrE,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAKzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIpE,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;YAIjB,OAAO;YAoBP,cAAc;YA6Id,YAAY;IAsC1B,gBAAgB;CAMhB"}
1
+ {"version":3,"file":"RequestClient.d.ts","sourceRoot":"","sources":["../../../src/classes/RequestClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAYD,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACjD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,qBAAa,aAAa;IACzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,CAAK;IACrC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAOP;IACb,OAAO,CAAC,oBAAoB,CAAI;gBAEpB,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAQnD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIhD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIrE,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAKzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAIpE,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;YAKjB,OAAO;YA8DP,cAAc;YAwMd,YAAY;YA4BZ,aAAa;IAiB3B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,WAAW;IAqBnB,UAAU;IAIV,IAAI,SAAS,WAEZ;IAED,gBAAgB;CAMhB"}
@@ -6,7 +6,8 @@ const defaultOptions = {
6
6
  apiVersion: 10,
7
7
  userAgent: "DiscordBot (https://github.com/buape/carbon, v0.0.0)",
8
8
  timeout: 15000,
9
- queueRequests: true
9
+ queueRequests: true,
10
+ maxQueueSize: 1000
10
11
  };
11
12
  /**
12
13
  * This is the main class that handles making requests to the Discord API.
@@ -19,21 +20,17 @@ export class RequestClient {
19
20
  options;
20
21
  queue = [];
21
22
  token;
22
- rateLimitResetTime;
23
23
  abortController = null;
24
+ processingQueue = false;
25
+ routeBuckets = new Map();
26
+ bucketStates = new Map();
27
+ globalRateLimitUntil = 0;
24
28
  constructor(token, options) {
25
29
  this.token = token;
26
30
  this.options = {
27
31
  ...defaultOptions,
28
32
  ...options
29
33
  };
30
- this.rateLimitResetTime = 0;
31
- }
32
- async waitForRateLimit() {
33
- const delay = this.rateLimitResetTime - Date.now();
34
- if (delay > 0) {
35
- await new Promise((resolve) => setTimeout(resolve, delay));
36
- }
37
34
  }
38
35
  async get(path, query) {
39
36
  return await this.request("GET", path, { query });
@@ -51,14 +48,49 @@ export class RequestClient {
51
48
  return await this.request("DELETE", path, { data, query });
52
49
  }
53
50
  async request(method, path, { data, query }) {
51
+ const routeKey = this.getRouteKey(method, path);
54
52
  if (this.options.queueRequests) {
53
+ if (typeof this.options.maxQueueSize === "number" &&
54
+ this.options.maxQueueSize > 0 &&
55
+ this.queue.length >= this.options.maxQueueSize) {
56
+ const stats = this.queue.reduce((acc, item) => {
57
+ const count = (acc.counts.get(item.routeKey) ?? 0) + 1;
58
+ acc.counts.set(item.routeKey, count);
59
+ if (count > acc.topCount) {
60
+ acc.topCount = count;
61
+ acc.topRoute = item.routeKey;
62
+ }
63
+ return acc;
64
+ }, {
65
+ counts: new Map([[routeKey, 1]]),
66
+ topRoute: routeKey,
67
+ topCount: 1
68
+ });
69
+ throw new Error(`Request queue is full (${this.queue.length} / ${this.options.maxQueueSize}), you should implement a queuing system in your requests or raise the queue size in Carbon. Top offender: ${stats.topRoute}`);
70
+ }
55
71
  return new Promise((resolve, reject) => {
56
- this.queue.push({ method, path, data, query, resolve, reject });
72
+ this.queue.push({
73
+ method,
74
+ path,
75
+ data,
76
+ query,
77
+ resolve,
78
+ reject,
79
+ routeKey
80
+ });
57
81
  this.processQueue();
58
82
  });
59
83
  }
60
84
  return new Promise((resolve, reject) => {
61
- this.executeRequest({ method, path, data, query, resolve, reject })
85
+ this.executeRequest({
86
+ method,
87
+ path,
88
+ data,
89
+ query,
90
+ resolve,
91
+ reject,
92
+ routeKey
93
+ })
62
94
  .then(resolve)
63
95
  .catch((err) => {
64
96
  reject(err);
@@ -66,17 +98,19 @@ export class RequestClient {
66
98
  });
67
99
  }
68
100
  async executeRequest(request) {
69
- await this.waitForRateLimit();
70
- const { method, path, data, query } = request;
101
+ const { method, path, data, query, routeKey } = request;
102
+ await this.waitForBucket(routeKey);
71
103
  const queryString = query
72
104
  ? `?${Object.entries(query)
73
105
  .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
74
106
  .join("&")}`
75
107
  : "";
76
108
  const url = `${this.options.baseUrl}${path}${queryString}`;
77
- const headers = new Headers({
78
- Authorization: `${this.options.tokenHeader} ${this.token}`
79
- });
109
+ const headers = this.token === "webhook"
110
+ ? new Headers()
111
+ : new Headers({
112
+ Authorization: `${this.options.tokenHeader} ${this.token}`
113
+ });
80
114
  // Add custom headers if provided
81
115
  if (data?.headers) {
82
116
  for (const [key, value] of Object.entries(data.headers)) {
@@ -84,6 +118,9 @@ export class RequestClient {
84
118
  }
85
119
  }
86
120
  this.abortController = new AbortController();
121
+ const timeoutMs = typeof this.options.timeout === "number" && this.options.timeout > 0
122
+ ? this.options.timeout
123
+ : undefined;
87
124
  let body;
88
125
  if (data?.body &&
89
126
  typeof data.body === "object" &&
@@ -144,82 +181,245 @@ export class RequestClient {
144
181
  body = JSON.stringify(data.body);
145
182
  }
146
183
  }
147
- const response = await fetch(url, {
148
- method,
149
- headers,
150
- body,
151
- signal: this.abortController.signal
152
- });
153
- if (response.status === 429) {
154
- const responseBody = await response.json();
155
- const rateLimitError = new RateLimitError(response, responseBody);
156
- if (this.options.queueRequests) {
157
- const rateLimitResetTime = Number(response.headers.get("Retry-After")) * 1000;
158
- this.rateLimitResetTime = Date.now() + rateLimitResetTime;
159
- if (rateLimitError.scope === "global") {
160
- await new Promise((res) => setTimeout(res, rateLimitResetTime));
161
- this.queue.unshift(request);
162
- }
163
- }
164
- throw rateLimitError;
184
+ let timeoutId;
185
+ if (timeoutMs !== undefined) {
186
+ timeoutId = setTimeout(() => {
187
+ this.abortController?.abort();
188
+ }, timeoutMs);
165
189
  }
166
- if (response.status >= 400 && response.status < 600) {
167
- throw new DiscordError(response, await response.json());
190
+ let response;
191
+ try {
192
+ response = await fetch(url, {
193
+ method,
194
+ headers,
195
+ body,
196
+ signal: this.abortController.signal
197
+ });
168
198
  }
199
+ finally {
200
+ if (timeoutId) {
201
+ clearTimeout(timeoutId);
202
+ }
203
+ }
204
+ let rawBody = "";
205
+ let parsedBody;
169
206
  try {
170
- return await response.json();
207
+ rawBody = await response.text();
208
+ }
209
+ catch {
210
+ rawBody = "";
171
211
  }
172
- catch (err) {
173
- if (err instanceof SyntaxError) {
174
- // If there is no JSON
175
- return await response.text();
212
+ if (rawBody.length > 0) {
213
+ try {
214
+ parsedBody = JSON.parse(rawBody);
176
215
  }
177
- throw err;
216
+ catch {
217
+ parsedBody = undefined;
218
+ }
219
+ }
220
+ if (response.status === 429) {
221
+ const rateLimitBody = parsedBody &&
222
+ typeof parsedBody === "object" &&
223
+ "retry_after" in parsedBody &&
224
+ "message" in parsedBody
225
+ ? parsedBody
226
+ : {
227
+ message: typeof parsedBody === "string"
228
+ ? parsedBody
229
+ : rawBody || "You are being rate limited.",
230
+ retry_after: (() => {
231
+ const retryAfterHeader = response.headers.get("Retry-After");
232
+ if (retryAfterHeader &&
233
+ !Number.isNaN(Number(retryAfterHeader))) {
234
+ return Number(retryAfterHeader);
235
+ }
236
+ return 1;
237
+ })(),
238
+ global: response.headers.get("X-RateLimit-Scope") === "global"
239
+ };
240
+ const rateLimitError = new RateLimitError(response, rateLimitBody);
241
+ this.scheduleRateLimit(routeKey, path, rateLimitError);
242
+ throw rateLimitError;
178
243
  }
244
+ this.updateBucketFromHeaders(routeKey, path, response);
245
+ if (response.status >= 400 && response.status < 600) {
246
+ const discordErrorBody = parsedBody && typeof parsedBody === "object"
247
+ ? parsedBody
248
+ : {
249
+ message: rawBody || "Discord API error",
250
+ code: 0
251
+ };
252
+ throw new DiscordError(response, discordErrorBody);
253
+ }
254
+ if (parsedBody !== undefined)
255
+ return parsedBody;
256
+ if (rawBody.length > 0)
257
+ return rawBody;
258
+ return null;
179
259
  }
180
260
  async processQueue() {
181
- if (this.queue.length === 0)
182
- return;
183
- const queueItem = this.queue.shift();
184
- if (!queueItem)
261
+ if (this.processingQueue)
185
262
  return;
186
- const { method, path, data, query, resolve, reject } = queueItem;
187
- try {
188
- const result = await this.executeRequest({
189
- method,
190
- path,
191
- data,
192
- query,
193
- resolve,
194
- reject
195
- });
196
- resolve(result);
197
- }
198
- catch (error) {
199
- if (error instanceof RateLimitError &&
200
- this.options.queueRequests &&
201
- error.scope === "global") {
202
- this.queue.unshift(queueItem);
263
+ this.processingQueue = true;
264
+ while (this.queue.length > 0) {
265
+ const queueItem = this.queue.shift();
266
+ if (!queueItem)
267
+ continue;
268
+ const { resolve, reject } = queueItem;
269
+ try {
270
+ const result = await this.executeRequest(queueItem);
271
+ resolve(result);
203
272
  }
204
- else {
205
- if (error instanceof Error) {
273
+ catch (error) {
274
+ if (error instanceof RateLimitError && this.options.queueRequests) {
275
+ this.queue.unshift(queueItem);
276
+ }
277
+ else if (error instanceof Error) {
206
278
  reject(error);
207
279
  }
208
280
  else {
209
281
  reject(new Error("Unknown error during request", { cause: error }));
210
282
  }
211
283
  }
284
+ finally {
285
+ this.abortController = null;
286
+ }
212
287
  }
213
- finally {
214
- this.abortController = null;
288
+ this.processingQueue = false;
289
+ if (this.queue.length > 0) {
215
290
  this.processQueue();
216
291
  }
217
292
  }
293
+ async waitForBucket(routeKey) {
294
+ while (true) {
295
+ const now = Date.now();
296
+ if (this.globalRateLimitUntil > now) {
297
+ await sleep(this.globalRateLimitUntil - now);
298
+ continue;
299
+ }
300
+ const bucketKey = this.routeBuckets.get(routeKey) ?? routeKey;
301
+ const bucket = this.bucketStates.get(bucketKey);
302
+ if (bucket && bucket.delayUntil > now) {
303
+ await sleep(bucket.delayUntil - now);
304
+ continue;
305
+ }
306
+ break;
307
+ }
308
+ }
309
+ scheduleRateLimit(routeKey, path, error) {
310
+ const bucketKey = error.bucket
311
+ ? this.getBucketKey(routeKey, path, error.bucket)
312
+ : (this.routeBuckets.get(routeKey) ?? routeKey);
313
+ const waitTime = Math.max(0, Math.ceil(error.retryAfter * 1000));
314
+ const now = Date.now();
315
+ const bucket = this.bucketStates.get(bucketKey) ?? {
316
+ delayUntil: 0,
317
+ extraBackoff: 0,
318
+ remaining: 0
319
+ };
320
+ const existingDelayPassed = bucket.delayUntil <= now;
321
+ const extraBackoff = existingDelayPassed
322
+ ? Math.min(bucket.extraBackoff ? bucket.extraBackoff * 2 : 1000, 60_000)
323
+ : (bucket.extraBackoff ?? 0);
324
+ const nextAvailable = now + waitTime + extraBackoff;
325
+ this.bucketStates.set(bucketKey, {
326
+ delayUntil: nextAvailable,
327
+ extraBackoff,
328
+ remaining: 0
329
+ });
330
+ this.routeBuckets.set(routeKey, bucketKey);
331
+ if (error.scope === "global") {
332
+ this.globalRateLimitUntil = nextAvailable;
333
+ }
334
+ }
335
+ updateBucketFromHeaders(routeKey, path, response) {
336
+ const bucketId = response.headers.get("X-RateLimit-Bucket");
337
+ const remainingRaw = response.headers.get("X-RateLimit-Remaining");
338
+ const resetAfterRaw = response.headers.get("X-RateLimit-Reset-After");
339
+ const hasInfo = !!bucketId || !!remainingRaw || !!resetAfterRaw;
340
+ if (!hasInfo)
341
+ return;
342
+ const key = bucketId
343
+ ? this.getBucketKey(routeKey, path, bucketId)
344
+ : (this.routeBuckets.get(routeKey) ?? routeKey);
345
+ if (bucketId)
346
+ this.routeBuckets.set(routeKey, key);
347
+ const remaining = remainingRaw ? Number(remainingRaw) : undefined;
348
+ const resetAfter = resetAfterRaw ? Number(resetAfterRaw) * 1000 : undefined;
349
+ const now = Date.now();
350
+ const bucket = this.bucketStates.get(key) ?? {
351
+ delayUntil: 0,
352
+ extraBackoff: 0,
353
+ remaining: 1
354
+ };
355
+ if (typeof remaining === "number" && !Number.isNaN(remaining)) {
356
+ bucket.remaining = remaining;
357
+ }
358
+ if (typeof resetAfter === "number" &&
359
+ !Number.isNaN(resetAfter) &&
360
+ bucket.remaining <= 0) {
361
+ bucket.delayUntil = now + resetAfter;
362
+ }
363
+ else if (bucket.remaining > 0) {
364
+ bucket.delayUntil = 0;
365
+ }
366
+ bucket.extraBackoff = 0;
367
+ this.bucketStates.set(key, bucket);
368
+ }
369
+ getBucketKey(routeKey, path, bucketId) {
370
+ if (!bucketId)
371
+ return routeKey;
372
+ const major = this.getMajorParameter(path);
373
+ return major ? `${bucketId}:${major}` : bucketId;
374
+ }
375
+ getMajorParameter(path) {
376
+ const segments = path.split("/");
377
+ for (let index = 0; index < segments.length; index += 1) {
378
+ const segment = segments[index];
379
+ const prev = segments[index - 1];
380
+ if (prev === "channels" || prev === "guilds") {
381
+ return segment;
382
+ }
383
+ if (prev === "webhooks") {
384
+ const webhookToken = segments[index + 1];
385
+ return webhookToken ? `${segment}/${webhookToken}` : segment;
386
+ }
387
+ }
388
+ return null;
389
+ }
390
+ getRouteKey(method, path) {
391
+ const segments = path.split("/");
392
+ const normalized = segments
393
+ .map((segment, index) => {
394
+ if (!/^\d{16,}$/.test(segment))
395
+ return segment;
396
+ const prev = segments[index - 1];
397
+ if (prev && ["channels", "guilds"].includes(prev)) {
398
+ return segment;
399
+ }
400
+ if (prev === "webhooks") {
401
+ return segment;
402
+ }
403
+ if (segments[index - 2] === "webhooks") {
404
+ return segment;
405
+ }
406
+ return ":id";
407
+ })
408
+ .join("/");
409
+ return `${method}:${normalized}`;
410
+ }
411
+ clearQueue() {
412
+ this.queue = [];
413
+ }
414
+ get queueSize() {
415
+ return this.queue.length;
416
+ }
218
417
  abortAllRequests() {
219
418
  if (this.abortController) {
220
419
  this.abortController.abort();
221
420
  }
222
- this.queue = [];
421
+ this.clearQueue();
223
422
  }
224
423
  }
424
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, Math.max(ms, 0)));
225
425
  //# sourceMappingURL=RequestClient.js.map