dfx 0.126.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/.babel.cjs.json +11 -0
  2. package/.babel.mjs.json +10 -0
  3. package/.envrc +1 -0
  4. package/.gitmodules +3 -0
  5. package/.husky/pre-commit +2 -0
  6. package/.oxlintrc.json +72 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc.json +5 -0
  9. package/.tool-versions +1 -0
  10. package/.vscode/debug.cjs +8 -0
  11. package/.vscode/launch.json +23 -0
  12. package/.vscode/settings.json +29 -0
  13. package/.vscode/tasks.json +44 -0
  14. package/AGENTS.md +15 -0
  15. package/CHANGELOG.md +1554 -0
  16. package/examples/.env.example +5 -0
  17. package/examples/interactions.ts +79 -0
  18. package/examples/readme.ts +56 -0
  19. package/examples/registry.ts +66 -0
  20. package/flake.lock +27 -0
  21. package/flake.nix +21 -0
  22. package/lerna.json +12 -0
  23. package/package.json +79 -36
  24. package/pnpm-workspace.yaml +7 -0
  25. package/scripts/generate-client.sh +10 -0
  26. package/scripts/worktree-setup.sh +8 -0
  27. package/src/Cache/memory.ts +5 -5
  28. package/src/Cache/memoryTTL.ts +11 -7
  29. package/src/Cache/prelude.ts +10 -8
  30. package/src/Cache.ts +31 -35
  31. package/src/DiscordConfig.ts +12 -16
  32. package/src/DiscordGateway/DiscordWS.ts +58 -32
  33. package/src/DiscordGateway/Messaging.ts +13 -15
  34. package/src/DiscordGateway/Shard/StateStore.ts +30 -25
  35. package/src/DiscordGateway/Shard/heartbeats.ts +25 -28
  36. package/src/DiscordGateway/Shard/identify.ts +11 -6
  37. package/src/DiscordGateway/Shard/sendEvents.ts +1 -1
  38. package/src/DiscordGateway/Shard/utils.ts +1 -1
  39. package/src/DiscordGateway/Shard.ts +39 -35
  40. package/src/DiscordGateway/ShardStore.ts +6 -7
  41. package/src/DiscordGateway/Sharder.ts +31 -29
  42. package/src/DiscordGateway.ts +15 -14
  43. package/src/DiscordREST/Generated.ts +660 -341
  44. package/src/DiscordREST/utils.ts +6 -3
  45. package/src/DiscordREST.ts +37 -41
  46. package/src/Helpers/flags.ts +10 -5
  47. package/src/Helpers/intents.ts +2 -2
  48. package/src/Helpers/interactions.ts +16 -14
  49. package/src/Helpers/members.ts +3 -3
  50. package/src/Helpers/permissions.ts +5 -5
  51. package/src/Helpers/ui.ts +16 -16
  52. package/src/Interactions/builder.ts +10 -10
  53. package/src/Interactions/commandHelper.ts +18 -29
  54. package/src/Interactions/context.ts +51 -65
  55. package/src/Interactions/definitions.ts +3 -3
  56. package/src/Interactions/gateway.ts +33 -45
  57. package/src/Interactions/handlers.ts +8 -5
  58. package/src/Interactions/index.ts +5 -5
  59. package/src/Interactions/utils.ts +6 -6
  60. package/src/Interactions/webhook.ts +31 -38
  61. package/src/RateLimit/memory.ts +3 -3
  62. package/src/RateLimit.ts +18 -15
  63. package/src/gateway.ts +21 -21
  64. package/src/index.ts +17 -17
  65. package/src/types.ts +18 -16
  66. package/src/utils/Effect.ts +38 -27
  67. package/src/webhooks.ts +7 -7
  68. package/test/index.test.ts +5 -0
  69. package/tsconfig.base.json +12 -6
  70. package/tsconfig.examples.json +0 -1
  71. package/vitest.config.ts +22 -0
  72. package/Cache/driver.d.ts +0 -24
  73. package/Cache/driver.d.ts.map +0 -1
  74. package/Cache/driver.js +0 -11
  75. package/Cache/driver.js.map +0 -1
  76. package/Cache/memory.d.ts +0 -5
  77. package/Cache/memory.d.ts.map +0 -1
  78. package/Cache/memory.js +0 -57
  79. package/Cache/memory.js.map +0 -1
  80. package/Cache/memoryTTL.d.ts +0 -23
  81. package/Cache/memoryTTL.d.ts.map +0 -1
  82. package/Cache/memoryTTL.js +0 -128
  83. package/Cache/memoryTTL.js.map +0 -1
  84. package/Cache/prelude.d.ts +0 -32
  85. package/Cache/prelude.d.ts.map +0 -1
  86. package/Cache/prelude.js +0 -143
  87. package/Cache/prelude.js.map +0 -1
  88. package/Cache.d.ts +0 -82
  89. package/Cache.d.ts.map +0 -1
  90. package/Cache.js +0 -144
  91. package/Cache.js.map +0 -1
  92. package/DiscordConfig.d.ts +0 -35
  93. package/DiscordConfig.d.ts.map +0 -1
  94. package/DiscordConfig.js +0 -42
  95. package/DiscordConfig.js.map +0 -1
  96. package/DiscordGateway/DiscordWS.d.ts +0 -37
  97. package/DiscordGateway/DiscordWS.d.ts.map +0 -1
  98. package/DiscordGateway/DiscordWS.js +0 -73
  99. package/DiscordGateway/DiscordWS.js.map +0 -1
  100. package/DiscordGateway/Messaging.d.ts +0 -393
  101. package/DiscordGateway/Messaging.d.ts.map +0 -1
  102. package/DiscordGateway/Messaging.js +0 -40
  103. package/DiscordGateway/Messaging.js.map +0 -1
  104. package/DiscordGateway/Shard/StateStore.d.ts +0 -24
  105. package/DiscordGateway/Shard/StateStore.d.ts.map +0 -1
  106. package/DiscordGateway/Shard/StateStore.js +0 -48
  107. package/DiscordGateway/Shard/StateStore.js.map +0 -1
  108. package/DiscordGateway/Shard/heartbeats.d.ts +0 -8
  109. package/DiscordGateway/Shard/heartbeats.d.ts.map +0 -1
  110. package/DiscordGateway/Shard/heartbeats.js +0 -28
  111. package/DiscordGateway/Shard/heartbeats.js.map +0 -1
  112. package/DiscordGateway/Shard/identify.d.ts +0 -12
  113. package/DiscordGateway/Shard/identify.d.ts.map +0 -1
  114. package/DiscordGateway/Shard/identify.js +0 -38
  115. package/DiscordGateway/Shard/identify.js.map +0 -1
  116. package/DiscordGateway/Shard/sendEvents.d.ts +0 -8
  117. package/DiscordGateway/Shard/sendEvents.d.ts.map +0 -1
  118. package/DiscordGateway/Shard/sendEvents.js +0 -39
  119. package/DiscordGateway/Shard/sendEvents.js.map +0 -1
  120. package/DiscordGateway/Shard/utils.d.ts +0 -6
  121. package/DiscordGateway/Shard/utils.d.ts.map +0 -1
  122. package/DiscordGateway/Shard/utils.js +0 -11
  123. package/DiscordGateway/Shard/utils.js.map +0 -1
  124. package/DiscordGateway/Shard.d.ts +0 -28
  125. package/DiscordGateway/Shard.d.ts.map +0 -1
  126. package/DiscordGateway/Shard.js +0 -149
  127. package/DiscordGateway/Shard.js.map +0 -1
  128. package/DiscordGateway/ShardStore.d.ts +0 -18
  129. package/DiscordGateway/ShardStore.d.ts.map +0 -1
  130. package/DiscordGateway/ShardStore.js +0 -31
  131. package/DiscordGateway/ShardStore.js.map +0 -1
  132. package/DiscordGateway/Sharder.d.ts +0 -13
  133. package/DiscordGateway/Sharder.d.ts.map +0 -1
  134. package/DiscordGateway/Sharder.js +0 -73
  135. package/DiscordGateway/Sharder.js.map +0 -1
  136. package/DiscordGateway.d.ts +0 -32
  137. package/DiscordGateway.d.ts.map +0 -1
  138. package/DiscordGateway.js +0 -28
  139. package/DiscordGateway.js.map +0 -1
  140. package/DiscordREST/Generated.d.ts +0 -5399
  141. package/DiscordREST/Generated.d.ts.map +0 -1
  142. package/DiscordREST/Generated.js +0 -2405
  143. package/DiscordREST/Generated.js.map +0 -1
  144. package/DiscordREST/utils.d.ts +0 -14
  145. package/DiscordREST/utils.d.ts.map +0 -1
  146. package/DiscordREST/utils.js +0 -31
  147. package/DiscordREST/utils.js.map +0 -1
  148. package/DiscordREST.d.ts +0 -23
  149. package/DiscordREST.d.ts.map +0 -1
  150. package/DiscordREST.js +0 -132
  151. package/DiscordREST.js.map +0 -1
  152. package/Helpers/flags.d.ts +0 -28
  153. package/Helpers/flags.d.ts.map +0 -1
  154. package/Helpers/flags.js +0 -48
  155. package/Helpers/flags.js.map +0 -1
  156. package/Helpers/intents.d.ts +0 -25
  157. package/Helpers/intents.d.ts.map +0 -1
  158. package/Helpers/intents.js +0 -34
  159. package/Helpers/intents.js.map +0 -1
  160. package/Helpers/interactions.d.ts +0 -116
  161. package/Helpers/interactions.d.ts.map +0 -1
  162. package/Helpers/interactions.js +0 -143
  163. package/Helpers/interactions.js.map +0 -1
  164. package/Helpers/members.d.ts +0 -10
  165. package/Helpers/members.d.ts.map +0 -1
  166. package/Helpers/members.js +0 -17
  167. package/Helpers/members.js.map +0 -1
  168. package/Helpers/permissions.d.ts +0 -42
  169. package/Helpers/permissions.d.ts.map +0 -1
  170. package/Helpers/permissions.js +0 -97
  171. package/Helpers/permissions.js.map +0 -1
  172. package/Helpers/ui.d.ts +0 -105
  173. package/Helpers/ui.d.ts.map +0 -1
  174. package/Helpers/ui.js +0 -162
  175. package/Helpers/ui.js.map +0 -1
  176. package/Interactions/builder.d.ts +0 -48
  177. package/Interactions/builder.d.ts.map +0 -1
  178. package/Interactions/builder.js +0 -64
  179. package/Interactions/builder.js.map +0 -1
  180. package/Interactions/commandHelper.d.ts +0 -99
  181. package/Interactions/commandHelper.d.ts.map +0 -1
  182. package/Interactions/commandHelper.js +0 -53
  183. package/Interactions/commandHelper.js.map +0 -1
  184. package/Interactions/context.d.ts +0 -54
  185. package/Interactions/context.d.ts.map +0 -1
  186. package/Interactions/context.js +0 -42
  187. package/Interactions/context.js.map +0 -1
  188. package/Interactions/definitions.d.ts +0 -44
  189. package/Interactions/definitions.d.ts.map +0 -1
  190. package/Interactions/definitions.js +0 -67
  191. package/Interactions/definitions.js.map +0 -1
  192. package/Interactions/error.d.ts +0 -2
  193. package/Interactions/error.d.ts.map +0 -1
  194. package/Interactions/error.js +0 -8
  195. package/Interactions/error.js.map +0 -1
  196. package/Interactions/gateway.d.ts +0 -21
  197. package/Interactions/gateway.d.ts.map +0 -1
  198. package/Interactions/gateway.js +0 -90
  199. package/Interactions/gateway.js.map +0 -1
  200. package/Interactions/handlers.d.ts +0 -15
  201. package/Interactions/handlers.d.ts.map +0 -1
  202. package/Interactions/handlers.js +0 -72
  203. package/Interactions/handlers.js.map +0 -1
  204. package/Interactions/index.d.ts +0 -16
  205. package/Interactions/index.d.ts.map +0 -1
  206. package/Interactions/index.js +0 -94
  207. package/Interactions/index.js.map +0 -1
  208. package/Interactions/utils.d.ts +0 -61
  209. package/Interactions/utils.d.ts.map +0 -1
  210. package/Interactions/utils.js +0 -35
  211. package/Interactions/utils.js.map +0 -1
  212. package/Interactions/webhook.d.ts +0 -73
  213. package/Interactions/webhook.d.ts.map +0 -1
  214. package/Interactions/webhook.js +0 -89
  215. package/Interactions/webhook.js.map +0 -1
  216. package/RateLimit/memory.d.ts +0 -3
  217. package/RateLimit/memory.d.ts.map +0 -1
  218. package/RateLimit/memory.js +0 -47
  219. package/RateLimit/memory.js.map +0 -1
  220. package/RateLimit/utils.d.ts +0 -3
  221. package/RateLimit/utils.d.ts.map +0 -1
  222. package/RateLimit/utils.js +0 -25
  223. package/RateLimit/utils.js.map +0 -1
  224. package/RateLimit.d.ts +0 -30
  225. package/RateLimit.d.ts.map +0 -1
  226. package/RateLimit.js +0 -35
  227. package/RateLimit.js.map +0 -1
  228. package/gateway.d.ts +0 -19
  229. package/gateway.d.ts.map +0 -1
  230. package/gateway.js +0 -72
  231. package/gateway.js.map +0 -1
  232. package/index.d.ts +0 -18
  233. package/index.d.ts.map +0 -1
  234. package/index.js +0 -71
  235. package/index.js.map +0 -1
  236. package/mjs/Cache/driver.mjs +0 -3
  237. package/mjs/Cache/driver.mjs.map +0 -1
  238. package/mjs/Cache/memory.mjs +0 -48
  239. package/mjs/Cache/memory.mjs.map +0 -1
  240. package/mjs/Cache/memoryTTL.mjs +0 -119
  241. package/mjs/Cache/memoryTTL.mjs.map +0 -1
  242. package/mjs/Cache/prelude.mjs +0 -131
  243. package/mjs/Cache/prelude.mjs.map +0 -1
  244. package/mjs/Cache.mjs +0 -89
  245. package/mjs/Cache.mjs.map +0 -1
  246. package/mjs/DiscordConfig.mjs +0 -32
  247. package/mjs/DiscordConfig.mjs.map +0 -1
  248. package/mjs/DiscordGateway/DiscordWS.mjs +0 -66
  249. package/mjs/DiscordGateway/DiscordWS.mjs.map +0 -1
  250. package/mjs/DiscordGateway/Messaging.mjs +0 -33
  251. package/mjs/DiscordGateway/Messaging.mjs.map +0 -1
  252. package/mjs/DiscordGateway/Shard/StateStore.mjs +0 -40
  253. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +0 -1
  254. package/mjs/DiscordGateway/Shard/heartbeats.mjs +0 -20
  255. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +0 -1
  256. package/mjs/DiscordGateway/Shard/identify.mjs +0 -30
  257. package/mjs/DiscordGateway/Shard/identify.mjs.map +0 -1
  258. package/mjs/DiscordGateway/Shard/sendEvents.mjs +0 -26
  259. package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +0 -1
  260. package/mjs/DiscordGateway/Shard/utils.mjs +0 -3
  261. package/mjs/DiscordGateway/Shard/utils.mjs.map +0 -1
  262. package/mjs/DiscordGateway/Shard.mjs +0 -142
  263. package/mjs/DiscordGateway/Shard.mjs.map +0 -1
  264. package/mjs/DiscordGateway/ShardStore.mjs +0 -24
  265. package/mjs/DiscordGateway/ShardStore.mjs.map +0 -1
  266. package/mjs/DiscordGateway/Sharder.mjs +0 -66
  267. package/mjs/DiscordGateway/Sharder.mjs.map +0 -1
  268. package/mjs/DiscordGateway.mjs +0 -21
  269. package/mjs/DiscordGateway.mjs.map +0 -1
  270. package/mjs/DiscordREST/Generated.mjs +0 -2396
  271. package/mjs/DiscordREST/Generated.mjs.map +0 -1
  272. package/mjs/DiscordREST/utils.mjs +0 -20
  273. package/mjs/DiscordREST/utils.mjs.map +0 -1
  274. package/mjs/DiscordREST.mjs +0 -124
  275. package/mjs/DiscordREST.mjs.map +0 -1
  276. package/mjs/Helpers/flags.mjs +0 -36
  277. package/mjs/Helpers/flags.mjs.map +0 -1
  278. package/mjs/Helpers/intents.mjs +0 -27
  279. package/mjs/Helpers/intents.mjs.map +0 -1
  280. package/mjs/Helpers/interactions.mjs +0 -115
  281. package/mjs/Helpers/interactions.mjs.map +0 -1
  282. package/mjs/Helpers/members.mjs +0 -9
  283. package/mjs/Helpers/members.mjs.map +0 -1
  284. package/mjs/Helpers/permissions.mjs +0 -84
  285. package/mjs/Helpers/permissions.mjs.map +0 -1
  286. package/mjs/Helpers/ui.mjs +0 -137
  287. package/mjs/Helpers/ui.mjs.map +0 -1
  288. package/mjs/Interactions/builder.mjs +0 -56
  289. package/mjs/Interactions/builder.mjs.map +0 -1
  290. package/mjs/Interactions/commandHelper.mjs +0 -45
  291. package/mjs/Interactions/commandHelper.mjs.map +0 -1
  292. package/mjs/Interactions/context.mjs +0 -29
  293. package/mjs/Interactions/context.mjs.map +0 -1
  294. package/mjs/Interactions/definitions.mjs +0 -51
  295. package/mjs/Interactions/definitions.mjs.map +0 -1
  296. package/mjs/Interactions/error.mjs +0 -2
  297. package/mjs/Interactions/error.mjs.map +0 -1
  298. package/mjs/Interactions/gateway.mjs +0 -81
  299. package/mjs/Interactions/gateway.mjs.map +0 -1
  300. package/mjs/Interactions/handlers.mjs +0 -63
  301. package/mjs/Interactions/handlers.mjs.map +0 -1
  302. package/mjs/Interactions/index.mjs +0 -11
  303. package/mjs/Interactions/index.mjs.map +0 -1
  304. package/mjs/Interactions/utils.mjs +0 -26
  305. package/mjs/Interactions/utils.mjs.map +0 -1
  306. package/mjs/Interactions/webhook.mjs +0 -76
  307. package/mjs/Interactions/webhook.mjs.map +0 -1
  308. package/mjs/RateLimit/memory.mjs +0 -39
  309. package/mjs/RateLimit/memory.mjs.map +0 -1
  310. package/mjs/RateLimit/utils.mjs +0 -18
  311. package/mjs/RateLimit/utils.mjs.map +0 -1
  312. package/mjs/RateLimit.mjs +0 -28
  313. package/mjs/RateLimit.mjs.map +0 -1
  314. package/mjs/gateway.mjs +0 -19
  315. package/mjs/gateway.mjs.map +0 -1
  316. package/mjs/index.mjs +0 -18
  317. package/mjs/index.mjs.map +0 -1
  318. package/mjs/types.mjs +0 -356
  319. package/mjs/types.mjs.map +0 -1
  320. package/mjs/utils/Effect.mjs +0 -18
  321. package/mjs/utils/Effect.mjs.map +0 -1
  322. package/mjs/version.mjs +0 -2
  323. package/mjs/version.mjs.map +0 -1
  324. package/mjs/webhooks.mjs +0 -6
  325. package/mjs/webhooks.mjs.map +0 -1
  326. package/src/version.ts +0 -1
  327. package/types.d.ts +0 -2457
  328. package/types.d.ts.map +0 -1
  329. package/types.js +0 -408
  330. package/types.js.map +0 -1
  331. package/utils/Effect.d.ts +0 -5
  332. package/utils/Effect.d.ts.map +0 -1
  333. package/utils/Effect.js +0 -27
  334. package/utils/Effect.js.map +0 -1
  335. package/version.d.ts +0 -2
  336. package/version.d.ts.map +0 -1
  337. package/version.js +0 -8
  338. package/version.js.map +0 -1
  339. package/webhooks.d.ts +0 -8
  340. package/webhooks.d.ts.map +0 -1
  341. package/webhooks.js +0 -55
  342. package/webhooks.js.map +0 -1
@@ -1,44 +0,0 @@
1
- import type * as Effect from "effect/Effect";
2
- import type { DiscordApplicationCommand, DiscordFocusedOption, DiscordInteraction, DiscordMessageComponent, DiscordModalSubmit } from "dfx/Interactions/context";
3
- import type * as Discord from "dfx/types";
4
- import type { Scope } from "effect/Scope";
5
- import type { CommandHelper } from "./commandHelper";
6
- export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
7
- export declare class GlobalApplicationCommand<R, E> {
8
- readonly command: Discord.ApplicationCommandCreateRequest;
9
- readonly handle: CommandHandler<R, E>;
10
- readonly _tag = "GlobalApplicationCommand";
11
- constructor(command: Discord.ApplicationCommandCreateRequest, handle: CommandHandler<R, E>);
12
- }
13
- export declare const global: <R, E, const A extends Discord.ApplicationCommandCreateRequest>(command: A, handle: CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand>, E>;
14
- export declare class GuildApplicationCommand<R, E> {
15
- readonly command: Discord.ApplicationCommandCreateRequest;
16
- readonly handle: CommandHandler<R, E>;
17
- readonly _tag = "GuildApplicationCommand";
18
- constructor(command: Discord.ApplicationCommandCreateRequest, handle: CommandHandler<R, E>);
19
- }
20
- export declare const guild: <R, E, const A extends Discord.ApplicationCommandCreateRequest>(command: A, handle: CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand>, E>;
21
- export declare class MessageComponent<R, E> {
22
- readonly predicate: (customId: string) => boolean;
23
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
24
- readonly _tag = "MessageComponent";
25
- constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
26
- }
27
- export declare const messageComponent: <E, R>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => MessageComponent<Exclude<R, Scope | DiscordInteraction | DiscordMessageComponent>, E>;
28
- export declare class ModalSubmit<R, E> {
29
- readonly predicate: (customId: string) => boolean;
30
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
31
- readonly _tag = "ModalSubmit";
32
- constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
33
- }
34
- export declare const modalSubmit: <R, E>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => ModalSubmit<Exclude<R, Scope | DiscordInteraction | DiscordModalSubmit>, E>;
35
- export declare class Autocomplete<R, E> {
36
- readonly predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
37
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
38
- readonly _tag = "Autocomplete";
39
- constructor(predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
40
- }
41
- export declare const autocomplete: <R, E>(pred: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => Autocomplete<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand | DiscordFocusedOption>, E>;
42
- export type CommandHandler<R, E, A = any> = Effect.Effect<Discord.CreateInteractionResponseRequest, E, R> | CommandHandlerFn<R, E, A>;
43
- export type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
44
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.modalSubmit = exports.messageComponent = exports.guild = exports.global = exports.autocomplete = exports.ModalSubmit = exports.MessageComponent = exports.GuildApplicationCommand = exports.GlobalApplicationCommand = exports.Autocomplete = void 0;
7
- class GlobalApplicationCommand {
8
- command;
9
- handle;
10
- _tag = "GlobalApplicationCommand";
11
- constructor(command, handle) {
12
- this.command = command;
13
- this.handle = handle;
14
- }
15
- }
16
- exports.GlobalApplicationCommand = GlobalApplicationCommand;
17
- const global = (command, handle) => new GlobalApplicationCommand(command, handle);
18
- exports.global = global;
19
- class GuildApplicationCommand {
20
- command;
21
- handle;
22
- _tag = "GuildApplicationCommand";
23
- constructor(command, handle) {
24
- this.command = command;
25
- this.handle = handle;
26
- }
27
- }
28
- exports.GuildApplicationCommand = GuildApplicationCommand;
29
- const guild = (command, handle) => new GuildApplicationCommand(command, handle);
30
- exports.guild = guild;
31
- class MessageComponent {
32
- predicate;
33
- handle;
34
- _tag = "MessageComponent";
35
- constructor(predicate, handle) {
36
- this.predicate = predicate;
37
- this.handle = handle;
38
- }
39
- }
40
- exports.MessageComponent = MessageComponent;
41
- const messageComponent = (pred, handle) => new MessageComponent(pred, handle);
42
- exports.messageComponent = messageComponent;
43
- class ModalSubmit {
44
- predicate;
45
- handle;
46
- _tag = "ModalSubmit";
47
- constructor(predicate, handle) {
48
- this.predicate = predicate;
49
- this.handle = handle;
50
- }
51
- }
52
- exports.ModalSubmit = ModalSubmit;
53
- const modalSubmit = (pred, handle) => new ModalSubmit(pred, handle);
54
- exports.modalSubmit = modalSubmit;
55
- class Autocomplete {
56
- predicate;
57
- handle;
58
- _tag = "Autocomplete";
59
- constructor(predicate, handle) {
60
- this.predicate = predicate;
61
- this.handle = handle;
62
- }
63
- }
64
- exports.Autocomplete = Autocomplete;
65
- const autocomplete = (pred, handle) => new Autocomplete(pred, handle);
66
- exports.autocomplete = autocomplete;
67
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","names":["GlobalApplicationCommand","command","handle","_tag","constructor","exports","global","GuildApplicationCommand","guild","MessageComponent","predicate","messageComponent","pred","ModalSubmit","modalSubmit","Autocomplete","autocomplete"],"sources":["../src/Interactions/definitions.ts"],"sourcesContent":[null],"mappings":";;;;;;AAmBM,MAAOA,wBAAwB;EAGxBC,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,0BAA0B;EAC1CC,YACWH,OAAgD,EAChDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEM,MAAMM,MAAM,GAAGA,CAKpBL,OAAU,EACVC,MAA+B,KAE/B,IAAIF,wBAAwB,CAG1BC,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAE5B,MAAOC,uBAAuB;EAGvBN,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,yBAAyB;EACzCC,YACWH,OAAgD,EAChDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAEM,MAAMC,KAAK,GAAGA,CAKnBP,OAAU,EACVC,MAA+B,KAE/B,IAAIK,uBAAuB,CAGzBN,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAE5B,MAAOC,gBAAgB;EAGhBC,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,kBAAkB;EAClCC,YACWM,SAAwC,EACxCR,MAIR;IALQ,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AAEM,MAAME,gBAAgB,GAAGA,CAC9BC,IAAmC,EACnCV,MAAqE,KAErE,IAAIO,gBAAgB,CAGlBG,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AAElB,MAAOE,WAAW;EAGXH,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,aAAa;EAC7BC,YACWM,SAAwC,EACxCR,MAIR;IALQ,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAQ,WAAA,GAAAA,WAAA;AAEM,MAAMC,WAAW,GAAGA,CACzBF,IAAmC,EACnCV,MAAqE,KAErE,IAAIW,WAAW,CAGbD,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAS,WAAA,GAAAA,WAAA;AAElB,MAAOC,YAAY;EAGZL,SAAA;EAIAR,MAAA;EANFC,IAAI,GAAG,cAAc;EAC9BC,YACWM,SAGG,EACHR,MAIR;IARQ,KAAAQ,SAAS,GAATA,SAAS;IAIT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAU,YAAA,GAAAA,YAAA;AAEM,MAAMC,YAAY,GAAGA,CAC1BJ,IAGY,EACZV,MAAqE,KAErE,IAAIa,YAAY,CASdH,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAW,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export declare const InteractionsErrorTypeId: unique symbol;
2
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/Interactions/error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,eAEnC,CAAA"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InteractionsErrorTypeId = void 0;
7
- const InteractionsErrorTypeId = exports.InteractionsErrorTypeId = /*#__PURE__*/Symbol.for("dfx/Interactions/InteractionsError");
8
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","names":["InteractionsErrorTypeId","exports","Symbol","for"],"sources":["../src/Interactions/error.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,gBAAGE,MAAM,CAACC,GAAG,CAC/C,oCAAoC,CACrC","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- import type { Tag } from "effect/Context";
2
- import * as Effect from "effect/Effect";
3
- import * as Layer from "effect/Layer";
4
- import { DiscordGateway } from "dfx/DiscordGateway";
5
- import type { DiscordRESTError } from "dfx/DiscordREST";
6
- import { DiscordREST } from "dfx/DiscordREST";
7
- import type { DefinitionNotFound } from "dfx/Interactions/handlers";
8
- import type { DiscordInteraction, InteractionBuilder } from "dfx/Interactions/index";
9
- import * as FiberRef from "effect/FiberRef";
10
- export declare const interactionsSync: FiberRef.FiberRef<boolean>;
11
- export declare const setInteractionsSync: (enabled: boolean) => <A, E, R>(self: Layer.Layer<A, E, R>) => Layer.Layer<A, E, R>;
12
- export declare const run: <R, R2, E, TE, E2>(postHandler: (effect: Effect.Effect<void, TE | DiscordRESTError | DefinitionNotFound, R | DiscordREST | DiscordInteraction>) => Effect.Effect<void, E2, R2>) => (ix: InteractionBuilder<R, E, TE>) => Effect.Effect<never, E2 | DiscordRESTError, DiscordREST | DiscordGateway | Exclude<R2, DiscordInteraction>>;
13
- export interface InteractionsRegistryService {
14
- readonly register: <E>(ix: InteractionBuilder<never, E, never>) => Effect.Effect<void>;
15
- }
16
- export interface InteractionsRegistry {
17
- readonly _: unique symbol;
18
- }
19
- export declare const InteractionsRegistry: Tag<InteractionsRegistry, InteractionsRegistryService>;
20
- export declare const InteractionsRegistryLive: Layer.Layer<InteractionsRegistry, never, DiscordREST | DiscordGateway>;
21
- //# sourceMappingURL=gateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/Interactions/gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAK7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAK/B,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAI3C,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAGvD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,kEACV,CAAA;AAE1C,eAAO,MAAM,GAAG,GACb,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACf,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,IAAI,EACJ,EAAE,GAAG,gBAAgB,GAAG,kBAAkB,EAC1C,CAAC,GAAG,WAAW,GAAG,kBAAkB,CACrC,KACE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAGhC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAC/B,MAAM,CAAC,MAAM,CACd,KAAK,EACL,EAAE,GAAG,gBAAgB,EACrB,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,CA4F5D,CAAA;AAuCN,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EACnB,EAAE,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,oBAAoB,EAAE,GAAG,CACpC,oBAAoB,EACpB,2BAA2B,CAG5B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAChD,oBAAoB,EACpB,KAAK,EACL,WAAW,GAAG,cAAc,CACsB,CAAA"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setInteractionsSync = exports.run = exports.interactionsSync = exports.InteractionsRegistryLive = exports.InteractionsRegistry = void 0;
7
- var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Chunk"));
8
- var _Context = /*#__PURE__*/require("effect/Context");
9
- var Duration = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Duration"));
10
- var _Function = /*#__PURE__*/require("effect/Function");
11
- var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
12
- var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
13
- var Queue = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Queue"));
14
- var Ref = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Ref"));
15
- var _DiscordGateway = /*#__PURE__*/require("dfx/DiscordGateway");
16
- var _DiscordREST = /*#__PURE__*/require("dfx/DiscordREST");
17
- var _handlers = /*#__PURE__*/require("dfx/Interactions/handlers");
18
- var _index = /*#__PURE__*/require("dfx/Interactions/index");
19
- var EffectUtils = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/utils/Effect"));
20
- var Schedule = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Schedule"));
21
- var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
22
- var FiberRef = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/FiberRef"));
23
- var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
24
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
- const interactionsSync = exports.interactionsSync = /*#__PURE__*/(0, _GlobalValue.globalValue)("dfx/Interactions/sync", () => FiberRef.unsafeMake(true));
26
- const setInteractionsSync = enabled => Layer.locally(interactionsSync, enabled);
27
- exports.setInteractionsSync = setInteractionsSync;
28
- const run = postHandler => ix => Effect.gen(function* () {
29
- const GlobalApplicationCommand = ix.definitions.pipe(Chunk.map(_ => _[0]), Chunk.filter(_ => _._tag === "GlobalApplicationCommand"), Chunk.toReadonlyArray);
30
- const GuildApplicationCommand = ix.definitions.pipe(Chunk.map(_ => _[0]), Chunk.filter(_ => _._tag === "GuildApplicationCommand"), Chunk.toReadonlyArray);
31
- const gateway = yield* _DiscordGateway.DiscordGateway;
32
- const rest = yield* _DiscordREST.DiscordREST;
33
- const application = yield* rest.getMyApplication();
34
- const globalSync = rest.bulkSetApplicationCommands(application.id, GlobalApplicationCommand.map(_ => _.command));
35
- const runGuildSync = Effect.gen(function* () {
36
- const commands = GuildApplicationCommand.map(_ => _.command);
37
- let results = undefined;
38
- while (true) {
39
- const next = yield* rest.listMyGuilds({
40
- after: results && Arr.lastNonEmpty(results).id
41
- });
42
- if (!Arr.isNonEmptyReadonlyArray(next)) break;
43
- results = next;
44
- yield* Effect.forEach(results, guild => rest.bulkSetGuildApplicationCommands(application.id, guild.id, commands), {
45
- concurrency: "unbounded",
46
- discard: true
47
- });
48
- }
49
- return yield* gateway.handleDispatch("GUILD_CREATE", a => rest.bulkSetGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(_ => _.command)));
50
- });
51
- const guildSync = GuildApplicationCommand.length ? runGuildSync : Effect.never;
52
- const handle = (0, _handlers.handlers)(ix.definitions, (i, r) => {
53
- const hasFiles = "files" in r;
54
- const payload = hasFiles ? {
55
- ...r,
56
- files: undefined
57
- } : r;
58
- const effect = rest.createInteractionResponse(i.id, i.token, {
59
- payload
60
- });
61
- return hasFiles ? rest.withFiles(r.files)(effect) : effect;
62
- });
63
- const run = gateway.handleDispatch("INTERACTION_CREATE", i => Effect.withSpan(Effect.provideService(postHandler(handle[i.type](i)), _index.Interaction, i), "dfx.Interaction", {
64
- attributes: {
65
- interactionId: i.id
66
- },
67
- captureStackTrace: false
68
- }));
69
- const sync = yield* FiberRef.get(interactionsSync);
70
- return yield* sync ? Effect.forever(Effect.all([run, globalSync, guildSync], {
71
- concurrency: "unbounded",
72
- discard: true
73
- })) : run;
74
- });
75
- exports.run = run;
76
- const makeRegistry = /*#__PURE__*/Effect.gen(function* () {
77
- const ref = yield* Ref.make(_index.builder);
78
- const queue = yield* Queue.sliding(1);
79
- const register = ix => Effect.flatMap(Ref.updateAndGet(ref, _ => _.concat(ix)), _ => Queue.offer(queue, _));
80
- yield* EffectUtils.foreverSwitch(Queue.take(queue), ix => (0, _Function.pipe)(ix, run(Effect.catchAllCause(_ => Effect.logError("unhandled error", _))), Effect.delay(Duration.seconds(5)))).pipe(Effect.tapErrorCause(_ => Effect.logError("registry error", _)), Effect.retry(Schedule.exponential("1 seconds").pipe(Schedule.union(Schedule.spaced("20 seconds")))), Effect.forkScoped, Effect.interruptible);
81
- return {
82
- register
83
- };
84
- }).pipe(/*#__PURE__*/Effect.annotateLogs({
85
- package: "dfx",
86
- service: "InteractionsRegistry"
87
- }));
88
- const InteractionsRegistry = exports.InteractionsRegistry = /*#__PURE__*/(0, _Context.GenericTag)("dfx/Interactions/InteractionsRegistry");
89
- const InteractionsRegistryLive = exports.InteractionsRegistryLive = /*#__PURE__*/Layer.scoped(InteractionsRegistry, makeRegistry);
90
- //# sourceMappingURL=gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","_Function","Effect","Layer","Queue","Ref","_DiscordGateway","_DiscordREST","_handlers","_index","EffectUtils","Schedule","_GlobalValue","FiberRef","Arr","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","interactionsSync","exports","globalValue","unsafeMake","setInteractionsSync","enabled","locally","run","postHandler","ix","gen","GlobalApplicationCommand","definitions","pipe","map","_","filter","_tag","toReadonlyArray","GuildApplicationCommand","gateway","DiscordGateway","rest","DiscordREST","application","getMyApplication","globalSync","bulkSetApplicationCommands","id","command","runGuildSync","commands","results","undefined","next","listMyGuilds","after","lastNonEmpty","isNonEmptyReadonlyArray","forEach","guild","bulkSetGuildApplicationCommands","concurrency","discard","handleDispatch","a","guildSync","length","never","handle","handlers","hasFiles","payload","files","effect","createInteractionResponse","token","withFiles","withSpan","provideService","type","Interaction","attributes","interactionId","captureStackTrace","sync","forever","all","makeRegistry","ref","make","builder","queue","sliding","register","flatMap","updateAndGet","concat","offer","foreverSwitch","take","catchAllCause","logError","delay","seconds","tapErrorCause","retry","exponential","union","spaced","forkScoped","interruptible","annotateLogs","package","service","InteractionsRegistry","GenericTag","InteractionsRegistryLive","scoped"],"sources":["../src/Interactions/gateway.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- import type * as Chunk from "effect/Chunk";
2
- import * as Effect from "effect/Effect";
3
- import * as Ctx from "dfx/Interactions/context";
4
- import type * as D from "dfx/Interactions/definitions";
5
- import * as Discord from "dfx/types";
6
- import type { Scope } from "effect/Scope";
7
- export declare class DefinitionNotFound {
8
- readonly interaction: Discord.APIInteraction;
9
- readonly _tag = "DefinitionNotFound";
10
- constructor(interaction: Discord.APIInteraction);
11
- }
12
- type Handler<R, E, A> = Effect.Effect<A, E | DefinitionNotFound, R | Ctx.DiscordInteraction>;
13
- export declare const handlers: <R, E, TE, A, B>(definitions: Chunk.Chunk<readonly [handler: D.InteractionDefinition<R, E>, transform: (self: Effect.Effect<A, E, R>) => Effect.Effect<B, TE, R>]>, handleResponse: (ix: Discord.APIInteraction, _: Discord.CreateInteractionResponseRequest) => Effect.Effect<A, E, R>) => Record<Discord.InteractionTypes, (i: Discord.APIInteraction) => Handler<Exclude<R, Scope>, E, B>>;
14
- export {};
15
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/Interactions/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAA;AAC/C,OAAO,KAAK,KAAK,CAAC,MAAM,8BAA8B,CAAA;AAEtD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAa,kBAAkB;IAEjB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc;IADxD,QAAQ,CAAC,IAAI,wBAAuB;gBACf,WAAW,EAAE,OAAO,CAAC,cAAc;CACzD;AAED,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CACnC,CAAC,EACD,CAAC,GAAG,kBAAkB,EACtB,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAC3B,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EACrC,aAAa,KAAK,CAAC,KAAK,CACtB,SAAS,CACP,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACrE,CACF,EACD,gBAAgB,CACd,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,CAAC,EAAE,OAAO,CAAC,gCAAgC,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC1B,MAAM,CACP,OAAO,CAAC,gBAAgB,EACxB,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAuEhE,CAAA"}
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.handlers = exports.DefinitionNotFound = void 0;
7
- var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
8
- var IxHelpers = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/Helpers/interactions"));
9
- var Ctx = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/Interactions/context"));
10
- var _utils = /*#__PURE__*/require("dfx/Interactions/utils");
11
- var Discord = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("dfx/types"));
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
- class DefinitionNotFound {
14
- interaction;
15
- _tag = "DefinitionNotFound";
16
- constructor(interaction) {
17
- this.interaction = interaction;
18
- }
19
- }
20
- exports.DefinitionNotFound = DefinitionNotFound;
21
- const handlers = (definitions, handleResponse) => {
22
- const flattened = (0, _utils.flattenDefinitions)(definitions, handleResponse);
23
- const {
24
- Autocomplete,
25
- Commands,
26
- MessageComponent,
27
- ModalSubmit
28
- } = (0, _utils.splitDefinitions)(flattened);
29
- return {
30
- [Discord.InteractionTypes.PING]: _ => Effect.succeed({
31
- type: Discord.InteractionCallbackTypes.PONG
32
- }),
33
- [Discord.InteractionTypes.APPLICATION_COMMAND]: i => {
34
- const data = i.data;
35
- const command = Commands[data.name];
36
- if (command === undefined) {
37
- return Effect.fail(new DefinitionNotFound(i));
38
- }
39
- return Effect.provideService(command.handle(i), Ctx.ApplicationCommand, data);
40
- },
41
- [Discord.InteractionTypes.MODAL_SUBMIT]: i => {
42
- const data = i.data;
43
- const match = ModalSubmit.find(_ => _.predicate(data.custom_id));
44
- if (match === undefined) {
45
- return Effect.fail(new DefinitionNotFound(i));
46
- }
47
- return Effect.provideService(match.handle(i), Ctx.ModalSubmitData, data);
48
- },
49
- [Discord.InteractionTypes.MESSAGE_COMPONENT]: i => {
50
- const data = i.data;
51
- const match = MessageComponent.find(_ => _.predicate(data.custom_id));
52
- if (match === undefined) {
53
- return Effect.fail(new DefinitionNotFound(i));
54
- }
55
- return Effect.provideService(match.handle(i), Ctx.MessageComponentData, data);
56
- },
57
- [Discord.InteractionTypes.APPLICATION_COMMAND_AUTOCOMPLETE]: i => {
58
- const data = i.data;
59
- const option = IxHelpers.focusedOption(data);
60
- if (option._tag === "None") {
61
- return Effect.fail(new DefinitionNotFound(i));
62
- }
63
- const match = Autocomplete.find(_ => _.predicate(data, option.value));
64
- if (match === undefined) {
65
- return Effect.fail(new DefinitionNotFound(i));
66
- }
67
- return match.handle(i).pipe(Effect.provideService(Ctx.ApplicationCommand, data), Effect.provideService(Ctx.FocusedOptionContext, option.value));
68
- }
69
- };
70
- };
71
- exports.handlers = handlers;
72
- //# sourceMappingURL=handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.js","names":["Effect","_interopRequireWildcard","require","IxHelpers","Ctx","_utils","Discord","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DefinitionNotFound","interaction","_tag","constructor","exports","handlers","definitions","handleResponse","flattened","flattenDefinitions","Autocomplete","Commands","MessageComponent","ModalSubmit","splitDefinitions","InteractionTypes","PING","_","succeed","type","InteractionCallbackTypes","PONG","APPLICATION_COMMAND","data","command","name","undefined","fail","provideService","handle","ApplicationCommand","MODAL_SUBMIT","match","find","predicate","custom_id","ModalSubmitData","MESSAGE_COMPONENT","MessageComponentData","APPLICATION_COMMAND_AUTOCOMPLETE","option","focusedOption","value","pipe","FocusedOptionContext"],"sources":["../src/Interactions/handlers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- export { response } from "dfx/Helpers/interactions";
2
- export * from "dfx/Interactions/builder";
3
- export * from "dfx/Interactions/context";
4
- export { autocomplete, global, guild, InteractionDefinition, messageComponent, modalSubmit, } from "dfx/Interactions/definitions";
5
- export declare const id: (query: string) => (customId: string) => boolean;
6
- export declare const idStartsWith: (query: string) => (customId: string) => boolean;
7
- export declare const idRegex: (query: RegExp) => (customId: string) => boolean;
8
- export declare const option: (command: string, optionName: string) => (data: {
9
- readonly name: string;
10
- }, focusedOption: {
11
- readonly name: string;
12
- }) => boolean;
13
- export declare const optionOnly: (optionName: string) => (_: unknown, focusedOption: {
14
- readonly name: string;
15
- }) => boolean;
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/Interactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GACZ,MAAM,8BAA8B,CAAA;AAGrC,eAAO,MAAM,EAAE,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YAAuB,CAAA;AAE7E,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YACpC,CAAA;AAE5B,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YACrC,CAAA;AAEtB,eAAO,MAAM,MAAM,GAChB,SAAS,MAAM,EAAE,YAAY,MAAM,MACnC,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,eAAe;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,YACd,CAAA;AAE9D,eAAO,MAAM,UAAU,GACpB,YAAY,MAAM,MAClB,GAAG,OAAO,EAAE,eAAe;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,YAClB,CAAA"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- id: true,
8
- idStartsWith: true,
9
- idRegex: true,
10
- option: true,
11
- optionOnly: true,
12
- response: true,
13
- autocomplete: true,
14
- global: true,
15
- guild: true,
16
- messageComponent: true,
17
- modalSubmit: true
18
- };
19
- Object.defineProperty(exports, "autocomplete", {
20
- enumerable: true,
21
- get: function () {
22
- return _definitions.autocomplete;
23
- }
24
- });
25
- Object.defineProperty(exports, "global", {
26
- enumerable: true,
27
- get: function () {
28
- return _definitions.global;
29
- }
30
- });
31
- Object.defineProperty(exports, "guild", {
32
- enumerable: true,
33
- get: function () {
34
- return _definitions.guild;
35
- }
36
- });
37
- exports.idStartsWith = exports.idRegex = exports.id = void 0;
38
- Object.defineProperty(exports, "messageComponent", {
39
- enumerable: true,
40
- get: function () {
41
- return _definitions.messageComponent;
42
- }
43
- });
44
- Object.defineProperty(exports, "modalSubmit", {
45
- enumerable: true,
46
- get: function () {
47
- return _definitions.modalSubmit;
48
- }
49
- });
50
- exports.optionOnly = exports.option = void 0;
51
- Object.defineProperty(exports, "response", {
52
- enumerable: true,
53
- get: function () {
54
- return _interactions.response;
55
- }
56
- });
57
- var _interactions = /*#__PURE__*/require("dfx/Helpers/interactions");
58
- var _builder = /*#__PURE__*/require("dfx/Interactions/builder");
59
- Object.keys(_builder).forEach(function (key) {
60
- if (key === "default" || key === "__esModule") return;
61
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
- if (key in exports && exports[key] === _builder[key]) return;
63
- Object.defineProperty(exports, key, {
64
- enumerable: true,
65
- get: function () {
66
- return _builder[key];
67
- }
68
- });
69
- });
70
- var _context = /*#__PURE__*/require("dfx/Interactions/context");
71
- Object.keys(_context).forEach(function (key) {
72
- if (key === "default" || key === "__esModule") return;
73
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
74
- if (key in exports && exports[key] === _context[key]) return;
75
- Object.defineProperty(exports, key, {
76
- enumerable: true,
77
- get: function () {
78
- return _context[key];
79
- }
80
- });
81
- });
82
- var _definitions = /*#__PURE__*/require("dfx/Interactions/definitions");
83
- // Filters
84
- const id = query => customId => query === customId;
85
- exports.id = id;
86
- const idStartsWith = query => customId => customId.startsWith(query);
87
- exports.idStartsWith = idStartsWith;
88
- const idRegex = query => customId => query.test(customId);
89
- exports.idRegex = idRegex;
90
- const option = (command, optionName) => (data, focusedOption) => data.name === command && focusedOption.name === optionName;
91
- exports.option = option;
92
- const optionOnly = optionName => (_, focusedOption) => focusedOption.name === optionName;
93
- exports.optionOnly = optionOnly;
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_interactions","require","_builder","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_context","_definitions","id","query","customId","idStartsWith","startsWith","idRegex","test","option","command","optionName","data","focusedOption","name","optionOnly","_"],"sources":["../src/Interactions/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,gBAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,gBAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,YAAA,gBAAAf,OAAA;AASA;AACO,MAAMgB,EAAE,GAAIC,KAAa,IAAMC,QAAgB,IAAKD,KAAK,KAAKC,QAAQ;AAAAR,OAAA,CAAAM,EAAA,GAAAA,EAAA;AAEtE,MAAMG,YAAY,GAAIF,KAAa,IAAMC,QAAgB,IAC9DA,QAAQ,CAACE,UAAU,CAACH,KAAK,CAAC;AAAAP,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAErB,MAAME,OAAO,GAAIJ,KAAa,IAAMC,QAAgB,IACzDD,KAAK,CAACK,IAAI,CAACJ,QAAQ,CAAC;AAAAR,OAAA,CAAAW,OAAA,GAAAA,OAAA;AAEf,MAAME,MAAM,GACjBA,CAACC,OAAe,EAAEC,UAAkB,KACpC,CAACC,IAA+B,EAAEC,aAAwC,KACxED,IAAI,CAACE,IAAI,KAAKJ,OAAO,IAAIG,aAAa,CAACC,IAAI,KAAKH,UAAU;AAAAf,OAAA,CAAAa,MAAA,GAAAA,MAAA;AAEvD,MAAMM,UAAU,GACpBJ,UAAkB,IACnB,CAACK,CAAU,EAAEH,aAAwC,KACnDA,aAAa,CAACC,IAAI,KAAKH,UAAU;AAAAf,OAAA,CAAAmB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,61 +0,0 @@
1
- import * as Chunk from "effect/Chunk";
2
- import * as Effect from "effect/Effect";
3
- import type * as D from "dfx/Interactions/definitions";
4
- import type * as Discord from "dfx/types";
5
- export type DefinitionFlattened<R, E, TE, A> = D.InteractionDefinition<R, E> extends infer D ? {
6
- [K in keyof D]: K extends "handle" ? (_: Discord.APIInteraction) => Effect.Effect<A, TE, R> : D[K];
7
- } : never;
8
- export type DefinitionFlattenedCommand<R, E, TE, A> = Extract<DefinitionFlattened<R, E, TE, A>, {
9
- _tag: "GlobalApplicationCommand" | "GuildApplicationCommand";
10
- }>;
11
- export declare const flattenDefinitions: <R, E, TE, A, B>(definitions: Chunk.Chunk<readonly [handler: D.InteractionDefinition<R, E>, transform: (self: Effect.Effect<A, E, R>) => Effect.Effect<B, TE, R>]>, handleResponse: (ix: Discord.APIInteraction, _: Discord.CreateInteractionResponseRequest) => Effect.Effect<A, E, R>) => ({
12
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
13
- _tag: "GlobalApplicationCommand";
14
- command: Discord.ApplicationCommandCreateRequest;
15
- } | {
16
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
17
- _tag: "GuildApplicationCommand";
18
- command: Discord.ApplicationCommandCreateRequest;
19
- } | {
20
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
21
- _tag: "MessageComponent";
22
- predicate: (customId: string) => boolean;
23
- } | {
24
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
25
- _tag: "ModalSubmit";
26
- predicate: (customId: string) => boolean;
27
- } | {
28
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
29
- _tag: "Autocomplete";
30
- predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
31
- })[];
32
- export declare const splitDefinitions: <R, E, TE, A>(definitions: ReadonlyArray<DefinitionFlattened<R, E, TE, A>>) => {
33
- GlobalApplicationCommand: {
34
- readonly _tag: "GlobalApplicationCommand";
35
- readonly command: Discord.ApplicationCommandCreateRequest;
36
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
37
- }[];
38
- GuildApplicationCommand: {
39
- readonly _tag: "GuildApplicationCommand";
40
- readonly command: Discord.ApplicationCommandCreateRequest;
41
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
42
- }[];
43
- MessageComponent: {
44
- readonly _tag: "MessageComponent";
45
- readonly predicate: (customId: string) => boolean;
46
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
47
- }[];
48
- ModalSubmit: {
49
- readonly _tag: "ModalSubmit";
50
- readonly predicate: (customId: string) => boolean;
51
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
52
- }[];
53
- Autocomplete: {
54
- readonly _tag: "Autocomplete";
55
- readonly predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
56
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
57
- }[];
58
- } & {
59
- readonly Commands: Record<string, DefinitionFlattenedCommand<R, E, TE, A>>;
60
- };
61
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/Interactions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,CAAC,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAIzC,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IACzC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACzC;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,GAC9B,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACtD,CAAC,CAAC,CAAC,CAAC;CACT,GACD,KAAK,CAAA;AAEX,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAC3D,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAChC;IAAE,IAAI,EAAE,0BAA0B,GAAG,yBAAyB,CAAA;CAAE,CACjE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAC/C,aAAa,KAAK,CAAC,KAAK,CACtB,SAAS,CACP,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACrE,CACF,EACD,gBAAgB,CACd,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,CAAC,EAAE,OAAO,CAAC,gCAAgC,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAKjB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;IAsB7B,CAAA;AAEL,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1C,aAAa,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;;;6BAlD9C,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;uBAkEb,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;CAe/E,CAAA"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.splitDefinitions = exports.flattenDefinitions = void 0;
7
- var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Chunk"));
8
- var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
9
- var Array = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
10
- var _commandHelper = /*#__PURE__*/require("dfx/Interactions/commandHelper");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- const flattenDefinitions = (definitions, handleResponse) => Array.map(Chunk.toReadonlyArray(definitions), ([definition, transform]) => ({
13
- ...definition,
14
- handle: Effect.isEffect(definition.handle) ? i => Effect.scoped(transform(Effect.flatMap(definition.handle, _ => handleResponse(i, _)))) : i => Effect.scoped(transform(Effect.flatMap(definition.handle(new _commandHelper.CommandHelper(i)), _ => handleResponse(i, _))))
15
- }));
16
- exports.flattenDefinitions = flattenDefinitions;
17
- const splitDefinitions = definitions => {
18
- const grouped = Array.reduce(definitions, {
19
- Autocomplete: [],
20
- GlobalApplicationCommand: [],
21
- GuildApplicationCommand: [],
22
- MessageComponent: [],
23
- ModalSubmit: [],
24
- Commands: {}
25
- }, (acc, d) => {
26
- acc[d._tag].push(d);
27
- if (d._tag === "GlobalApplicationCommand" || d._tag === "GuildApplicationCommand") {
28
- acc.Commands[d.command.name] = d;
29
- }
30
- return acc;
31
- });
32
- return grouped;
33
- };
34
- exports.splitDefinitions = splitDefinitions;
35
- //# sourceMappingURL=utils.js.map