dfx 0.3.1 → 0.5.1

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 (307) hide show
  1. package/dist/DiscordConfig/index.d.ts +40 -0
  2. package/dist/DiscordConfig/index.d.ts.map +1 -0
  3. package/dist/DiscordConfig/index.js +29 -0
  4. package/dist/DiscordConfig/index.js.map +1 -0
  5. package/dist/DiscordGateway/DiscordWS/index.d.ts +23 -0
  6. package/dist/DiscordGateway/DiscordWS/index.d.ts.map +1 -0
  7. package/dist/DiscordGateway/DiscordWS/index.js +25 -0
  8. package/dist/DiscordGateway/DiscordWS/index.js.map +1 -0
  9. package/dist/DiscordGateway/Shard/heartbeats.d.ts +3 -0
  10. package/dist/DiscordGateway/Shard/heartbeats.d.ts.map +1 -0
  11. package/dist/DiscordGateway/Shard/heartbeats.js +23 -0
  12. package/dist/DiscordGateway/Shard/heartbeats.js.map +1 -0
  13. package/dist/DiscordGateway/Shard/identify.d.ts +13 -0
  14. package/dist/DiscordGateway/Shard/identify.d.ts.map +1 -0
  15. package/dist/DiscordGateway/Shard/identify.js +30 -0
  16. package/dist/DiscordGateway/Shard/identify.js.map +1 -0
  17. package/dist/DiscordGateway/Shard/index.d.ts +9 -0
  18. package/dist/DiscordGateway/Shard/index.d.ts.map +1 -0
  19. package/dist/DiscordGateway/Shard/index.js +51 -0
  20. package/dist/DiscordGateway/Shard/index.js.map +1 -0
  21. package/dist/DiscordGateway/Shard/invalidSession.d.ts +3 -0
  22. package/dist/DiscordGateway/Shard/invalidSession.d.ts.map +1 -0
  23. package/dist/DiscordGateway/Shard/invalidSession.js +9 -0
  24. package/dist/DiscordGateway/Shard/invalidSession.js.map +1 -0
  25. package/dist/DiscordGateway/Shard/sendEvents.d.ts +8 -0
  26. package/dist/DiscordGateway/Shard/sendEvents.d.ts.map +1 -0
  27. package/dist/DiscordGateway/Shard/sendEvents.js +26 -0
  28. package/dist/DiscordGateway/Shard/sendEvents.js.map +1 -0
  29. package/dist/DiscordGateway/Shard/utils.d.ts +4 -0
  30. package/dist/DiscordGateway/Shard/utils.d.ts.map +1 -0
  31. package/dist/DiscordGateway/Shard/utils.js +9 -0
  32. package/dist/DiscordGateway/Shard/utils.js.map +1 -0
  33. package/dist/DiscordGateway/ShardStore/index.d.ts +13 -0
  34. package/dist/DiscordGateway/ShardStore/index.d.ts.map +1 -0
  35. package/dist/DiscordGateway/ShardStore/index.js +22 -0
  36. package/dist/DiscordGateway/ShardStore/index.js.map +1 -0
  37. package/dist/DiscordGateway/Sharder/index.d.ts +10 -0
  38. package/dist/DiscordGateway/Sharder/index.d.ts.map +1 -0
  39. package/dist/DiscordGateway/Sharder/index.js +60 -0
  40. package/dist/DiscordGateway/Sharder/index.js.map +1 -0
  41. package/dist/DiscordGateway/WS/index.d.ts +28 -0
  42. package/dist/DiscordGateway/WS/index.d.ts.map +1 -0
  43. package/dist/DiscordGateway/WS/index.js +82 -0
  44. package/dist/DiscordGateway/WS/index.js.map +1 -0
  45. package/dist/DiscordGateway/index.d.ts +21 -0
  46. package/dist/DiscordGateway/index.d.ts.map +1 -0
  47. package/dist/DiscordGateway/index.js +27 -0
  48. package/dist/DiscordGateway/index.js.map +1 -0
  49. package/dist/DiscordREST/index.d.ts +13 -0
  50. package/dist/DiscordREST/index.d.ts.map +1 -0
  51. package/dist/DiscordREST/index.js +85 -0
  52. package/dist/DiscordREST/index.js.map +1 -0
  53. package/dist/DiscordREST/types.d.ts +10 -0
  54. package/dist/DiscordREST/types.d.ts.map +1 -0
  55. package/dist/DiscordREST/types.js +2 -0
  56. package/{esm → dist}/DiscordREST/types.js.map +1 -1
  57. package/dist/DiscordREST/utils.d.ts +11 -0
  58. package/dist/DiscordREST/utils.d.ts.map +1 -0
  59. package/dist/DiscordREST/utils.js +22 -0
  60. package/dist/DiscordREST/utils.js.map +1 -0
  61. package/dist/Helpers/flags.d.ts +28 -0
  62. package/dist/Helpers/flags.d.ts.map +1 -0
  63. package/dist/Helpers/flags.js +36 -0
  64. package/dist/Helpers/flags.js.map +1 -0
  65. package/dist/Helpers/intents.d.ts +25 -0
  66. package/dist/Helpers/intents.d.ts.map +1 -0
  67. package/dist/Helpers/intents.js +28 -0
  68. package/dist/Helpers/intents.js.map +1 -0
  69. package/dist/Helpers/interactions.d.ts +74 -0
  70. package/dist/Helpers/interactions.d.ts.map +1 -0
  71. package/dist/Helpers/interactions.js +93 -0
  72. package/dist/Helpers/interactions.js.map +1 -0
  73. package/dist/Helpers/members.d.ts +10 -0
  74. package/dist/Helpers/members.d.ts.map +1 -0
  75. package/dist/Helpers/members.js +10 -0
  76. package/dist/Helpers/members.js.map +1 -0
  77. package/dist/Helpers/permissions.d.ts +35 -0
  78. package/dist/Helpers/permissions.d.ts.map +1 -0
  79. package/dist/Helpers/permissions.js +69 -0
  80. package/dist/Helpers/permissions.js.map +1 -0
  81. package/dist/Helpers/ui.d.ts +48 -0
  82. package/dist/Helpers/ui.d.ts.map +1 -0
  83. package/dist/Helpers/ui.js +67 -0
  84. package/dist/Helpers/ui.js.map +1 -0
  85. package/dist/Http/index.d.ts +31 -0
  86. package/dist/Http/index.d.ts.map +1 -0
  87. package/dist/Http/index.js +54 -0
  88. package/dist/Http/index.js.map +1 -0
  89. package/dist/Interactions/context.d.ts +29 -0
  90. package/dist/Interactions/context.d.ts.map +1 -0
  91. package/dist/Interactions/context.js +23 -0
  92. package/dist/Interactions/context.js.map +1 -0
  93. package/dist/Interactions/definitions.d.ts +55 -0
  94. package/dist/Interactions/definitions.d.ts.map +1 -0
  95. package/dist/Interactions/definitions.js +52 -0
  96. package/dist/Interactions/definitions.js.map +1 -0
  97. package/dist/Interactions/gateway.d.ts +6 -0
  98. package/dist/Interactions/gateway.d.ts.map +1 -0
  99. package/dist/Interactions/gateway.js +17 -0
  100. package/dist/Interactions/gateway.js.map +1 -0
  101. package/dist/Interactions/handlers.d.ts +9 -0
  102. package/dist/Interactions/handlers.d.ts.map +1 -0
  103. package/dist/Interactions/handlers.js +49 -0
  104. package/dist/Interactions/handlers.js.map +1 -0
  105. package/dist/Interactions/index.d.ts +20 -0
  106. package/dist/Interactions/index.d.ts.map +1 -0
  107. package/dist/Interactions/index.js +31 -0
  108. package/dist/Interactions/index.js.map +1 -0
  109. package/dist/Interactions/utils.d.ts +10 -0
  110. package/dist/Interactions/utils.d.ts.map +1 -0
  111. package/dist/Interactions/utils.js +20 -0
  112. package/dist/Interactions/utils.js.map +1 -0
  113. package/dist/Interactions/webhook.d.ts +18 -0
  114. package/dist/Interactions/webhook.d.ts.map +1 -0
  115. package/dist/Interactions/webhook.js +26 -0
  116. package/dist/Interactions/webhook.js.map +1 -0
  117. package/dist/Log/index.d.ts +13 -0
  118. package/dist/Log/index.d.ts.map +1 -0
  119. package/dist/Log/index.js +19 -0
  120. package/dist/Log/index.js.map +1 -0
  121. package/dist/RateLimitStore/index.d.ts +25 -0
  122. package/dist/RateLimitStore/index.d.ts.map +1 -0
  123. package/dist/RateLimitStore/index.js +24 -0
  124. package/dist/RateLimitStore/index.js.map +1 -0
  125. package/dist/RateLimitStore/memory.d.ts +3 -0
  126. package/dist/RateLimitStore/memory.d.ts.map +1 -0
  127. package/dist/RateLimitStore/memory.js +31 -0
  128. package/dist/RateLimitStore/memory.js.map +1 -0
  129. package/dist/RateLimitStore/utils.d.ts +3 -0
  130. package/dist/RateLimitStore/utils.d.ts.map +1 -0
  131. package/dist/RateLimitStore/utils.js +18 -0
  132. package/dist/RateLimitStore/utils.js.map +1 -0
  133. package/dist/common.d.ts +34 -0
  134. package/dist/common.d.ts.map +1 -0
  135. package/dist/common.js +21 -0
  136. package/dist/common.js.map +1 -0
  137. package/dist/global.d.ts +14 -0
  138. package/dist/global.d.ts.map +1 -0
  139. package/dist/global.js +2 -0
  140. package/dist/global.js.map +1 -0
  141. package/dist/index.d.ts +21 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +33 -0
  144. package/dist/index.js.map +1 -0
  145. package/{types.d.ts → dist/types.d.ts} +1455 -824
  146. package/dist/types.d.ts.map +1 -0
  147. package/{esm → dist}/types.js +283 -46
  148. package/dist/types.js.map +1 -0
  149. package/dist/utils/effect.d.ts +3 -0
  150. package/dist/utils/effect.d.ts.map +1 -0
  151. package/dist/utils/effect.js +2 -0
  152. package/dist/utils/effect.js.map +1 -0
  153. package/dist/utils/tsplus.d.ts +14 -0
  154. package/dist/utils/tsplus.d.ts.map +1 -0
  155. package/dist/utils/tsplus.js +2 -0
  156. package/dist/utils/tsplus.js.map +1 -0
  157. package/package.json +34 -51
  158. package/src/DiscordConfig/index.ts +52 -0
  159. package/src/DiscordGateway/DiscordWS/index.ts +50 -0
  160. package/src/DiscordGateway/Shard/heartbeats.ts +39 -0
  161. package/src/DiscordGateway/Shard/identify.ts +61 -0
  162. package/src/DiscordGateway/Shard/index.ts +90 -0
  163. package/src/DiscordGateway/Shard/invalidSession.ts +11 -0
  164. package/src/DiscordGateway/Shard/sendEvents.ts +35 -0
  165. package/src/DiscordGateway/Shard/utils.ts +14 -0
  166. package/src/DiscordGateway/ShardStore/index.ts +33 -0
  167. package/src/DiscordGateway/Sharder/index.ts +95 -0
  168. package/src/DiscordGateway/WS/index.ts +99 -0
  169. package/src/DiscordGateway/index.ts +55 -0
  170. package/src/DiscordREST/index.ts +132 -0
  171. package/src/DiscordREST/types.ts +14 -0
  172. package/src/DiscordREST/utils.ts +35 -0
  173. package/src/Helpers/flags.ts +68 -0
  174. package/src/Helpers/intents.ts +32 -0
  175. package/src/Helpers/interactions.ts +180 -0
  176. package/src/Helpers/members.ts +14 -0
  177. package/src/Helpers/permissions.ts +102 -0
  178. package/src/Helpers/ui.ts +103 -0
  179. package/src/Http/index.ts +65 -0
  180. package/src/Interactions/context.ts +76 -0
  181. package/src/Interactions/definitions.ts +124 -0
  182. package/src/Interactions/gateway.ts +44 -0
  183. package/src/Interactions/handlers.ts +139 -0
  184. package/src/Interactions/index.ts +57 -0
  185. package/src/Interactions/utils.ts +47 -0
  186. package/src/Interactions/webhook.ts +59 -0
  187. package/src/Log/index.ts +23 -0
  188. package/src/RateLimitStore/index.ts +65 -0
  189. package/src/RateLimitStore/memory.ts +48 -0
  190. package/src/RateLimitStore/utils.ts +27 -0
  191. package/src/common.ts +35 -0
  192. package/src/global.ts +50 -0
  193. package/src/index.ts +45 -0
  194. package/src/json.d.ts +1 -0
  195. package/{types.ts → src/types.ts} +1615 -875
  196. package/src/utils/effect.ts +7 -0
  197. package/src/utils/tsplus.ts +11 -0
  198. package/DiscordConfig/index.d.ts +0 -29
  199. package/DiscordConfig/index.js +0 -31
  200. package/DiscordConfig/index.js.map +0 -1
  201. package/DiscordConfig/index.ts +0 -45
  202. package/DiscordGateway/index.d.ts +0 -23
  203. package/DiscordGateway/index.js +0 -25
  204. package/DiscordGateway/index.js.map +0 -1
  205. package/DiscordGateway/index.ts +0 -34
  206. package/DiscordGateway/utils.d.ts +0 -3
  207. package/DiscordGateway/utils.js +0 -12
  208. package/DiscordGateway/utils.js.map +0 -1
  209. package/DiscordGateway/utils.ts +0 -17
  210. package/DiscordREST/http.d.ts +0 -3
  211. package/DiscordREST/http.js +0 -20
  212. package/DiscordREST/http.js.map +0 -1
  213. package/DiscordREST/http.ts +0 -21
  214. package/DiscordREST/index.d.ts +0 -15
  215. package/DiscordREST/index.js +0 -63
  216. package/DiscordREST/index.js.map +0 -1
  217. package/DiscordREST/index.ts +0 -79
  218. package/DiscordREST/types.d.ts +0 -14
  219. package/DiscordREST/types.js +0 -6
  220. package/DiscordREST/types.js.map +0 -1
  221. package/DiscordREST/types.ts +0 -15
  222. package/DiscordShard/commands.d.ts +0 -7
  223. package/DiscordShard/commands.js +0 -38
  224. package/DiscordShard/commands.js.map +0 -1
  225. package/DiscordShard/commands.ts +0 -40
  226. package/DiscordShard/heartbeats.d.ts +0 -6
  227. package/DiscordShard/heartbeats.js +0 -29
  228. package/DiscordShard/heartbeats.js.map +0 -1
  229. package/DiscordShard/heartbeats.ts +0 -65
  230. package/DiscordShard/identify.d.ts +0 -15
  231. package/DiscordShard/identify.js +0 -35
  232. package/DiscordShard/identify.js.map +0 -1
  233. package/DiscordShard/identify.ts +0 -75
  234. package/DiscordShard/index.d.ts +0 -32
  235. package/DiscordShard/index.js +0 -65
  236. package/DiscordShard/index.js.map +0 -1
  237. package/DiscordShard/index.ts +0 -124
  238. package/DiscordShard/invalidSession.d.ts +0 -6
  239. package/DiscordShard/invalidSession.js +0 -17
  240. package/DiscordShard/invalidSession.js.map +0 -1
  241. package/DiscordShard/invalidSession.ts +0 -24
  242. package/DiscordShard/utils.d.ts +0 -7
  243. package/DiscordShard/utils.js +0 -17
  244. package/DiscordShard/utils.js.map +0 -1
  245. package/DiscordShard/utils.ts +0 -32
  246. package/DiscordWS/index.d.ts +0 -36
  247. package/DiscordWS/index.js +0 -33
  248. package/DiscordWS/index.js.map +0 -1
  249. package/DiscordWS/index.ts +0 -78
  250. package/Log/index.d.ts +0 -15
  251. package/Log/index.js +0 -28
  252. package/Log/index.js.map +0 -1
  253. package/Log/index.ts +0 -30
  254. package/Utils/memoize.d.ts +0 -3
  255. package/Utils/memoize.js +0 -16
  256. package/Utils/memoize.js.map +0 -1
  257. package/Utils/memoize.ts +0 -15
  258. package/WS/index.d.ts +0 -30
  259. package/WS/index.js +0 -70
  260. package/WS/index.js.map +0 -1
  261. package/WS/index.ts +0 -106
  262. package/bot.d.ts +0 -1
  263. package/bot.js +0 -28
  264. package/bot.js.map +0 -1
  265. package/bot.ts +0 -48
  266. package/esm/DiscordConfig/index.js +0 -26
  267. package/esm/DiscordConfig/index.js.map +0 -1
  268. package/esm/DiscordGateway/index.js +0 -20
  269. package/esm/DiscordGateway/index.js.map +0 -1
  270. package/esm/DiscordGateway/utils.js +0 -7
  271. package/esm/DiscordGateway/utils.js.map +0 -1
  272. package/esm/DiscordREST/http.js +0 -15
  273. package/esm/DiscordREST/http.js.map +0 -1
  274. package/esm/DiscordREST/index.js +0 -59
  275. package/esm/DiscordREST/index.js.map +0 -1
  276. package/esm/DiscordREST/types.js +0 -3
  277. package/esm/DiscordShard/commands.js +0 -28
  278. package/esm/DiscordShard/commands.js.map +0 -1
  279. package/esm/DiscordShard/heartbeats.js +0 -24
  280. package/esm/DiscordShard/heartbeats.js.map +0 -1
  281. package/esm/DiscordShard/identify.js +0 -30
  282. package/esm/DiscordShard/identify.js.map +0 -1
  283. package/esm/DiscordShard/index.js +0 -60
  284. package/esm/DiscordShard/index.js.map +0 -1
  285. package/esm/DiscordShard/invalidSession.js +0 -12
  286. package/esm/DiscordShard/invalidSession.js.map +0 -1
  287. package/esm/DiscordShard/utils.js +0 -11
  288. package/esm/DiscordShard/utils.js.map +0 -1
  289. package/esm/DiscordWS/index.js +0 -28
  290. package/esm/DiscordWS/index.js.map +0 -1
  291. package/esm/Log/index.js +0 -22
  292. package/esm/Log/index.js.map +0 -1
  293. package/esm/Utils/memoize.js +0 -12
  294. package/esm/Utils/memoize.js.map +0 -1
  295. package/esm/WS/index.js +0 -65
  296. package/esm/WS/index.js.map +0 -1
  297. package/esm/bot.js +0 -25
  298. package/esm/bot.js.map +0 -1
  299. package/esm/mod.js +0 -16
  300. package/esm/mod.js.map +0 -1
  301. package/esm/types.js.map +0 -1
  302. package/mod.d.ts +0 -7
  303. package/mod.js +0 -25
  304. package/mod.js.map +0 -1
  305. package/mod.ts +0 -19
  306. package/types.js +0 -1564
  307. package/types.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ export type Success<A extends Effect<any, any, any>> = A extends Effect<
2
+ any,
3
+ any,
4
+ infer R
5
+ >
6
+ ? R
7
+ : never
@@ -0,0 +1,11 @@
1
+ declare global {
2
+ /** @tsplus type ReadonlyArray */
3
+ /** @tsplus type Iterable */
4
+ interface ReadonlyArray<T> {}
5
+
6
+ /** @tsplus type Iterable */
7
+ interface Iterable<T> {}
8
+
9
+ /** @tsplus type Iterable */
10
+ interface Array<T> {}
11
+ }
@@ -1,29 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect";
2
- import { UpdatePresence } from "../types";
3
- export interface DiscordConfig {
4
- _tag: "DiscordConfig";
5
- token: string;
6
- rest: {
7
- baseUrl: string;
8
- };
9
- gateway: {
10
- intents: number;
11
- presence?: UpdatePresence;
12
- };
13
- }
14
- export declare const DiscordConfig: import("@effect-ts/system/Has").Tag<DiscordConfig>;
15
- export interface MakeOpts {
16
- token: string;
17
- rest?: Partial<DiscordConfig["rest"]>;
18
- gateway?: Partial<DiscordConfig["gateway"]>;
19
- }
20
- export declare const make: ({ token, rest, gateway }: MakeOpts) => DiscordConfig;
21
- export declare const makeLayer: (a_0: MakeOpts) => import("@effect-ts/system/Layer").Layer<{}, never, import("@effect-ts/system/Has").Has<DiscordConfig>>;
22
- export declare const token: T.Effect<import("@effect-ts/system/Has").Has<DiscordConfig>, never, string>;
23
- export declare const rest: T.Effect<import("@effect-ts/system/Has").Has<DiscordConfig>, never, {
24
- baseUrl: string;
25
- }>;
26
- export declare const gateway: T.Effect<import("@effect-ts/system/Has").Has<DiscordConfig>, never, {
27
- intents: number;
28
- presence?: UpdatePresence | undefined;
29
- }>;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gateway = exports.rest = exports.token = exports.makeLayer = exports.make = exports.DiscordConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordConfig/index.ts";
7
- const Has_1 = require("@effect-ts/system/Has");
8
- const T = tslib_1.__importStar(require("@effect-ts/core/Effect"));
9
- const Function_1 = require("@effect-ts/system/Function");
10
- const Layer_1 = require("@effect-ts/system/Layer");
11
- const types_1 = require("../types");
12
- const VERSION = 9;
13
- exports.DiscordConfig = (0, Has_1.tag)();
14
- const make = ({ token, rest, gateway }) => ({
15
- _tag: "DiscordConfig",
16
- token,
17
- rest: {
18
- baseUrl: `https://discord.com/api/v${VERSION}`,
19
- ...(rest ?? {}),
20
- },
21
- gateway: {
22
- intents: types_1.GatewayIntents.GUILDS,
23
- ...(gateway ?? {}),
24
- },
25
- });
26
- exports.make = make;
27
- exports.makeLayer = (0, Function_1.flow)(exports.make, (0, Layer_1.fromValue)(exports.DiscordConfig));
28
- exports.token = T.accessService(exports.DiscordConfig)(({ token }) => token, fileName_1 + ":43:52");
29
- exports.rest = T.accessService(exports.DiscordConfig)(({ rest }) => rest, fileName_1 + ":44:51");
30
- exports.gateway = T.accessService(exports.DiscordConfig)(({ gateway }) => gateway, fileName_1 + ":45:54");
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA2C;AAC3C,kEAA2C;AAC3C,yDAAiD;AACjD,mDAAmD;AACnD,oCAAyD;AAEzD,MAAM,OAAO,GAAG,CAAC,CAAA;AAaJ,QAAA,aAAa,GAAG,IAAA,SAAG,GAAiB,CAAA;AAQ1C,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAY,EAAiB,EAAE,CAAC,CAAC;IAC1E,IAAI,EAAE,eAAe;IACrB,KAAK;IACL,IAAI,EAAE;QACJ,OAAO,EAAE,4BAA4B,OAAO,EAAE;QAC9C,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;KAChB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,sBAAc,CAAC,MAAM;QAC9B,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;KACnB;CACF,CAAC,CAAA;AAXW,QAAA,IAAI,QAWf;AAEW,QAAA,SAAS,GAAG,IAAA,eAAI,EAAC,YAAI,EAAE,IAAA,iBAAS,EAAC,qBAAa,CAAC,CAAC,CAAA;AAEhD,QAAA,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,wBAAC,CAAA;AAC5D,QAAA,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,wBAAC,CAAA;AACzD,QAAA,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,wBAAC,CAAA"}
@@ -1,45 +0,0 @@
1
- import { tag } from "@effect-ts/system/Has"
2
- import * as T from "@effect-ts/core/Effect"
3
- import { flow } from "@effect-ts/system/Function"
4
- import { fromValue } from "@effect-ts/system/Layer"
5
- import { GatewayIntents, UpdatePresence } from "../types"
6
-
7
- const VERSION = 9
8
-
9
- export interface DiscordConfig {
10
- _tag: "DiscordConfig"
11
- token: string
12
- rest: {
13
- baseUrl: string
14
- }
15
- gateway: {
16
- intents: number
17
- presence?: UpdatePresence
18
- }
19
- }
20
- export const DiscordConfig = tag<DiscordConfig>()
21
-
22
- export interface MakeOpts {
23
- token: string
24
- rest?: Partial<DiscordConfig["rest"]>
25
- gateway?: Partial<DiscordConfig["gateway"]>
26
- }
27
-
28
- export const make = ({ token, rest, gateway }: MakeOpts): DiscordConfig => ({
29
- _tag: "DiscordConfig",
30
- token,
31
- rest: {
32
- baseUrl: `https://discord.com/api/v${VERSION}`,
33
- ...(rest ?? {}),
34
- },
35
- gateway: {
36
- intents: GatewayIntents.GUILDS,
37
- ...(gateway ?? {}),
38
- },
39
- })
40
-
41
- export const makeLayer = flow(make, fromValue(DiscordConfig))
42
-
43
- export const token = T.accessService(DiscordConfig)(({ token }) => token)
44
- export const rest = T.accessService(DiscordConfig)(({ rest }) => rest)
45
- export const gateway = T.accessService(DiscordConfig)(({ gateway }) => gateway)
@@ -1,23 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect";
2
- import * as M from "@effect-ts/core/Effect/Managed";
3
- import { _A } from "@effect-ts/core/Utils";
4
- import * as Shard from "../DiscordShard";
5
- import * as CB from "callbag-effect-ts";
6
- import { GatewayEvents } from "../types";
7
- declare const make: M.Managed<import("@effect-ts/system/Has").Has<import("../DiscordConfig").DiscordConfig> & import("@effect-ts/system/Has").Has<Shard.DiscordShard>, never, {
8
- readonly fromDispatch: <K extends keyof GatewayEvents>(event: K) => CB.EffectSource<import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock, never, GatewayEvents[K]>;
9
- readonly run: T.RIO<import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock, void>;
10
- readonly raw: CB.EffectSource<import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock, never, import("../types").GatewayPayload<any>>;
11
- readonly dispatch: CB.EffectSource<import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock, never, import("../types").GatewayPayload<import("../types").GatewayEvent>>;
12
- readonly send: (p: import("../types").GatewayPayload<any>) => void;
13
- readonly reconnect: () => void;
14
- readonly _tag: "DiscordGatewayService";
15
- }>;
16
- export interface DiscordGateway extends _A<typeof make> {
17
- }
18
- export declare const DiscordGateway: import("@effect-ts/system/Has").Tag<DiscordGateway>;
19
- export declare const LiveDiscordGateway: import("@effect-ts/system/Layer").Layer<import("@effect-ts/system/Has").Has<import("../DiscordConfig").DiscordConfig> & import("@effect-ts/system/Has").Has<Shard.DiscordShard>, never, import("@effect-ts/system/Has").Has<DiscordGateway>>;
20
- export declare const gateway: T.Effect<import("@effect-ts/system/Has").Has<DiscordGateway>, never, DiscordGateway>;
21
- export declare const run: T.Effect<import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock & import("@effect-ts/system/Has").Has<DiscordGateway>, never, void>;
22
- export declare const fromDispatch: <K extends keyof GatewayEvents>(event: K) => CB.EffectSource<import("@effect-ts/system/Has").Has<DiscordGateway> & import("@effect-ts/system/Has").Has<import("../DiscordWS").DiscordWS> & import("@effect-ts/system/Has").Has<import("../WS").WS> & import("@effect-ts/system/Has").Has<import("../Log").Log> & import("@effect-ts/system/Clock").HasClock, never, GatewayEvents[K]>;
23
- export {};
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromDispatch = exports.run = exports.gateway = exports.LiveDiscordGateway = exports.DiscordGateway = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordGateway/index.ts";
7
- const T = tslib_1.__importStar(require("@effect-ts/core/Effect"));
8
- const M = tslib_1.__importStar(require("@effect-ts/core/Effect/Managed"));
9
- const Function_1 = require("@effect-ts/core/Function");
10
- const Has_1 = require("@effect-ts/core/Has");
11
- const Shard = tslib_1.__importStar(require("../DiscordShard"));
12
- const Utils = tslib_1.__importStar(require("./utils"));
13
- const CB = tslib_1.__importStar(require("callbag-effect-ts"));
14
- const make = (M.map_(Shard.make([0, 1]), (shard) => ({
15
- _tag: "DiscordGatewayService",
16
- ...shard,
17
- fromDispatch: Utils.fromDispatch(shard.dispatch),
18
- }), fileName_1 + ":13:8"));
19
- exports.DiscordGateway = (0, Has_1.tag)();
20
- exports.LiveDiscordGateway = M.toLayer_(make, exports.DiscordGateway);
21
- exports.gateway = T.accessService(exports.DiscordGateway)(Function_1.identity, fileName_1 + ":27:55");
22
- exports.run = T.accessServiceM(exports.DiscordGateway)(({ run }) => run, fileName_1 + ":28:52");
23
- const fromDispatch = (event) => (CB.unwrap(T.accessService(exports.DiscordGateway)(({ fromDispatch }) => fromDispatch(event), fileName_1 + ":32:36")));
24
- exports.fromDispatch = fromDispatch;
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA2C;AAC3C,0EAAmD;AACnD,uDAAyD;AACzD,6CAAyC;AAEzC,+DAAwC;AACxC,uDAAgC;AAChC,8DAAuC;AAGvC,MAAM,IAAI,IAER,CAAC,MADD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAEhB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC;IACC,IAAI,EAAE,uBAAuB;IAC7B,GAAG,KAAK;IACR,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;CACvC,CAAA,wBAEhB,CAAA;AAGY,QAAA,cAAc,GAAG,IAAA,SAAG,GAAkB,CAAA;AACtC,QAAA,kBAAkB,GAAG,CAAC,UAAyB,IAAI,EAApB,sBAAc,EAAO;AAEpD,QAAA,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,sBAAc,CAAC,CAAC,mBAAQ,wBAAC,CAAA;AACnD,QAAA,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,sBAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,wBAAC,CAAA;AAE9D,MAAM,YAAY,GAAG,CAAgC,KAAQ,EAAE,EAAE,EAGpE,EAAE,CAAC,MAAM,CADT,CAAC,CAAC,aAAa,CAAC,sBAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,wBAAC,EAE3E,CAAA;AAJU,QAAA,YAAY,gBAItB"}
@@ -1,34 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect"
2
- import * as M from "@effect-ts/core/Effect/Managed"
3
- import { identity, pipe } from "@effect-ts/core/Function"
4
- import { tag } from "@effect-ts/core/Has"
5
- import { _A } from "@effect-ts/core/Utils"
6
- import * as Shard from "../DiscordShard"
7
- import * as Utils from "./utils"
8
- import * as CB from "callbag-effect-ts"
9
- import { GatewayEvents } from "../types"
10
-
11
- const make = pipe(
12
- Shard.make([0, 1]),
13
- M.map(
14
- (shard) =>
15
- ({
16
- _tag: "DiscordGatewayService",
17
- ...shard,
18
- fromDispatch: Utils.fromDispatch(shard.dispatch),
19
- } as const),
20
- ),
21
- )
22
-
23
- export interface DiscordGateway extends _A<typeof make> {}
24
- export const DiscordGateway = tag<DiscordGateway>()
25
- export const LiveDiscordGateway = M.toLayer(DiscordGateway)(make)
26
-
27
- export const gateway = T.accessService(DiscordGateway)(identity)
28
- export const run = T.accessServiceM(DiscordGateway)(({ run }) => run)
29
-
30
- export const fromDispatch = <K extends keyof GatewayEvents>(event: K) =>
31
- pipe(
32
- T.accessService(DiscordGateway)(({ fromDispatch }) => fromDispatch(event)),
33
- CB.unwrap,
34
- )
@@ -1,3 +0,0 @@
1
- import * as CB from "callbag-effect-ts";
2
- import { GatewayEvent, GatewayEvents, GatewayPayload } from "../types";
3
- export declare const fromDispatch: <R, E>(source: CB.EffectSource<R, E, GatewayPayload<GatewayEvent>>) => <K extends keyof GatewayEvents>(event: K) => CB.EffectSource<R, E, GatewayEvents[K]>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromDispatch = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordGateway/utils.ts";
7
- const Function_1 = require("@effect-ts/core/Function");
8
- const CB = tslib_1.__importStar(require("callbag-effect-ts"));
9
- const memoize_1 = require("../Utils/memoize");
10
- const fromDispatch = (source) => (0, memoize_1.memoize)((event) => (CB.share(CB.map_(CB.filter_(source, (p) => p.t === event), (p) => p.d))));
11
- exports.fromDispatch = fromDispatch;
12
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+C;AAC/C,8DAAuC;AAEvC,8CAA0C;AAEnC,MAAM,YAAY,GAAG,CAC1B,MAA2D,EAGf,EAAE,CAC9C,IAAA,iBAAO,EAAC,CAAC,KAAK,EAAE,EAAE,EAId,EAAE,CAAC,KAAK,CADR,EAAE,MADF,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAQ,GAEzB,CACF,CAAA;AAXU,QAAA,YAAY,gBAWtB"}
@@ -1,17 +0,0 @@
1
- import { pipe } from "@effect-ts/core/Function"
2
- import * as CB from "callbag-effect-ts"
3
- import { GatewayEvent, GatewayEvents, GatewayPayload } from "../types"
4
- import { memoize } from "../Utils/memoize"
5
-
6
- export const fromDispatch = <R, E>(
7
- source: CB.EffectSource<R, E, GatewayPayload<GatewayEvent>>,
8
- ): (<K extends keyof GatewayEvents>(
9
- event: K,
10
- ) => CB.EffectSource<R, E, GatewayEvents[K]>) =>
11
- memoize((event) =>
12
- pipe(
13
- CB.filter_(source, (p) => p.t === event),
14
- CB.map((p) => p.d as any),
15
- CB.share,
16
- ),
17
- )
@@ -1,3 +0,0 @@
1
- import * as Axios from "axios";
2
- import { Response } from "./types";
3
- export declare const request: (axios: Axios.AxiosInstance) => <A>(config: Axios.AxiosRequestConfig) => Response<A>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordREST/http.ts";
7
- const T = tslib_1.__importStar(require("@effect-ts/core/Effect"));
8
- const request = (axios) => (config) => T.tryCatchPromise(() => axios.request(config).then((r) => r.data), (err) => {
9
- const axiosErr = err;
10
- return axiosErr.response
11
- ? {
12
- _tag: "http",
13
- config: axiosErr.config,
14
- code: axiosErr.response.status,
15
- body: axiosErr.response.data,
16
- }
17
- : { _tag: "axios", cause: axiosErr };
18
- }, fileName_1 + ":8:22");
19
- exports.request = request;
20
- //# sourceMappingURL=http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["http.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA2C;AAIpC,MAAM,OAAO,GAClB,CAAC,KAA0B,EAAE,EAAE,CAC/B,CAAI,MAAgC,EAAe,EAAE,CACnD,CAAC,CAAC,eAAe,CACf,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,QAAQ,GAAG,GAA0B,CAAA;IAC3C,OAAO,QAAQ,CAAC,QAAQ;QACtB,CAAC,CAAC;YACE,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAC9B,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;SAC7B;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAmC,EAAE,CAAA;AACnE,CAAC,uBACF,CAAA;AAhBQ,QAAA,OAAO,WAgBf"}
@@ -1,21 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect"
2
- import * as Axios from "axios"
3
- import { RESTError, Response } from "./types"
4
-
5
- export const request =
6
- (axios: Axios.AxiosInstance) =>
7
- <A>(config: Axios.AxiosRequestConfig): Response<A> =>
8
- T.tryCatchPromise<RESTError, A>(
9
- () => axios.request<A>(config).then((r) => r.data),
10
- (err) => {
11
- const axiosErr = err as Axios.AxiosError<A>
12
- return axiosErr.response
13
- ? {
14
- _tag: "http",
15
- config: axiosErr.config,
16
- code: axiosErr.response.status,
17
- body: axiosErr.response.data,
18
- }
19
- : { _tag: "axios", cause: axiosErr as Axios.AxiosError<never> }
20
- },
21
- )
@@ -1,15 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect";
2
- import { _A } from "@effect-ts/core/Utils";
3
- import { AxiosRequestConfig } from "axios";
4
- import * as Config from "../DiscordConfig";
5
- declare const make: T.Effect<import("@effect-ts/system/Has").Has<Config.DiscordConfig>, never, {
6
- _tag: string;
7
- axios: import("axios").AxiosInstance;
8
- request: <A>(config: AxiosRequestConfig<any>) => import("./types").Response<A>;
9
- }>;
10
- export interface DiscordREST extends _A<typeof make> {
11
- }
12
- export declare const DiscordREST: import("@effect-ts/system/Has").Tag<DiscordREST>;
13
- export declare const LiveDiscordREST: import("@effect-ts/system/Layer").Layer<import("@effect-ts/system/Has").Has<Config.DiscordConfig>, never, import("@effect-ts/system/Has").Has<DiscordREST>>;
14
- export declare const rest: import("../types").Endpoints<AxiosRequestConfig<any>>;
15
- export {};
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rest = exports.LiveDiscordREST = exports.DiscordREST = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordREST/index.ts";
7
- const T = tslib_1.__importStar(require("@effect-ts/core/Effect"));
8
- const Has_1 = require("@effect-ts/core/Has");
9
- const axios_1 = tslib_1.__importDefault(require("axios"));
10
- const Config = tslib_1.__importStar(require("../DiscordConfig"));
11
- const types_1 = require("../types");
12
- const Http = tslib_1.__importStar(require("./http"));
13
- const make = T.gen(function* (_) {
14
- const token = yield* _(Config.token, fileName_1 + ":15:25");
15
- const config = yield* _(Config.rest, fileName_1 + ":16:26");
16
- const axios = axios_1.default.create({
17
- baseURL: config.baseUrl,
18
- headers: {
19
- Authorization: `Bot ${token}`,
20
- },
21
- });
22
- const request = Http.request(axios);
23
- return {
24
- _tag: "DiscordREST",
25
- axios,
26
- request,
27
- };
28
- }, fileName_1 + ":14:19");
29
- exports.DiscordREST = (0, Has_1.tag)();
30
- exports.LiveDiscordREST = T.toLayer(exports.DiscordREST)(make);
31
- exports.rest = (0, types_1.createRoutes)(({ method, url, params = {}, options = {} }) => T.accessServiceM(exports.DiscordREST)(({ request }) => {
32
- const hasBody = method !== "GET" && method !== "DELETE";
33
- let hasFormData = false;
34
- if (typeof options.data?.append === "function") {
35
- hasFormData = true;
36
- options.data.append("payload_json", JSON.stringify(params));
37
- }
38
- const qsParams = hasBody
39
- ? options.params
40
- : {
41
- ...(options.params || {}),
42
- ...params,
43
- };
44
- const data = hasFormData || !hasBody
45
- ? options.data
46
- : {
47
- ...(options.data || {}),
48
- ...params,
49
- };
50
- const config = {
51
- ...options,
52
- headers: {
53
- ...(options.headers || {}),
54
- ...(hasFormData ? data.getHeaders() : {}),
55
- },
56
- method: method,
57
- url,
58
- params: qsParams,
59
- data,
60
- };
61
- return request(config);
62
- }, fileName_1 + ":39:34"));
63
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA2C;AAC3C,6CAAyC;AAEzC,0DAAyD;AACzD,iEAA0C;AAC1C,oCAAuC;AACvC,qDAA8B;AAO9B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,wBAAC,CAAA;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,wBAAC,CAAA;IAEpC,MAAM,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE;YACP,aAAa,EAAE,OAAO,KAAK,EAAE;SAC9B;KACF,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEnC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC,wBAAC,CAAA;AAGW,QAAA,WAAW,GAAG,IAAA,SAAG,GAAe,CAAA;AAChC,QAAA,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAW,CAAC,CAAC,IAAI,CAAC,CAAA;AAE9C,QAAA,IAAI,GAAG,IAAA,oBAAY,EAC9B,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,CAC7C,CAAC,CAAC,cAAc,CAAC,mBAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5C,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAA;IACvD,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,IAAI,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAAE;QAC9C,WAAW,GAAG,IAAI,CACjB;QAAC,OAAO,CAAC,IAAiB,CAAC,MAAM,CAChC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAA;KACF;IAED,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,OAAO,CAAC,MAAM;QAChB,CAAC,CAAC;YACE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;YACzB,GAAG,MAAM;SACV,CAAA;IACL,MAAM,IAAI,GACR,WAAW,IAAI,CAAC,OAAO;QACrB,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC;YACE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,MAAM;SACV,CAAA;IAEP,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C;QACD,MAAM,EAAE,MAAgB;QACxB,GAAG;QACH,MAAM,EAAE,QAAQ;QAChB,IAAI;KACL,CAAA;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC,wBAAC,CACL,CAAA"}
@@ -1,79 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect"
2
- import { tag } from "@effect-ts/core/Has"
3
- import { _A } from "@effect-ts/core/Utils"
4
- import Axios, { AxiosRequestConfig, Method } from "axios"
5
- import * as Config from "../DiscordConfig"
6
- import { createRoutes } from "../types"
7
- import * as Http from "./http"
8
-
9
- interface FormData {
10
- append: (key: string, value: unknown) => void
11
- getHeaders: () => Record<string, string>
12
- }
13
-
14
- const make = T.gen(function* (_) {
15
- const token = yield* _(Config.token)
16
- const config = yield* _(Config.rest)
17
-
18
- const axios = Axios.create({
19
- baseURL: config.baseUrl,
20
- headers: {
21
- Authorization: `Bot ${token}`,
22
- },
23
- })
24
- const request = Http.request(axios)
25
-
26
- return {
27
- _tag: "DiscordREST",
28
- axios,
29
- request,
30
- }
31
- })
32
-
33
- export interface DiscordREST extends _A<typeof make> {}
34
- export const DiscordREST = tag<DiscordREST>()
35
- export const LiveDiscordREST = T.toLayer(DiscordREST)(make)
36
-
37
- export const rest = createRoutes<AxiosRequestConfig>(
38
- ({ method, url, params = {}, options = {} }) =>
39
- T.accessServiceM(DiscordREST)(({ request }) => {
40
- const hasBody = method !== "GET" && method !== "DELETE"
41
- let hasFormData = false
42
-
43
- if (typeof options.data?.append === "function") {
44
- hasFormData = true
45
- ;(options.data as FormData).append(
46
- "payload_json",
47
- JSON.stringify(params),
48
- )
49
- }
50
-
51
- const qsParams = hasBody
52
- ? options.params
53
- : {
54
- ...(options.params || {}),
55
- ...params,
56
- }
57
- const data =
58
- hasFormData || !hasBody
59
- ? options.data
60
- : {
61
- ...(options.data || {}),
62
- ...params,
63
- }
64
-
65
- const config = {
66
- ...options,
67
- headers: {
68
- ...(options.headers || {}),
69
- ...(hasFormData ? data.getHeaders() : {}),
70
- },
71
- method: method as Method,
72
- url,
73
- params: qsParams,
74
- data,
75
- }
76
-
77
- return request(config)
78
- }),
79
- )
@@ -1,14 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect";
2
- import { Has } from "@effect-ts/core/Has";
3
- import { AxiosError, AxiosRequestConfig } from "axios";
4
- import { DiscordREST } from ".";
5
- export declare type RESTError = {
6
- _tag: "http";
7
- config: AxiosRequestConfig<unknown>;
8
- code: number;
9
- body?: unknown;
10
- } | {
11
- _tag: "axios";
12
- cause: AxiosError<never>;
13
- };
14
- export declare type Response<T> = T.Effect<Has<DiscordREST>, RESTError, T>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
5
- const fileName_1 = "DiscordREST/types.ts";
6
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import * as T from "@effect-ts/core/Effect"
2
- import { Has } from "@effect-ts/core/Has"
3
- import { AxiosError, AxiosRequestConfig } from "axios"
4
- import { DiscordREST } from "."
5
-
6
- export type RESTError =
7
- | {
8
- _tag: "http"
9
- config: AxiosRequestConfig<unknown>
10
- code: number
11
- body?: unknown
12
- }
13
- | { _tag: "axios"; cause: AxiosError<never> }
14
-
15
- export type Response<T> = T.Effect<Has<DiscordREST>, RESTError, T>
@@ -1,7 +0,0 @@
1
- import { GatewayPayload, Heartbeat, Identify, RequestGuildMember, Resume, UpdatePresence, UpdateVoiceState } from "../types";
2
- export declare const heartbeat: (d: Heartbeat) => GatewayPayload;
3
- export declare const identify: (d: Identify) => GatewayPayload;
4
- export declare const resume: (d: Resume) => GatewayPayload;
5
- export declare const requestGuildMembers: (d: RequestGuildMember) => GatewayPayload;
6
- export declare const voiceStateUpdate: (d: UpdateVoiceState) => GatewayPayload;
7
- export declare const presenceUpdate: (d: UpdatePresence) => GatewayPayload;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.presenceUpdate = exports.voiceStateUpdate = exports.requestGuildMembers = exports.resume = exports.identify = exports.heartbeat = void 0;
4
- const tslib_1 = require("tslib");
5
- const tracing_1 = tslib_1.__importStar(require("@effect-ts/core/Tracing"));
6
- const fileName_1 = "DiscordShard/commands.ts";
7
- const types_1 = require("../types");
8
- const heartbeat = (d) => ({
9
- op: types_1.GatewayOpcode.HEARTBEAT,
10
- d,
11
- });
12
- exports.heartbeat = heartbeat;
13
- const identify = (d) => ({
14
- op: types_1.GatewayOpcode.IDENTIFY,
15
- d,
16
- });
17
- exports.identify = identify;
18
- const resume = (d) => ({
19
- op: types_1.GatewayOpcode.RESUME,
20
- d,
21
- });
22
- exports.resume = resume;
23
- const requestGuildMembers = (d) => ({
24
- op: types_1.GatewayOpcode.REQUEST_GUILD_MEMBERS,
25
- d,
26
- });
27
- exports.requestGuildMembers = requestGuildMembers;
28
- const voiceStateUpdate = (d) => ({
29
- op: types_1.GatewayOpcode.VOICE_STATE_UPDATE,
30
- d,
31
- });
32
- exports.voiceStateUpdate = voiceStateUpdate;
33
- const presenceUpdate = (d) => ({
34
- op: types_1.GatewayOpcode.PRESENCE_UPDATE,
35
- d,
36
- });
37
- exports.presenceUpdate = presenceUpdate;
38
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["commands.ts"],"names":[],"mappings":";;;;;;AAAA,oCASiB;AAEV,MAAM,SAAS,GAAG,CAAC,CAAY,EAAkB,EAAE,CAAC,CAAC;IAC1D,EAAE,EAAE,qBAAa,CAAC,SAAS;IAC3B,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,SAAS,aAGpB;AAEK,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAkB,EAAE,CAAC,CAAC;IACxD,EAAE,EAAE,qBAAa,CAAC,QAAQ;IAC1B,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,QAAQ,YAGnB;AAEK,MAAM,MAAM,GAAG,CAAC,CAAS,EAAkB,EAAE,CAAC,CAAC;IACpD,EAAE,EAAE,qBAAa,CAAC,MAAM;IACxB,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,MAAM,UAGjB;AAEK,MAAM,mBAAmB,GAAG,CAAC,CAAqB,EAAkB,EAAE,CAAC,CAAC;IAC7E,EAAE,EAAE,qBAAa,CAAC,qBAAqB;IACvC,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,mBAAmB,uBAG9B;AAEK,MAAM,gBAAgB,GAAG,CAAC,CAAmB,EAAkB,EAAE,CAAC,CAAC;IACxE,EAAE,EAAE,qBAAa,CAAC,kBAAkB;IACpC,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,gBAAgB,oBAG3B;AAEK,MAAM,cAAc,GAAG,CAAC,CAAiB,EAAkB,EAAE,CAAC,CAAC;IACpE,EAAE,EAAE,qBAAa,CAAC,eAAe;IACjC,CAAC;CACF,CAAC,CAAA;AAHW,QAAA,cAAc,kBAGzB"}
@@ -1,40 +0,0 @@
1
- import {
2
- GatewayOpcode,
3
- GatewayPayload,
4
- Heartbeat,
5
- Identify,
6
- RequestGuildMember,
7
- Resume,
8
- UpdatePresence,
9
- UpdateVoiceState,
10
- } from "../types"
11
-
12
- export const heartbeat = (d: Heartbeat): GatewayPayload => ({
13
- op: GatewayOpcode.HEARTBEAT,
14
- d,
15
- })
16
-
17
- export const identify = (d: Identify): GatewayPayload => ({
18
- op: GatewayOpcode.IDENTIFY,
19
- d,
20
- })
21
-
22
- export const resume = (d: Resume): GatewayPayload => ({
23
- op: GatewayOpcode.RESUME,
24
- d,
25
- })
26
-
27
- export const requestGuildMembers = (d: RequestGuildMember): GatewayPayload => ({
28
- op: GatewayOpcode.REQUEST_GUILD_MEMBERS,
29
- d,
30
- })
31
-
32
- export const voiceStateUpdate = (d: UpdateVoiceState): GatewayPayload => ({
33
- op: GatewayOpcode.VOICE_STATE_UPDATE,
34
- d,
35
- })
36
-
37
- export const presenceUpdate = (d: UpdatePresence): GatewayPayload => ({
38
- op: GatewayOpcode.PRESENCE_UPDATE,
39
- d,
40
- })
@@ -1,6 +0,0 @@
1
- import * as R from "@effect-ts/core/Effect/Ref";
2
- import * as O from "@effect-ts/core/Option";
3
- import * as CB from "callbag-effect-ts";
4
- import * as DWS from "../DiscordWS";
5
- import { GatewayPayload } from "../types";
6
- export declare const fromRaw: <R, E>(source: CB.EffectSource<R, E, GatewayPayload<any>>, seqRef: R.Ref<O.Option<number>>) => CB.EffectSource<R & import("@effect-ts/system/Clock").HasClock, E, DWS.Message>;