dfx 0.51.0 → 0.51.2

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 (335) hide show
  1. package/Cache/driver.d.ts +17 -16
  2. package/Cache/driver.d.ts.map +1 -1
  3. package/Cache/driver.js +10 -2
  4. package/Cache/driver.js.map +1 -1
  5. package/Cache/memory.d.ts +3 -3
  6. package/Cache/memory.d.ts.map +1 -1
  7. package/Cache/memory.js +55 -45
  8. package/Cache/memory.js.map +1 -1
  9. package/Cache/memoryTTL.d.ts +7 -6
  10. package/Cache/memoryTTL.d.ts.map +1 -1
  11. package/Cache/memoryTTL.js +126 -118
  12. package/Cache/memoryTTL.js.map +1 -1
  13. package/Cache/prelude.d.ts +53 -47
  14. package/Cache/prelude.d.ts.map +1 -1
  15. package/Cache/prelude.js +125 -96
  16. package/Cache/prelude.js.map +1 -1
  17. package/Cache.d.ts +33 -32
  18. package/Cache.d.ts.map +1 -1
  19. package/Cache.js +137 -65
  20. package/Cache.js.map +1 -1
  21. package/DiscordConfig.d.ts +26 -20
  22. package/DiscordConfig.d.ts.map +1 -1
  23. package/DiscordConfig.js +43 -25
  24. package/DiscordConfig.js.map +1 -1
  25. package/DiscordGateway/DiscordWS.d.ts +17 -14
  26. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  27. package/DiscordGateway/DiscordWS.js +49 -30
  28. package/DiscordGateway/DiscordWS.js.map +1 -1
  29. package/DiscordGateway/Shard/heartbeats.d.ts +7 -3
  30. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  31. package/DiscordGateway/Shard/heartbeats.js +28 -18
  32. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  33. package/DiscordGateway/Shard/identify.d.ts +10 -8
  34. package/DiscordGateway/Shard/identify.d.ts.map +1 -1
  35. package/DiscordGateway/Shard/identify.js +41 -24
  36. package/DiscordGateway/Shard/identify.js.map +1 -1
  37. package/DiscordGateway/Shard/invalidSession.d.ts +6 -3
  38. package/DiscordGateway/Shard/invalidSession.d.ts.map +1 -1
  39. package/DiscordGateway/Shard/invalidSession.js +14 -5
  40. package/DiscordGateway/Shard/invalidSession.js.map +1 -1
  41. package/DiscordGateway/Shard/sendEvents.d.ts +1 -1
  42. package/DiscordGateway/Shard/sendEvents.d.ts.map +1 -1
  43. package/DiscordGateway/Shard/sendEvents.js +30 -18
  44. package/DiscordGateway/Shard/sendEvents.js.map +1 -1
  45. package/DiscordGateway/Shard/utils.d.ts +7 -3
  46. package/DiscordGateway/Shard/utils.d.ts.map +1 -1
  47. package/DiscordGateway/Shard/utils.js +19 -9
  48. package/DiscordGateway/Shard/utils.js.map +1 -1
  49. package/DiscordGateway/Shard.d.ts +15 -10
  50. package/DiscordGateway/Shard.d.ts.map +1 -1
  51. package/DiscordGateway/Shard.js +109 -87
  52. package/DiscordGateway/Shard.js.map +1 -1
  53. package/DiscordGateway/ShardStore.d.ts +9 -6
  54. package/DiscordGateway/ShardStore.d.ts.map +1 -1
  55. package/DiscordGateway/ShardStore.js +30 -18
  56. package/DiscordGateway/ShardStore.js.map +1 -1
  57. package/DiscordGateway/Sharder.d.ts +17 -11
  58. package/DiscordGateway/Sharder.d.ts.map +1 -1
  59. package/DiscordGateway/Sharder.js +82 -52
  60. package/DiscordGateway/Sharder.js.map +1 -1
  61. package/DiscordGateway/WS.d.ts +13 -10
  62. package/DiscordGateway/WS.d.ts.map +1 -1
  63. package/DiscordGateway/WS.js +100 -74
  64. package/DiscordGateway/WS.js.map +1 -1
  65. package/DiscordGateway.d.ts +19 -13
  66. package/DiscordGateway.d.ts.map +1 -1
  67. package/DiscordGateway.js +45 -32
  68. package/DiscordGateway.js.map +1 -1
  69. package/DiscordREST/types.d.ts +5 -5
  70. package/DiscordREST/types.d.ts.map +1 -1
  71. package/DiscordREST/types.js +5 -1
  72. package/DiscordREST/types.js.map +1 -1
  73. package/DiscordREST/utils.d.ts +3 -2
  74. package/DiscordREST/utils.d.ts.map +1 -1
  75. package/DiscordREST/utils.js +27 -17
  76. package/DiscordREST/utils.js.map +1 -1
  77. package/DiscordREST.d.ts +11 -8
  78. package/DiscordREST.d.ts.map +1 -1
  79. package/DiscordREST.js +141 -127
  80. package/DiscordREST.js.map +1 -1
  81. package/Helpers/flags.js +31 -19
  82. package/Helpers/flags.js.map +1 -1
  83. package/Helpers/intents.d.ts.map +1 -1
  84. package/Helpers/intents.js +22 -10
  85. package/Helpers/intents.js.map +1 -1
  86. package/Helpers/interactions.d.ts +22 -21
  87. package/Helpers/interactions.d.ts.map +1 -1
  88. package/Helpers/interactions.js +75 -39
  89. package/Helpers/interactions.js.map +1 -1
  90. package/Helpers/members.d.ts +3 -3
  91. package/Helpers/members.d.ts.map +1 -1
  92. package/Helpers/members.js +10 -3
  93. package/Helpers/members.js.map +1 -1
  94. package/Helpers/permissions.d.ts +5 -4
  95. package/Helpers/permissions.d.ts.map +1 -1
  96. package/Helpers/permissions.js +69 -52
  97. package/Helpers/permissions.js.map +1 -1
  98. package/Helpers/ui.d.ts +1 -1
  99. package/Helpers/ui.d.ts.map +1 -1
  100. package/Helpers/ui.js +44 -29
  101. package/Helpers/ui.js.map +1 -1
  102. package/Interactions/builder.d.ts +20 -19
  103. package/Interactions/builder.d.ts.map +1 -1
  104. package/Interactions/builder.js +66 -63
  105. package/Interactions/builder.js.map +1 -1
  106. package/Interactions/context.d.ts +26 -23
  107. package/Interactions/context.d.ts.map +1 -1
  108. package/Interactions/context.js +86 -57
  109. package/Interactions/context.js.map +1 -1
  110. package/Interactions/definitions.d.ts +33 -30
  111. package/Interactions/definitions.d.ts.map +1 -1
  112. package/Interactions/definitions.js +61 -47
  113. package/Interactions/definitions.js.map +1 -1
  114. package/Interactions/gateway.d.ts +15 -10
  115. package/Interactions/gateway.d.ts.map +1 -1
  116. package/Interactions/gateway.js +55 -42
  117. package/Interactions/gateway.js.map +1 -1
  118. package/Interactions/handlers.d.ts +6 -4
  119. package/Interactions/handlers.d.ts.map +1 -1
  120. package/Interactions/handlers.js +68 -57
  121. package/Interactions/handlers.js.map +1 -1
  122. package/Interactions/index.d.ts +11 -10
  123. package/Interactions/index.d.ts.map +1 -1
  124. package/Interactions/index.js +95 -10
  125. package/Interactions/index.js.map +1 -1
  126. package/Interactions/utils.d.ts +42 -40
  127. package/Interactions/utils.d.ts.map +1 -1
  128. package/Interactions/utils.js +40 -32
  129. package/Interactions/utils.js.map +1 -1
  130. package/Interactions/webhook.d.ts +20 -16
  131. package/Interactions/webhook.d.ts.map +1 -1
  132. package/Interactions/webhook.js +73 -41
  133. package/Interactions/webhook.js.map +1 -1
  134. package/Log.d.ts +8 -5
  135. package/Log.d.ts.map +1 -1
  136. package/Log.js +23 -14
  137. package/Log.js.map +1 -1
  138. package/RateLimit/memory.d.ts +1 -1
  139. package/RateLimit/memory.d.ts.map +1 -1
  140. package/RateLimit/memory.js +46 -33
  141. package/RateLimit/memory.js.map +1 -1
  142. package/RateLimit/utils.d.ts +1 -1
  143. package/RateLimit/utils.d.ts.map +1 -1
  144. package/RateLimit/utils.js +23 -16
  145. package/RateLimit/utils.js.map +1 -1
  146. package/RateLimit.d.ts +18 -14
  147. package/RateLimit.d.ts.map +1 -1
  148. package/RateLimit.js +40 -26
  149. package/RateLimit.js.map +1 -1
  150. package/gateway.d.ts +20 -13
  151. package/gateway.d.ts.map +1 -1
  152. package/gateway.js +72 -25
  153. package/gateway.js.map +1 -1
  154. package/index.d.ts +14 -13
  155. package/index.d.ts.map +1 -1
  156. package/index.js +71 -13
  157. package/index.js.map +1 -1
  158. package/mjs/Cache/driver.mjs +3 -0
  159. package/mjs/Cache/driver.mjs.map +1 -0
  160. package/mjs/Cache/memory.mjs +48 -0
  161. package/mjs/Cache/memory.mjs.map +1 -0
  162. package/mjs/Cache/memoryTTL.mjs +119 -0
  163. package/mjs/Cache/memoryTTL.mjs.map +1 -0
  164. package/mjs/Cache/prelude.mjs +125 -0
  165. package/mjs/Cache/prelude.mjs.map +1 -0
  166. package/mjs/Cache.mjs +87 -0
  167. package/mjs/Cache.mjs.map +1 -0
  168. package/mjs/DiscordConfig.mjs +34 -0
  169. package/mjs/DiscordConfig.mjs.map +1 -0
  170. package/mjs/DiscordGateway/DiscordWS.mjs +39 -0
  171. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -0
  172. package/mjs/DiscordGateway/Shard/heartbeats.mjs +21 -0
  173. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -0
  174. package/mjs/DiscordGateway/Shard/identify.mjs +37 -0
  175. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -0
  176. package/mjs/DiscordGateway/Shard/invalidSession.mjs +6 -0
  177. package/mjs/DiscordGateway/Shard/invalidSession.mjs.map +1 -0
  178. package/mjs/DiscordGateway/Shard/sendEvents.mjs +25 -0
  179. package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +1 -0
  180. package/mjs/DiscordGateway/Shard/utils.mjs +11 -0
  181. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -0
  182. package/mjs/DiscordGateway/Shard.mjs +99 -0
  183. package/mjs/DiscordGateway/Shard.mjs.map +1 -0
  184. package/mjs/DiscordGateway/ShardStore.mjs +24 -0
  185. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -0
  186. package/mjs/DiscordGateway/Sharder.mjs +73 -0
  187. package/mjs/DiscordGateway/Sharder.mjs.map +1 -0
  188. package/mjs/DiscordGateway/WS.mjs +94 -0
  189. package/mjs/DiscordGateway/WS.mjs.map +1 -0
  190. package/mjs/DiscordGateway.mjs +36 -0
  191. package/mjs/DiscordGateway.mjs.map +1 -0
  192. package/mjs/DiscordREST/types.mjs +2 -0
  193. package/mjs/DiscordREST/types.mjs.map +1 -0
  194. package/mjs/DiscordREST/utils.mjs +19 -0
  195. package/mjs/DiscordREST/utils.mjs.map +1 -0
  196. package/mjs/DiscordREST.mjs +129 -0
  197. package/mjs/DiscordREST.mjs.map +1 -0
  198. package/mjs/Helpers/flags.mjs +36 -0
  199. package/mjs/Helpers/flags.mjs.map +1 -0
  200. package/mjs/Helpers/intents.mjs +27 -0
  201. package/mjs/Helpers/intents.mjs.map +1 -0
  202. package/mjs/Helpers/interactions.mjs +104 -0
  203. package/mjs/Helpers/interactions.mjs.map +1 -0
  204. package/mjs/Helpers/members.mjs +9 -0
  205. package/mjs/Helpers/members.mjs.map +1 -0
  206. package/mjs/Helpers/permissions.mjs +82 -0
  207. package/mjs/Helpers/permissions.mjs.map +1 -0
  208. package/mjs/Helpers/ui.mjs +66 -0
  209. package/mjs/Helpers/ui.mjs.map +1 -0
  210. package/mjs/Interactions/builder.mjs +62 -0
  211. package/mjs/Interactions/builder.mjs.map +1 -0
  212. package/mjs/Interactions/context.mjs +63 -0
  213. package/mjs/Interactions/context.mjs.map +1 -0
  214. package/mjs/Interactions/definitions.mjs +51 -0
  215. package/mjs/Interactions/definitions.mjs.map +1 -0
  216. package/mjs/Interactions/gateway.mjs +48 -0
  217. package/mjs/Interactions/gateway.mjs.map +1 -0
  218. package/mjs/Interactions/handlers.mjs +61 -0
  219. package/mjs/Interactions/handlers.mjs.map +1 -0
  220. package/mjs/Interactions/index.mjs +12 -0
  221. package/mjs/Interactions/index.mjs.map +1 -0
  222. package/mjs/Interactions/utils.mjs +35 -0
  223. package/mjs/Interactions/utils.mjs.map +1 -0
  224. package/mjs/Interactions/webhook.mjs +73 -0
  225. package/mjs/Interactions/webhook.mjs.map +1 -0
  226. package/mjs/Log.mjs +15 -0
  227. package/mjs/Log.mjs.map +1 -0
  228. package/mjs/RateLimit/memory.mjs +39 -0
  229. package/mjs/RateLimit/memory.mjs.map +1 -0
  230. package/mjs/RateLimit/utils.mjs +18 -0
  231. package/mjs/RateLimit/utils.mjs.map +1 -0
  232. package/mjs/RateLimit.mjs +29 -0
  233. package/mjs/RateLimit.mjs.map +1 -0
  234. package/mjs/gateway.mjs +27 -0
  235. package/mjs/gateway.mjs.map +1 -0
  236. package/mjs/index.mjs +15 -0
  237. package/mjs/index.mjs.map +1 -0
  238. package/mjs/types.mjs +1211 -0
  239. package/mjs/types.mjs.map +1 -0
  240. package/mjs/utils/Effect.mjs +28 -0
  241. package/mjs/utils/Effect.mjs.map +1 -0
  242. package/mjs/utils/tsplus.mjs +2 -0
  243. package/mjs/utils/tsplus.mjs.map +1 -0
  244. package/mjs/version.mjs +2 -0
  245. package/mjs/version.mjs.map +1 -0
  246. package/mjs/webhooks.mjs +30 -0
  247. package/mjs/webhooks.mjs.map +1 -0
  248. package/package.json +46 -50
  249. package/src/Cache/driver.ts +27 -15
  250. package/src/Cache/memory.ts +9 -5
  251. package/src/Cache/memoryTTL.ts +69 -53
  252. package/src/Cache/prelude.ts +113 -91
  253. package/src/Cache.ts +73 -58
  254. package/src/DiscordConfig.ts +33 -19
  255. package/src/DiscordGateway/DiscordWS.ts +28 -25
  256. package/src/DiscordGateway/Shard/heartbeats.ts +47 -27
  257. package/src/DiscordGateway/Shard/identify.ts +29 -25
  258. package/src/DiscordGateway/Shard/invalidSession.ts +9 -7
  259. package/src/DiscordGateway/Shard/sendEvents.ts +1 -1
  260. package/src/DiscordGateway/Shard/utils.ts +33 -9
  261. package/src/DiscordGateway/Shard.ts +119 -99
  262. package/src/DiscordGateway/ShardStore.ts +12 -5
  263. package/src/DiscordGateway/Sharder.ts +95 -74
  264. package/src/DiscordGateway/WS.ts +85 -60
  265. package/src/DiscordGateway.ts +58 -18
  266. package/src/DiscordREST/types.ts +5 -5
  267. package/src/DiscordREST/utils.ts +10 -7
  268. package/src/DiscordREST.ts +152 -132
  269. package/src/Helpers/intents.ts +1 -0
  270. package/src/Helpers/interactions.ts +51 -38
  271. package/src/Helpers/members.ts +2 -0
  272. package/src/Helpers/permissions.ts +6 -5
  273. package/src/Helpers/ui.ts +1 -1
  274. package/src/Interactions/builder.ts +56 -43
  275. package/src/Interactions/context.ts +68 -38
  276. package/src/Interactions/definitions.ts +32 -24
  277. package/src/Interactions/gateway.ts +72 -47
  278. package/src/Interactions/handlers.ts +56 -39
  279. package/src/Interactions/index.ts +6 -5
  280. package/src/Interactions/utils.ts +32 -21
  281. package/src/Interactions/webhook.ts +78 -42
  282. package/src/Log.ts +4 -0
  283. package/src/RateLimit/memory.ts +10 -4
  284. package/src/RateLimit/utils.ts +1 -1
  285. package/src/RateLimit.ts +38 -25
  286. package/src/gateway.ts +62 -25
  287. package/src/index.ts +29 -15
  288. package/src/utils/Effect.ts +69 -0
  289. package/src/version.ts +1 -0
  290. package/src/webhooks.ts +47 -20
  291. package/tsconfig.base.json +48 -0
  292. package/tsconfig.build.json +10 -0
  293. package/tsconfig.examples.json +11 -0
  294. package/tsconfig.json +12 -8
  295. package/tsconfig.madge.json +12 -0
  296. package/tsconfig.test.json +10 -0
  297. package/types.d.ts.map +1 -1
  298. package/types.js +1216 -1200
  299. package/types.js.map +1 -1
  300. package/utils/Effect.d.ts +8 -0
  301. package/utils/Effect.d.ts.map +1 -0
  302. package/utils/Effect.js +38 -0
  303. package/utils/Effect.js.map +1 -0
  304. package/utils/tsplus.js +5 -1
  305. package/utils/tsplus.js.map +1 -1
  306. package/version.d.ts +2 -0
  307. package/version.d.ts.map +1 -0
  308. package/version.js +9 -0
  309. package/version.js.map +1 -0
  310. package/webhooks.d.ts +14 -9
  311. package/webhooks.d.ts.map +1 -1
  312. package/webhooks.js +76 -27
  313. package/webhooks.js.map +1 -1
  314. package/_common.d.ts +0 -37
  315. package/_common.d.ts.map +0 -1
  316. package/_common.js +0 -8
  317. package/_common.js.map +0 -1
  318. package/global.d.ts +0 -18
  319. package/global.d.ts.map +0 -1
  320. package/global.js +0 -2
  321. package/global.js.map +0 -1
  322. package/src/_common.ts +0 -43
  323. package/src/global.ts +0 -45
  324. package/src/package.json +0 -52
  325. package/src/utils/effect.ts +0 -0
  326. package/src/utils/hub.ts +0 -47
  327. package/tsplus.config.json +0 -8
  328. package/utils/effect.d.ts +0 -2
  329. package/utils/effect.d.ts.map +0 -1
  330. package/utils/effect.js +0 -2
  331. package/utils/effect.js.map +0 -1
  332. package/utils/hub.d.ts +0 -12
  333. package/utils/hub.d.ts.map +0 -1
  334. package/utils/hub.js +0 -26
  335. package/utils/hub.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/DiscordREST/utils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;IAC9D,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC9D,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAC3D;QACD,kBAAkB;SACjB,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAE7C,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAChE,AAlBU,MAAM,QAkBhB,AAlBU,MAAM,KAkBhB,AAlBU,MAAM,cAkBG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC7B,UAAU,CAAC,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,AAvBU,MAAM,KAuBhB,AAvBU,MAAM,QAuBhB,YAAY,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,EACtC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,0BAC7B,CAAA;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACvD,MAAM,CAAC,GAAG,CAAC;IACT,MAAM,EAAE,AA7BA,MAAM,cA6Ba,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;IACjD,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC;CAC1D,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","names":["Option","_interopRequireWildcard","require","Duration","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","majorResources","routeFromConfig","path","method","routeURL","split","replace","match","resource","includes","exports","numberHeader","headers","fromNullable","pipe","map","parseFloat","filter","n","isNaN","retryAfter","orElse","seconds","rateLimitFromHeaders","all","bucket","limit","remaining"],"sources":["../src/DiscordREST/utils.ts"],"sourcesContent":[null],"mappings":"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"}
package/DiscordREST.d.ts CHANGED
@@ -1,9 +1,12 @@
1
- import { Effect, Discord } from "dfx/_common";
2
1
  import * as Http from "@effect-http/client";
3
- import { DiscordConfig } from "./DiscordConfig.js";
4
- import { ResponseWithData } from "./DiscordREST/types.js";
5
- import { Log } from "./Log.js";
6
- import { RateLimitStore } from "./RateLimit.js";
2
+ import { Tag } from "@effect/data/Context";
3
+ import * as Effect from "@effect/io/Effect";
4
+ import * as Layer from "@effect/io/Layer";
5
+ import { DiscordConfig } from "dfx/DiscordConfig";
6
+ import type { ResponseWithData } from "dfx/DiscordREST/types";
7
+ import { Log } from "dfx/Log";
8
+ import { RateLimitStore } from "dfx/RateLimit";
9
+ import * as Discord from "dfx/types";
7
10
  export declare class DiscordRESTError {
8
11
  readonly error: Http.HttpClientError;
9
12
  readonly body?: unknown;
@@ -12,8 +15,8 @@ export declare class DiscordRESTError {
12
15
  }
13
16
  export { ResponseDecodeError } from "@effect-http/client";
14
17
  export interface DiscordREST extends Discord.Endpoints<Partial<Http.MakeOptions>> {
15
- readonly executor: <A = unknown>(request: Http.Request) => Effect<never, DiscordRESTError, ResponseWithData<A>>;
18
+ readonly executor: <A = unknown>(request: Http.Request) => Effect.Effect<never, DiscordRESTError, ResponseWithData<A>>;
16
19
  }
17
- export declare const DiscordREST: import("@effect/data/Context").Tag<DiscordREST, DiscordREST>;
18
- export declare const LiveDiscordREST: import("@effect-http/client/_common").Layer<DiscordConfig | Log | RateLimitStore | Http.HttpRequestExecutor, never, DiscordREST>;
20
+ export declare const DiscordREST: Tag<DiscordREST, DiscordREST>;
21
+ export declare const LiveDiscordREST: Layer.Layer<DiscordConfig | Http.HttpRequestExecutor | Log | RateLimitStore, never, DiscordREST>;
19
22
  //# sourceMappingURL=DiscordREST.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordREST.d.ts","sourceRoot":"","sources":["src/DiscordREST.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAA;AAMvE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAGL,cAAc,EAEf,MAAM,gBAAgB,CAAA;AAGvB,qBAAa,gBAAgB;IAEf,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe;IAAE,QAAQ,CAAC,IAAI,CAAC;IADhE,QAAQ,CAAC,IAAI,sBAAqB;gBACb,KAAK,EAAE,IAAI,CAAC,eAAe,EAAW,IAAI,CAAC,SAAS;CAC1E;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAsMzD,MAAM,WAAW,WACf,SAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,KAClB,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1D;AAED,eAAO,MAAM,WAAW,8DAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,kIACwB,CAAA"}
1
+ {"version":3,"file":"DiscordREST.d.ts","sourceRoot":"","sources":["./src/DiscordREST.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAO1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,uBAAuB,CAAA;AAM3E,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAmB,cAAc,EAAe,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAGpC,qBAAa,gBAAgB;IAEf,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe;IAAE,QAAQ,CAAC,IAAI,CAAC;IADhE,QAAQ,CAAC,IAAI,sBAAqB;gBACb,KAAK,EAAE,IAAI,CAAC,eAAe,EAAW,IAAI,CAAC,SAAS;CAC1E;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAmNzD,MAAM,WAAW,WACf,SAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CACjE;AAED,eAAO,MAAM,WAAW,+BAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,kGAG3B,CAAA"}
package/DiscordREST.js CHANGED
@@ -1,130 +1,144 @@
1
- import * as tsplus_module_1 from "@effect-http/client/Request";
2
- import * as tsplus_module_2 from "dfx/_common";
3
- import * as tsplus_module_3 from "@effect/io/Effect";
4
- import * as tsplus_module_4 from "@effect/data/Duration";
5
- import * as tsplus_module_5 from "@effect/data/Option";
6
- import * as tsplus_module_6 from "@effect/io/Config/Secret";
7
- import * as tsplus_module_7 from "@effect-http/client/Request/Executor";
8
- import * as tsplus_module_8 from "@effect/data/HashSet";
9
- import * as tsplus_module_9 from "@effect/io/Ref";
10
- import * as tsplus_module_10 from "@effect/data/Function";
11
- import * as tsplus_module_11 from "@effect/io/Layer";
12
- import * as Http from "@effect-http/client";
13
- import { millis } from "@effect/data/Duration";
14
- import { DiscordConfig } from "./DiscordConfig.js";
15
- import { rateLimitFromHeaders, retryAfter, routeFromConfig, } from "./DiscordREST/utils.js";
16
- import { Log } from "./Log.js";
17
- import { LiveRateLimiter, RateLimitStore, RateLimiter, } from "./RateLimit.js";
18
- import Pkg from "./package.json" assert { type: "json" };
19
- export class DiscordRESTError {
20
- error;
21
- body;
22
- _tag = "DiscordRESTError";
23
- constructor(error, body) {
24
- this.error = error;
25
- this.body = body;
26
- }
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LiveDiscordREST = exports.DiscordRESTError = exports.DiscordREST = void 0;
7
+ Object.defineProperty(exports, "ResponseDecodeError", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return Http.ResponseDecodeError;
11
+ }
12
+ });
13
+ var Http = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-http/client"));
14
+ var _Context = /*#__PURE__*/require("@effect/data/Context");
15
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
16
+ var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/HashSet"));
17
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
18
+ var ConfigSecret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Config/Secret"));
19
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
20
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
21
+ var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Ref"));
22
+ var _DiscordConfig = /*#__PURE__*/require("dfx/DiscordConfig");
23
+ var _utils = /*#__PURE__*/require("dfx/DiscordREST/utils");
24
+ var _Log = /*#__PURE__*/require("dfx/Log");
25
+ var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
26
+ var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
27
+ var _version = /*#__PURE__*/require("dfx/version");
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ class DiscordRESTError {
31
+ error;
32
+ body;
33
+ _tag = "DiscordRESTError";
34
+ constructor(error, body) {
35
+ this.error = error;
36
+ this.body = body;
37
+ }
27
38
  }
28
- export { ResponseDecodeError } from "@effect-http/client";
29
- const make = tsplus_module_3.flatMap(tsplus_module_3.map(DiscordConfig, tsplus_module_10.identity), ({ token, rest }) => tsplus_module_3.flatMap(tsplus_module_3.map(Http.HttpRequestExecutor, tsplus_module_10.identity), http => tsplus_module_3.flatMap(tsplus_module_3.map(Log, tsplus_module_10.identity), log => tsplus_module_3.flatMap(tsplus_module_3.map(RateLimitStore, tsplus_module_10.identity), store => tsplus_module_3.flatMap(tsplus_module_3.map(RateLimiter, tsplus_module_10.identity), ({ maybeWait }) => {
30
- const globalRateLimit = maybeWait("dfx.rest.global", rest.globalRateLimit.window, rest.globalRateLimit.limit);
31
- return tsplus_module_3.map(tsplus_module_9.make(tsplus_module_8.empty()), badRoutesRef => {
32
- const addBadRoute = (route) => tsplus_module_3.all([
33
- log.info("DiscordREST", "addBadRoute", route),
34
- tsplus_module_9.update(badRoutesRef, s => tsplus_module_8.add(s, route)),
35
- store.incrementCounter("dfx.rest.invalid", tsplus_module_4.toMillis(tsplus_module_4.minutes(10)), 10000),
36
- ], { discard: true, concurrency: "unbounded" });
37
- const isBadRoute = (route) => tsplus_module_3.map(tsplus_module_9.get(badRoutesRef), s => tsplus_module_8.has(s, route));
38
- const removeBadRoute = (route) => tsplus_module_9.update(badRoutesRef, s => tsplus_module_8.remove(s, route));
39
- const invalidRateLimit = (route) => tsplus_module_3.asUnit(tsplus_module_3.tap(isBadRoute(route), invalid => invalid
40
- ? maybeWait("dfx.rest.invalid", tsplus_module_4.minutes(10), 10000)
41
- : tsplus_module_3.unit));
42
- // Request rate limiting
43
- const requestRateLimit = (path, request) => (() => {
44
- const route = routeFromConfig(path, request.method);
45
- return tsplus_module_3.flatMap(store.getBucketForRoute(route), maybeBucket => {
46
- const effect = tsplus_module_5.match(maybeBucket, {
47
- onNone: () => invalidRateLimit(route),
48
- onSome: bucket => tsplus_module_3.flatMap(invalidRateLimit(route), () => {
49
- const resetAfter = millis(bucket.resetAfter);
50
- return tsplus_module_3.map(maybeWait(`dfx.rest.${bucket.key}`, resetAfter, bucket.limit), () => void 0);
51
- }),
52
- });
53
- return tsplus_module_3.map(effect, () => void 0);
54
- });
55
- })();
56
- // Update rate limit buckets
57
- const updateBuckets = (request, response) => tsplus_module_3.ignore((() => {
58
- const route = routeFromConfig(request.url, request.method);
59
- return tsplus_module_3.flatMap(rateLimitFromHeaders(response.headers), ({ bucket, retryAfter, limit, remaining }) => {
60
- const effectsToRun = [
61
- removeBadRoute(route),
62
- store.putBucketRoute(route, bucket),
63
- ];
64
- return tsplus_module_3.flatMap(store.hasBucket(bucket), hasBucket => {
65
- if (!hasBucket || limit - 1 === remaining) {
66
- effectsToRun.push(store.removeCounter(`dfx.rest.?.${route}`), store.putBucket({
67
- key: bucket,
68
- resetAfter: tsplus_module_4.toMillis(retryAfter),
69
- limit: !hasBucket && remaining > 0 ? remaining : limit,
70
- }));
71
- }
72
- return tsplus_module_3.map(tsplus_module_3.all(effectsToRun, { concurrency: "unbounded", discard: true }), () => void 0);
73
- });
74
- });
75
- })());
76
- const httpExecutor = tsplus_module_7.catchAll(tsplus_module_7.contramap(tsplus_module_7.filterStatusOk(http.execute), _ => tsplus_module_1.setHeaders(tsplus_module_1.updateUrl(_, _ => `${rest.baseUrl}${_}`), {
77
- Authorization: `Bot ${tsplus_module_6.value(token)}`,
78
- "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
79
- })), error => error._tag === "StatusCodeError"
80
- ? tsplus_module_3.flatMap(tsplus_module_3.mapError(error.response.json, _ => new DiscordRESTError(_)), body => tsplus_module_3.fail(new DiscordRESTError(error, body)))
81
- : tsplus_module_3.fail(new DiscordRESTError(error)));
82
- const executor = (request) => tsplus_module_3.catchTag(tsplus_module_3.flatMap(requestRateLimit(request.url, request), () => tsplus_module_3.flatMap(globalRateLimit, () => tsplus_module_3.flatMap(httpExecutor(request), response => tsplus_module_3.map(updateBuckets(request, response), () => response)))), "DiscordRESTError", e => {
83
- if (e.error._tag !== "StatusCodeError") {
84
- return tsplus_module_3.fail(e);
85
- }
86
- const response = e.error.response;
87
- switch (e.error.status) {
88
- case 403:
89
- return tsplus_module_3.flatMap(tsplus_module_3.all([
90
- log.info("DiscordREST", "403", request.url),
91
- addBadRoute(routeFromConfig(request.url, request.method)),
92
- updateBuckets(request, response),
93
- ], { concurrency: "unbounded", discard: true }), () => tsplus_module_3.fail(e));
94
- case 429:
95
- return tsplus_module_3.flatMap(tsplus_module_3.all([
96
- log.info("DiscordREST", "429", request.url),
97
- addBadRoute(routeFromConfig(request.url, request.method)),
98
- updateBuckets(request, response),
99
- tsplus_module_3.sleep(tsplus_module_5.getOrElse(retryAfter(response.headers), () => tsplus_module_4.seconds(5))),
100
- ], { concurrency: "unbounded", discard: true }), () => executor(request));
101
- }
102
- return tsplus_module_3.fail(e);
103
- });
104
- const routes = tsplus_module_2.Discord.createRoutes(({ method, url, params, options = {}, }) => {
105
- const hasBody = method !== "GET" && method !== "DELETE";
106
- let request = Http.make(method)(url, options);
107
- if (!hasBody) {
108
- if (params) {
109
- request = tsplus_module_1.appendParams(request, params);
110
- }
111
- }
112
- else if (params &&
113
- request.body._tag === "Some" &&
114
- request.body.value._tag === "FormDataBody") {
115
- request.body.value.value.append("payload_json", JSON.stringify(params));
116
- }
117
- else if (params) {
118
- request = tsplus_module_1.jsonBody(request, params);
119
- }
120
- return executor(request);
121
- });
122
- return {
123
- ...routes,
124
- executor,
125
- };
39
+ exports.DiscordRESTError = DiscordRESTError;
40
+ const make = /*#__PURE__*/Effect.gen(function* (_) {
41
+ const {
42
+ rest,
43
+ token
44
+ } = yield* _(_DiscordConfig.DiscordConfig);
45
+ const http = yield* _(Http.HttpRequestExecutor);
46
+ const log = yield* _(_Log.Log);
47
+ const store = yield* _(_RateLimit.RateLimitStore);
48
+ const {
49
+ maybeWait
50
+ } = yield* _(_RateLimit.RateLimiter);
51
+ const globalRateLimit = maybeWait("dfx.rest.global", Duration.decode(rest.globalRateLimit.window), rest.globalRateLimit.limit);
52
+ // Invalid route handling (40x)
53
+ const badRoutesRef = yield* _(Ref.make(HashSet.empty()));
54
+ const tenMinutes = Duration.toMillis(Duration.minutes(10));
55
+ const addBadRoute = route => Effect.all(log.info("DiscordREST", "addBadRoute", route), Ref.update(badRoutesRef, HashSet.add(route)), store.incrementCounter("dfx.rest.invalid", tenMinutes, 10000), {
56
+ discard: true,
57
+ concurrency: "unbounded"
58
+ });
59
+ const isBadRoute = route => Effect.map(Ref.get(badRoutesRef), HashSet.has(route));
60
+ const removeBadRoute = route => Ref.update(badRoutesRef, HashSet.remove(route));
61
+ const invalidRateLimit = route => isBadRoute(route).pipe(Effect.tap(invalid => invalid ? maybeWait("dfx.rest.invalid", Duration.minutes(10), 10000) : Effect.unit), Effect.asUnit);
62
+ // Request rate limiting
63
+ const requestRateLimit = (path, request) => Effect.Do.pipe(Effect.let("route", () => (0, _utils.routeFromConfig)(path, request.method)), Effect.bind("maybeBucket", ({
64
+ route
65
+ }) => store.getBucketForRoute(route)), Effect.flatMap(({
66
+ maybeBucket,
67
+ route
68
+ }) => Option.match(maybeBucket, {
69
+ onNone: () => invalidRateLimit(route),
70
+ onSome: bucket => Effect.zipRight(invalidRateLimit(route), maybeWait(`dfx.rest.${bucket.key}`, (0, Duration.millis)(bucket.resetAfter), bucket.limit))
71
+ })));
72
+ // Update rate limit buckets
73
+ const updateBuckets = (request, response) => Effect.Do.pipe(Effect.let("route", () => (0, _utils.routeFromConfig)(request.url, request.method)), Effect.bind("rateLimit", () => (0, _utils.rateLimitFromHeaders)(response.headers)), Effect.bind("hasBucket", ({
74
+ rateLimit
75
+ }) => store.hasBucket(rateLimit.bucket)), Effect.flatMap(({
76
+ hasBucket,
77
+ rateLimit,
78
+ route
79
+ }) => {
80
+ const effectsToRun = [removeBadRoute(route), store.putBucketRoute(route, rateLimit.bucket)];
81
+ if (!hasBucket || rateLimit.limit - 1 === rateLimit.remaining) {
82
+ effectsToRun.push(store.removeCounter(`dfx.rest.?.${route}`), store.putBucket({
83
+ key: rateLimit.bucket,
84
+ resetAfter: Duration.toMillis(rateLimit.retryAfter),
85
+ limit: !hasBucket && rateLimit.remaining > 0 ? rateLimit.remaining : rateLimit.limit
86
+ }));
87
+ }
88
+ return Effect.all(effectsToRun, {
89
+ concurrency: "unbounded",
90
+ discard: true
126
91
  });
127
- })))));
128
- export const DiscordREST = tsplus_module_2.Tag();
129
- export const LiveDiscordREST = tsplus_module_11.provide(tsplus_module_11.effect(DiscordREST, make))(LiveRateLimiter);
92
+ }), Effect.ignore);
93
+ const httpExecutor = Http.executor.catchAll(error => error._tag === "StatusCodeError" ? error.response.json.pipe(Effect.mapError(_ => new DiscordRESTError(_)), Effect.flatMap(body => Effect.fail(new DiscordRESTError(error, body)))) : Effect.fail(new DiscordRESTError(error)))(Http.executor.contramap(req => Http.setHeaders({
94
+ Authorization: `Bot ${ConfigSecret.value(token)}`,
95
+ "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${_version.LIB_VERSION})`
96
+ })(Http.updateUrl(req, _ => `${rest.baseUrl}${_}`)))(Http.executor.filterStatusOk(http.execute)));
97
+ const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(httpExecutor(request)), Effect.tap(response => updateBuckets(request, response)), Effect.catchTag("DiscordRESTError", e => {
98
+ if (e.error._tag !== "StatusCodeError") {
99
+ return Effect.fail(e);
100
+ }
101
+ const response = e.error.response;
102
+ switch (e.error.status) {
103
+ case 403:
104
+ return Effect.zipRight(Effect.all([log.info("DiscordREST", "403", request.url), addBadRoute((0, _utils.routeFromConfig)(request.url, request.method)), updateBuckets(request, response)], {
105
+ concurrency: "unbounded",
106
+ discard: true
107
+ }), Effect.fail(e));
108
+ case 429:
109
+ return Effect.zipRight(Effect.all(log.info("DiscordREST", "429", request.url), addBadRoute((0, _utils.routeFromConfig)(request.url, request.method)), updateBuckets(request, response), Effect.sleep(Option.getOrElse((0, _utils.retryAfter)(response.headers), () => Duration.seconds(5))), {
110
+ concurrency: "unbounded",
111
+ discard: true
112
+ }), executor(request));
113
+ }
114
+ return Effect.fail(e);
115
+ }));
116
+ const routes = Discord.createRoutes(({
117
+ method,
118
+ options = {},
119
+ params,
120
+ url
121
+ }) => {
122
+ const hasBody = method !== "GET" && method !== "DELETE";
123
+ let request = Http.make(method)(url, options);
124
+ if (!hasBody) {
125
+ if (params) {
126
+ request = Http.appendParams(request, params);
127
+ }
128
+ } else if (params && request.body._tag === "Some" && request.body.value._tag === "FormDataBody") {
129
+ request.body.value.value.append("payload_json", JSON.stringify(params));
130
+ } else if (params) {
131
+ request = Http.jsonBody(request, params);
132
+ }
133
+ return executor(request);
134
+ });
135
+ return {
136
+ ...routes,
137
+ executor
138
+ };
139
+ });
140
+ const DiscordREST = /*#__PURE__*/(0, _Context.Tag)();
141
+ exports.DiscordREST = DiscordREST;
142
+ const LiveDiscordREST = /*#__PURE__*/Layer.provide(_RateLimit.LiveRateLimiter, /*#__PURE__*/Layer.effect(DiscordREST, make));
143
+ exports.LiveDiscordREST = LiveDiscordREST;
130
144
  //# sourceMappingURL=DiscordREST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordREST.js","sourceRoot":"","sources":["src/DiscordREST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiscordREST.js","names":["Http","_interopRequireWildcard","require","_Context","Duration","HashSet","Option","ConfigSecret","Effect","Layer","Ref","_DiscordConfig","_utils","_Log","_RateLimit","Discord","_version","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DiscordRESTError","error","body","_tag","constructor","exports","make","gen","_","rest","token","DiscordConfig","http","HttpRequestExecutor","log","Log","store","RateLimitStore","maybeWait","RateLimiter","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","all","info","update","add","incrementCounter","discard","concurrency","isBadRoute","map","removeBadRoute","remove","invalidRateLimit","pipe","tap","invalid","unit","asUnit","requestRateLimit","path","request","Do","let","routeFromConfig","method","bind","getBucketForRoute","flatMap","maybeBucket","match","onNone","onSome","bucket","zipRight","millis","resetAfter","updateBuckets","response","url","rateLimitFromHeaders","headers","rateLimit","hasBucket","effectsToRun","putBucketRoute","remaining","push","removeCounter","putBucket","retryAfter","ignore","httpExecutor","executor","catchAll","json","mapError","fail","contramap","req","setHeaders","Authorization","value","LIB_VERSION","updateUrl","baseUrl","filterStatusOk","execute","zipLeft","catchTag","e","status","sleep","getOrElse","seconds","routes","createRoutes","options","params","hasBody","appendParams","append","JSON","stringify","jsonBody","DiscordREST","Tag","LiveDiscordREST","provide","LiveRateLimiter","effect"],"sources":["./src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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"}
package/Helpers/flags.js CHANGED
@@ -1,36 +1,48 @@
1
- export function all(flags) {
2
- return Object.values(flags).reduce((acc, flag) => acc | flag);
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.all = all;
7
+ exports.hasBigInt = exports.has = exports.fromListBigint = exports.fromList = void 0;
8
+ exports.toList = toList;
9
+ function all(flags) {
10
+ return Object.values(flags).reduce((acc, flag) => acc | flag);
3
11
  }
4
- export function toList(flags) {
5
- const entries = Object.entries(flags);
6
- return val => entries.reduce((acc, [key, flag]) => ((val & flag) === flag ? [...acc, key] : acc), []);
12
+ function toList(flags) {
13
+ const entries = Object.entries(flags);
14
+ return val => entries.reduce((acc, [key, flag]) => (val & flag) === flag ? [...acc, key] : acc, []);
7
15
  }
8
16
  /**
9
17
  * Returns a function that converts a list of flags names to a bigint bitfield.
10
18
  */
11
- export const fromListBigint = (flags) => (list) => list.reduce((acc, key) => acc | flags[key], BigInt(0));
19
+ const fromListBigint = flags => list => list.reduce((acc, key) => acc | flags[key], BigInt(0));
12
20
  /**
13
21
  * Returns a function that converts a list of flags names to a bitfield.
14
22
  */
15
- export const fromList = (flags) => (list) => list.reduce((acc, key) => acc | flags[key], 0);
23
+ exports.fromListBigint = fromListBigint;
24
+ const fromList = flags => list => list.reduce((acc, key) => acc | flags[key], 0);
16
25
  /**
17
26
  * Checks if a bigint bitfield contains and a flag value.
18
27
  */
19
- export const hasBigInt = (flag) => {
20
- const flagBigInt = BigInt(flag);
21
- return (bits) => {
22
- const bitsBigInt = BigInt(bits);
23
- return (bitsBigInt & flagBigInt) === flagBigInt;
24
- };
28
+ exports.fromList = fromList;
29
+ const hasBigInt = flag => {
30
+ const flagBigInt = BigInt(flag);
31
+ return bits => {
32
+ const bitsBigInt = BigInt(bits);
33
+ return (bitsBigInt & flagBigInt) === flagBigInt;
34
+ };
25
35
  };
26
36
  /**
27
37
  * Checks if a bitfield contains and a flag value.
28
38
  */
29
- export const has = (flag) => {
30
- const flagNumber = +flag;
31
- return (bits) => {
32
- const bitsNumber = +bits;
33
- return (bitsNumber & flagNumber) === flagNumber;
34
- };
39
+ exports.hasBigInt = hasBigInt;
40
+ const has = flag => {
41
+ const flagNumber = +flag;
42
+ return bits => {
43
+ const bitsNumber = +bits;
44
+ return (bitsNumber & flagNumber) === flagNumber;
45
+ };
35
46
  };
47
+ exports.has = has;
36
48
  //# sourceMappingURL=flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/Helpers/flags.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,GAAG,CAAC,KAAiB;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;AAC/D,CAAC;AAWD,MAAM,UAAU,MAAM,CACpB,KAAQ;IAER,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,GAAG,CAAC,EAAE,CACX,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACnE,EAAiB,CAClB,CAAA;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;IACxB,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;QACxB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"flags.js","names":["all","flags","Object","values","reduce","acc","flag","toList","entries","val","key","fromListBigint","list","BigInt","exports","fromList","hasBigInt","flagBigInt","bits","bitsBigInt","has","flagNumber","bitsNumber"],"sources":["../src/Helpers/flags.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAOM,SAAUA,GAAGA,CAACC,KAAiB;EACnC,OAAOC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAAC;AAC/D;AAWM,SAAUC,MAAMA,CACpBN,KAAQ;EAER,MAAMO,OAAO,GAAGN,MAAM,CAACM,OAAO,CAACP,KAAK,CAAC;EACrC,OAAOQ,GAAG,IACRD,OAAO,CAACJ,MAAM,CACZ,CAACC,GAAG,EAAE,CAACK,GAAG,EAAEJ,IAAI,CAAC,KAAM,CAACG,GAAG,GAAGH,IAAI,MAAMA,IAAI,GAAG,CAAC,GAAGD,GAAG,EAAEK,GAAG,CAAC,GAAGL,GAAI,EACnE,EAAiB,CAClB;AACL;AAEA;;;AAGO,MAAMM,cAAc,GACCV,KAAQ,IACjCW,IAAiB,IAChBA,IAAI,CAACR,MAAM,CAAC,CAACC,GAAG,EAAEK,GAAG,KAAKL,GAAG,GAAGJ,KAAK,CAACS,GAAG,CAAC,EAAEG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE1D;;;AAAAC,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAGO,MAAMI,QAAQ,GACOd,KAAQ,IACjCW,IAAiB,IAChBA,IAAI,CAACR,MAAM,CAAC,CAACC,GAAG,EAAEK,GAAG,KAAKL,GAAG,GAAGJ,KAAK,CAACS,GAAG,CAAC,EAAE,CAAC,CAAC;AAElD;;;AAAAI,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAGO,MAAMC,SAAS,GAAIV,IAAqB,IAAI;EACjD,MAAMW,UAAU,GAAGJ,MAAM,CAACP,IAAI,CAAC;EAC/B,OAAQY,IAAqB,IAAI;IAC/B,MAAMC,UAAU,GAAGN,MAAM,CAACK,IAAI,CAAC;IAC/B,OAAO,CAACC,UAAU,GAAGF,UAAU,MAAMA,UAAU;EACjD,CAAC;AACH,CAAC;AAED;;;AAAAH,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAGO,MAAMI,GAAG,GAAId,IAAqB,IAAI;EAC3C,MAAMe,UAAU,GAAG,CAACf,IAAI;EACxB,OAAQY,IAAqB,IAAI;IAC/B,MAAMI,UAAU,GAAG,CAACJ,IAAI;IACxB,OAAO,CAACI,UAAU,GAAGD,UAAU,MAAMA,UAAU;EACjD,CAAC;AACH,CAAC;AAAAP,OAAA,CAAAM,GAAA,GAAAA,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../src/Helpers/intents.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,GAAG,QAAoC,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,QAGiB,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,MAAM,kdAAuC,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,QAAQ,8cAAyC,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,GAAG,+DAAY,CAAA"}
1
+ {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../src/Helpers/intents.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,GAAG,QAAoC,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,QAGiB,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,MAAM,kdAAuC,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,QAAQ,8cAAyC,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,GAAG,+DAAY,CAAA"}
@@ -1,29 +1,41 @@
1
- import * as tsplus_module_1 from "dfx/_common";
2
- import * as Flags from "dfx/Helpers/flags";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toList = exports.has = exports.fromList = exports.UNPRIVILEGED = exports.PRIVILEGED = exports.ALL = void 0;
7
+ var Flags = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Helpers/flags"));
8
+ var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3
11
  /**
4
12
  * All the intents
5
13
  */
6
- export const ALL = Flags.all(tsplus_module_1.Discord.GatewayIntents);
14
+ const ALL = /*#__PURE__*/Flags.all(Discord.GatewayIntents);
7
15
  /**
8
16
  * Privileged intents
9
17
  */
10
- export const PRIVILEGED = tsplus_module_1.Discord.GatewayIntents.GUILD_PRESENCES |
11
- tsplus_module_1.Discord.GatewayIntents.GUILD_MEMBERS |
12
- tsplus_module_1.Discord.GatewayIntents.MESSAGE_CONTENT;
18
+ exports.ALL = ALL;
19
+ const PRIVILEGED = Discord.GatewayIntents.GUILD_PRESENCES | Discord.GatewayIntents.GUILD_MEMBERS | Discord.GatewayIntents.MESSAGE_CONTENT;
13
20
  /**
14
21
  * Un-privileged intents
15
22
  */
16
- export const UNPRIVILEGED = ALL ^ PRIVILEGED;
23
+ exports.PRIVILEGED = PRIVILEGED;
24
+ const UNPRIVILEGED = ALL ^ PRIVILEGED;
17
25
  /**
18
26
  * Function that converts a intents bitfield value to a list of intent names.
19
27
  */
20
- export const toList = Flags.toList(tsplus_module_1.Discord.GatewayIntents);
28
+ exports.UNPRIVILEGED = UNPRIVILEGED;
29
+ const toList = /*#__PURE__*/Flags.toList(Discord.GatewayIntents);
21
30
  /**
22
31
  * Function that converts a list of intent names to a bitfield value.
23
32
  */
24
- export const fromList = Flags.fromList(tsplus_module_1.Discord.GatewayIntents);
33
+ exports.toList = toList;
34
+ const fromList = /*#__PURE__*/Flags.fromList(Discord.GatewayIntents);
25
35
  /**
26
36
  * Check if an intent flag exists in the permissions.
27
37
  */
28
- export const has = Flags.has;
38
+ exports.fromList = fromList;
39
+ const has = Flags.has;
40
+ exports.has = has;
29
41
  //# sourceMappingURL=intents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intents.js","sourceRoot":"","sources":["../src/Helpers/intents.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAA,OAAO,CAAC,cAAc,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GACrB,gBAAA,OAAO,CAAC,cAAc,CAAC,eAAe;IACtC,gBAAA,OAAO,CAAC,cAAc,CAAC,aAAa;IACpC,gBAAA,OAAO,CAAC,cAAc,CAAC,eAAe,CAAA;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,GAAG,UAAU,CAAA;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAA,OAAO,CAAC,cAAc,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAA,OAAO,CAAC,cAAc,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA"}
1
+ {"version":3,"file":"intents.js","names":["Flags","_interopRequireWildcard","require","Discord","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ALL","all","GatewayIntents","exports","PRIVILEGED","GUILD_PRESENCES","GUILD_MEMBERS","MESSAGE_CONTENT","UNPRIVILEGED","toList","fromList"],"sources":["../src/Helpers/intents.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAF,uBAAA,eAAAC,OAAA;AAAoC,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEpC;;;AAGO,MAAMW,GAAG,gBAAG1B,KAAK,CAAC2B,GAAG,CAACxB,OAAO,CAACyB,cAAc,CAAC;AAEpD;;;AAAAC,OAAA,CAAAH,GAAA,GAAAA,GAAA;AAGO,MAAMI,UAAU,GACrB3B,OAAO,CAACyB,cAAc,CAACG,eAAe,GACtC5B,OAAO,CAACyB,cAAc,CAACI,aAAa,GACpC7B,OAAO,CAACyB,cAAc,CAACK,eAAe;AAExC;;;AAAAJ,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAGO,MAAMI,YAAY,GAAGR,GAAG,GAAGI,UAAU;AAE5C;;;AAAAD,OAAA,CAAAK,YAAA,GAAAA,YAAA;AAGO,MAAMC,MAAM,gBAAGnC,KAAK,CAACmC,MAAM,CAAChC,OAAO,CAACyB,cAAc,CAAC;AAE1D;;;AAAAC,OAAA,CAAAM,MAAA,GAAAA,MAAA;AAGO,MAAMC,QAAQ,gBAAGpC,KAAK,CAACoC,QAAQ,CAACjC,OAAO,CAACyB,cAAc,CAAC;AAE9D;;;AAAAC,OAAA,CAAAO,QAAA,GAAAA,QAAA;AAGO,MAAMvB,GAAG,GAAGb,KAAK,CAACa,GAAG;AAAAgB,OAAA,CAAAhB,GAAA,GAAAA,GAAA"}