dfx 0.86.0 → 0.88.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 (166) hide show
  1. package/Cache/driver.d.ts +15 -15
  2. package/Cache/driver.d.ts.map +1 -1
  3. package/Cache/driver.js.map +1 -1
  4. package/Cache/memory.d.ts +2 -2
  5. package/Cache/memory.d.ts.map +1 -1
  6. package/Cache/memory.js.map +1 -1
  7. package/Cache/memoryTTL.d.ts +2 -2
  8. package/Cache/memoryTTL.d.ts.map +1 -1
  9. package/Cache/memoryTTL.js.map +1 -1
  10. package/Cache/prelude.d.ts +13 -16
  11. package/Cache/prelude.d.ts.map +1 -1
  12. package/Cache/prelude.js +4 -4
  13. package/Cache/prelude.js.map +1 -1
  14. package/Cache.d.ts +25 -25
  15. package/Cache.d.ts.map +1 -1
  16. package/Cache.js.map +1 -1
  17. package/DiscordConfig.d.ts +3 -4
  18. package/DiscordConfig.d.ts.map +1 -1
  19. package/DiscordConfig.js +1 -1
  20. package/DiscordConfig.js.map +1 -1
  21. package/DiscordGateway/DiscordWS.d.ts +10 -11
  22. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  23. package/DiscordGateway/DiscordWS.js +2 -2
  24. package/DiscordGateway/DiscordWS.js.map +1 -1
  25. package/DiscordGateway/Messaging.d.ts +12 -13
  26. package/DiscordGateway/Messaging.d.ts.map +1 -1
  27. package/DiscordGateway/Messaging.js +1 -1
  28. package/DiscordGateway/Messaging.js.map +1 -1
  29. package/DiscordGateway/Shard/heartbeats.d.ts +1 -1
  30. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  31. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  32. package/DiscordGateway/Shard/identify.d.ts +1 -1
  33. package/DiscordGateway/Shard/identify.d.ts.map +1 -1
  34. package/DiscordGateway/Shard/identify.js.map +1 -1
  35. package/DiscordGateway/Shard/invalidSession.d.ts +1 -1
  36. package/DiscordGateway/Shard/invalidSession.d.ts.map +1 -1
  37. package/DiscordGateway/Shard/utils.d.ts +2 -2
  38. package/DiscordGateway/Shard/utils.d.ts.map +1 -1
  39. package/DiscordGateway/Shard/utils.js.map +1 -1
  40. package/DiscordGateway/Shard.d.ts +10 -11
  41. package/DiscordGateway/Shard.d.ts.map +1 -1
  42. package/DiscordGateway/Shard.js +1 -1
  43. package/DiscordGateway/Shard.js.map +1 -1
  44. package/DiscordGateway/ShardStore.d.ts +5 -6
  45. package/DiscordGateway/ShardStore.d.ts.map +1 -1
  46. package/DiscordGateway/ShardStore.js +1 -1
  47. package/DiscordGateway/ShardStore.js.map +1 -1
  48. package/DiscordGateway/Sharder.d.ts +3 -4
  49. package/DiscordGateway/Sharder.d.ts.map +1 -1
  50. package/DiscordGateway/Sharder.js +1 -1
  51. package/DiscordGateway/Sharder.js.map +1 -1
  52. package/DiscordGateway/WS.d.ts +7 -8
  53. package/DiscordGateway/WS.d.ts.map +1 -1
  54. package/DiscordGateway/WS.js +1 -1
  55. package/DiscordGateway/WS.js.map +1 -1
  56. package/DiscordGateway.d.ts +8 -9
  57. package/DiscordGateway.d.ts.map +1 -1
  58. package/DiscordGateway.js +1 -1
  59. package/DiscordGateway.js.map +1 -1
  60. package/DiscordREST/types.d.ts +6 -2
  61. package/DiscordREST/types.d.ts.map +1 -1
  62. package/DiscordREST.d.ts +4 -4
  63. package/DiscordREST.d.ts.map +1 -1
  64. package/DiscordREST.js +19 -2
  65. package/DiscordREST.js.map +1 -1
  66. package/Helpers/permissions.d.ts +3 -3
  67. package/Helpers/permissions.d.ts.map +1 -1
  68. package/Interactions/builder.d.ts +12 -12
  69. package/Interactions/builder.d.ts.map +1 -1
  70. package/Interactions/context.d.ts +22 -23
  71. package/Interactions/context.d.ts.map +1 -1
  72. package/Interactions/context.js +6 -6
  73. package/Interactions/context.js.map +1 -1
  74. package/Interactions/definitions.d.ts +23 -23
  75. package/Interactions/definitions.d.ts.map +1 -1
  76. package/Interactions/gateway.d.ts +5 -6
  77. package/Interactions/gateway.d.ts.map +1 -1
  78. package/Interactions/gateway.js +5 -5
  79. package/Interactions/gateway.js.map +1 -1
  80. package/Interactions/handlers.d.ts +2 -2
  81. package/Interactions/handlers.d.ts.map +1 -1
  82. package/Interactions/index.d.ts +5 -5
  83. package/Interactions/utils.d.ts +26 -26
  84. package/Interactions/utils.d.ts.map +1 -1
  85. package/Interactions/utils.js.map +1 -1
  86. package/Interactions/webhook.d.ts +7 -8
  87. package/Interactions/webhook.d.ts.map +1 -1
  88. package/Interactions/webhook.js +1 -1
  89. package/Interactions/webhook.js.map +1 -1
  90. package/RateLimit.d.ts +11 -12
  91. package/RateLimit.d.ts.map +1 -1
  92. package/RateLimit.js +2 -2
  93. package/RateLimit.js.map +1 -1
  94. package/gateway.d.ts +2 -2
  95. package/mjs/Cache/driver.mjs.map +1 -1
  96. package/mjs/Cache/memory.mjs.map +1 -1
  97. package/mjs/Cache/memoryTTL.mjs.map +1 -1
  98. package/mjs/Cache/prelude.mjs +4 -4
  99. package/mjs/Cache/prelude.mjs.map +1 -1
  100. package/mjs/Cache.mjs.map +1 -1
  101. package/mjs/DiscordConfig.mjs +2 -2
  102. package/mjs/DiscordConfig.mjs.map +1 -1
  103. package/mjs/DiscordGateway/DiscordWS.mjs +3 -3
  104. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  105. package/mjs/DiscordGateway/Messaging.mjs +2 -2
  106. package/mjs/DiscordGateway/Messaging.mjs.map +1 -1
  107. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
  108. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -1
  109. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -1
  110. package/mjs/DiscordGateway/Shard.mjs +2 -2
  111. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  112. package/mjs/DiscordGateway/ShardStore.mjs +2 -2
  113. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -1
  114. package/mjs/DiscordGateway/Sharder.mjs +2 -2
  115. package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
  116. package/mjs/DiscordGateway/WS.mjs +2 -2
  117. package/mjs/DiscordGateway/WS.mjs.map +1 -1
  118. package/mjs/DiscordGateway.mjs +2 -2
  119. package/mjs/DiscordGateway.mjs.map +1 -1
  120. package/mjs/DiscordREST.mjs +20 -3
  121. package/mjs/DiscordREST.mjs.map +1 -1
  122. package/mjs/Interactions/context.mjs +7 -7
  123. package/mjs/Interactions/context.mjs.map +1 -1
  124. package/mjs/Interactions/gateway.mjs +6 -6
  125. package/mjs/Interactions/gateway.mjs.map +1 -1
  126. package/mjs/Interactions/utils.mjs.map +1 -1
  127. package/mjs/Interactions/webhook.mjs +2 -2
  128. package/mjs/Interactions/webhook.mjs.map +1 -1
  129. package/mjs/RateLimit.mjs +3 -3
  130. package/mjs/RateLimit.mjs.map +1 -1
  131. package/mjs/version.mjs +1 -1
  132. package/package.json +4 -4
  133. package/src/Cache/driver.ts +15 -21
  134. package/src/Cache/memory.ts +1 -7
  135. package/src/Cache/memoryTTL.ts +3 -4
  136. package/src/Cache/prelude.ts +33 -34
  137. package/src/Cache.ts +31 -31
  138. package/src/DiscordConfig.ts +4 -4
  139. package/src/DiscordGateway/DiscordWS.ts +8 -7
  140. package/src/DiscordGateway/Messaging.ts +9 -8
  141. package/src/DiscordGateway/Shard/heartbeats.ts +2 -2
  142. package/src/DiscordGateway/Shard/identify.ts +0 -2
  143. package/src/DiscordGateway/Shard/invalidSession.ts +1 -1
  144. package/src/DiscordGateway/Shard/utils.ts +4 -6
  145. package/src/DiscordGateway/Shard.ts +2 -2
  146. package/src/DiscordGateway/ShardStore.ts +5 -7
  147. package/src/DiscordGateway/Sharder.ts +10 -4
  148. package/src/DiscordGateway/WS.ts +7 -10
  149. package/src/DiscordGateway.ts +8 -12
  150. package/src/DiscordREST/types.ts +7 -6
  151. package/src/DiscordREST.ts +36 -7
  152. package/src/Helpers/permissions.ts +1 -1
  153. package/src/Interactions/builder.ts +11 -11
  154. package/src/Interactions/context.ts +25 -24
  155. package/src/Interactions/definitions.ts +35 -34
  156. package/src/Interactions/gateway.ts +19 -18
  157. package/src/Interactions/handlers.ts +4 -4
  158. package/src/Interactions/utils.ts +10 -12
  159. package/src/Interactions/webhook.ts +17 -16
  160. package/src/RateLimit.ts +9 -9
  161. package/src/utils/Effect.ts +9 -9
  162. package/src/version.ts +1 -1
  163. package/utils/Effect.d.ts +2 -2
  164. package/version.d.ts +1 -1
  165. package/version.js +1 -1
  166. package/webhooks.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as Chunk from "effect/Chunk";
2
- import { Tag } from "effect/Context";
2
+ import { GenericTag } from "effect/Context";
3
3
  import * as Duration from "effect/Duration";
4
4
  import { pipe } from "effect/Function";
5
5
  import * as Effect from "effect/Effect";
@@ -22,12 +22,12 @@ export const run = postHandler => ix => Effect.gen(function* (_) {
22
22
  const GuildApplicationCommand = ix.definitions.pipe(Chunk.map(_ => _[0]), Chunk.filter(_ => _._tag === "GuildApplicationCommand"), Chunk.toReadonlyArray);
23
23
  const gateway = yield* _(DiscordGateway);
24
24
  const rest = yield* _(DiscordREST);
25
- const application = yield* _(rest.getCurrentBotApplicationInformation(), Effect.flatMap(a => a.json));
25
+ const application = yield* _(rest.getCurrentBotApplicationInformation().json);
26
26
  const globalSync = rest.bulkOverwriteGlobalApplicationCommands(application.id, {
27
27
  body: Http.body.unsafeJson(GlobalApplicationCommand.map(_ => _.command))
28
- });
29
- const guildSync = GuildApplicationCommand.length ? gateway.handleDispatch("GUILD_CREATE", a => rest.bulkOverwriteGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(_ => _.command))) : Effect.never;
30
- const handle = handlers(ix.definitions, (i, r) => rest.createInteractionResponse(i.id, i.token, r));
28
+ }).asUnit;
29
+ const guildSync = GuildApplicationCommand.length ? gateway.handleDispatch("GUILD_CREATE", a => rest.bulkOverwriteGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(_ => _.command)).asUnit) : Effect.never;
30
+ const handle = handlers(ix.definitions, (i, r) => rest.createInteractionResponse(i.id, i.token, r).pipe(Effect.scoped));
31
31
  const run = gateway.handleDispatch("INTERACTION_CREATE", i => Effect.provideService(postHandler(handle[i.type](i)), Interaction, i));
32
32
  const sync = yield* _(FiberRef.get(interactionsSync));
33
33
  return yield* _(sync ? Effect.forever(Effect.all([run, globalSync, guildSync], {
@@ -47,6 +47,6 @@ const makeRegistry = /*#__PURE__*/Effect.gen(function* (_) {
47
47
  package: "dfx",
48
48
  service: "InteractionsRegistry"
49
49
  }));
50
- export const InteractionsRegistry = /*#__PURE__*/Tag("dfx/Interactions/InteractionsRegistry");
50
+ export const InteractionsRegistry = /*#__PURE__*/GenericTag("dfx/Interactions/InteractionsRegistry");
51
51
  export const InteractionsRegistryLive = /*#__PURE__*/Layer.scoped(InteractionsRegistry, makeRegistry);
52
52
  //# sourceMappingURL=gateway.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.mjs","names":["Chunk","Tag","Duration","pipe","Effect","Layer","Queue","Ref","Http","DiscordGateway","DiscordREST","handlers","builder","Interaction","EffectUtils","Schedule","globalValue","FiberRef","interactionsSync","unsafeMake","setInteractionsSync","enabled","locally","run","postHandler","ix","gen","_","GlobalApplicationCommand","definitions","map","filter","_tag","toReadonlyArray","GuildApplicationCommand","gateway","rest","application","getCurrentBotApplicationInformation","flatMap","a","json","globalSync","bulkOverwriteGlobalApplicationCommands","id","body","unsafeJson","command","guildSync","length","handleDispatch","bulkOverwriteGuildApplicationCommands","never","handle","i","r","createInteractionResponse","token","provideService","type","sync","get","forever","all","concurrency","discard","makeRegistry","ref","make","queue","sliding","register","updateAndGet","concat","offer","foreverSwitch","take","catchAllCause","logError","delay","seconds","tapErrorCause","retry","exponential","union","spaced","forkScoped","annotateLogs","package","service","InteractionsRegistry","InteractionsRegistryLive","scoped"],"sources":["../../src/Interactions/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"gateway.mjs","names":["Chunk","GenericTag","Duration","pipe","Effect","Layer","Queue","Ref","Http","DiscordGateway","DiscordREST","handlers","builder","Interaction","EffectUtils","Schedule","globalValue","FiberRef","interactionsSync","unsafeMake","setInteractionsSync","enabled","locally","run","postHandler","ix","gen","_","GlobalApplicationCommand","definitions","map","filter","_tag","toReadonlyArray","GuildApplicationCommand","gateway","rest","application","getCurrentBotApplicationInformation","json","globalSync","bulkOverwriteGlobalApplicationCommands","id","body","unsafeJson","command","asUnit","guildSync","length","handleDispatch","a","bulkOverwriteGuildApplicationCommands","never","handle","i","r","createInteractionResponse","token","scoped","provideService","type","sync","get","forever","all","concurrency","discard","makeRegistry","ref","make","queue","sliding","register","flatMap","updateAndGet","concat","offer","foreverSwitch","take","catchAllCause","logError","delay","seconds","tapErrorCause","retry","exponential","union","spaced","forkScoped","annotateLogs","package","service","InteractionsRegistry","InteractionsRegistryLive"],"sources":["../../src/Interactions/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":["Chunk","Effect","Ctx","context","resolve","resolved","option","optionValue","optionValueOptional","subCommands","handleSubCommands","flattenDefinitions","definitions","handleResponse","map","definition","transform","handle","i","isEffect","flatMap","_","splitDefinitions","grouped","reduce","Autocomplete","empty","GlobalApplicationCommand","GuildApplicationCommand","MessageComponent","ModalSubmit","acc","d","_tag","append","Commands","appendAll","pipe","command","name"],"sources":["../../src/Interactions/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,0BAA0B;AAoB/C,MAAMC,OAAO,GAAyB;EACpCC,OAAO,EAAEF,GAAG,CAACG,QAAQ;EACrBC,MAAM,EAAEJ,GAAG,CAACI,MAAM;EAClBC,WAAW,EAAEL,GAAG,CAACK,WAAW;EAC5BC,mBAAmB,EAAEN,GAAG,CAACM,mBAAmB;EAC5CC,WAAW,EAAEP,GAAG,CAACQ;CACX;AAER,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,WAKC,EACDC,cAG2B,KAE3Bb,KAAK,CAACc,GAAG,CAACF,WAAW,EAAE,CAAC,CAACG,UAAU,EAAEC,SAAS,CAAC,MAAM;EACnD,GAAGD,UAAU;EACbE,MAAM,EAAGC,CAAsB,IAC7BjB,MAAM,CAACkB,QAAQ,CAACJ,UAAU,CAACE,MAAM,CAAC,GAC9BD,SAAS,CACPf,MAAM,CAACmB,OAAO,CAACL,UAAU,CAACE,MAAM,EAAEI,CAAC,IAAIR,cAAc,CAACK,CAAC,EAAEG,CAAC,CAAC,CAAC,CAC7D,GACDL,SAAS,CACPf,MAAM,CAACmB,OAAO,CAACL,UAAU,CAACE,MAAM,CAACd,OAAO,CAAC,EAAEkB,CAAC,IAC1CR,cAAc,CAACK,CAAC,EAAEG,CAAC,CAAC,CACrB;CAEV,CAAC,CAAC;AAEL,OAAO,MAAMC,gBAAgB,GAC3BV,WAA0D,IACxD;EACF,MAAMW,OAAO,GAAGvB,KAAK,CAACwB,MAAM,CAC1BZ,WAAW,EACX;IACEa,YAAY,EAAEzB,KAAK,CAAC0B,KAAK,EAAE;IAC3BC,wBAAwB,EAAE3B,KAAK,CAAC0B,KAAK,EAAE;IACvCE,uBAAuB,EAAE5B,KAAK,CAAC0B,KAAK,EAAE;IACtCG,gBAAgB,EAAE7B,KAAK,CAAC0B,KAAK,EAAE;IAC/BI,WAAW,EAAE9B,KAAK,CAAC0B,KAAK;GAKzB,EACD,CAACK,GAAG,EAAEC,CAAC,MAAM;IACX,GAAGD,GAAG;IACN,CAACC,CAAC,CAACC,IAAI,GAAGjC,KAAK,CAACkC,MAAM,CAACH,GAAG,CAACC,CAAC,CAACC,IAAI,CAAqB,EAAED,CAAC;GAC1D,CAAC,CACH;EAED,MAAMG,QAAQ,GAAGnC,KAAK,CAACoC,SAAS,CAC9Bb,OAAO,CAACI,wBAAwB,EAChCJ,OAAO,CAACK,uBAAuB,CAChC,CAACS,IAAI,CACJrC,KAAK,CAACwB,MAAM,CACV,EAA6D,EAC7D,CAACO,GAAG,EAAEC,CAAC,MACJ;IACC,GAAGD,GAAG;IACN,CAACC,CAAC,CAACM,OAAO,CAACC,IAAI,GAAGP;GACnB,CAAQ,CACZ,CACF;EAED,OAAO;IACL,GAAGT,OAAO;IACVY;GACD;AACH,CAAC"}
1
+ {"version":3,"file":"utils.mjs","names":["Chunk","Effect","Ctx","context","resolve","resolved","option","optionValue","optionValueOptional","subCommands","handleSubCommands","flattenDefinitions","definitions","handleResponse","map","definition","transform","handle","i","isEffect","flatMap","_","splitDefinitions","grouped","reduce","Autocomplete","empty","GlobalApplicationCommand","GuildApplicationCommand","MessageComponent","ModalSubmit","acc","d","_tag","append","Commands","appendAll","pipe","command","name"],"sources":["../../src/Interactions/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,0BAA0B;AAkB/C,MAAMC,OAAO,GAAyB;EACpCC,OAAO,EAAEF,GAAG,CAACG,QAAQ;EACrBC,MAAM,EAAEJ,GAAG,CAACI,MAAM;EAClBC,WAAW,EAAEL,GAAG,CAACK,WAAW;EAC5BC,mBAAmB,EAAEN,GAAG,CAACM,mBAAmB;EAC5CC,WAAW,EAAEP,GAAG,CAACQ;CACX;AAER,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,WAKC,EACDC,cAG2B,KAE3Bb,KAAK,CAACc,GAAG,CAACF,WAAW,EAAE,CAAC,CAACG,UAAU,EAAEC,SAAS,CAAC,MAAM;EACnD,GAAGD,UAAU;EACbE,MAAM,EAAGC,CAAsB,IAC7BjB,MAAM,CAACkB,QAAQ,CAACJ,UAAU,CAACE,MAAM,CAAC,GAC9BD,SAAS,CACPf,MAAM,CAACmB,OAAO,CAACL,UAAU,CAACE,MAAM,EAAEI,CAAC,IAAIR,cAAc,CAACK,CAAC,EAAEG,CAAC,CAAC,CAAC,CAC7D,GACDL,SAAS,CACPf,MAAM,CAACmB,OAAO,CAACL,UAAU,CAACE,MAAM,CAACd,OAAO,CAAC,EAAEkB,CAAC,IAC1CR,cAAc,CAACK,CAAC,EAAEG,CAAC,CAAC,CACrB;CAEV,CAAC,CAAC;AAEL,OAAO,MAAMC,gBAAgB,GAC3BV,WAA0D,IACxD;EACF,MAAMW,OAAO,GAAGvB,KAAK,CAACwB,MAAM,CAC1BZ,WAAW,EACX;IACEa,YAAY,EAAEzB,KAAK,CAAC0B,KAAK,EAAE;IAC3BC,wBAAwB,EAAE3B,KAAK,CAAC0B,KAAK,EAAE;IACvCE,uBAAuB,EAAE5B,KAAK,CAAC0B,KAAK,EAAE;IACtCG,gBAAgB,EAAE7B,KAAK,CAAC0B,KAAK,EAAE;IAC/BI,WAAW,EAAE9B,KAAK,CAAC0B,KAAK;GAKzB,EACD,CAACK,GAAG,EAAEC,CAAC,MAAM;IACX,GAAGD,GAAG;IACN,CAACC,CAAC,CAACC,IAAI,GAAGjC,KAAK,CAACkC,MAAM,CAACH,GAAG,CAACC,CAAC,CAACC,IAAI,CAAqB,EAAED,CAAC;GAC1D,CAAC,CACH;EAED,MAAMG,QAAQ,GAAGnC,KAAK,CAACoC,SAAS,CAC9Bb,OAAO,CAACI,wBAAwB,EAChCJ,OAAO,CAACK,uBAAuB,CAChC,CAACS,IAAI,CACJrC,KAAK,CAACwB,MAAM,CACV,EAA6D,EAC7D,CAACO,GAAG,EAAEC,CAAC,MACJ;IACC,GAAGD,GAAG;IACN,CAACC,CAAC,CAACM,OAAO,CAACC,IAAI,GAAGP;GACnB,CAAQ,CACZ,CACF;EAED,OAAO;IACL,GAAGT,OAAO;IACVY;GACD;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Chunk from "effect/Chunk";
2
- import { Tag } from "effect/Context";
2
+ import { GenericTag } from "effect/Context";
3
3
  import { identity } from "effect/Function";
4
4
  import * as Option from "effect/Option";
5
5
  import * as Secret from "effect/Secret";
@@ -26,7 +26,7 @@ const makeConfig = ({
26
26
  crypto,
27
27
  algorithm: Verify.PlatformAlgorithm[algorithm]
28
28
  });
29
- export const WebhookConfig = /*#__PURE__*/Tag("dfx/Interactions/WebhookConfig");
29
+ export const WebhookConfig = /*#__PURE__*/GenericTag("dfx/Interactions/WebhookConfig");
30
30
  export const layer = opts => Layer.succeed(WebhookConfig, makeConfig(opts));
31
31
  export const layerConfig = config => Layer.effect(WebhookConfig, Effect.map(config, makeConfig));
32
32
  export class WebhookParseError {
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.mjs","names":["Chunk","Tag","identity","Option","Secret","Effect","Layer","handlers","Interaction","Verify","BadWebhookSignature","_tag","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","layer","opts","succeed","layerConfig","config","effect","map","WebhookParseError","reason","constructor","fromHeadersAndBody","tap","try","JSON","parse","catch","run","definitions","handleResponse","handler","interaction","provideService","type","makeHandler","ix","handle","d","_i","r","error","success","makeSimpleHandler"],"sources":["../../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"webhook.mjs","names":["Chunk","GenericTag","identity","Option","Secret","Effect","Layer","handlers","Interaction","Verify","BadWebhookSignature","_tag","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","layer","opts","succeed","layerConfig","config","effect","map","WebhookParseError","reason","constructor","fromHeadersAndBody","tap","try","JSON","parse","catch","run","definitions","handleResponse","handler","interaction","provideService","type","makeHandler","ix","handle","d","_i","r","error","success","makeSimpleHandler"],"sources":["../../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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"}
package/mjs/RateLimit.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import { Tag } from "effect/Context";
1
+ import { GenericTag } from "effect/Context";
2
2
  import * as Duration from "effect/Duration";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as Layer from "effect/Layer";
5
5
  import * as Memory from "dfx/RateLimit/memory";
6
6
  import { delayFrom } from "dfx/RateLimit/utils";
7
- export const RateLimitStore = /*#__PURE__*/Tag("dfx/RateLimit/RateLimitStore");
7
+ export const RateLimitStore = /*#__PURE__*/GenericTag("dfx/RateLimit/RateLimitStore");
8
8
  export const MemoryRateLimitStoreLive = /*#__PURE__*/Layer.sync(RateLimitStore, Memory.make);
9
9
  const makeLimiter = /*#__PURE__*/Effect.gen(function* (_) {
10
10
  const store = yield* _(RateLimitStore);
@@ -23,6 +23,6 @@ const makeLimiter = /*#__PURE__*/Effect.gen(function* (_) {
23
23
  maybeWait
24
24
  };
25
25
  });
26
- export const RateLimiter = /*#__PURE__*/Tag("dfx/RateLimit/RateLimiter");
26
+ export const RateLimiter = /*#__PURE__*/GenericTag("dfx/RateLimit/RateLimiter");
27
27
  export const RateLimiterLive = /*#__PURE__*/Layer.effect(RateLimiter, makeLimiter);
28
28
  //# sourceMappingURL=RateLimit.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimit.mjs","names":["Tag","Duration","Effect","Layer","Memory","delayFrom","RateLimitStore","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","tap","d","annotateLogs","logTrace","service","delay","unit","sleep","asUnit","RateLimiter","RateLimiterLive","effect"],"sources":["../src/RateLimit.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAC9C,SAASC,SAAS,QAAQ,qBAAqB;AAuC/C,OAAO,MAAMC,cAAc,gBAAGN,GAAG,CAC/B,8BAA8B,CAC/B;AACD,OAAO,MAAMO,wBAAwB,gBAAGJ,KAAK,CAACK,IAAI,CAACF,cAAc,EAAEF,MAAM,CAACK,IAAI,CAAC;AAE/E,MAAMC,WAAW,gBAAGR,MAAM,CAACS,GAAG,CAAC,WAAWC,CAAC;EACzC,MAAMC,KAAK,GAAG,OAAOD,CAAC,CAACN,cAAc,CAAC;EAEtC,MAAMQ,SAAS,GAAGA,CAChBC,GAAW,EACXC,MAAyB,EACzBC,KAAa,EACbC,UAAU,GAAG,IAAI,KACf;IACF,MAAMC,QAAQ,GAAGlB,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC,GAAGE,UAAU;IAEvD,OAAOL,KAAK,CAACQ,gBAAgB,CAACN,GAAG,EAAEI,QAAQ,EAAEF,KAAK,CAAC,CAACK,IAAI,CACtDpB,MAAM,CAACqB,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEC,GAAG,CAAC,KAAKpB,SAAS,CAACc,QAAQ,EAAEF,KAAK,EAAEO,KAAK,EAAEC,GAAG,CAAC,CAAC,EACpEvB,MAAM,CAACwB,GAAG,CAACC,CAAC,IACVzB,MAAM,CAAC0B,YAAY,CAAC1B,MAAM,CAAC2B,QAAQ,CAAC,WAAW,CAAC,EAAE;MAChDC,OAAO,EAAE,WAAW;MACpBf,GAAG;MACHC,MAAM,EAAEf,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC;MACjCG,QAAQ;MACRF,KAAK;MACLc,KAAK,EAAE9B,QAAQ,CAACmB,QAAQ,CAACO,CAAC;KAC3B,CAAC,CACH,EACDzB,MAAM,CAACwB,GAAG,CAACd,CAAC,IACVX,QAAQ,CAACmB,QAAQ,CAACR,CAAC,CAAC,KAAK,CAAC,GAAGV,MAAM,CAAC8B,IAAI,GAAG9B,MAAM,CAAC+B,KAAK,CAACrB,CAAC,CAAC,CAC3D,EACDV,MAAM,CAACgC,MAAM,CACd;EACH,CAAC;EAED,OAAO;IAAEpB;EAAS,CAAE;AACtB,CAAC,CAAC;AAKF,OAAO,MAAMqB,WAAW,gBAAGnC,GAAG,CAG5B,2BAA2B,CAAC;AAC9B,OAAO,MAAMoC,eAAe,gBAAGjC,KAAK,CAACkC,MAAM,CAACF,WAAW,EAAEzB,WAAW,CAAC"}
1
+ {"version":3,"file":"RateLimit.mjs","names":["GenericTag","Duration","Effect","Layer","Memory","delayFrom","RateLimitStore","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","tap","d","annotateLogs","logTrace","service","delay","unit","sleep","asUnit","RateLimiter","RateLimiterLive","effect"],"sources":["../src/RateLimit.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAC9C,SAASC,SAAS,QAAQ,qBAAqB;AAuC/C,OAAO,MAAMC,cAAc,gBAAGN,UAAU,CACtC,8BAA8B,CAC/B;AACD,OAAO,MAAMO,wBAAwB,gBAAGJ,KAAK,CAACK,IAAI,CAACF,cAAc,EAAEF,MAAM,CAACK,IAAI,CAAC;AAE/E,MAAMC,WAAW,gBAAGR,MAAM,CAACS,GAAG,CAAC,WAAWC,CAAC;EACzC,MAAMC,KAAK,GAAG,OAAOD,CAAC,CAACN,cAAc,CAAC;EAEtC,MAAMQ,SAAS,GAAGA,CAChBC,GAAW,EACXC,MAAyB,EACzBC,KAAa,EACbC,UAAU,GAAG,IAAI,KACf;IACF,MAAMC,QAAQ,GAAGlB,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC,GAAGE,UAAU;IAEvD,OAAOL,KAAK,CAACQ,gBAAgB,CAACN,GAAG,EAAEI,QAAQ,EAAEF,KAAK,CAAC,CAACK,IAAI,CACtDpB,MAAM,CAACqB,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEC,GAAG,CAAC,KAAKpB,SAAS,CAACc,QAAQ,EAAEF,KAAK,EAAEO,KAAK,EAAEC,GAAG,CAAC,CAAC,EACpEvB,MAAM,CAACwB,GAAG,CAACC,CAAC,IACVzB,MAAM,CAAC0B,YAAY,CAAC1B,MAAM,CAAC2B,QAAQ,CAAC,WAAW,CAAC,EAAE;MAChDC,OAAO,EAAE,WAAW;MACpBf,GAAG;MACHC,MAAM,EAAEf,QAAQ,CAACmB,QAAQ,CAACJ,MAAM,CAAC;MACjCG,QAAQ;MACRF,KAAK;MACLc,KAAK,EAAE9B,QAAQ,CAACmB,QAAQ,CAACO,CAAC;KAC3B,CAAC,CACH,EACDzB,MAAM,CAACwB,GAAG,CAACd,CAAC,IACVX,QAAQ,CAACmB,QAAQ,CAACR,CAAC,CAAC,KAAK,CAAC,GAAGV,MAAM,CAAC8B,IAAI,GAAG9B,MAAM,CAAC+B,KAAK,CAACrB,CAAC,CAAC,CAC3D,EACDV,MAAM,CAACgC,MAAM,CACd;EACH,CAAC;EAED,OAAO;IAAEpB;EAAS,CAAE;AACtB,CAAC,CAAC;AAKF,OAAO,MAAMqB,WAAW,gBAAGnC,UAAU,CAGnC,2BAA2B,CAAC;AAC9B,OAAO,MAAMoC,eAAe,gBAAGjC,KAAK,CAACkC,MAAM,CAACF,WAAW,EAAEzB,WAAW,CAAC"}
package/mjs/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const LIB_VERSION = "0.86.0";
1
+ export const LIB_VERSION = "0.88.0";
2
2
  //# sourceMappingURL=version.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.86.0",
3
+ "version": "0.88.0",
4
4
  "description": "Effect-TS discord library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -39,8 +39,8 @@
39
39
  "ws": "^8.16.0"
40
40
  },
41
41
  "peerDependencies": {
42
- "@effect/platform": "^0.42.7",
43
- "effect": "^2.2.0"
42
+ "@effect/platform": "^0.45.0",
43
+ "effect": "^2.3.0"
44
44
  },
45
45
  "optionalDependencies": {
46
46
  "bufferutil": "^4.0.8",
@@ -48,6 +48,6 @@
48
48
  "utf-8-validate": "^6.0.3",
49
49
  "zlib-sync": "^0.1.9"
50
50
  },
51
- "gitHead": "13f8e7d639814ead1de002fcf50230658e2ec071",
51
+ "gitHead": "6348c07b5a90dc8c855f788b1f3aa47894a432ec",
52
52
  "main": "./index.js"
53
53
  }
@@ -2,42 +2,36 @@ import type * as Option from "effect/Option"
2
2
  import type * as Effect from "effect/Effect"
3
3
 
4
4
  export interface ParentCacheDriver<E, T> {
5
- readonly size: Effect.Effect<never, E, number>
6
- sizeForParent: (parentId: string) => Effect.Effect<never, E, number>
5
+ readonly size: Effect.Effect<number, E>
6
+ sizeForParent: (parentId: string) => Effect.Effect<number, E>
7
7
  get: (
8
8
  parentId: string,
9
9
  resourceId: string,
10
- ) => Effect.Effect<never, E, Option.Option<T>>
10
+ ) => Effect.Effect<Option.Option<T>, E>
11
11
  getForParent: (
12
12
  parentId: string,
13
- ) => Effect.Effect<never, E, Option.Option<ReadonlyMap<string, T>>>
13
+ ) => Effect.Effect<Option.Option<ReadonlyMap<string, T>>, E>
14
14
  set: (
15
15
  parentId: string,
16
16
  resourceId: string,
17
17
  resource: T,
18
- ) => Effect.Effect<never, E, void>
19
- delete: (
20
- parentId: string,
21
- resourceId: string,
22
- ) => Effect.Effect<never, E, void>
23
- parentDelete: (parentId: string) => Effect.Effect<never, E, void>
24
- refreshTTL: (
25
- parentId: string,
26
- resourceId: string,
27
- ) => Effect.Effect<never, E, void>
28
- readonly run: Effect.Effect<never, E, never>
18
+ ) => Effect.Effect<void, E>
19
+ delete: (parentId: string, resourceId: string) => Effect.Effect<void, E>
20
+ parentDelete: (parentId: string) => Effect.Effect<void, E>
21
+ refreshTTL: (parentId: string, resourceId: string) => Effect.Effect<void, E>
22
+ readonly run: Effect.Effect<never, E>
29
23
  }
30
24
 
31
25
  export const createParentDriver = <E, T>(driver: ParentCacheDriver<E, T>) =>
32
26
  driver
33
27
 
34
28
  export interface CacheDriver<E, T> {
35
- readonly size: Effect.Effect<never, E, number>
36
- get: (resourceId: string) => Effect.Effect<never, E, Option.Option<T>>
37
- set: (resourceId: string, resource: T) => Effect.Effect<never, E, void>
38
- delete: (resourceId: string) => Effect.Effect<never, E, void>
39
- refreshTTL: (resourceId: string) => Effect.Effect<never, E, void>
40
- readonly run: Effect.Effect<never, E, never>
29
+ readonly size: Effect.Effect<number, E>
30
+ get: (resourceId: string) => Effect.Effect<Option.Option<T>, E>
31
+ set: (resourceId: string, resource: T) => Effect.Effect<void, E>
32
+ delete: (resourceId: string) => Effect.Effect<void, E>
33
+ refreshTTL: (resourceId: string) => Effect.Effect<void, E>
34
+ readonly run: Effect.Effect<never, E>
41
35
  }
42
36
 
43
37
  export const createDriver = <E, T>(driver: CacheDriver<E, T>) => driver
@@ -4,8 +4,6 @@ import type { CacheDriver, ParentCacheDriver } from "dfx/Cache/driver"
4
4
  import { createDriver, createParentDriver } from "dfx/Cache/driver"
5
5
 
6
6
  export const createWithParent = <T>(): Effect.Effect<
7
- never,
8
- never,
9
7
  ParentCacheDriver<never, T>
10
8
  > =>
11
9
  Effect.sync(() => {
@@ -56,11 +54,7 @@ export const createWithParent = <T>(): Effect.Effect<
56
54
  })
57
55
  })
58
56
 
59
- export const create = <T>(): Effect.Effect<
60
- never,
61
- never,
62
- CacheDriver<never, T>
63
- > =>
57
+ export const create = <T>(): Effect.Effect<CacheDriver<never, T>> =>
64
58
  Effect.sync(() => {
65
59
  const map = new Map<string, T>()
66
60
 
@@ -134,12 +134,11 @@ const make = <T>({
134
134
 
135
135
  export const create = <T>(
136
136
  opts: MemoryTTLOpts,
137
- ): Effect.Effect<never, never, CacheDriver<never, T>> =>
138
- Effect.sync(() => make<T>(opts))
137
+ ): Effect.Effect<CacheDriver<never, T>> => Effect.sync(() => make<T>(opts))
139
138
 
140
139
  export const createWithParent = <T>(
141
140
  opts: MemoryTTLOpts,
142
- ): Effect.Effect<never, never, ParentCacheDriver<never, T>> =>
141
+ ): Effect.Effect<ParentCacheDriver<never, T>> =>
143
142
  Effect.sync(() => {
144
143
  const store = make<T>(opts)
145
144
  const parentIds = new Map<string, Set<string>>()
@@ -204,7 +203,7 @@ export const createWithParent = <T>(
204
203
  const ids = parentIds.get(parentId)
205
204
  parentIds.delete(parentId)
206
205
 
207
- const effects: Array<Effect.Effect<never, never, void>> = []
206
+ const effects: Array<Effect.Effect<void>> = []
208
207
  if (ids) {
209
208
  ids.forEach(id => {
210
209
  effects.push(store.delete(id))
@@ -18,15 +18,11 @@ import type * as Discord from "dfx/types"
18
18
 
19
19
  export interface OptsWithParentOptions<E, A> {
20
20
  readonly id: (a: A) => string
21
- readonly fromParent: Stream.Stream<
22
- never,
23
- E,
24
- [parentId: string, resources: Array<A>]
25
- >
26
- readonly create: Stream.Stream<never, E, [parentId: string, resource: A]>
27
- readonly update: Stream.Stream<never, E, [parentId: string, resource: A]>
28
- readonly remove: Stream.Stream<never, E, [parentId: string, id: string]>
29
- readonly parentRemove: Stream.Stream<never, E, string>
21
+ readonly fromParent: Stream.Stream<[parentId: string, resources: Array<A>], E>
22
+ readonly create: Stream.Stream<[parentId: string, resource: A], E>
23
+ readonly update: Stream.Stream<[parentId: string, resource: A], E>
24
+ readonly remove: Stream.Stream<[parentId: string, id: string], E>
25
+ readonly parentRemove: Stream.Stream<string, E>
30
26
  }
31
27
 
32
28
  export const opsWithParent = <E, T>({
@@ -36,7 +32,7 @@ export const opsWithParent = <E, T>({
36
32
  parentRemove,
37
33
  remove,
38
34
  update,
39
- }: OptsWithParentOptions<E, T>): Stream.Stream<never, E, ParentCacheOp<T>> => {
35
+ }: OptsWithParentOptions<E, T>): Stream.Stream<ParentCacheOp<T>, E> => {
40
36
  const fromParentOps = Stream.flatMap(fromParent, ([parentId, a]) =>
41
37
  Stream.fromIterable(
42
38
  a.map(
@@ -96,9 +92,9 @@ export const opsWithParent = <E, T>({
96
92
 
97
93
  export interface OpsOptions<E, A> {
98
94
  id: (a: A) => string
99
- create: Stream.Stream<never, E, A>
100
- update: Stream.Stream<never, E, A>
101
- remove: Stream.Stream<never, E, string>
95
+ create: Stream.Stream<A, E>
96
+ update: Stream.Stream<A, E>
97
+ remove: Stream.Stream<string, E>
102
98
  }
103
99
 
104
100
  export const ops = <E, T>({
@@ -106,7 +102,7 @@ export const ops = <E, T>({
106
102
  id,
107
103
  remove,
108
104
  update,
109
- }: OpsOptions<E, T>): Stream.Stream<never, E, CacheOp<T>> => {
105
+ }: OpsOptions<E, T>): Stream.Stream<CacheOp<T>, E> => {
110
106
  const createOps = Stream.map(
111
107
  create,
112
108
  (resource): CacheOp<T> => ({
@@ -137,11 +133,11 @@ export const ops = <E, T>({
137
133
  }
138
134
 
139
135
  export const guilds = <RM, EM, E>(
140
- makeDriver: Effect.Effect<RM, EM, CacheDriver<E, Discord.Guild>>,
136
+ makeDriver: Effect.Effect<CacheDriver<E, Discord.Guild>, EM, RM>,
141
137
  ): Effect.Effect<
142
- RM | DiscordGateway | DiscordREST | Scope.Scope,
138
+ Cache<E, ResponseError | DiscordRESTError, Discord.Guild>,
143
139
  EM,
144
- Cache<E, ResponseError | DiscordRESTError, Discord.Guild>
140
+ RM | DiscordGateway | DiscordREST | Scope.Scope
145
141
  > =>
146
142
  Effect.gen(function* (_) {
147
143
  const driver = yield* _(makeDriver)
@@ -164,22 +160,22 @@ export const guilds = <RM, EM, E>(
164
160
  update: gateway.fromDispatch("GUILD_UPDATE"),
165
161
  remove: Stream.map(gateway.fromDispatch("GUILD_DELETE"), a => a.id),
166
162
  }),
167
- onMiss: id => Effect.flatMap(rest.getGuild(id), r => r.json),
163
+ onMiss: id => rest.getGuild(id).json,
168
164
  }),
169
165
  )
170
166
  })
171
167
 
172
168
  export const channels = <RM, EM, E>(
173
- makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>,
169
+ makeDriver: Effect.Effect<ParentCacheDriver<E, Discord.Channel>, EM, RM>,
174
170
  ): Effect.Effect<
175
- DiscordGateway | DiscordREST | RM | Scope.Scope,
176
- EM,
177
171
  ParentCache<
178
172
  E,
179
173
  ResponseError | DiscordRESTError,
180
174
  ResponseError | DiscordRESTError,
181
175
  Discord.Channel
182
- >
176
+ >,
177
+ EM,
178
+ DiscordGateway | DiscordREST | RM | Scope.Scope
183
179
  > =>
184
180
  Effect.gen(function* (_) {
185
181
  const driver = yield* _(makeDriver)
@@ -213,22 +209,26 @@ export const channels = <RM, EM, E>(
213
209
  g => g.id,
214
210
  ),
215
211
  }),
216
- onMiss: (_, id) => Effect.flatMap(rest.getChannel(id), r => r.json),
212
+ onMiss: (_, id) => rest.getChannel(id).json,
217
213
  onParentMiss: guildId =>
218
- rest.getGuildChannels(guildId).pipe(
219
- Effect.flatMap(r => r.json),
220
- Effect.map(a => a.map(a => [a.id, a])),
221
- ),
214
+ rest
215
+ .getGuildChannels(guildId)
216
+ .json.pipe(Effect.map(a => a.map(a => [a.id, a]))),
222
217
  }),
223
218
  )
224
219
  })
225
220
 
226
221
  export const roles = <RM, EM, E>(
227
- makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>,
222
+ makeDriver: Effect.Effect<ParentCacheDriver<E, Discord.Role>, EM, RM>,
228
223
  ): Effect.Effect<
229
- DiscordGateway | DiscordREST | RM | Scope.Scope,
224
+ ParentCache<
225
+ E,
226
+ CacheMissError,
227
+ ResponseError | DiscordRESTError,
228
+ Discord.Role
229
+ >,
230
230
  EM,
231
- ParentCache<E, CacheMissError, ResponseError | DiscordRESTError, Discord.Role>
231
+ DiscordGateway | DiscordREST | RM | Scope.Scope
232
232
  > =>
233
233
  Effect.gen(function* (_) {
234
234
  const driver = yield* _(makeDriver)
@@ -264,10 +264,9 @@ export const roles = <RM, EM, E>(
264
264
  }),
265
265
  onMiss: (_, id) => Effect.fail(new CacheMissError("RolesCache", id)),
266
266
  onParentMiss: guildId =>
267
- rest.getGuildRoles(guildId).pipe(
268
- Effect.flatMap(r => r.json),
269
- Effect.map(_ => _.map(role => [role.id, role])),
270
- ),
267
+ rest
268
+ .getGuildRoles(guildId)
269
+ .json.pipe(Effect.map(_ => _.map(role => [role.id, role]))),
271
270
  }),
272
271
  )
273
272
  })
package/src/Cache.ts CHANGED
@@ -34,36 +34,36 @@ export interface ParentCache<EDriver, EMiss, EPMiss, A> {
34
34
  readonly get: (
35
35
  parentId: string,
36
36
  id: string,
37
- ) => Effect.Effect<never, EDriver | EMiss, A>
38
- readonly put: (_: A) => Effect.Effect<never, EDriver | EMiss, void>
37
+ ) => Effect.Effect<A, EDriver | EMiss>
38
+ readonly put: (_: A) => Effect.Effect<void, EDriver | EMiss>
39
39
  readonly update: <R, E>(
40
40
  parentId: string,
41
41
  id: string,
42
- f: (_: A) => Effect.Effect<R, E, A>,
43
- ) => Effect.Effect<R, EDriver | EMiss | E, A>
42
+ f: (_: A) => Effect.Effect<A, E, R>,
43
+ ) => Effect.Effect<A, EDriver | EMiss | E, R>
44
44
  readonly getForParent: (
45
45
  parentId: string,
46
- ) => Effect.Effect<never, EDriver | EPMiss, ReadonlyMap<string, A>>
47
- readonly size: Effect.Effect<never, EDriver, number>
46
+ ) => Effect.Effect<ReadonlyMap<string, A>, EDriver | EPMiss>
47
+ readonly size: Effect.Effect<number, EDriver>
48
48
  readonly sizeForParent: (
49
49
  parentId: string,
50
- ) => Effect.Effect<never, EDriver, number>
50
+ ) => Effect.Effect<number, EDriver>
51
51
  readonly set: (
52
52
  parentId: string,
53
53
  resourceId: string,
54
54
  resource: A,
55
- ) => Effect.Effect<never, EDriver, void>
55
+ ) => Effect.Effect<void, EDriver>
56
56
  readonly delete: (
57
57
  parentId: string,
58
58
  resourceId: string,
59
- ) => Effect.Effect<never, EDriver, void>
59
+ ) => Effect.Effect<void, EDriver>
60
60
  readonly parentDelete: (
61
61
  parentId: string,
62
- ) => Effect.Effect<never, EDriver, void>
62
+ ) => Effect.Effect<void, EDriver>
63
63
  readonly refreshTTL: (
64
64
  parentId: string,
65
65
  resourceId: string,
66
- ) => Effect.Effect<never, EDriver, void>
66
+ ) => Effect.Effect<void, EDriver>
67
67
  }
68
68
 
69
69
  export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
@@ -74,19 +74,19 @@ export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
74
74
  ops = Stream.empty,
75
75
  }: {
76
76
  driver: ParentCacheDriver<EDriver, A>
77
- ops?: Stream.Stream<never, EOps, ParentCacheOp<A>>
77
+ ops?: Stream.Stream<ParentCacheOp<A>, EOps>
78
78
  id: (
79
79
  _: A,
80
- ) => Effect.Effect<never, EMiss, readonly [parentId: string, id: string]>
81
- onMiss: (parentId: string, id: string) => Effect.Effect<never, EMiss, A>
80
+ ) => Effect.Effect<readonly [parentId: string, id: string], EMiss>
81
+ onMiss: (parentId: string, id: string) => Effect.Effect<A, EMiss>
82
82
  onParentMiss: (
83
83
  parentId: string,
84
- ) => Effect.Effect<never, EPMiss, Array<[id: string, resource: A]>>
85
- }): Effect.Effect<Scope.Scope, never, ParentCache<EDriver, EMiss, EPMiss, A>> =>
84
+ ) => Effect.Effect<Array<[id: string, resource: A]>, EPMiss>
85
+ }): Effect.Effect<ParentCache<EDriver, EMiss, EPMiss, A>, never, Scope.Scope> =>
86
86
  Effect.gen(function* (_) {
87
87
  yield* _(
88
88
  Stream.runDrain(
89
- Stream.tap(ops, (op): Effect.Effect<never, EDriver, void> => {
89
+ Stream.tap(ops, (op): Effect.Effect<void, EDriver> => {
90
90
  switch (op.op) {
91
91
  case "create":
92
92
  case "update":
@@ -129,7 +129,7 @@ export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
129
129
  const update = <R, E>(
130
130
  parentId: string,
131
131
  id: string,
132
- f: (_: A) => Effect.Effect<R, E, A>,
132
+ f: (_: A) => Effect.Effect<A, E, R>,
133
133
  ) =>
134
134
  get(parentId, id).pipe(
135
135
  Effect.flatMap(f),
@@ -171,21 +171,21 @@ export const makeWithParent = <EOps, EDriver, EMiss, EPMiss, A>({
171
171
  )
172
172
 
173
173
  export interface Cache<EDriver, EMiss, A> {
174
- readonly get: (id: string) => Effect.Effect<never, EDriver | EMiss, A>
175
- readonly put: (_: A) => Effect.Effect<never, EDriver, void>
174
+ readonly get: (id: string) => Effect.Effect<A, EDriver | EMiss>
175
+ readonly put: (_: A) => Effect.Effect<void, EDriver>
176
176
  readonly update: <R, E>(
177
177
  id: string,
178
- f: (_: A) => Effect.Effect<R, E, A>,
179
- ) => Effect.Effect<R, EDriver | EMiss | E, A>
180
- readonly size: Effect.Effect<never, EDriver, number>
178
+ f: (_: A) => Effect.Effect<A, E, R>,
179
+ ) => Effect.Effect<A, EDriver | EMiss | E, R>
180
+ readonly size: Effect.Effect<number, EDriver>
181
181
  readonly set: (
182
182
  resourceId: string,
183
183
  resource: A,
184
- ) => Effect.Effect<never, EDriver, void>
185
- readonly delete: (resourceId: string) => Effect.Effect<never, EDriver, void>
184
+ ) => Effect.Effect<void, EDriver>
185
+ readonly delete: (resourceId: string) => Effect.Effect<void, EDriver>
186
186
  readonly refreshTTL: (
187
187
  resourceId: string,
188
- ) => Effect.Effect<never, EDriver, void>
188
+ ) => Effect.Effect<void, EDriver>
189
189
  }
190
190
 
191
191
  export const make = <EOps, EDriver, EMiss, A>({
@@ -195,14 +195,14 @@ export const make = <EOps, EDriver, EMiss, A>({
195
195
  ops = Stream.empty,
196
196
  }: {
197
197
  driver: CacheDriver<EDriver, A>
198
- ops?: Stream.Stream<never, EOps, CacheOp<A>>
198
+ ops?: Stream.Stream<CacheOp<A>, EOps>
199
199
  id: (_: A) => string
200
- onMiss: (id: string) => Effect.Effect<never, EMiss, A>
201
- }): Effect.Effect<Scope.Scope, never, Cache<EDriver, EMiss, A>> =>
200
+ onMiss: (id: string) => Effect.Effect<A, EMiss>
201
+ }): Effect.Effect<Cache<EDriver, EMiss, A>, never, Scope.Scope> =>
202
202
  Effect.gen(function* (_) {
203
203
  yield* _(
204
204
  Stream.runDrain(
205
- Stream.tap(ops, (op): Effect.Effect<never, EDriver, void> => {
205
+ Stream.tap(ops, (op): Effect.Effect<void, EDriver> => {
206
206
  switch (op.op) {
207
207
  case "create":
208
208
  case "update":
@@ -238,7 +238,7 @@ export const make = <EOps, EDriver, EMiss, A>({
238
238
 
239
239
  const put = (_: A) => driver.set(id(_), _)
240
240
 
241
- const update = <R, E>(id: string, f: (_: A) => Effect.Effect<R, E, A>) =>
241
+ const update = <R, E>(id: string, f: (_: A) => Effect.Effect<A, E, R>) =>
242
242
  get(id).pipe(
243
243
  Effect.flatMap(f),
244
244
  Effect.tap(_ => driver.set(id, _)),
@@ -1,4 +1,4 @@
1
- import { Tag } from "effect/Context"
1
+ import { GenericTag } from "effect/Context"
2
2
  import * as Duration from "effect/Duration"
3
3
  import * as Config from "effect/Config"
4
4
  import type * as ConfigError from "effect/ConfigError"
@@ -30,7 +30,7 @@ export interface DiscordConfigService {
30
30
  readonly identifyRateLimit: readonly [window: number, limit: number]
31
31
  }
32
32
  }
33
- export const DiscordConfig = Tag<DiscordConfig, DiscordConfigService>(
33
+ export const DiscordConfig = GenericTag<DiscordConfig, DiscordConfigService>(
34
34
  "dfx/DiscordConfig",
35
35
  )
36
36
 
@@ -64,10 +64,10 @@ export const make = ({
64
64
 
65
65
  export const layer = (
66
66
  opts: MakeOpts,
67
- ): Layer.Layer<never, never, DiscordConfig> =>
67
+ ): Layer.Layer<DiscordConfig> =>
68
68
  Layer.succeed(DiscordConfig, make(opts))
69
69
 
70
70
  export const layerConfig = (
71
71
  _: Config.Config.Wrap<MakeOpts>,
72
- ): Layer.Layer<never, ConfigError.ConfigError, DiscordConfig> =>
72
+ ): Layer.Layer<DiscordConfig, ConfigError.ConfigError> =>
73
73
  Layer.effect(DiscordConfig, Effect.map(Config.unwrap(_), make))