dfx 0.77.3 → 0.79.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 (139) hide show
  1. package/Cache/prelude.d.ts +3 -3
  2. package/DiscordConfig.d.ts +8 -10
  3. package/DiscordConfig.d.ts.map +1 -1
  4. package/DiscordConfig.js +1 -3
  5. package/DiscordConfig.js.map +1 -1
  6. package/DiscordGateway/DiscordWS.d.ts +12 -11
  7. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  8. package/DiscordGateway/DiscordWS.js +8 -5
  9. package/DiscordGateway/DiscordWS.js.map +1 -1
  10. package/DiscordGateway/Messaging.d.ts +28 -0
  11. package/DiscordGateway/Messaging.d.ts.map +1 -0
  12. package/DiscordGateway/Messaging.js +41 -0
  13. package/DiscordGateway/Messaging.js.map +1 -0
  14. package/DiscordGateway/Shard.d.ts +14 -11
  15. package/DiscordGateway/Shard.d.ts.map +1 -1
  16. package/DiscordGateway/Shard.js +22 -19
  17. package/DiscordGateway/Shard.js.map +1 -1
  18. package/DiscordGateway/ShardStore.d.ts +5 -2
  19. package/DiscordGateway/ShardStore.d.ts.map +1 -1
  20. package/DiscordGateway/ShardStore.js +1 -1
  21. package/DiscordGateway/ShardStore.js.map +1 -1
  22. package/DiscordGateway/Sharder.d.ts +9 -18
  23. package/DiscordGateway/Sharder.d.ts.map +1 -1
  24. package/DiscordGateway/Sharder.js +36 -45
  25. package/DiscordGateway/Sharder.js.map +1 -1
  26. package/DiscordGateway/WS.d.ts +14 -10
  27. package/DiscordGateway/WS.d.ts.map +1 -1
  28. package/DiscordGateway/WS.js +31 -21
  29. package/DiscordGateway/WS.js.map +1 -1
  30. package/DiscordGateway.d.ts +10 -7
  31. package/DiscordGateway.d.ts.map +1 -1
  32. package/DiscordGateway.js +13 -31
  33. package/DiscordGateway.js.map +1 -1
  34. package/DiscordREST.d.ts +6 -4
  35. package/DiscordREST.d.ts.map +1 -1
  36. package/DiscordREST.js +9 -8
  37. package/DiscordREST.js.map +1 -1
  38. package/Interactions/context.d.ts +36 -18
  39. package/Interactions/context.d.ts.map +1 -1
  40. package/Interactions/context.js +6 -6
  41. package/Interactions/context.js.map +1 -1
  42. package/Interactions/definitions.d.ts +11 -11
  43. package/Interactions/definitions.d.ts.map +1 -1
  44. package/Interactions/definitions.js.map +1 -1
  45. package/Interactions/gateway.d.ts +7 -6
  46. package/Interactions/gateway.d.ts.map +1 -1
  47. package/Interactions/gateway.js +1 -1
  48. package/Interactions/gateway.js.map +1 -1
  49. package/Interactions/handlers.d.ts +2 -1
  50. package/Interactions/handlers.d.ts.map +1 -1
  51. package/Interactions/webhook.d.ts +7 -8
  52. package/Interactions/webhook.d.ts.map +1 -1
  53. package/Interactions/webhook.js +3 -3
  54. package/Interactions/webhook.js.map +1 -1
  55. package/README.md +37 -29
  56. package/RateLimit/memory.d.ts +2 -2
  57. package/RateLimit/memory.d.ts.map +1 -1
  58. package/RateLimit/memory.js.map +1 -1
  59. package/RateLimit.d.ts +10 -9
  60. package/RateLimit.d.ts.map +1 -1
  61. package/RateLimit.js +4 -5
  62. package/RateLimit.js.map +1 -1
  63. package/gateway.d.ts +2 -2
  64. package/gateway.d.ts.map +1 -1
  65. package/gateway.js +1 -2
  66. package/gateway.js.map +1 -1
  67. package/index.d.ts +1 -2
  68. package/index.d.ts.map +1 -1
  69. package/index.js +1 -3
  70. package/index.js.map +1 -1
  71. package/mjs/DiscordConfig.mjs +1 -3
  72. package/mjs/DiscordConfig.mjs.map +1 -1
  73. package/mjs/DiscordGateway/DiscordWS.mjs +8 -5
  74. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  75. package/mjs/DiscordGateway/Messaging.mjs +33 -0
  76. package/mjs/DiscordGateway/Messaging.mjs.map +1 -0
  77. package/mjs/DiscordGateway/Shard.mjs +22 -19
  78. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  79. package/mjs/DiscordGateway/ShardStore.mjs +1 -1
  80. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -1
  81. package/mjs/DiscordGateway/Sharder.mjs +35 -44
  82. package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
  83. package/mjs/DiscordGateway/WS.mjs +32 -22
  84. package/mjs/DiscordGateway/WS.mjs.map +1 -1
  85. package/mjs/DiscordGateway.mjs +12 -30
  86. package/mjs/DiscordGateway.mjs.map +1 -1
  87. package/mjs/DiscordREST.mjs +9 -8
  88. package/mjs/DiscordREST.mjs.map +1 -1
  89. package/mjs/Interactions/context.mjs +6 -6
  90. package/mjs/Interactions/context.mjs.map +1 -1
  91. package/mjs/Interactions/definitions.mjs.map +1 -1
  92. package/mjs/Interactions/gateway.mjs +1 -1
  93. package/mjs/Interactions/gateway.mjs.map +1 -1
  94. package/mjs/Interactions/webhook.mjs +3 -3
  95. package/mjs/Interactions/webhook.mjs.map +1 -1
  96. package/mjs/RateLimit/memory.mjs.map +1 -1
  97. package/mjs/RateLimit.mjs +4 -5
  98. package/mjs/RateLimit.mjs.map +1 -1
  99. package/mjs/gateway.mjs +1 -2
  100. package/mjs/gateway.mjs.map +1 -1
  101. package/mjs/index.mjs +1 -2
  102. package/mjs/index.mjs.map +1 -1
  103. package/mjs/version.mjs +1 -1
  104. package/mjs/webhooks.mjs +1 -2
  105. package/mjs/webhooks.mjs.map +1 -1
  106. package/package.json +4 -4
  107. package/src/DiscordConfig.ts +10 -12
  108. package/src/DiscordGateway/DiscordWS.ts +23 -13
  109. package/src/DiscordGateway/Messaging.ts +72 -0
  110. package/src/DiscordGateway/Shard.ts +53 -35
  111. package/src/DiscordGateway/ShardStore.ts +8 -3
  112. package/src/DiscordGateway/Sharder.ts +72 -97
  113. package/src/DiscordGateway/WS.ts +64 -32
  114. package/src/DiscordGateway.ts +22 -71
  115. package/src/DiscordREST.ts +42 -29
  116. package/src/Interactions/context.ts +47 -10
  117. package/src/Interactions/definitions.ts +22 -20
  118. package/src/Interactions/gateway.ts +14 -6
  119. package/src/Interactions/handlers.ts +1 -1
  120. package/src/Interactions/webhook.ts +21 -7
  121. package/src/RateLimit/memory.ts +2 -2
  122. package/src/RateLimit.ts +17 -8
  123. package/src/gateway.ts +0 -2
  124. package/src/index.ts +0 -2
  125. package/src/version.ts +1 -1
  126. package/src/webhooks.ts +1 -2
  127. package/version.d.ts +1 -1
  128. package/version.js +1 -1
  129. package/webhooks.d.ts +1 -2
  130. package/webhooks.d.ts.map +1 -1
  131. package/webhooks.js +1 -2
  132. package/webhooks.js.map +1 -1
  133. package/Log.d.ts +0 -14
  134. package/Log.d.ts.map +0 -1
  135. package/Log.js +0 -23
  136. package/Log.js.map +0 -1
  137. package/mjs/Log.mjs +0 -15
  138. package/mjs/Log.mjs.map +0 -1
  139. package/src/Log.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/Interactions/webhook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;AA8BxE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,MAAM,CAAC,iBAAiB,CAAA;CAC1D;AACD,QAAA,MAAM,UAAU,qDAKb,cAAc;;;;;;;;;;;;;;;;;;;;CAKf,CAAA;AAEF,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,OAAO,UAAU,CAAC;CAAG;AACvE,eAAO,MAAM,aAAa,mCAAuB,CAAA;AAEjD,eAAO,MAAM,KAAK,SAAU,cAAc,6CACM,CAAA;AAEhD,eAAO,MAAM,WAAW,EAAE,CACxB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAEY,CAAA;AAE1E,qBAAa,iBAAiB;IAEhB,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,uBAAsB;gBACd,MAAM,EAAE,OAAO;CACrC;AAuCD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9E,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAChE;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,+KASlB,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAkB7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;aAMnB,OAAO;UACV,MAAM;MACR,aAAa,CACjB,aAAa,EACb,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,EAC5D,QAAQ,mBAAmB,CAS5B,CAAA"}
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/Interactions/webhook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;AA8BxE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,MAAM,CAAC,iBAAiB,CAAA;CAC1D;AAaD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAEzB,CAAA;AAED,eAAO,MAAM,KAAK,SAAU,cAAc,6CACM,CAAA;AAEhD,eAAO,MAAM,WAAW,EAAE,CACxB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAEY,CAAA;AAE1E,qBAAa,iBAAiB;IAEhB,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,uBAAsB;gBACd,MAAM,EAAE,OAAO;CACrC;AA8CD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9E,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAChE;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,+KASlB,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAkB7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;aAMnB,OAAO;UACV,MAAM;MACR,aAAa,CACjB,aAAa,EACb,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,EAC5D,QAAQ,mBAAmB,CAS5B,CAAA"}
@@ -8,7 +8,7 @@ var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/C
8
8
  var _Context = /*#__PURE__*/require("effect/Context");
9
9
  var _Function = /*#__PURE__*/require("effect/Function");
10
10
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
11
- var ConfigSecret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/ConfigSecret"));
11
+ var Secret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Secret"));
12
12
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
13
13
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
14
14
  var _handlers = /*#__PURE__*/require("dfx/Interactions/handlers");
@@ -31,11 +31,11 @@ const makeConfig = ({
31
31
  publicKey
32
32
  }) => ({
33
33
  applicationId,
34
- publicKey: ConfigSecret.value(publicKey),
34
+ publicKey: Secret.value(publicKey),
35
35
  crypto,
36
36
  algorithm: Verify.PlatformAlgorithm[algorithm]
37
37
  });
38
- const WebhookConfig = exports.WebhookConfig = /*#__PURE__*/(0, _Context.Tag)();
38
+ const WebhookConfig = exports.WebhookConfig = /*#__PURE__*/(0, _Context.Tag)("dfx/Interactions/WebhookConfig");
39
39
  const layer = opts => Layer.succeed(WebhookConfig, makeConfig(opts));
40
40
  exports.layer = layer;
41
41
  const layerConfig = a => Layer.effect(WebhookConfig, Effect.map(Effect.config(a), makeConfig));
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","names":["Chunk","_interopRequireWildcard","require","_Context","_Function","Option","ConfigSecret","Effect","Layer","_handlers","_index","Verify","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","BadWebhookSignature","_tag","exports","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","identity","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","Tag","layer","opts","succeed","layerConfig","effect","map","config","WebhookParseError","reason","constructor","fromHeadersAndBody","tap","try","JSON","parse","catch","run","definitions","handleResponse","handler","handlers","interaction","provideService","type","Interaction","makeHandler","ix","handle","d","_i","error","success","makeSimpleHandler"],"sources":["../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","names":["Chunk","_interopRequireWildcard","require","_Context","_Function","Option","Secret","Effect","Layer","_handlers","_index","Verify","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","BadWebhookSignature","_tag","exports","checkSignature","publicKey","headers","body","crypto","algorithm","all","signature","fromNullable","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","identity","catchAllCause","fail","asUnit","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","Tag","layer","opts","succeed","layerConfig","effect","map","config","WebhookParseError","reason","constructor","fromHeadersAndBody","tap","try","JSON","parse","catch","run","definitions","handleResponse","handler","handlers","interaction","provideService","type","Interaction","makeHandler","ix","handle","d","_i","error","success","makeSimpleHandler"],"sources":["../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":"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"}
package/README.md CHANGED
@@ -10,40 +10,48 @@ A Discord library built on top of effect
10
10
  ## Example
11
11
 
12
12
  ```typescript
13
- import { Config, Effect, pipe } from "effect"
14
- import { Ix } from "dfx"
15
- import { runIx, makeFromConfig } from "dfx/gateway"
13
+ import { runMain } from "@effect/platform-node/Runtime"
14
+ import { DiscordConfig, Ix } from "dfx"
15
+ import { DiscordIxLive, InteractionsRegistry } from "dfx/gateway"
16
+ import { Config, Effect, Layer } from "effect"
16
17
 
17
- // Create the dependencies layer
18
- const Dependencies = makeFromConfig({
18
+ // Create a config layer
19
+ const DiscordConfigLive = DiscordConfig.layerConfig({
19
20
  token: Config.secret("DISCORD_BOT_TOKEN"),
20
21
  })
21
22
 
22
- // Create hello command that responds with "Hello!"
23
- const hello = Ix.global(
24
- {
25
- name: "hello",
26
- description: "A basic command",
27
- },
28
- Effect.succeed({
29
- type: 4,
30
- data: {
31
- content: "Hello!",
32
- },
23
+ // Create hello service
24
+ const HelloLive = Layer.effectDiscard(
25
+ Effect.gen(function* (_) {
26
+ const registry = yield* _(InteractionsRegistry)
27
+
28
+ // Create hello command that responds with "Hello!"
29
+ const hello = Ix.global(
30
+ {
31
+ name: "hello",
32
+ description: "A basic command",
33
+ },
34
+ Effect.succeed({
35
+ type: 4,
36
+ data: {
37
+ content: "Hello!",
38
+ },
39
+ }),
40
+ )
41
+
42
+ // register the command(s) and handle errors
43
+ yield* _(
44
+ registry.register(Ix.builder.add(hello).catchAllCause(Effect.logError)),
45
+ )
33
46
  }),
47
+ ).pipe(
48
+ // provide discord interactions layer
49
+ Layer.provide(DiscordIxLive),
34
50
  )
35
51
 
36
- // Run it and handle errors
37
- pipe(
38
- Ix.builder.add(hello),
39
- runIx(
40
- Effect.catchAll(e =>
41
- Effect.sync(() => {
42
- console.error("CAUGHT ERROR", e)
43
- }),
44
- ),
45
- ),
46
- Effect.provide(Dependencies),
47
- Effect.runFork,
48
- )
52
+ // Construct the main layer
53
+ const MainLive = HelloLive.pipe(Layer.provide(DiscordConfigLive))
54
+
55
+ // run it
56
+ runMain(Layer.launch(MainLive))
49
57
  ```
@@ -1,3 +1,3 @@
1
- import type { RateLimitStore } from "dfx/RateLimit";
2
- export declare const make: () => RateLimitStore;
1
+ import type { RateLimitStoreService } from "dfx/RateLimit";
2
+ export declare const make: () => RateLimitStoreService;
3
3
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/RateLimit/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,eAAe,CAAA;AAOlE,eAAO,MAAM,IAAI,QAAO,cAqDvB,CAAA"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/RateLimit/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAOzE,eAAO,MAAM,IAAI,QAAO,qBAqDvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","names":["Option","_interopRequireWildcard","require","Effect","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","buckets","Map","routes","counters","getCounter","key","filter","fromNullable","c","expires","Date","now","getBucketForRoute","route","sync","hasBucket","putBucket","bucket","putBucketRoute","removeCounter","delete","incrementCounter","window","limit","perRequest","Math","ceil","counter","getOrElse","count","exports"],"sources":["../src/RateLimit/memory.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","names":["Option","_interopRequireWildcard","require","Effect","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","buckets","Map","routes","counters","getCounter","key","filter","fromNullable","c","expires","Date","now","getBucketForRoute","route","sync","hasBucket","putBucket","bucket","putBucketRoute","removeCounter","delete","incrementCounter","window","limit","perRequest","Math","ceil","counter","getOrElse","count","exports"],"sources":["../src/RateLimit/memory.ts"],"sourcesContent":[null],"mappings":"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"}
package/RateLimit.d.ts CHANGED
@@ -3,13 +3,12 @@ import * as Duration from "effect/Duration";
3
3
  import type * as Option from "effect/Option";
4
4
  import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
- import { Log } from "dfx/Log";
7
6
  export type BucketDetails = {
8
7
  key: "global" | string;
9
8
  resetAfter: number;
10
9
  limit: number;
11
10
  };
12
- export interface RateLimitStore {
11
+ export interface RateLimitStoreService {
13
12
  readonly hasBucket: (bucketKey: string) => Effect.Effect<never, never, boolean>;
14
13
  readonly putBucket: (bucket: BucketDetails) => Effect.Effect<never, never, void>;
15
14
  readonly getBucketForRoute: (route: string) => Effect.Effect<never, never, Option.Option<BucketDetails>>;
@@ -17,14 +16,16 @@ export interface RateLimitStore {
17
16
  readonly incrementCounter: (key: string, window: number, limit: number) => Effect.Effect<never, never, readonly [count: number, ttl: number]>;
18
17
  readonly removeCounter: (key: string) => Effect.Effect<never, never, void>;
19
18
  }
20
- export declare const RateLimitStore: Tag<RateLimitStore, RateLimitStore>;
19
+ export interface RateLimitStore {
20
+ readonly _: unique symbol;
21
+ }
22
+ export declare const RateLimitStore: Tag<RateLimitStore, RateLimitStoreService>;
21
23
  export declare const MemoryRateLimitStoreLive: Layer.Layer<never, never, RateLimitStore>;
22
- declare const makeLimiter: Effect.Effect<RateLimitStore | Log, never, {
24
+ export interface RateLimiter {
25
+ readonly _: unique symbol;
26
+ }
27
+ export declare const RateLimiter: Tag<RateLimiter, {
23
28
  maybeWait: (key: string, window: Duration.Duration, limit: number, multiplier?: number) => Effect.Effect<never, never, void>;
24
29
  }>;
25
- export interface RateLimiter extends Effect.Effect.Success<typeof makeLimiter> {
26
- }
27
- export declare const RateLimiter: Tag<RateLimiter, RateLimiter>;
28
- export declare const RateLimiterLive: Layer.Layer<RateLimitStore | Log, never, RateLimiter>;
29
- export {};
30
+ export declare const RateLimiterLive: Layer.Layer<RateLimitStore, never, RateLimiter>;
30
31
  //# sourceMappingURL=RateLimit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimit.d.ts","sourceRoot":"","sources":["./src/RateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAI7B,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAClB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAEzC,QAAQ,CAAC,SAAS,EAAE,CAClB,MAAM,EAAE,aAAa,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEtC,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;IAE9D,QAAQ,CAAC,cAAc,EAAE,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEtC,QAAQ,CAAC,gBAAgB,EAAE,CACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAEvE,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC3E;AAED,eAAO,MAAM,cAAc,qCAAwB,CAAA;AACnD,eAAO,MAAM,wBAAwB,2CAA0C,CAAA;AAE/E,QAAA,MAAM,WAAW;qBAKR,MAAM,UACH,iBAAiB,SAClB,MAAM;EAwBf,CAAA;AAEF,MAAM,WAAW,WACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC;CAAG;AACtD,eAAO,MAAM,WAAW,+BAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,uDAAyC,CAAA"}
1
+ {"version":3,"file":"RateLimit.d.ts","sourceRoot":"","sources":["./src/RateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,CAClB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAEzC,QAAQ,CAAC,SAAS,EAAE,CAClB,MAAM,EAAE,aAAa,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEtC,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;IAE9D,QAAQ,CAAC,cAAc,EAAE,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEtC,QAAQ,CAAC,gBAAgB,EAAE,CACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAEvE,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC3E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,cAAc,4CAE1B,CAAA;AACD,eAAO,MAAM,wBAAwB,2CAA0C,CAAA;AAmC/E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,WAAW;qBAhCf,MAAM,UACH,iBAAiB,SAClB,MAAM;EAiCa,CAAA;AAC9B,eAAO,MAAM,eAAe,iDAAyC,CAAA"}
package/RateLimit.js CHANGED
@@ -8,19 +8,18 @@ var _Context = /*#__PURE__*/require("effect/Context");
8
8
  var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
9
9
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
10
10
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
- var _Log = /*#__PURE__*/require("dfx/Log");
12
11
  var Memory = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/RateLimit/memory"));
13
12
  var _utils = /*#__PURE__*/require("dfx/RateLimit/utils");
14
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
- const RateLimitStore = exports.RateLimitStore = /*#__PURE__*/(0, _Context.Tag)();
15
+ const RateLimitStore = exports.RateLimitStore = /*#__PURE__*/(0, _Context.Tag)("dfx/RateLimit/RateLimitStore");
17
16
  const MemoryRateLimitStoreLive = exports.MemoryRateLimitStoreLive = /*#__PURE__*/Layer.sync(RateLimitStore, Memory.make);
18
17
  const makeLimiter = /*#__PURE__*/Effect.gen(function* (_) {
19
18
  const store = yield* _(RateLimitStore);
20
- const log = yield* _(_Log.Log);
21
19
  const maybeWait = (key, window, limit, multiplier = 1.05) => {
22
20
  const windowMs = Duration.toMillis(window) * multiplier;
23
- return store.incrementCounter(key, windowMs, limit).pipe(Effect.map(([count, ttl]) => (0, _utils.delayFrom)(windowMs, limit, count, ttl)), Effect.tap(d => log.debug("RateLimitStore maybeWait", {
21
+ return store.incrementCounter(key, windowMs, limit).pipe(Effect.map(([count, ttl]) => (0, _utils.delayFrom)(windowMs, limit, count, ttl)), Effect.tap(d => Effect.annotateLogs(Effect.logTrace("maybeWait"), {
22
+ service: "RateLimit",
24
23
  key,
25
24
  window: Duration.toMillis(window),
26
25
  windowMs,
@@ -32,6 +31,6 @@ const makeLimiter = /*#__PURE__*/Effect.gen(function* (_) {
32
31
  maybeWait
33
32
  };
34
33
  });
35
- const RateLimiter = exports.RateLimiter = /*#__PURE__*/(0, _Context.Tag)();
34
+ const RateLimiter = exports.RateLimiter = /*#__PURE__*/(0, _Context.Tag)("dfx/RateLimit/RateLimiter");
36
35
  const RateLimiterLive = exports.RateLimiterLive = /*#__PURE__*/Layer.effect(RateLimiter, makeLimiter);
37
36
  //# sourceMappingURL=RateLimit.js.map
package/RateLimit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimit.js","names":["_Context","require","Duration","_interopRequireWildcard","Effect","Layer","_Log","Memory","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RateLimitStore","exports","Tag","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","log","Log","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","delayFrom","tap","d","debug","delay","unit","sleep","asUnit","RateLimiter","RateLimiterLive","effect"],"sources":["./src/RateLimit.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"RateLimit.js","names":["_Context","require","Duration","_interopRequireWildcard","Effect","Layer","Memory","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RateLimitStore","exports","Tag","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","_","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","delayFrom","tap","d","annotateLogs","logTrace","service","delay","unit","sleep","asUnit","RateLimiter","RateLimiterLive","effect"],"sources":["./src/RateLimit.ts"],"sourcesContent":[null],"mappings":"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"}
package/gateway.d.ts CHANGED
@@ -8,6 +8,6 @@ import * as Layer from "effect/Layer";
8
8
  export { DiscordGateway, DiscordGatewayLive } from "dfx/DiscordGateway";
9
9
  export { InteractionsRegistry, InteractionsRegistryLive, interactionsSync, run as runIx, setInteractionsSync, } from "dfx/Interactions/gateway";
10
10
  export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore, WS };
11
- export declare const DiscordLive: Layer.Layer<import("./DiscordConfig").DiscordConfig, never, import("dfx/Log").Log | import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway>;
12
- export declare const DiscordIxLive: Layer.Layer<import("./DiscordConfig").DiscordConfig, never, import("dfx/Log").Log | import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway | import("dfx/Interactions/gateway").InteractionsRegistry>;
11
+ export declare const DiscordLive: Layer.Layer<import("./DiscordConfig").DiscordConfig, never, import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway>;
12
+ export declare const DiscordIxLive: Layer.Layer<import("./DiscordConfig").DiscordConfig, never, import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway | import("dfx/Interactions/gateway").InteractionsRegistry>;
13
13
  //# sourceMappingURL=gateway.d.ts.map
package/gateway.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAK3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,GAAG,IAAI,KAAK,EACZ,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAEpE,eAAO,MAAM,WAAW,gNASvB,CAAA;AAED,eAAO,MAAM,aAAa,0QAEzB,CAAA"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAI3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,GAAG,IAAI,KAAK,EACZ,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAEpE,eAAO,MAAM,WAAW,wLAQvB,CAAA;AAED,eAAO,MAAM,aAAa,kPAEzB,CAAA"}
package/gateway.js CHANGED
@@ -65,11 +65,10 @@ var WS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Discord
65
65
  exports.WS = WS;
66
66
  var _DiscordREST = /*#__PURE__*/require("dfx/DiscordREST");
67
67
  var _gateway = /*#__PURE__*/require("dfx/Interactions/gateway");
68
- var _Log = /*#__PURE__*/require("dfx/Log");
69
68
  var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
70
69
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
71
70
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
72
71
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
73
- const DiscordLive = exports.DiscordLive = /*#__PURE__*/Layer.mergeAll(_RateLimit.RateLimiterLive, _DiscordGateway.DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(_DiscordREST.DiscordRESTLive), /*#__PURE__*/Layer.provide(_DiscordWS.JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(_ShardStore.MemoryShardStoreLive), /*#__PURE__*/Layer.provideMerge(_Log.LogLive));
72
+ const DiscordLive = exports.DiscordLive = /*#__PURE__*/Layer.mergeAll(_RateLimit.RateLimiterLive, _DiscordGateway.DiscordGatewayLive).pipe( /*#__PURE__*/Layer.provideMerge(_DiscordREST.DiscordRESTLive), /*#__PURE__*/Layer.provide(_DiscordWS.JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(_ShardStore.MemoryShardStoreLive));
74
73
  const DiscordIxLive = exports.DiscordIxLive = /*#__PURE__*/_gateway.InteractionsRegistryLive.pipe( /*#__PURE__*/Layer.provideMerge(DiscordLive));
75
74
  //# sourceMappingURL=gateway.js.map
package/gateway.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","names":["CachePrelude","_interopRequireWildcard","require","exports","_DiscordGateway","_DiscordWS","DiscordWS","Shard","SendEvent","_ShardStore","ShardStore","WS","_DiscordREST","_gateway","_Log","_RateLimit","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DiscordLive","mergeAll","RateLimiterLive","DiscordGatewayLive","pipe","provideMerge","DiscordRESTLive","provide","JsonDiscordWSCodecLive","MemoryRateLimitStoreLive","MemoryShardStoreLive","LogLive","DiscordIxLive","InteractionsRegistryLive"],"sources":["./src/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","names":["CachePrelude","_interopRequireWildcard","require","exports","_DiscordGateway","_DiscordWS","DiscordWS","Shard","SendEvent","_ShardStore","ShardStore","WS","_DiscordREST","_gateway","_RateLimit","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DiscordLive","mergeAll","RateLimiterLive","DiscordGatewayLive","pipe","provideMerge","DiscordRESTLive","provide","JsonDiscordWSCodecLive","MemoryRateLimitStoreLive","MemoryShardStoreLive","DiscordIxLive","InteractionsRegistryLive"],"sources":["./src/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
package/index.d.ts CHANGED
@@ -7,9 +7,8 @@ import * as Members from "dfx/Helpers/members";
7
7
  import * as Perms from "dfx/Helpers/permissions";
8
8
  import * as UI from "dfx/Helpers/ui";
9
9
  import * as Ix from "dfx/Interactions/index";
10
- import * as Log from "dfx/Log";
11
10
  import * as Discord from "dfx/types";
12
11
  export { DiscordREST, DiscordRESTLive } from "dfx/DiscordREST";
13
12
  export { BucketDetails, MemoryRateLimitStoreLive, RateLimiterLive, RateLimiter, RateLimitStore, } from "dfx/RateLimit";
14
- export { Cache, Discord, DiscordConfig, Flags, Intents, Ix, IxHelpers, Log, Members, Perms, UI, };
13
+ export { Cache, Discord, DiscordConfig, Flags, Intents, Ix, IxHelpers, Members, Perms, UI, };
15
14
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,KAAK,GAAG,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,OAAO,EACP,EAAE,EACF,SAAS,EACT,GAAG,EACH,OAAO,EACP,KAAK,EACL,EAAE,GACH,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,OAAO,EACP,EAAE,EACF,SAAS,EACT,OAAO,EACP,KAAK,EACL,EAAE,GACH,CAAA"}
package/index.js CHANGED
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "DiscordRESTLive", {
16
16
  return _DiscordREST.DiscordRESTLive;
17
17
  }
18
18
  });
19
- exports.Members = exports.Log = exports.IxHelpers = exports.Ix = exports.Intents = exports.Flags = void 0;
19
+ exports.Members = exports.IxHelpers = exports.Ix = exports.Intents = exports.Flags = void 0;
20
20
  Object.defineProperty(exports, "MemoryRateLimitStoreLive", {
21
21
  enumerable: true,
22
22
  get: function () {
@@ -61,8 +61,6 @@ var UI = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Helpers
61
61
  exports.UI = UI;
62
62
  var Ix = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Interactions/index"));
63
63
  exports.Ix = Ix;
64
- var Log = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Log"));
65
- exports.Log = Log;
66
64
  var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
67
65
  exports.Discord = Discord;
68
66
  var _DiscordREST = /*#__PURE__*/require("dfx/DiscordREST");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Cache","_interopRequireWildcard","require","exports","DiscordConfig","Flags","Intents","IxHelpers","Members","Perms","UI","Ix","Log","Discord","_DiscordREST","_RateLimit","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAkCC,OAAA,CAAAH,KAAA,GAAAA,KAAA;AAClC,IAAAI,aAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAClD,IAAAC,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA0CC,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAC1C,IAAAC,OAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAG,OAAA,GAAAA,OAAA;AAC9C,IAAAC,SAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAqDC,OAAA,CAAAI,SAAA,GAAAA,SAAA;AACrD,IAAAC,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAK,OAAA,GAAAA,OAAA;AAC9C,IAAAC,KAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAM,KAAA,GAAAA,KAAA;AAChD,IAAAC,EAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAO,EAAA,GAAAA,EAAA;AACpC,IAAAC,EAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA4CC,OAAA,CAAAQ,EAAA,GAAAA,EAAA;AAC5C,IAAAC,GAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAA8BC,OAAA,CAAAS,GAAA,GAAAA,GAAA;AAC9B,IAAAC,OAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAU,OAAA,GAAAA,OAAA;AAEpC,IAAAC,YAAA,gBAAAZ,OAAA;AAEA,IAAAa,UAAA,gBAAAb,OAAA;AAMsB,SAAAc,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA"}
1
+ {"version":3,"file":"index.js","names":["Cache","_interopRequireWildcard","require","exports","DiscordConfig","Flags","Intents","IxHelpers","Members","Perms","UI","Ix","Discord","_DiscordREST","_RateLimit","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAkCC,OAAA,CAAAH,KAAA,GAAAA,KAAA;AAClC,IAAAI,aAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAClD,IAAAC,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA0CC,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAC1C,IAAAC,OAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAG,OAAA,GAAAA,OAAA;AAC9C,IAAAC,SAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAqDC,OAAA,CAAAI,SAAA,GAAAA,SAAA;AACrD,IAAAC,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAK,OAAA,GAAAA,OAAA;AAC9C,IAAAC,KAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAM,KAAA,GAAAA,KAAA;AAChD,IAAAC,EAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAO,EAAA,GAAAA,EAAA;AACpC,IAAAC,EAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA4CC,OAAA,CAAAQ,EAAA,GAAAA,EAAA;AAC5C,IAAAC,OAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAS,OAAA,GAAAA,OAAA;AAEpC,IAAAC,YAAA,gBAAAX,OAAA;AAEA,IAAAY,UAAA,gBAAAZ,OAAA;AAMsB,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA"}
@@ -5,15 +5,13 @@ import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
6
  import * as Discord from "dfx/types";
7
7
  const VERSION = 10;
8
- export const DiscordConfig = /*#__PURE__*/Tag();
8
+ export const DiscordConfig = /*#__PURE__*/Tag("dfx/DiscordConfig");
9
9
  export const make = ({
10
- debug = false,
11
10
  gateway,
12
11
  rest,
13
12
  token
14
13
  }) => ({
15
14
  token,
16
- debug,
17
15
  rest: {
18
16
  baseUrl: `https://discord.com/api/v${VERSION}`,
19
17
  ...(rest ?? {}),
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordConfig.mjs","names":["Tag","Duration","Config","Effect","Layer","Discord","VERSION","DiscordConfig","make","debug","gateway","rest","token","baseUrl","globalRateLimit","limit","window","seconds","intents","GatewayIntents","GUILDS","identifyRateLimit","layer","opts","succeed","layerConfig","_","effect","map","config","unwrap"],"sources":["../src/DiscordConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,WAAW;AAEpC,MAAMC,OAAO,GAAG,EAAE;AAwBlB,OAAO,MAAMC,aAAa,gBAAGP,GAAG,EAAqC;AASrE,OAAO,MAAMQ,IAAI,GAAGA,CAAC;EACnBC,KAAK,GAAG,KAAK;EACbC,OAAO;EACPC,IAAI;EACJC;AAAK,CACI,MAA0B;EACnCA,KAAK;EACLH,KAAK;EACLE,IAAI,EAAE;IACJE,OAAO,EAAE,4BAA4BP,OAAO,EAAE;IAC9C,IAAIK,IAAI,IAAI,EAAE,CAAC;IACfG,eAAe,EAAE;MACfC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAEf,QAAQ,CAACgB,OAAO,CAAC,CAAC,CAAC;MAC3B,IAAIN,IAAI,EAAEG,eAAe,IAAI,EAAE;;GAElC;EACDJ,OAAO,EAAE;IACPQ,OAAO,EAAEb,OAAO,CAACc,cAAc,CAACC,MAAM;IACtCC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAIX,OAAO,IAAI,EAAE;;CAEpB,CAAC;AAEF,OAAO,MAAMY,KAAK,GAChBC,IAAc,IAEdnB,KAAK,CAACoB,OAAO,CAACjB,aAAa,EAAEC,IAAI,CAACe,IAAI,CAAC,CAAC;AAE1C,OAAO,MAAME,WAAW,GACtBC,CAA+B,IAE/BtB,KAAK,CAACuB,MAAM,CAACpB,aAAa,EAAEJ,MAAM,CAACyB,GAAG,CAACzB,MAAM,CAAC0B,MAAM,CAAC3B,MAAM,CAAC4B,MAAM,CAACJ,CAAC,CAAC,CAAC,EAAElB,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"DiscordConfig.mjs","names":["Tag","Duration","Config","Effect","Layer","Discord","VERSION","DiscordConfig","make","gateway","rest","token","baseUrl","globalRateLimit","limit","window","seconds","intents","GatewayIntents","GUILDS","identifyRateLimit","layer","opts","succeed","layerConfig","_","effect","map","config","unwrap"],"sources":["../src/DiscordConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,WAAW;AAEpC,MAAMC,OAAO,GAAG,EAAE;AAuBlB,OAAO,MAAMC,aAAa,gBAAGP,GAAG,CAC9B,mBAAmB,CACpB;AAQD,OAAO,MAAMQ,IAAI,GAAGA,CAAC;EACnBC,OAAO;EACPC,IAAI;EACJC;AAAK,CACI,MAA4B;EACrCA,KAAK;EACLD,IAAI,EAAE;IACJE,OAAO,EAAE,4BAA4BN,OAAO,EAAE;IAC9C,IAAII,IAAI,IAAI,EAAE,CAAC;IACfG,eAAe,EAAE;MACfC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAEd,QAAQ,CAACe,OAAO,CAAC,CAAC,CAAC;MAC3B,IAAIN,IAAI,EAAEG,eAAe,IAAI,EAAE;;GAElC;EACDJ,OAAO,EAAE;IACPQ,OAAO,EAAEZ,OAAO,CAACa,cAAc,CAACC,MAAM;IACtCC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAIX,OAAO,IAAI,EAAE;;CAEpB,CAAC;AAEF,OAAO,MAAMY,KAAK,GAChBC,IAAc,IAEdlB,KAAK,CAACmB,OAAO,CAAChB,aAAa,EAAEC,IAAI,CAACc,IAAI,CAAC,CAAC;AAE1C,OAAO,MAAME,WAAW,GACtBC,CAA+B,IAE/BrB,KAAK,CAACsB,MAAM,CAACnB,aAAa,EAAEJ,MAAM,CAACwB,GAAG,CAACxB,MAAM,CAACyB,MAAM,CAAC1B,MAAM,CAAC2B,MAAM,CAACJ,CAAC,CAAC,CAAC,EAAEjB,IAAI,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as Ref from "effect/Ref";
5
5
  import { WSLive, Reconnect, WS } from "dfx/DiscordGateway/WS";
6
- export const DiscordWSCodec = /*#__PURE__*/Tag();
6
+ export const DiscordWSCodec = /*#__PURE__*/Tag("dfx/DiscordGateway/DiscordWS/Codec");
7
7
  export const JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
8
8
  type: "json",
9
9
  encode: p => JSON.stringify(p),
@@ -21,11 +21,14 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
21
21
  const urlRef = yield* _(Ref.make(`${url}?v=${version}&encoding=${encoding.type}`));
22
22
  const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
23
23
  const takeOutbound = Effect.map(outbound, msg => msg === Reconnect ? msg : encoding.encode(msg));
24
- const socket = yield* _(ws.connect(urlRef, takeOutbound, onConnecting));
24
+ const socket = yield* _(ws.connect({
25
+ urlRef,
26
+ takeOutbound,
27
+ onConnecting,
28
+ reconnectWhen: e => e._tag === "WebSocketCloseError" && e.code < 2000 || e._tag === "WebSocketError" && e.reason === "open-timeout"
29
+ }));
25
30
  const take = Effect.map(socket.take, encoding.decode);
26
- const run = Effect.retryWhile(socket.run, e => e._tag === "WebSocketCloseError" && e.code < 2000 || e._tag === "WebSocketError" && e.reason === "open-timeout");
27
31
  return {
28
- run,
29
32
  take,
30
33
  setUrl
31
34
  };
@@ -34,6 +37,6 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
34
37
  connect
35
38
  };
36
39
  });
37
- export const DiscordWS = /*#__PURE__*/Tag();
40
+ export const DiscordWS = /*#__PURE__*/Tag("dfx/DiscordGateway/DiscordWS");
38
41
  export const DiscordWSLive = /*#__PURE__*/Layer.provide( /*#__PURE__*/Layer.effect(DiscordWS, make), WSLive);
39
42
  //# sourceMappingURL=DiscordWS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.mjs","names":["Tag","Effect","Layer","Ref","WSLive","Reconnect","WS","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","toString","make","gen","_","ws","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","set","takeOutbound","map","msg","socket","take","run","retryWhile","e","_tag","code","reason","DiscordWS","DiscordWSLive","provide","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,SAASC,MAAM,EAAEC,SAAS,EAAEC,EAAE,QAAQ,uBAAuB;AAmB7D,OAAO,MAAMC,cAAc,gBAAGP,GAAG,EAAkB;AACnD,OAAO,MAAMQ,sBAAsB,gBAAGN,KAAK,CAACO,OAAO,CAACF,cAAc,EAAE;EAClEG,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEC,CAAC,IAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAAC;EAC9BG,MAAM,EAAEH,CAAC,IAAIC,IAAI,CAACG,KAAK,CAACJ,CAAC,CAACK,QAAQ,CAAC,MAAM,CAAC;CAC3C,CAAC;AAEF,MAAMC,IAAI,gBAAGjB,MAAM,CAACkB,GAAG,CAAC,WAAWC,CAAC;EAClC,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAACd,EAAE,CAAC;EACvB,MAAMgB,QAAQ,GAAG,OAAOF,CAAC,CAACb,cAAc,CAAC;EAEzC,MAAMgB,OAAO,GAAGA,CAAC;IACfC,YAAY;IACZC,QAAQ;IACRC,GAAG,GAAG,2BAA2B;IACjCC,OAAO,GAAG;EAAE,CACH,KACT1B,MAAM,CAACkB,GAAG,CAAC,WAAWC,CAAC;IACrB,MAAMQ,MAAM,GAAG,OAAOR,CAAC,CACrBjB,GAAG,CAACe,IAAI,CAAC,GAAGQ,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACZ,IAAI,EAAE,CAAC,CAC1D;IACD,MAAMmB,MAAM,GAAIH,GAAW,IACzBvB,GAAG,CAAC2B,GAAG,CAACF,MAAM,EAAE,GAAGF,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACZ,IAAI,EAAE,CAAC;IAClE,MAAMqB,YAAY,GAAG9B,MAAM,CAAC+B,GAAG,CAACP,QAAQ,EAAEQ,GAAG,IAC3CA,GAAG,KAAK5B,SAAS,GAAG4B,GAAG,GAAGX,QAAQ,CAACX,MAAM,CAACsB,GAAG,CAAC,CAC/C;IACD,MAAMC,MAAM,GAAG,OAAOd,CAAC,CAACC,EAAE,CAACE,OAAO,CAACK,MAAM,EAAEG,YAAY,EAAEP,YAAY,CAAC,CAAC;IACvE,MAAMW,IAAI,GAAGlC,MAAM,CAAC+B,GAAG,CAACE,MAAM,CAACC,IAAI,EAAEb,QAAQ,CAACP,MAAM,CAAC;IAErD,MAAMqB,GAAG,GAAGnC,MAAM,CAACoC,UAAU,CAC3BH,MAAM,CAACE,GAAG,EACVE,CAAC,IACEA,CAAC,CAACC,IAAI,KAAK,qBAAqB,IAAID,CAAC,CAACE,IAAI,GAAG,IAAI,IACjDF,CAAC,CAACC,IAAI,KAAK,gBAAgB,IAAID,CAAC,CAACG,MAAM,KAAK,cAAe,CAC/D;IAED,OAAO;MACLL,GAAG;MACHD,IAAI;MACJN;KACQ;EACZ,CAAC,CAAC;EAEJ,OAAO;IAAEN;EAAO,CAAW;AAC7B,CAAC,CAAC;AAGF,OAAO,MAAMmB,SAAS,gBAAG1C,GAAG,EAAa;AACzC,OAAO,MAAM2C,aAAa,gBAAGzC,KAAK,CAAC0C,OAAO,eACxC1C,KAAK,CAAC2C,MAAM,CAACH,SAAS,EAAExB,IAAI,CAAC,EAC7Bd,MAAM,CACP"}
1
+ {"version":3,"file":"DiscordWS.mjs","names":["Tag","Effect","Layer","Ref","WSLive","Reconnect","WS","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","toString","make","gen","_","ws","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","set","takeOutbound","map","msg","socket","reconnectWhen","e","_tag","code","reason","take","DiscordWS","DiscordWSLive","provide","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,SAASC,MAAM,EAAEC,SAAS,EAAEC,EAAE,QAAQ,uBAAuB;AAsB7D,OAAO,MAAMC,cAAc,gBAAGP,GAAG,CAC/B,oCAAoC,CACrC;AACD,OAAO,MAAMQ,sBAAsB,gBAAGN,KAAK,CAACO,OAAO,CAACF,cAAc,EAAE;EAClEG,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEC,CAAC,IAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAAC;EAC9BG,MAAM,EAAEH,CAAC,IAAIC,IAAI,CAACG,KAAK,CAACJ,CAAC,CAACK,QAAQ,CAAC,MAAM,CAAC;CAC3C,CAAC;AAEF,MAAMC,IAAI,gBAAGjB,MAAM,CAACkB,GAAG,CAAC,WAAWC,CAAC;EAClC,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAACd,EAAE,CAAC;EACvB,MAAMgB,QAAQ,GAAG,OAAOF,CAAC,CAACb,cAAc,CAAC;EAEzC,MAAMgB,OAAO,GAAGA,CAAC;IACfC,YAAY;IACZC,QAAQ;IACRC,GAAG,GAAG,2BAA2B;IACjCC,OAAO,GAAG;EAAE,CACH,KACT1B,MAAM,CAACkB,GAAG,CAAC,WAAWC,CAAC;IACrB,MAAMQ,MAAM,GAAG,OAAOR,CAAC,CACrBjB,GAAG,CAACe,IAAI,CAAC,GAAGQ,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACZ,IAAI,EAAE,CAAC,CAC1D;IACD,MAAMmB,MAAM,GAAIH,GAAW,IACzBvB,GAAG,CAAC2B,GAAG,CAACF,MAAM,EAAE,GAAGF,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACZ,IAAI,EAAE,CAAC;IAClE,MAAMqB,YAAY,GAAG9B,MAAM,CAAC+B,GAAG,CAACP,QAAQ,EAAEQ,GAAG,IAC3CA,GAAG,KAAK5B,SAAS,GAAG4B,GAAG,GAAGX,QAAQ,CAACX,MAAM,CAACsB,GAAG,CAAC,CAC/C;IACD,MAAMC,MAAM,GAAG,OAAOd,CAAC,CACrBC,EAAE,CAACE,OAAO,CAAC;MACTK,MAAM;MACNG,YAAY;MACZP,YAAY;MACZW,aAAa,EAAEC,CAAC,IACbA,CAAC,CAACC,IAAI,KAAK,qBAAqB,IAAID,CAAC,CAACE,IAAI,GAAG,IAAI,IACjDF,CAAC,CAACC,IAAI,KAAK,gBAAgB,IAAID,CAAC,CAACG,MAAM,KAAK;KAChD,CAAC,CACH;IACD,MAAMC,IAAI,GAAGvC,MAAM,CAAC+B,GAAG,CAACE,MAAM,CAACM,IAAI,EAAElB,QAAQ,CAACP,MAAM,CAAC;IAErD,OAAO;MACLyB,IAAI;MACJX;KACQ;EACZ,CAAC,CAAC;EAEJ,OAAO;IAAEN;EAAO,CAAW;AAC7B,CAAC,CAAC;AAKF,OAAO,MAAMkB,SAAS,gBAAGzC,GAAG,CAC1B,8BAA8B,CAC/B;AACD,OAAO,MAAM0C,aAAa,gBAAGxC,KAAK,CAACyC,OAAO,eACxCzC,KAAK,CAAC0C,MAAM,CAACH,SAAS,EAAEvB,IAAI,CAAC,EAC7Bd,MAAM,CACP"}
@@ -0,0 +1,33 @@
1
+ import { Tag } from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as PubSub from "effect/PubSub";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Queue from "effect/Queue";
6
+ import * as Stream from "effect/Stream";
7
+ import * as EffectUtils from "dfx/utils/Effect";
8
+ const fromDispatchFactory = source => event => Stream.map(Stream.filter(source, p => p.t === event), p => p.d);
9
+ const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeForEachPar(hub, _ => {
10
+ if (_.t === event) {
11
+ return handle(_.d);
12
+ }
13
+ return Effect.unit;
14
+ });
15
+ export const make = /*#__PURE__*/Effect.gen(function* (_) {
16
+ const hub = yield* _(Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown));
17
+ const sendQueue = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
18
+ const send = payload => sendQueue.offer(payload);
19
+ const dispatch = Stream.fromPubSub(hub);
20
+ const fromDispatch = fromDispatchFactory(dispatch);
21
+ const handleDispatch = handleDispatchFactory(hub);
22
+ return {
23
+ hub,
24
+ sendQueue,
25
+ dispatch,
26
+ fromDispatch,
27
+ handleDispatch,
28
+ send
29
+ };
30
+ });
31
+ export const Messaging = /*#__PURE__*/Tag("dfx/DiscordGateway/Messaging");
32
+ export const MesssagingLive = /*#__PURE__*/Layer.scoped(Messaging, make);
33
+ //# sourceMappingURL=Messaging.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messaging.mjs","names":["Tag","Effect","PubSub","Layer","Queue","Stream","EffectUtils","fromDispatchFactory","source","event","map","filter","p","t","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","unit","make","gen","acquireRelease","unbounded","shutdown","sendQueue","send","payload","offer","dispatch","fromPubSub","fromDispatch","handleDispatch","Messaging","MesssagingLive","scoped"],"sources":["../../src/DiscordGateway/Messaging.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C,MAAMC,mBAAmB,GAErBC,MAAyE,IAGzEC,KAAQ,IAERJ,MAAM,CAACK,GAAG,CACRL,MAAM,CAACM,MAAM,CAACH,MAAM,EAAEI,CAAC,IAAIA,CAAC,CAACC,CAAC,KAAKJ,KAAK,CAAC,EACzCG,CAAC,IAAIA,CAAC,CAACE,CAAS,CACjB;AAEL,MAAMC,qBAAqB,GACxBC,GAAgE,IACjE,CACEP,KAAQ,EACRQ,MAAmE,KAEnEX,WAAW,CAACY,mBAAmB,CAACF,GAAG,EAAEG,CAAC,IAAG;EACvC,IAAIA,CAAC,CAACN,CAAC,KAAKJ,KAAK,EAAE;IACjB,OAAOQ,MAAM,CAACE,CAAC,CAACL,CAAQ,CAAC;EAC3B;EACA,OAAOb,MAAM,CAACmB,IAAW;AAC3B,CAAC,CAAC;AAEN,OAAO,MAAMC,IAAI,gBAAGpB,MAAM,CAACqB,GAAG,CAAC,WAAWH,CAAC;EACzC,MAAMH,GAAG,GAAG,OAAOG,CAAC,CAClBlB,MAAM,CAACsB,cAAc,CACnBrB,MAAM,CAACsB,SAAS,EAAgD,EAChEtB,MAAM,CAACuB,QAAQ,CAChB,CACF;EAED,MAAMC,SAAS,GAAG,OAAOP,CAAC,CACxBlB,MAAM,CAACsB,cAAc,CACnBnB,KAAK,CAACoB,SAAS,EAA6C,EAC5DpB,KAAK,CAACqB,QAAQ,CACf,CACF;EACD,MAAME,IAAI,GAAIC,OAAkD,IAC9DF,SAAS,CAACG,KAAK,CAACD,OAAO,CAAC;EAE1B,MAAME,QAAQ,GAAGzB,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC;EACvC,MAAMgB,YAAY,GAAGzB,mBAAmB,CAACuB,QAAQ,CAAC;EAClD,MAAMG,cAAc,GAAGlB,qBAAqB,CAACC,GAAG,CAAC;EAEjD,OAAO;IACLA,GAAG;IACHU,SAAS;IACTI,QAAQ;IACRE,YAAY;IACZC,cAAc;IACdN;GACQ;AACZ,CAAC,CAAC;AAKF,OAAO,MAAMO,SAAS,gBAAGlC,GAAG,CAC1B,8BAA8B,CAC/B;AACD,OAAO,MAAMmC,cAAc,gBAAGhC,KAAK,CAACiC,MAAM,CAACF,SAAS,EAAEb,IAAI,CAAC"}