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":"Sharder.js","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,MAAM,iBAAiB,GAAG,4BAAA,2BAAA,sBAAe,wBAAiB,CAAC,CAAC,CAAC,EAC3D,CAAC,CAAgB,EAAE,EAAE,CAAC,uBAAA,CAAC,CAAS,CACjC,CAA4D,CAAA;AAE7D,MAAM,IAAI,2BACQ,oBAAA,UAAU,mBAAY,QAAQ,CAAC,EAAzC,KAAK,4BACI,oBAAA,WAAW,mBAAY,QAAQ,CAAC,EAAzC,IAAI,4BACoB,oBAAA,aAAa,mBAAY,QAAQ,CAAC,GAA1D,EAAE,OAAO,EAAE,MAAM,EAAE,6BACP,oBAAA,WAAW,mBAAY,QAAQ,CAAC,EAA5C,OAAO,4BACG,oBAAA,KAAK,mBAAY,QAAQ,CAAC,EAApC,KAAK,4BACa,qBAAS,uBAA6B,CAAC,EAAzD,aAAa;IAEnB,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,qBAEf,qBAAS,CAAC,CAAC,EAA5B,YAAY;QAElB,MAAM,OAAO,GAAG,CAAC,YAAoB,EAAgC,EAAE,CACrE,oBAAA,uBAAA,KAAK;aACF,OAAO,CAAC;YACP,UAAU;YACV,YAAY;SACb,CAAC,EACM,iBAAiB,CAAC,EACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEtB,OAAO,oBAAA,wBAAA,6BAAA,YAAY,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAChB,OAAO,CAAC,EACZ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAY,CAAA,CAAC,CAAA;MAC3C,CAAA;+BAGF,yBAAA,wBAAA,IAAI;SACD,aAAa,EAAE,EACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACX,GAAG,EAAE,CACb,wBAA8C;QAC5C,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,CAAC;QACT,mBAAmB,EAAE;YACnB,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CACH,EAfC,OAAO;QAkBb,MAAM,GAAG,GAAG,CACV,GAAsD,EACtD,SAA6D,EAC7D,EAAE,yBAGE,sBAA4D,EADxD,QAAQ,4BAGC,UAAU,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,EAAxD,IAAI;YAEV,MAAM,OAAO,2BAAG,wBAAA,wBAAA,oBAAA,oBAAA,IAAI,EACb,MAAM,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,MAAM;gBACT,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,eAAe;aACzD,CAAC,CAAC,EACE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAC3B,OAAO,CAAC,SAAS,CACf,eAAe,EAAE,GAAG,WAAW,EAAE,EACjC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAC5B,CACF,EACQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,EAEhE,KAAK,CAAC,EAAE,sBACN,8BAAA,kCAAA,uBAAA,aAAa,EACH,CAAC,CAAC,EAAE,CAAC,oBAAA,CAAC,EAAK,KAAK,CAAC,CAAC,EAExB,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EACf,GAAG,EAAE,CAAC,uBAAA,aAAa,EAAQ,CAAC,CAAC,EAAE,CAAC,uBAAA,CAAC,EAAQ,KAAK,CAAC,CAAC,CACjD,EACc,CAAC,CAAC,EAAE,CAAC,0BAAA,QAAQ,EAAW,CAAC,CAAC,CAAC,CAAK,CACpD,CAAQ,CAAA;YAEX,MAAM,QAAQ,GAAG,oBAAA,sBACf,CAAC,EACD,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAC5C,EAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;mBAGlB,oBACE,oBAAW,QAAQ,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,gCACjE,QAAQ,GACR,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CACkB;WAEjE,CAAA;QAEJ,OAAO,EAAE,MAAM,sBAAE,aAAa,CAAI,EAAE,GAAG,EAAW,CAAA;;OAClD,CAAA;AAGF,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAA,GAAG,EAAW,CAAA;AACrC,MAAM,CAAC,MAAM,WAAW,4BACW,wBAAa,OAAO,EAAE,IAAI,CAAC,EAA5D,wBAAmB,SAAS,EAA3B,eAAe,EAAa,CAA+B,CAAA"}
1
+ {"version":3,"file":"Sharder.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","_DiscordConfig","_Shard","_ShardStore","_DiscordREST","_RateLimit","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","claimRepeatPolicy","fixed","pipe","whileInput","_","_tag","passthrough","make","gen","store","ShardStore","rest","DiscordREST","gateway","config","DiscordConfig","limiter","RateLimiter","shard","Shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","Sharder","Tag","exports","LiveSharder","provide","merge","LiveRateLimiter","LiveShard","effect"],"sources":["../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,11 +1,14 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  /// <reference types="ws" />
3
- import { Ref, Enqueue, Duration, Effect } from "dfx/_common";
4
2
  import { Log } from "dfx/Log";
5
3
  import WebSocket from "isomorphic-ws";
4
+ import * as Effect from "@effect/io/Effect";
5
+ import * as Layer from "@effect/io/Layer";
6
+ import { Tag } from "@effect/data/Context";
7
+ import * as Ref from "@effect/io/Ref";
8
+ import * as Duration from "@effect/data/Duration";
6
9
  export declare const Reconnect: unique symbol;
7
10
  export type Reconnect = typeof Reconnect;
8
- export type Message = string | Buffer | ArrayBuffer | Reconnect;
11
+ export type Message = string | Uint8Array | ArrayBuffer | Reconnect;
9
12
  export declare class WebSocketError {
10
13
  readonly reason: "open-timeout" | "error";
11
14
  readonly error?: unknown;
@@ -18,15 +21,15 @@ export declare class WebSocketCloseError {
18
21
  readonly _tag = "WebSocketCloseError";
19
22
  constructor(code: number, reason: string);
20
23
  }
21
- declare const make: import("@effect/io/Effect").Effect<Log, never, {
22
- readonly connect: (url: Ref<string>, takeOutbound: Effect<never, never, Message>, onConnecting?: import("@effect/io/Effect").Effect<never, never, void>, openTimeout?: import("../_common.js").Duration) => import("@effect/io/Effect").Effect<never, never, {
23
- readonly run: import("@effect/io/Effect").Effect<never, WebSocketError | WebSocketCloseError, never>;
24
- readonly take: import("@effect/io/Effect").Effect<never, never, WebSocket.Data>;
24
+ declare const make: Effect.Effect<Log, never, {
25
+ readonly connect: (url: Ref.Ref<string>, takeOutbound: Effect.Effect<never, never, Message>, onConnecting?: Effect.Effect<never, never, void>, openTimeout?: Duration.Duration) => Effect.Effect<never, never, {
26
+ readonly run: Effect.Effect<never, WebSocketError | WebSocketCloseError, void>;
27
+ readonly take: Effect.Effect<never, never, WebSocket.Data>;
25
28
  }>;
26
29
  }>;
27
- export interface WS extends Effect.Success<typeof make> {
30
+ export interface WS extends Effect.Effect.Success<typeof make> {
28
31
  }
29
- export declare const WS: import("@effect/data/Context").Tag<WS, WS>;
30
- export declare const LiveWS: import("@effect-http/client/_common").Layer<Log, never, WS>;
32
+ export declare const WS: Tag<WS, WS>;
33
+ export declare const LiveWS: Layer.Layer<Log, never, WS>;
31
34
  export {};
32
35
  //# sourceMappingURL=WS.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/WS.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,eAAO,MAAM,SAAS,eAAW,CAAA;AACjC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;AAE/D,qBAAa,cAAc;IAGvB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IACzC,QAAQ,CAAC,KAAK,CAAC;IAHjB,QAAQ,CAAC,IAAI,oBAAmB;gBAErB,MAAM,EAAE,cAAc,GAAG,OAAO,EAChC,KAAK,CAAC,SAAS;CAE3B;AAED,qBAAa,mBAAmB;IAElB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD1D,QAAQ,CAAC,IAAI,yBAAwB;gBAChB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAC3D;AA+ED,QAAA,MAAM,IAAI;4BAID,IAAI,MAAM,CAAC,gBACF,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;;;;EAqB7C,CAAA;AAEF,MAAM,WAAW,EAAG,SAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AAC1D,eAAO,MAAM,EAAE,4CAAY,CAAA;AAC3B,eAAO,MAAM,MAAM,6DAAyB,CAAA"}
1
+ {"version":3,"file":"WS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/WS.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAGrC,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAEjD,eAAO,MAAM,SAAS,eAAW,CAAA;AACjC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAA;AAEnE,qBAAa,cAAc;IAGvB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IACzC,QAAQ,CAAC,KAAK,CAAC;IAHjB,QAAQ,CAAC,IAAI,oBAAmB;gBAErB,MAAM,EAAE,cAAc,GAAG,OAAO,EAChC,KAAK,CAAC,SAAS;CAE3B;AAED,qBAAa,mBAAmB;IAElB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD1D,QAAQ,CAAC,IAAI,yBAAwB;gBAChB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAC3D;AA4FD,QAAA,MAAM,IAAI;4BAID,OAAO,CAAC,MAAM,CAAC,gBACN,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;;;;EA0BpD,CAAA;AAEF,MAAM,WAAW,EAAG,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACjE,eAAO,MAAM,EAAE,aAAY,CAAA;AAC3B,eAAO,MAAM,MAAM,6BAAyB,CAAA"}
@@ -1,82 +1,108 @@
1
- import * as tsplus_module_1 from "@effect/io/Effect";
2
- import * as tsplus_module_2 from "@effect/io/Ref";
3
- import * as tsplus_module_3 from "@effect/io/Runtime";
4
- import * as tsplus_module_4 from "@effect/data/Duration";
5
- import * as tsplus_module_5 from "@effect/io/Queue";
6
- import * as tsplus_module_6 from "@effect/data/Function";
7
- import * as tsplus_module_7 from "dfx/_common";
8
- import * as tsplus_module_8 from "@effect/io/Layer";
9
- import { Log } from "dfx/Log";
10
- import WebSocket from "isomorphic-ws";
11
- export const Reconnect = Symbol();
12
- export class WebSocketError {
13
- reason;
14
- error;
15
- _tag = "WebSocketError";
16
- constructor(reason, error) {
17
- this.reason = reason;
18
- this.error = error;
19
- }
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WebSocketError = exports.WebSocketCloseError = exports.WS = exports.Reconnect = exports.LiveWS = void 0;
7
+ var _Log = /*#__PURE__*/require("dfx/Log");
8
+ var _isomorphicWs = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("isomorphic-ws"));
9
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
11
+ var _Context = /*#__PURE__*/require("@effect/data/Context");
12
+ var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Ref"));
13
+ var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
14
+ var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Runtime"));
15
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
16
+ 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); }
17
+ 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; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ const Reconnect = /*#__PURE__*/Symbol();
20
+ exports.Reconnect = Reconnect;
21
+ class WebSocketError {
22
+ reason;
23
+ error;
24
+ _tag = "WebSocketError";
25
+ constructor(reason, error) {
26
+ this.reason = reason;
27
+ this.error = error;
28
+ }
20
29
  }
21
- export class WebSocketCloseError {
22
- code;
23
- reason;
24
- _tag = "WebSocketCloseError";
25
- constructor(code, reason) {
26
- this.code = code;
27
- this.reason = reason;
28
- }
30
+ exports.WebSocketError = WebSocketError;
31
+ class WebSocketCloseError {
32
+ code;
33
+ reason;
34
+ _tag = "WebSocketCloseError";
35
+ constructor(code, reason) {
36
+ this.code = code;
37
+ this.reason = reason;
38
+ }
29
39
  }
30
- const isReconnect = (e) => e._tag === "WebSocketCloseError" && e.code === 1012;
31
- const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.map(tsplus_module_2.get(urlRef), _ => new WebSocket(_)), ws => tsplus_module_1.sync(() => {
32
- ;
33
- ws.removeAllListeners?.();
34
- ws.close();
35
- }));
36
- const offer = (ws, queue, log) => tsplus_module_1.flatMap(tsplus_module_1.runtime(), runtime => tsplus_module_1.async(resume => {
37
- const run = tsplus_module_3.runFork(runtime);
38
- ws.addEventListener("message", message => {
39
- run(tsplus_module_1.zipLeft(queue
40
- .offer(message.data), log.debug("WS", "offer", message.data), {}));
41
- });
42
- ws.addEventListener("error", cause => {
43
- resume(tsplus_module_1.fail(new WebSocketError("error", cause)));
44
- });
45
- ws.addEventListener("close", e => {
46
- resume(tsplus_module_1.fail(new WebSocketCloseError(e.code, e.reason)));
47
- });
48
- }));
49
- const waitForOpen = (ws, timeout) => tsplus_module_1.timeoutFail(tsplus_module_1.suspend(() => {
50
- if (ws.readyState === WebSocket.OPEN) {
51
- return tsplus_module_1.unit;
52
- }
53
- return tsplus_module_1.async(resume => {
54
- ws.addEventListener("open", () => resume(tsplus_module_1.unit), {
55
- once: true,
56
- });
40
+ exports.WebSocketCloseError = WebSocketCloseError;
41
+ const isReconnect = e => e._tag === "WebSocketCloseError" && e.code === 1012;
42
+ const socket = urlRef => Ref.get(urlRef).pipe(Effect.map(_ => new _isomorphicWs.default(_)), Effect.acquireRelease(ws => Effect.sync(() => {
43
+ // eslint-disable-next-line @typescript-eslint/no-extra-semi
44
+ ;
45
+ ws.removeAllListeners?.();
46
+ ws.close();
47
+ })));
48
+ const offer = (ws, queue, log) => Effect.runtime().pipe(Effect.flatMap(runtime => Effect.async(resume => {
49
+ const run = Runtime.runFork(runtime);
50
+ ws.addEventListener("message", message => {
51
+ run(Effect.all(log.debug("WS", "receive", message.data), Queue.offer(queue, message.data), {
52
+ concurrency: "unbounded",
53
+ discard: true
54
+ }));
55
+ });
56
+ ws.addEventListener("error", cause => {
57
+ resume(Effect.fail(new WebSocketError("error", cause)));
58
+ });
59
+ ws.addEventListener("close", e => {
60
+ resume(Effect.fail(new WebSocketCloseError(e.code, e.reason)));
61
+ });
62
+ })));
63
+ const waitForOpen = (ws, timeout) => Effect.timeoutFail(Effect.suspend(() => {
64
+ if (ws.readyState === _isomorphicWs.default.OPEN) {
65
+ return Effect.unit;
66
+ }
67
+ return Effect.async(resume => {
68
+ ws.addEventListener("open", () => resume(Effect.unit), {
69
+ once: true
57
70
  });
71
+ });
58
72
  }), {
59
- onTimeout: () => new WebSocketError("open-timeout"),
60
- duration: timeout,
73
+ onTimeout: () => new WebSocketError("open-timeout"),
74
+ duration: timeout
61
75
  });
62
- const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(tsplus_module_1.tap(take, data => log.debug("WS", "send", data)), data => {
63
- if (data === Reconnect) {
64
- return tsplus_module_1.failSync(() => {
65
- ws.close(1012, "reconnecting");
66
- return new WebSocketCloseError(1012, "reconnecting");
67
- });
68
- }
69
- return tsplus_module_1.sync(() => {
70
- ws.send(data);
71
- });
72
- }));
73
- const make = tsplus_module_1.map(tsplus_module_1.map(Log, tsplus_module_6.identity), log => {
74
- const connect = (url, takeOutbound, onConnecting = tsplus_module_1.unit, openTimeout = tsplus_module_4.seconds(3)) => tsplus_module_1.map(tsplus_module_5.unbounded(), queue => {
75
- const run = tsplus_module_1.retryWhile(tsplus_module_1.scoped(tsplus_module_1.flatMap(tsplus_module_1.zipRight(onConnecting, socket(url)), ws => tsplus_module_1.zipLeft(offer(ws, queue, log), tsplus_module_1.zipRight(waitForOpen(ws, openTimeout), send(ws, takeOutbound, log)), { parallel: true }))), isReconnect);
76
- return { run, take: queue.take() };
76
+ const send = (ws, take, log) => take.pipe(Effect.tap(data => log.debug("WS", "send", data)), Effect.tap(data => {
77
+ if (data === Reconnect) {
78
+ return Effect.failSync(() => {
79
+ ws.close(1012, "reconnecting");
80
+ return new WebSocketCloseError(1012, "reconnecting");
77
81
  });
78
- return { connect };
82
+ }
83
+ return Effect.sync(() => {
84
+ ws.send(data);
85
+ });
86
+ }), Effect.forever);
87
+ const make = /*#__PURE__*/Effect.gen(function* (_) {
88
+ const log = yield* _(_Log.Log);
89
+ const connect = (url, takeOutbound, onConnecting = Effect.unit, openTimeout = Duration.seconds(3)) => Effect.gen(function* (_) {
90
+ const queue = yield* _(Queue.unbounded());
91
+ const run = onConnecting.pipe(Effect.zipRight(socket(url)), Effect.flatMap(ws => Effect.all(offer(ws, queue, log), waitForOpen(ws, openTimeout).pipe(Effect.zipRight(send(ws, takeOutbound, log))), {
92
+ concurrency: "unbounded",
93
+ discard: true
94
+ })), Effect.scoped, Effect.retryWhile(isReconnect));
95
+ return {
96
+ run,
97
+ take: Queue.take(queue)
98
+ };
99
+ });
100
+ return {
101
+ connect
102
+ };
79
103
  });
80
- export const WS = tsplus_module_7.Tag();
81
- export const LiveWS = tsplus_module_8.effect(WS, make);
104
+ const WS = /*#__PURE__*/(0, _Context.Tag)();
105
+ exports.WS = WS;
106
+ const LiveWS = /*#__PURE__*/Layer.effect(WS, make);
107
+ exports.LiveWS = LiveWS;
82
108
  //# sourceMappingURL=WS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WS.js","sourceRoot":"","sources":["../src/DiscordGateway/WS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WS.js","names":["_Log","require","_isomorphicWs","_interopRequireDefault","Effect","_interopRequireWildcard","Layer","_Context","Ref","Queue","Runtime","Duration","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Reconnect","Symbol","exports","WebSocketError","reason","error","_tag","constructor","WebSocketCloseError","code","isReconnect","e","socket","urlRef","pipe","map","_","WebSocket","acquireRelease","ws","sync","removeAllListeners","close","offer","queue","log","runtime","flatMap","async","resume","run","runFork","addEventListener","message","all","debug","data","concurrency","discard","cause","fail","waitForOpen","timeout","timeoutFail","suspend","readyState","OPEN","unit","once","onTimeout","duration","send","take","tap","failSync","forever","make","gen","Log","connect","url","takeOutbound","onConnecting","openTimeout","seconds","unbounded","zipRight","scoped","retryWhile","WS","Tag","LiveWS","effect"],"sources":["../src/DiscordGateway/WS.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,15 +1,21 @@
1
- import { Stream, Discord, Hub, Effect } from "dfx/_common";
2
- import { Sharder } from "./DiscordGateway/Sharder.js";
3
- export declare const make: import("@effect/io/Effect").Effect<Sharder, never, {
4
- readonly run: import("@effect/io/Effect").Effect<never, import("./DiscordGateway/WS.js").WebSocketError | import("./DiscordGateway/WS.js").WebSocketCloseError, never>;
5
- readonly dispatch: import("@effect-http/client/_common").Stream<never, never, import("./types.js").GatewayPayload<import("./types.js").ReceiveEvent>>;
6
- readonly fromDispatch: <K extends keyof import("./types.js").ReceiveEvents>(event: K) => import("@effect-http/client/_common").Stream<never, never, import("./types.js").ReceiveEvents[K]>;
7
- readonly handleDispatch: <K_1 extends keyof import("./types.js").ReceiveEvents, R, E, A>(event: K_1, handle: (event: import("./types.js").ReceiveEvents[K_1]) => import("@effect/io/Effect").Effect<R, E, A>) => import("@effect/io/Effect").Effect<R, E, never>;
8
- readonly send: (payload: Discord.GatewayPayload<Discord.SendEvent>) => import("@effect/io/Effect").Effect<never, never, boolean>;
9
- readonly shards: import("@effect/io/Effect").Effect<never, never, import("./_common.js").HashSet<import("./DiscordGateway/Shard.js").RunningShard>>;
10
- }>;
11
- export interface DiscordGateway extends Effect.Success<typeof make> {
1
+ import { Tag } from "@effect/data/Context";
2
+ import * as HashSet from "@effect/data/HashSet";
3
+ import * as Effect from "@effect/io/Effect";
4
+ import * as Layer from "@effect/io/Layer";
5
+ import * as Stream from "@effect/stream/Stream";
6
+ import { RunningShard } from "dfx/DiscordGateway/Shard";
7
+ import { Sharder } from "dfx/DiscordGateway/Sharder";
8
+ import { WebSocketCloseError, WebSocketError } from "dfx/DiscordGateway/WS";
9
+ import * as Discord from "dfx/types";
10
+ export interface DiscordGateway {
11
+ readonly run: Effect.Effect<never, WebSocketError | WebSocketCloseError, never>;
12
+ readonly dispatch: Stream.Stream<never, never, Discord.GatewayPayload<Discord.ReceiveEvent>>;
13
+ readonly fromDispatch: <K extends keyof Discord.ReceiveEvents>(event: K) => Stream.Stream<never, never, Discord.ReceiveEvents[K]>;
14
+ readonly handleDispatch: <K extends keyof Discord.ReceiveEvents, R, E, A>(event: K, handle: (event: Discord.ReceiveEvents[K]) => Effect.Effect<R, E, A>) => Effect.Effect<R, E, never>;
15
+ readonly send: (payload: Discord.GatewayPayload<Discord.SendEvent>) => Effect.Effect<never, never, boolean>;
16
+ readonly shards: Effect.Effect<never, never, HashSet.HashSet<RunningShard>>;
12
17
  }
13
- export declare const DiscordGateway: import("@effect/data/Context").Tag<DiscordGateway, DiscordGateway>;
14
- export declare const LiveDiscordGateway: import("@effect-http/client/_common").Layer<import("./DiscordREST.js").DiscordREST | import("./DiscordConfig.js").DiscordConfig | import("./Log.js").Log | import("./RateLimit.js").RateLimitStore | import("./DiscordGateway/DiscordWS.js").DiscordWSCodec | import("./DiscordGateway/ShardStore.js").ShardStore, never, DiscordGateway>;
18
+ export declare const DiscordGateway: Tag<DiscordGateway, DiscordGateway>;
19
+ export declare const make: Effect.Effect<Sharder, never, DiscordGateway>;
20
+ export declare const LiveDiscordGateway: Layer.Layer<import("./DiscordConfig").DiscordConfig | import("./Log").Log | import("./RateLimit").RateLimitStore | import("./DiscordREST").DiscordREST | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec, never, DiscordGateway>;
15
21
  //# sourceMappingURL=DiscordGateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["src/DiscordGateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAsBlE,eAAO,MAAM,IAAI;;;;;6BAOQ,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC;;EAiBhE,CAAA;AAEF,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACtE,eAAO,MAAM,cAAc,oEAAwB,CAAA;AACnD,eAAO,MAAM,kBAAkB,2UACoB,CAAA"}
1
+ {"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["./src/DiscordGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAe,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAyBpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CACzB,KAAK,EACL,cAAc,GAAG,mBAAmB,EACpC,KAAK,CACN,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAC9B,KAAK,EACL,KAAK,EACL,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAC7C,CAAA;IACD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAC3D,KAAK,EAAE,CAAC,KACL,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;CAC5E;AACD,eAAO,MAAM,cAAc,qCAAwB,CAAA;AAEnD,eAAO,MAAM,IAAI,+CA0Bf,CAAA;AAEF,eAAO,MAAM,kBAAkB,yRAG9B,CAAA"}
package/DiscordGateway.js CHANGED
@@ -1,34 +1,47 @@
1
- import * as tsplus_module_1 from "@effect/stream/Stream";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "dfx/utils/hub";
4
- import * as tsplus_module_4 from "@effect/io/Queue";
5
- import * as tsplus_module_5 from "@effect/io/Hub";
6
- import * as tsplus_module_6 from "@effect/data/Function";
7
- import * as tsplus_module_7 from "dfx/_common";
8
- import * as tsplus_module_8 from "@effect/io/Layer";
9
- import { LiveSharder, Sharder } from "./DiscordGateway/Sharder.js";
10
- const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(tsplus_module_1.filter(source, p => p.t === event), p => p.d);
11
- const handleDispatchFactory = (hub) => (event, handle) => tsplus_module_3.subscribeForEachPar(hub, _ => {
12
- if (_.t === event) {
13
- return handle(_.d);
14
- }
15
- return tsplus_module_2.unit;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
16
5
  });
17
- export const make = tsplus_module_2.flatMap(tsplus_module_2.map(Sharder, tsplus_module_6.identity), sharder => tsplus_module_2.flatMap(tsplus_module_5.unbounded(), hub => tsplus_module_2.map(tsplus_module_4.unbounded(), sendQueue => {
18
- const send = (payload) => sendQueue.offer(payload);
19
- const dispatch = tsplus_module_1.fromHub(hub);
20
- const fromDispatch = fromDispatchFactory(dispatch);
21
- const handleDispatch = handleDispatchFactory(hub);
22
- const run = sharder.run(hub, sendQueue);
23
- return {
24
- run,
25
- dispatch,
26
- fromDispatch,
27
- handleDispatch,
28
- send,
29
- shards: sharder.shards,
30
- };
31
- })));
32
- export const DiscordGateway = tsplus_module_7.Tag();
33
- export const LiveDiscordGateway = tsplus_module_8.provide(tsplus_module_8.effect(DiscordGateway, make))(LiveSharder);
6
+ exports.make = exports.LiveDiscordGateway = exports.DiscordGateway = void 0;
7
+ var _Context = /*#__PURE__*/require("@effect/data/Context");
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
9
+ var Hub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Hub"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
11
+ var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
12
+ var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stream/Stream"));
13
+ var _Sharder = /*#__PURE__*/require("dfx/DiscordGateway/Sharder");
14
+ var EffectUtils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
15
+ 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); }
16
+ 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; }
17
+ const fromDispatchFactory = source => event => Stream.filter(source, p => p.t === event).pipe(Stream.map(p => p.d));
18
+ const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeForEachPar(hub, _ => {
19
+ if (_.t === event) {
20
+ return handle(_.d);
21
+ }
22
+ return Effect.unit;
23
+ });
24
+ const DiscordGateway = /*#__PURE__*/(0, _Context.Tag)();
25
+ exports.DiscordGateway = DiscordGateway;
26
+ const make = /*#__PURE__*/Effect.gen(function* (_) {
27
+ const sharder = yield* _(_Sharder.Sharder);
28
+ const hub = yield* _(Hub.unbounded());
29
+ const sendQueue = yield* _(Queue.unbounded());
30
+ const send = payload => sendQueue.offer(payload);
31
+ const dispatch = Stream.fromHub(hub);
32
+ const fromDispatch = fromDispatchFactory(dispatch);
33
+ const handleDispatch = handleDispatchFactory(hub);
34
+ const run = sharder.run(hub, sendQueue);
35
+ return DiscordGateway.of({
36
+ run,
37
+ dispatch,
38
+ fromDispatch,
39
+ handleDispatch,
40
+ send,
41
+ shards: sharder.shards
42
+ });
43
+ });
44
+ exports.make = make;
45
+ const LiveDiscordGateway = /*#__PURE__*/Layer.provide(_Sharder.LiveSharder, /*#__PURE__*/Layer.effect(DiscordGateway, make));
46
+ exports.LiveDiscordGateway = LiveDiscordGateway;
34
47
  //# sourceMappingURL=DiscordGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordGateway.js","sourceRoot":"","sources":["src/DiscordGateway.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAElE,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAA,uBAAA,MAAM,EAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,CAAA;AAE3D,MAAM,qBAAqB,GACzB,CAAC,GAAsD,EAAE,EAAE,CAC3D,CACE,KAAQ,EACR,MAA4D,EACvC,EAAE,CACvB,oCAAA,GAAG,EAAqB,CAAC,CAAC,EAAE;IAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;QACjB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAA;KAC1B;IACD,4BAAkB;AACpB,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,IAAI,2BACG,oBAAA,OAAO,kBAAY,QAAQ,CAAC,EAAxC,OAAO,4BACC,2BAA6D,EAArE,GAAG,wBAGP,2BAA4D,EADxD,SAAS;IAGf,MAAM,IAAI,GAAG,CAAC,OAAkD,EAAE,EAAE,CAClE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAE1B,MAAM,QAAQ,GAAG,wBAAe,GAAG,CAAC,CAAA;IACpC,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAEjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAEvC,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;QACd,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,MAAM;KACd,CAAA;IACV,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,2BACd,uBAAa,cAAc,EAAE,IAAI,CAAC,EAAjD,WAAW,CAAsC,CAAA"}
1
+ {"version":3,"file":"DiscordGateway.js","names":["_Context","require","Effect","_interopRequireWildcard","Hub","Layer","Queue","Stream","_Sharder","EffectUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fromDispatchFactory","source","event","filter","p","t","pipe","map","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","unit","DiscordGateway","Tag","exports","make","gen","sharder","Sharder","unbounded","sendQueue","send","payload","offer","dispatch","fromHub","fromDispatch","handleDispatch","run","of","shards","LiveDiscordGateway","provide","LiveSharder","effect"],"sources":["./src/DiscordGateway.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AAEA,IAAAC,MAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,GAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,KAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,KAAA,gBAAAH,uBAAA,eAAAF,OAAA;AACA,IAAAM,MAAA,gBAAAJ,uBAAA,eAAAF,OAAA;AAEA,IAAAO,QAAA,gBAAAP,OAAA;AAGA,IAAAQ,WAAA,gBAAAN,uBAAA,eAAAF,OAAA;AAA+C,SAAAS,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,SAAAR,wBAAAY,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;AAE/C,MAAMW,mBAAmB,GAErBC,MAAyE,IAGzEC,KAAQ,IAER3B,MAAM,CAAC4B,MAAM,CAACF,MAAM,EAAEG,CAAC,IAAIA,CAAC,CAACC,CAAC,KAAKH,KAAK,CAAC,CAACI,IAAI,CAAC/B,MAAM,CAACgC,GAAG,CAACH,CAAC,IAAIA,CAAC,CAACI,CAAS,CAAC,CAAC;AAEhF,MAAMC,qBAAqB,GACxBC,GAA0D,IAC3D,CACER,KAAQ,EACRS,MAAmE,KAEnElC,WAAW,CAACmC,mBAAmB,CAACF,GAAG,EAAEG,CAAC,IAAG;EACvC,IAAIA,CAAC,CAACR,CAAC,KAAKH,KAAK,EAAE;IACjB,OAAOS,MAAM,CAACE,CAAC,CAACL,CAAQ,CAAC;;EAE3B,OAAOtC,MAAM,CAAC4C,IAAI;AACpB,CAAC,CAAC;AAyBC,MAAMC,cAAc,gBAAG,IAAAC,YAAG,GAAkB;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAE5C,MAAMG,IAAI,gBAAGhD,MAAM,CAACiD,GAAG,CAAC,WAAWN,CAAC;EACzC,MAAMO,OAAO,GAAG,OAAOP,CAAC,CAACQ,gBAAO,CAAC;EACjC,MAAMX,GAAG,GAAG,OAAOG,CAAC,CAClBzC,GAAG,CAACkD,SAAS,EAAgD,CAC9D;EAED,MAAMC,SAAS,GAAG,OAAOV,CAAC,CACxBvC,KAAK,CAACgD,SAAS,EAA6C,CAC7D;EACD,MAAME,IAAI,GAAIC,OAAkD,IAC9DF,SAAS,CAACG,KAAK,CAACD,OAAO,CAAC;EAE1B,MAAME,QAAQ,GAAGpD,MAAM,CAACqD,OAAO,CAAClB,GAAG,CAAC;EACpC,MAAMmB,YAAY,GAAG7B,mBAAmB,CAAC2B,QAAQ,CAAC;EAClD,MAAMG,cAAc,GAAGrB,qBAAqB,CAACC,GAAG,CAAC;EAEjD,MAAMqB,GAAG,GAAGX,OAAO,CAACW,GAAG,CAACrB,GAAG,EAAEa,SAAS,CAAC;EAEvC,OAAOR,cAAc,CAACiB,EAAE,CAAC;IACvBD,GAAG;IACHJ,QAAQ;IACRE,YAAY;IACZC,cAAc;IACdN,IAAI;IACJS,MAAM,EAAEb,OAAO,CAACa;GACjB,CAAC;AACJ,CAAC,CAAC;AAAAhB,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEK,MAAMgB,kBAAkB,gBAAG7D,KAAK,CAAC8D,OAAO,CAC7CC,oBAAW,eACX/D,KAAK,CAACgE,MAAM,CAACtB,cAAc,EAAEG,IAAI,CAAC,CACnC;AAAAD,OAAA,CAAAiB,kBAAA,GAAAA,kBAAA"}
@@ -1,8 +1,8 @@
1
- import * as Http from "@effect-http/client";
2
- import { DiscordRESTError } from "dfx/DiscordREST";
3
- import { Effect } from "dfx/_common";
1
+ import type * as Http from "@effect-http/client";
2
+ import type { DiscordRESTError } from "dfx/DiscordREST";
3
+ import type * as Effect from "@effect/io/Effect";
4
4
  export interface ResponseWithData<A> extends Http.response.Response {
5
- readonly json: Effect<never, Http.ResponseDecodeError, A>;
5
+ readonly json: Effect.Effect<never, Http.ResponseDecodeError, A>;
6
6
  }
7
- export type RestResponse<T> = Effect<never, DiscordRESTError, ResponseWithData<T>>;
7
+ export type RestResponse<T> = Effect.Effect<never, DiscordRESTError, ResponseWithData<T>>;
8
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/DiscordREST/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAA;CAC1D;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,CAClC,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/DiscordREST/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAA;CACjE;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CACzC,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAA"}
@@ -1,2 +1,6 @@
1
- export {};
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/DiscordREST/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/DiscordREST/types.ts"],"sourcesContent":[null],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  import * as Option from "@effect/data/Option";
2
+ import * as Duration from "@effect/data/Duration";
2
3
  export declare const routeFromConfig: (path: string, method: string) => string;
3
4
  export declare const numberHeader: (headers: Headers) => (key: string) => Option.Option<number>;
4
- export declare const retryAfter: (headers: Headers) => Option.Option<import("../_common.js").Duration>;
5
+ export declare const retryAfter: (headers: Headers) => Option.Option<Duration.Duration>;
5
6
  export declare const rateLimitFromHeaders: (headers: Headers) => Option.Option<{
6
7
  bucket: string;
7
- retryAfter: import("../_common.js").Duration;
8
+ retryAfter: Duration.Duration;
8
9
  limit: number;
9
10
  remaining: number;
10
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/DiscordREST/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAI7C,eAAO,MAAM,eAAe,SAAU,MAAM,UAAU,MAAM,WAW3D,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,MAAM,0BAGnC,CAAA;AAE3B,eAAO,MAAM,UAAU,YAAa,OAAO,oDAGjB,CAAA;AAE1B,eAAO,MAAM,oBAAoB,YAAa,OAAO;;;;;EAMjD,CAAA;AACJ,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/DiscordREST/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAIjD,eAAO,MAAM,eAAe,SAAU,MAAM,UAAU,MAAM,WAW3D,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,MAAM,0BAI3D,CAAA;AAEH,eAAO,MAAM,UAAU,YAAa,OAAO,qCAIxC,CAAA;AAEH,eAAO,MAAM,oBAAoB,YAAa,OAAO;;;;;EAMjD,CAAA;AACJ,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -1,21 +1,31 @@
1
- import * as tsplus_module_1 from "@effect/data/Duration";
2
- import * as Option from "@effect/data/Option";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.routeFromConfig = exports.retryAfter = exports.rateLimitFromHeaders = exports.numberHeader = void 0;
7
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
8
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
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
  const majorResources = ["channels", "guilds", "webhooks"];
4
- export const routeFromConfig = (path, method) => {
5
- // Only keep major ID's
6
- const routeURL = path
7
- .split("?")[0]
8
- .replace(/\/([A-Za-z]+)\/(\d{16,21}|@me)/g, (match, resource) => majorResources.includes(resource) ? match : `/${resource}`)
9
- // Strip reactions
10
- .replace(/\/reactions\/(.*)/, "/reactions");
11
- return `${method}-${routeURL}`;
12
+ const routeFromConfig = (path, method) => {
13
+ // Only keep major ID's
14
+ const routeURL = path.split("?")[0].replace(/\/([A-Za-z]+)\/(\d{16,21}|@me)/g, (match, resource) => majorResources.includes(resource) ? match : `/${resource}`)
15
+ // Strip reactions
16
+ .replace(/\/reactions\/(.*)/, "/reactions");
17
+ return `${method}-${routeURL}`;
12
18
  };
13
- export const numberHeader = (headers) => (key) => Option.filter(Option.map(Option.fromNullable(headers.get(key)), parseFloat), n => !isNaN(n));
14
- export const retryAfter = (headers) => Option.map(Option.orElse(numberHeader(headers)("x-ratelimit-reset-after"), () => numberHeader(headers)("retry-after")), tsplus_module_1.seconds);
15
- export const rateLimitFromHeaders = (headers) => Option.all({
16
- bucket: Option.fromNullable(headers.get("x-ratelimit-bucket")),
17
- retryAfter: retryAfter(headers),
18
- limit: numberHeader(headers)("x-ratelimit-limit"),
19
- remaining: numberHeader(headers)("x-ratelimit-remaining"),
19
+ exports.routeFromConfig = routeFromConfig;
20
+ const numberHeader = headers => key => Option.fromNullable(headers.get(key)).pipe(Option.map(parseFloat), Option.filter(n => !isNaN(n)));
21
+ exports.numberHeader = numberHeader;
22
+ const retryAfter = headers => numberHeader(headers)("x-ratelimit-reset-after").pipe(Option.orElse(() => numberHeader(headers)("retry-after")), Option.map(Duration.seconds));
23
+ exports.retryAfter = retryAfter;
24
+ const rateLimitFromHeaders = headers => Option.all({
25
+ bucket: Option.fromNullable(headers.get("x-ratelimit-bucket")),
26
+ retryAfter: retryAfter(headers),
27
+ limit: numberHeader(headers)("x-ratelimit-limit"),
28
+ remaining: numberHeader(headers)("x-ratelimit-remaining")
20
29
  });
30
+ exports.rateLimitFromHeaders = rateLimitFromHeaders;
21
31
  //# sourceMappingURL=utils.js.map