dfx 0.21.20 → 0.21.22

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 (71) hide show
  1. package/Cache/index.js +7 -7
  2. package/Cache/index.js.map +1 -1
  3. package/Cache/memory.js +5 -5
  4. package/Cache/memory.js.map +1 -1
  5. package/Cache/memoryTTL.js +21 -21
  6. package/Cache/memoryTTL.js.map +1 -1
  7. package/Cache/prelude.js +25 -25
  8. package/Cache/prelude.js.map +1 -1
  9. package/DiscordConfig/index.d.ts +1 -1
  10. package/DiscordConfig/index.js +5 -4
  11. package/DiscordConfig/index.js.map +1 -1
  12. package/DiscordGateway/DiscordWS/index.js +13 -13
  13. package/DiscordGateway/DiscordWS/index.js.map +1 -1
  14. package/DiscordGateway/Shard/heartbeats.js +9 -10
  15. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  16. package/DiscordGateway/Shard/identify.js +2 -2
  17. package/DiscordGateway/Shard/identify.js.map +1 -1
  18. package/DiscordGateway/Shard/index.js +9 -9
  19. package/DiscordGateway/Shard/index.js.map +1 -1
  20. package/DiscordGateway/Shard/invalidSession.js +1 -1
  21. package/DiscordGateway/Shard/invalidSession.js.map +1 -1
  22. package/DiscordGateway/Shard/utils.js +2 -2
  23. package/DiscordGateway/Shard/utils.js.map +1 -1
  24. package/DiscordGateway/ShardStore/index.js +1 -1
  25. package/DiscordGateway/ShardStore/index.js.map +1 -1
  26. package/DiscordGateway/Sharder/index.js +15 -15
  27. package/DiscordGateway/Sharder/index.js.map +1 -1
  28. package/DiscordGateway/WS/index.js +13 -13
  29. package/DiscordGateway/WS/index.js.map +1 -1
  30. package/DiscordGateway/index.js +9 -10
  31. package/DiscordGateway/index.js.map +1 -1
  32. package/DiscordREST/index.js +33 -33
  33. package/DiscordREST/index.js.map +1 -1
  34. package/DiscordREST/utils.js +3 -3
  35. package/DiscordREST/utils.js.map +1 -1
  36. package/Helpers/flags.js +1 -1
  37. package/Helpers/flags.js.map +1 -1
  38. package/Helpers/interactions.js +17 -17
  39. package/Helpers/interactions.js.map +1 -1
  40. package/Helpers/members.js +1 -1
  41. package/Helpers/members.js.map +1 -1
  42. package/Helpers/permissions.js +6 -6
  43. package/Helpers/permissions.js.map +1 -1
  44. package/Helpers/ui.js +1 -1
  45. package/Helpers/ui.js.map +1 -1
  46. package/Http/index.js +6 -6
  47. package/Http/index.js.map +1 -1
  48. package/Interactions/context.js +8 -8
  49. package/Interactions/context.js.map +1 -1
  50. package/Interactions/gateway.js +6 -6
  51. package/Interactions/gateway.js.map +1 -1
  52. package/Interactions/handlers.js +14 -14
  53. package/Interactions/handlers.js.map +1 -1
  54. package/Interactions/index.js +6 -6
  55. package/Interactions/index.js.map +1 -1
  56. package/Interactions/webhook.js +10 -10
  57. package/Interactions/webhook.js.map +1 -1
  58. package/RateLimit/index.js +5 -5
  59. package/RateLimit/index.js.map +1 -1
  60. package/RateLimit/memory.js +4 -4
  61. package/RateLimit/memory.js.map +1 -1
  62. package/RateLimit/utils.js +1 -1
  63. package/RateLimit/utils.js.map +1 -1
  64. package/_common.d.ts +8 -8
  65. package/_common.js +1 -1
  66. package/_common.js.map +1 -1
  67. package/global.d.ts +1 -1
  68. package/package.json +11 -10
  69. package/types.d.ts +3 -1
  70. package/types.js +9 -9
  71. package/types.js.map +1 -1
@@ -15,7 +15,7 @@ const memoryStore = () => {
15
15
  currentId++;
16
16
  return tsplus_module_2.some(id);
17
17
  }),
18
- allClaimed: (totalCount) => tsplus_module_3.sync(() => currentId >= totalCount),
18
+ allClaimed: totalCount => tsplus_module_3.sync(() => currentId >= totalCount),
19
19
  };
20
20
  };
21
21
  export const LiveMemoryShardStore = tsplus_module_4.sync(ShardStore, memoryStore);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/ShardStore/index.ts"],"names":[],"mappings":";;;;AAUA,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAA,GAAG,EAAc,CAAA;AAE3C,wDAAwD;AACxD,MAAM,WAAW,GAAG,GAAe,EAAE;IACnC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1B,qBAAY,GAAG,EAAE;YACf,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC3B,OAAO,sBAAY,CAAA;aACpB;YAED,MAAM,EAAE,GAAG,SAAS,CAAA;YACpB,SAAS,EAAE,CAAA;YACX,OAAO,qBAAW,EAAE,CAAC,CAAA;QACvB,CAAC,CAAC;QAEJ,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAY,GAAG,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC;KACvE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAW,UAAU,EAAE,WAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/ShardStore/index.ts"],"names":[],"mappings":";;;;AAUA,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAA,GAAG,EAAc,CAAA;AAE3C,wDAAwD;AACxD,MAAM,WAAW,GAAG,GAAe,EAAE;IACnC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1B,qBAAY,GAAG,EAAE;YACf,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC3B,OAAO,sBAAY,CAAA;aACpB;YAED,MAAM,EAAE,GAAG,SAAS,CAAA;YACpB,SAAS,EAAE,CAAA;YACX,OAAO,qBAAW,EAAE,CAAC,CAAA;QACvB,CAAC,CAAC;QAEJ,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,qBAAY,GAAG,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC;KACrE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAW,UAAU,EAAE,WAAW,CAAC,CAAA"}
@@ -2,27 +2,30 @@ import * as tsplus_module_1 from "@effect/stream/Stream";
2
2
  import * as tsplus_module_2 from "dfx/gateway";
3
3
  import * as tsplus_module_3 from "@effect/io/Effect";
4
4
  import * as tsplus_module_4 from "@effect/stream/GroupBy";
5
- import * as tsplus_module_5 from "@fp-ts/data/Duration";
5
+ import * as tsplus_module_5 from "@effect/data/Duration";
6
6
  import * as tsplus_module_6 from "@fp-ts/core/Option";
7
7
  import * as tsplus_module_7 from "dfx";
8
8
  import * as tsplus_module_8 from "dfx/_common";
9
9
  import * as tsplus_module_9 from "@effect/io/Layer";
10
- import { millis } from "@fp-ts/data/Duration";
10
+ import { millis } from "@effect/data/Duration";
11
11
  import { ShardStore } from "../ShardStore/index.js";
12
- const make = tsplus_module_3.flatMap(tsplus_module_3.service(ShardStore), store => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_7.DiscordREST), rest => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_7.DiscordConfig.DiscordConfig), ({ gateway: config }) => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_7.RateLimiter), limiter => {
12
+ const make = tsplus_module_3.flatMap(store => tsplus_module_3.flatMap(rest => tsplus_module_3.flatMap(({ gateway: config }) => tsplus_module_3.flatMap(limiter => {
13
13
  const configs = (totalCount) => {
14
- const claimId = (sharderCount) => tsplus_module_3.flatMap(store
14
+ const claimId = (sharderCount) => tsplus_module_3.flatMap(a => tsplus_module_6.match(() => tsplus_module_3.delay(tsplus_module_5.minutes(3))(claimId(sharderCount)), id => tsplus_module_3.succeed(id))(a))(store
15
15
  .claimId({
16
16
  totalCount,
17
17
  sharderCount,
18
- }), (a) => tsplus_module_6.match(() => tsplus_module_3.delay(claimId(sharderCount), tsplus_module_5.minutes(3)), (id) => tsplus_module_3.succeed(id))(a));
19
- return tsplus_module_1.map((id) => ({
18
+ }));
19
+ return tsplus_module_1.map(id => ({
20
20
  id,
21
21
  totalCount,
22
- }))(tsplus_module_1.unfoldEffect(0, (sharderCount) => tsplus_module_3.map(claimId(sharderCount), (id) => tsplus_module_6.some([id, sharderCount + 1]))));
22
+ }))(tsplus_module_1.unfoldEffect(0, sharderCount => tsplus_module_3.map(id => tsplus_module_6.some([id, sharderCount + 1]))(claimId(sharderCount))));
23
23
  };
24
- return tsplus_module_3.flatMap(tsplus_module_3.catchAll(tsplus_module_3.flatMap(rest
25
- .getGatewayBot(), (r) => r.json), () => tsplus_module_3.succeed({
24
+ return tsplus_module_3.flatMap(gateway => tsplus_module_3.map(shards => ({ shards }))(tsplus_module_1.broadcastDynamic(1)(tsplus_module_1.flatMap(shard => tsplus_module_1.merge(tsplus_module_1.drain(tsplus_module_1.fromEffect(shard.run)))(tsplus_module_1.succeed(shard)))(tsplus_module_4.evaluate((key, shardConfig) => tsplus_module_1.mapEffect(c => tsplus_module_2.Shard.make([c.id, c.totalCount]))(tsplus_module_1.tap(() => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1]))(shardConfig)))(tsplus_module_1.groupBy(c => tsplus_module_3.succeed([c.id % c.concurrency, c]))(tsplus_module_1.map(config => ({
25
+ ...config,
26
+ url: gateway.url,
27
+ concurrency: gateway.session_start_limit.max_concurrency,
28
+ }))(configs(config.shardCount ?? gateway.shards))))))))(tsplus_module_3.catchAll(() => tsplus_module_3.succeed({
26
29
  url: "wss://gateway.discord.gg/",
27
30
  shards: 1,
28
31
  session_start_limit: {
@@ -31,12 +34,9 @@ const make = tsplus_module_3.flatMap(tsplus_module_3.service(ShardStore), store
31
34
  reset_after: 0,
32
35
  max_concurrency: 1,
33
36
  },
34
- })), gateway => tsplus_module_3.map(tsplus_module_1.broadcastDynamic(1)(tsplus_module_1.flatMap((shard) => tsplus_module_1.merge(tsplus_module_1.drain(tsplus_module_1.fromEffect(shard.run)))(tsplus_module_1.succeed(shard)))(tsplus_module_4.evaluate((key, shardConfig) => tsplus_module_1.mapEffect((c) => tsplus_module_2.Shard.make([c.id, c.totalCount]))(tsplus_module_1.tap(() => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1]))(shardConfig)))(tsplus_module_1.groupBy((c) => tsplus_module_3.succeed([c.id % c.concurrency, c]))(tsplus_module_1.map((config) => ({
35
- ...config,
36
- url: gateway.url,
37
- concurrency: gateway.session_start_limit.max_concurrency,
38
- }))(configs(config.shardCount ?? gateway.shards)))))), shards => ({ shards })));
39
- }))));
37
+ }))(tsplus_module_3.flatMap(r => r.json)(rest
38
+ .getGatewayBot())));
39
+ })(tsplus_module_3.service(tsplus_module_7.RateLimiter)))(tsplus_module_3.service(tsplus_module_7.DiscordConfig.DiscordConfig)))(tsplus_module_3.service(tsplus_module_7.DiscordREST)))(tsplus_module_3.service(ShardStore));
40
40
  export const Sharder = tsplus_module_8.Tag();
41
41
  export const LiveSharder = tsplus_module_9.scoped(Sharder, make);
42
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":"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"}
@@ -22,30 +22,30 @@ export class WebSocketCloseError {
22
22
  this.reason = reason;
23
23
  }
24
24
  }
25
- const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.flatMap(tsplus_module_2.get(urlRef), url => {
25
+ const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.flatMap(url => {
26
26
  const ws = new WebSocket(url);
27
- return tsplus_module_1.map(tsplus_module_1.async((resume) => {
27
+ return tsplus_module_1.map(() => ws)(tsplus_module_1.async(resume => {
28
28
  ws.addEventListener("open", () => resume(tsplus_module_1.unit()), {
29
29
  once: true,
30
30
  });
31
- }), () => ws);
32
- }), (ws) => tsplus_module_1.sync(() => {
31
+ }));
32
+ })(tsplus_module_2.get(urlRef)), ws => tsplus_module_1.sync(() => {
33
33
  ;
34
34
  ws.removeAllListeners?.();
35
35
  ws.close();
36
36
  }));
37
- const recv = (ws) => tsplus_module_3.asyncEffect((emit) => tsplus_module_1.sync(() => {
38
- ws.addEventListener("message", (message) => {
37
+ const recv = (ws) => tsplus_module_3.asyncEffect(emit => tsplus_module_1.sync(() => {
38
+ ws.addEventListener("message", message => {
39
39
  emit.single(message.data);
40
40
  });
41
- ws.addEventListener("error", (cause) => {
41
+ ws.addEventListener("error", cause => {
42
42
  emit.fail(new WebSocketError(cause));
43
43
  });
44
- ws.addEventListener("close", (e) => {
44
+ ws.addEventListener("close", e => {
45
45
  emit.fail(new WebSocketCloseError(e.code, e.reason));
46
46
  });
47
47
  }));
48
- const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(tsplus_module_1.tap(take, (data) => log.debug("WS", "send", data)), (data) => {
48
+ const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap((data) => {
49
49
  if (data === Reconnect) {
50
50
  return tsplus_module_1.failSync(() => {
51
51
  ws.close(1012, "reconnecting");
@@ -55,9 +55,9 @@ const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(tspl
55
55
  return tsplus_module_1.sync(() => {
56
56
  ws.send(data);
57
57
  });
58
- }));
59
- export const make = (url, takeOutbound) => tsplus_module_6.pipe(tsplus_module_1.flatMap(tsplus_module_1.service(tsplus_module_5.Log.Log), log => tsplus_module_1.map(socket(url), ws => {
58
+ })(tsplus_module_1.tap(data => log.debug("WS", "send", data))(take)));
59
+ export const make = (url, takeOutbound) => tsplus_module_6.pipe(tsplus_module_1.flatMap(log => tsplus_module_1.map(ws => {
60
60
  const sendEffect = send(ws, takeOutbound, log);
61
- return tsplus_module_3.retry(tsplus_module_4.recurWhile((e) => e._tag === "WebSocketCloseError" && e.code === 1012))(tsplus_module_3.merge(tsplus_module_3.fromEffect(sendEffect))(recv(ws)));
62
- })), tsplus_module_3.unwrapScoped);
61
+ return tsplus_module_3.retry(tsplus_module_4.recurWhile(e => e._tag === "WebSocketCloseError" && e.code === 1012))(tsplus_module_3.merge(tsplus_module_3.fromEffect(sendEffect))(recv(ws)));
62
+ })(socket(url)))(tsplus_module_1.service(tsplus_module_5.Log.Log)), tsplus_module_3.unwrapScoped);
63
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/WS/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/WS/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAIjC,MAAM,OAAO,cAAc;IAEJ;IADZ,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,OAAO,mBAAmB;IAET;IAAuB;IADnC,IAAI,GAAG,qBAAqB,CAAA;IACrC,YAAqB,IAAY,EAAW,MAAc;QAArC,SAAI,GAAJ,IAAI,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CAC/D;AAED,MAAM,MAAM,GAAG,CAAC,MAAmB,EAAE,EAAE,CACrC,uDACQ,GAAG;IACT,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAgC,CAAA;qCAUrD,EAAE,EAPP,sBAAiC,MAAM,CAAC,EAAE;QACxC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAa,CAAC,EAAE;YACvD,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC,CAAC;uBARU,MAAM,IAYJ,EAAE,CAAC,EAAE,CACrB,qBAAY,GAAG,EAAE;IACf,CAAC;IAAC,EAAU,CAAC,kBAAkB,EAAE,EAAE,CAAA;IACnC,EAAE,CAAC,KAAK,EAAE,CAAA;AACZ,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,IAAI,GAAG,CAAC,EAAwB,EAAE,EAAE,CACxC,4BAIE,IAAI,CAAC,EAAE,CACP,qBAAY,GAAG,EAAE;IACf,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,IAAI,GAAG,CACX,EAAwB,EACxB,IAAmC,EACnC,GAAY,EACZ,EAAE,yBACF,oBAEO,CAAC,IAAI,EAA4C,EAAE;IACtD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,yBAAgB,GAAG,EAAE;YAC1B,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;YAC9B,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;KACH;IAED,OAAO,qBAAY,GAAG,EAAE;QACtB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,EAbH,oBACO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAD5C,IAAI,CACyC,CAYzC,CAAQ,CAAA;AAEd,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,GAAgB,EAChB,YAA2C,EAC3C,EAAE,CACF,gBAAA,IAAI,yBAEM,GAAG,wBACH,EAAE;IACR,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;IAE9C,OAAO,sBAGH,2BACE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CACzD,EALE,sBACE,2BAAkB,UAAU,CAAC,EAD/B,IAAI,CAAC,EAAE,CAAC,CACwB,CAKpC,CAAA;GATU,MAAM,CAAC,GAAG,CAAC,GADV,wBAAe,gBAAA,GAAG,CAAC,GAAG,CAAC,gCAaxC,CAAA"}
@@ -1,12 +1,11 @@
1
1
  import * as tsplus_module_1 from "@effect/stream/Stream";
2
- import * as tsplus_module_2 from "@fp-ts/core/Function";
3
- import * as tsplus_module_3 from "@effect/io/Effect";
4
- import * as tsplus_module_4 from "dfx/_common";
5
- import * as tsplus_module_5 from "@effect/io/Layer";
2
+ import * as tsplus_module_2 from "@effect/io/Effect";
3
+ import * as tsplus_module_3 from "dfx/_common";
4
+ import * as tsplus_module_4 from "@effect/io/Layer";
6
5
  import { Sharder } from "./Sharder/index.js";
7
- const fromDispatchFactory = (source) => (event) => tsplus_module_1.map((p) => p.d)(tsplus_module_1.filter((p) => p.t === event)(source));
8
- const handleDispatchFactory = (source) => (event, handle) => tsplus_module_1.runDrain(tsplus_module_2.pipe(tsplus_module_1.filter((p) => p.t === event)(source), tsplus_module_1.flatMapPar(128)((a) => tsplus_module_1.fromEffect(handle(a.d)))));
9
- export const make = tsplus_module_3.flatMap(tsplus_module_3.service(Sharder), sharder => tsplus_module_3.flatMap(tsplus_module_1.broadcastDynamic(1)(tsplus_module_2.pipe(sharder.shards, tsplus_module_1.flatMapPar(1024)((s) => s.raw))), raw => tsplus_module_3.map(tsplus_module_1.broadcastDynamic(1)(tsplus_module_2.pipe(sharder.shards, tsplus_module_1.flatMapPar(1024)((s) => s.dispatch))), dispatch => {
6
+ const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(p => p.d)(tsplus_module_1.filter(p => p.t === event)(source));
7
+ const handleDispatchFactory = (source) => (event, handle) => tsplus_module_1.runDrain(tsplus_module_1.flatMapPar(a => tsplus_module_1.fromEffect(handle(a.d)), Number.POSITIVE_INFINITY)(tsplus_module_1.filter(p => p.t === event)(source)));
8
+ export const make = tsplus_module_2.flatMap(sharder => tsplus_module_2.flatMap(raw => tsplus_module_2.map(dispatch => {
10
9
  const fromDispatch = fromDispatchFactory(dispatch);
11
10
  const handleDispatch = handleDispatchFactory(dispatch);
12
11
  return {
@@ -15,7 +14,7 @@ export const make = tsplus_module_3.flatMap(tsplus_module_3.service(Sharder), sh
15
14
  fromDispatch,
16
15
  handleDispatch,
17
16
  };
18
- })));
19
- export const DiscordGateway = tsplus_module_4.Tag();
20
- export const LiveDiscordGateway = tsplus_module_5.scoped(DiscordGateway, make);
17
+ })(tsplus_module_1.broadcastDynamic(8)(tsplus_module_1.flatMapPar(s => s.dispatch, Number.POSITIVE_INFINITY)(sharder.shards))))(tsplus_module_1.broadcastDynamic(8)(tsplus_module_1.flatMapPar(s => s.raw, Number.POSITIVE_INFINITY)(sharder.shards))))(tsplus_module_2.service(Sharder));
18
+ export const DiscordGateway = tsplus_module_3.Tag();
19
+ export const LiveDiscordGateway = tsplus_module_4.scoped(DiscordGateway, make);
21
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAwC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAS,EAA1D,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,CAAwB,CAAA;AAE/D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,gBAAA,IAAI,CACF,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,EACnC,2BAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC,CACrE,CAAS,CAAA;AAEd,MAAM,CAAC,MAAM,IAAI,2BACG,wBAAe,OAAO,CAAC,EAAnC,OAAO,4BAEX,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACtC,CAAoB,EAJjB,GAAG,wBAOP,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC3C,CAAoB,EAJjB,QAAQ;IAMd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;IACD,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAa,cAAc,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,EAAtD,uBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAhC,MAAM,CAA2B,CAAsB,CAAA;AAE3D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,2BAGI,CAAC,CAAC,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAC1C,MAAM,CAAC,iBAAiB,EAJ5B,uBACU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAD5B,MAAM,CACuB,CAI1B,CAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,IAAI,2BACT,OAAO,4BACP,GAAG,wBAKH,QAAQ;IAKd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;GAZC,iCAEoB,CAAC,EAFrB,2BACc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EADvD,OAAO,CAAC,MAAM,CAC0C,CAClC,GAPtB,iCAEoB,CAAC,EAFrB,2BACc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,EADlD,OAAO,CAAC,MAAM,CACqC,CAC7B,GAJN,wBAAe,OAAO,CAAC,CAoBzC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAa,cAAc,EAAE,IAAI,CAAC,CAAA"}
@@ -1,50 +1,50 @@
1
1
  import * as tsplus_module_1 from "dfx/_common";
2
2
  import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "@fp-ts/data/Duration";
3
+ import * as tsplus_module_3 from "@effect/data/Duration";
4
4
  import * as tsplus_module_4 from "@fp-ts/core/Option";
5
5
  import * as tsplus_module_5 from "@effect/io/Config/Secret";
6
- import * as tsplus_module_6 from "@fp-ts/data/HashSet";
6
+ import * as tsplus_module_6 from "@effect/data/HashSet";
7
7
  import * as tsplus_module_7 from "@effect/io/Ref";
8
8
  import * as tsplus_module_8 from "dfx";
9
9
  import * as tsplus_module_9 from "@effect/io/Layer";
10
- import { millis } from "@fp-ts/data/Duration";
10
+ import { millis } from "@effect/data/Duration";
11
11
  import Pkg from "../package.json" assert { type: "json" };
12
12
  import { rateLimitFromHeaders, retryAfter, routeFromConfig } from "./utils.js";
13
- const make = tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Http), http => tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.DiscordConfig.DiscordConfig), ({ token, rest }) => tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Log.Log), log => tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.RateLimitStore), store => tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.RateLimiter), ({ maybeWait }) => {
13
+ const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, rest }) => tsplus_module_2.flatMap(log => tsplus_module_2.flatMap(store => tsplus_module_2.flatMap(({ maybeWait }) => {
14
14
  const globalRateLimit = maybeWait("dfx.rest.global", rest.globalRateLimit.window, rest.globalRateLimit.limit);
15
- return tsplus_module_2.map(tsplus_module_7.make(tsplus_module_6.empty()), badRoutesRef => {
15
+ return tsplus_module_2.map(badRoutesRef => {
16
16
  const addBadRoute = (route) => tsplus_module_2.collectAllParDiscard([
17
17
  log.info("DiscordREST", "addBadRoute", route),
18
- tsplus_module_7.update(badRoutesRef, (s) => tsplus_module_6.add(s, route)),
18
+ tsplus_module_7.update(s => tsplus_module_6.add(route)(s))(badRoutesRef),
19
19
  store.incrementCounter("dfx.rest.invalid", tsplus_module_3.minutes(10).millis, 10000),
20
20
  ]);
21
- const isBadRoute = (route) => tsplus_module_2.map(tsplus_module_7.get(badRoutesRef), (s) => tsplus_module_6.has(s, route));
22
- const removeBadRoute = (route) => tsplus_module_7.update(badRoutesRef, (s) => tsplus_module_6.remove(s, route));
23
- const invalidRateLimit = (route) => tsplus_module_2.asUnit(tsplus_module_2.tap(isBadRoute(route), (invalid) => invalid
21
+ const isBadRoute = (route) => tsplus_module_2.map(s => tsplus_module_6.has(route)(s))(tsplus_module_7.get(badRoutesRef));
22
+ const removeBadRoute = (route) => tsplus_module_7.update(s => tsplus_module_6.remove(route)(s))(badRoutesRef);
23
+ const invalidRateLimit = (route) => tsplus_module_2.asUnit(tsplus_module_2.tap(invalid => invalid
24
24
  ? maybeWait("dfx.rest.invalid", tsplus_module_3.minutes(10), 10000)
25
- : tsplus_module_2.unit()));
25
+ : tsplus_module_2.unit())(isBadRoute(route)));
26
26
  // Request rate limiting
27
27
  const requestRateLimit = (path, init) => (() => {
28
28
  const route = routeFromConfig(path, init);
29
- return tsplus_module_2.flatMap(store.getBucketForRoute(route), maybeBucket => {
29
+ return tsplus_module_2.flatMap(maybeBucket => {
30
30
  const bucket = tsplus_module_4.getOrElse(() => ({
31
31
  key: `?.${route}`,
32
32
  resetAfter: 5000,
33
33
  limit: 1,
34
34
  }))(maybeBucket);
35
35
  const resetAfter = millis(bucket.resetAfter);
36
- return tsplus_module_2.flatMap(invalidRateLimit(route), () => tsplus_module_2.map(maybeWait(`dfx.rest.${bucket.key}`, resetAfter, bucket.limit), () => void 0));
37
- });
36
+ return tsplus_module_2.flatMap(() => tsplus_module_2.map(() => void 0)(maybeWait(`dfx.rest.${bucket.key}`, resetAfter, bucket.limit)))(invalidRateLimit(route));
37
+ })(store.getBucketForRoute(route));
38
38
  })();
39
39
  // Update rate limit buckets
40
40
  const updateBuckets = (path, init, response) => tsplus_module_2.ignore((() => {
41
41
  const route = routeFromConfig(path, init);
42
- return tsplus_module_2.flatMap(tsplus_module_2.fromOption(rateLimitFromHeaders(response.headers)), ({ bucket, retryAfter, limit, remaining }) => {
42
+ return tsplus_module_2.flatMap(({ bucket, retryAfter, limit, remaining }) => {
43
43
  const effectsToRun = [
44
44
  removeBadRoute(route),
45
45
  store.putBucketRoute(route, bucket),
46
46
  ];
47
- return tsplus_module_2.flatMap(store.hasBucket(bucket), hasBucket => {
47
+ return tsplus_module_2.flatMap(hasBucket => {
48
48
  if (!hasBucket || limit - 1 === remaining) {
49
49
  effectsToRun.push(store.removeCounter(`dfx.rest.?.${route}`), store.putBucket({
50
50
  key: bucket,
@@ -52,35 +52,35 @@ const make = tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Htt
52
52
  limit: !hasBucket && remaining > 0 ? remaining : limit,
53
53
  }));
54
54
  }
55
- return tsplus_module_2.map(tsplus_module_2.collectAllParDiscard(effectsToRun), () => void 0);
56
- });
57
- });
55
+ return tsplus_module_2.map(() => void 0)(tsplus_module_2.collectAllParDiscard(effectsToRun));
56
+ })(store.hasBucket(bucket));
57
+ })(tsplus_module_2.fromOption(rateLimitFromHeaders(response.headers)));
58
58
  })());
59
- const request = (path, init = {}) => tsplus_module_2.catchTag(tsplus_module_2.flatMap(requestRateLimit(path, init), () => tsplus_module_2.flatMap(globalRateLimit, () => tsplus_module_2.flatMap(http.requestWithJson(`${rest.baseUrl}${path}`, {
60
- ...init,
61
- headers: {
62
- ...(init?.headers ?? {}),
63
- Authorization: `Bot ${tsplus_module_5.value(token)}`,
64
- "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
65
- },
66
- }), response => tsplus_module_2.map(updateBuckets(path, init, response.response), () => response)))), "StatusCodeError", (e) => {
59
+ const request = (path, init = {}) => tsplus_module_2.catchTag("StatusCodeError", e => {
67
60
  switch (e.code) {
68
61
  case 403:
69
- return tsplus_module_2.flatMap(tsplus_module_2.collectAllParDiscard([
62
+ return tsplus_module_2.flatMap(() => tsplus_module_2.fail(e))(tsplus_module_2.collectAllParDiscard([
70
63
  log.info("DiscordREST", "403", path),
71
64
  addBadRoute(routeFromConfig(path, init)),
72
65
  updateBuckets(path, init, e.response),
73
- ]), () => tsplus_module_2.fail(e));
66
+ ]));
74
67
  case 429:
75
- return tsplus_module_2.flatMap(tsplus_module_2.collectAllParDiscard([
68
+ return tsplus_module_2.flatMap(() => request(path, init))(tsplus_module_2.collectAllParDiscard([
76
69
  log.info("DiscordREST", "429", path),
77
70
  addBadRoute(routeFromConfig(path, init)),
78
71
  updateBuckets(path, init, e.response),
79
72
  tsplus_module_2.sleep(tsplus_module_4.getOrElse(() => tsplus_module_3.seconds(5))(retryAfter(e.response.headers))),
80
- ]), () => request(path, init));
73
+ ]));
81
74
  }
82
75
  return tsplus_module_2.fail(e);
83
- });
76
+ })(tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(response => tsplus_module_2.map(() => response)(updateBuckets(path, init, response.response)))(http.requestWithJson(`${rest.baseUrl}${path}`, {
77
+ ...init,
78
+ headers: {
79
+ ...(init?.headers ?? {}),
80
+ Authorization: `Bot ${tsplus_module_5.value(token)}`,
81
+ "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
82
+ },
83
+ })))(globalRateLimit))(requestRateLimit(path, init)));
84
84
  const routes = tsplus_module_1.Discord.createRoutes(({ method, url, params, options = {}, }) => {
85
85
  const hasBody = method !== "GET" && method !== "DELETE";
86
86
  let hasFormData = typeof options?.body?.append === "function";
@@ -115,8 +115,8 @@ const make = tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Htt
115
115
  });
116
116
  });
117
117
  return { request, ...routes };
118
- });
119
- })))));
118
+ })(tsplus_module_7.make(tsplus_module_6.empty()));
119
+ })(tsplus_module_2.service(tsplus_module_8.RateLimiter)))(tsplus_module_2.service(tsplus_module_8.RateLimitStore)))(tsplus_module_2.service(tsplus_module_8.Log.Log)))(tsplus_module_2.service(tsplus_module_8.DiscordConfig.DiscordConfig)))(tsplus_module_2.service(tsplus_module_8.Http));
120
120
  export const DiscordREST = tsplus_module_1.Tag();
121
121
  export const LiveDiscordREST = tsplus_module_9.effect(DiscordREST, make);
122
122
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as tsplus_module_1 from "@fp-ts/core/Option";
2
- import * as tsplus_module_2 from "@fp-ts/data/Duration";
2
+ import * as tsplus_module_2 from "@effect/data/Duration";
3
3
  const majorResources = ["channels", "guilds", "webhooks"];
4
4
  export const routeFromConfig = (path, init) => {
5
5
  const method = (init?.method ?? "get").toLowerCase();
@@ -11,8 +11,8 @@ export const routeFromConfig = (path, init) => {
11
11
  .replace(/\/reactions\/(.*)/, "/reactions");
12
12
  return `${method}-${routeURL}`;
13
13
  };
14
- export const numberHeader = (headers) => (key) => tsplus_module_1.filter((n) => !isNaN(n))(tsplus_module_1.map(parseFloat)(tsplus_module_1.fromNullable(headers.get(key))));
15
- export const retryAfter = (headers) => tsplus_module_1.map(tsplus_module_2.seconds)(tsplus_module_1.catchAll(() => numberHeader(headers)("retry-after"))(numberHeader(headers)("x-ratelimit-reset-after")));
14
+ export const numberHeader = (headers) => (key) => tsplus_module_1.filter(tsplus_module_1.map(parseFloat)(tsplus_module_1.fromNullable(headers.get(key))), n => !isNaN(n));
15
+ export const retryAfter = (headers) => tsplus_module_1.map(tsplus_module_2.seconds)(tsplus_module_1.orElse(() => numberHeader(headers)("retry-after"))(numberHeader(headers)("x-ratelimit-reset-after")));
16
16
  export const rateLimitFromHeaders = (headers) => tsplus_module_1.struct({
17
17
  bucket: tsplus_module_1.fromNullable(headers.get("x-ratelimit-bucket")),
18
18
  retryAfter: retryAfter(headers),
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DiscordREST/utils.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAEpD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC9D,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAC3D;QACD,kBAAkB;SACjB,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAE7C,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAChE,uBAEU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAF1B,oBACO,UAAU,EADjB,6BAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAClB,CACS,CAAA;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,6CAAA,yBACY,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EADtD,YAAY,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CACO,CAC/B,CAAA;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACvD,uBAAa;IACX,MAAM,EAAE,6BAAmB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;IACjD,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC;CAC1D,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DiscordREST/utils.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAEpD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC9D,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAC3D;QACD,kBAAkB;SACjB,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAE7C,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAChE,uBAAA,oBACO,UAAU,EADjB,6BAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAClB,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,6CAAA,uBACU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EADpD,YAAY,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CACK,CAC7B,CAAA;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACvD,uBAAa;IACX,MAAM,EAAE,6BAAmB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;IACjD,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC;CAC1D,CAAC,CAAA"}
package/Helpers/flags.js CHANGED
@@ -3,7 +3,7 @@ export function all(flags) {
3
3
  }
4
4
  export function toList(flags) {
5
5
  const entries = Object.entries(flags);
6
- return (val) => entries.reduce((acc, [key, flag]) => ((val & flag) === flag ? [...acc, key] : acc), []);
6
+ return val => entries.reduce((acc, [key, flag]) => ((val & flag) === flag ? [...acc, key] : acc), []);
7
7
  }
8
8
  /**
9
9
  * Returns a function that converts a list of flags names to a bigint bitfield.
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/Helpers/flags.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,GAAG,CAAC,KAAiB;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;AAC/D,CAAC;AAWD,MAAM,UAAU,MAAM,CACpB,KAAQ;IAER,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,EAAE,EAAE,CACb,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACnE,EAAiB,CAClB,CAAA;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;IACxB,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;QACxB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/Helpers/flags.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,GAAG,CAAC,KAAiB;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;AAC/D,CAAC;AAWD,MAAM,UAAU,MAAM,CACpB,KAAQ;IAER,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,GAAG,CAAC,EAAE,CACX,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACnE,EAAiB,CAClB,CAAA;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAA0B,KAAQ,EAAE,EAAE,CACtC,CAAC,IAAiB,EAAE,EAAE,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;IACxB,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAA;QACxB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,UAAU,CAAA;IACjD,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -1,37 +1,37 @@
1
1
  import * as tsplus_module_1 from "dfx/_common";
2
2
  import * as tsplus_module_2 from "@fp-ts/core/Function";
3
3
  import * as tsplus_module_3 from "@fp-ts/core/Option";
4
- import * as tsplus_module_4 from "@fp-ts/data/HashMap";
4
+ import * as tsplus_module_4 from "@effect/data/HashMap";
5
5
  import { Product } from "@fp-ts/core/Option";
6
6
  import * as Arr from "@fp-ts/core/ReadonlyArray";
7
7
  /**
8
8
  * Maybe find a sub-command within the interaction options.
9
9
  */
10
- export const allSubCommands = (interaction) => tsplus_module_2.pipe(optionsWithNested(interaction), Arr.filter((o) => o.type === 1 /* Discord.ApplicationCommandOptionType.SUB_COMMAND */));
10
+ export const allSubCommands = (interaction) => tsplus_module_2.pipe(optionsWithNested(interaction), Arr.filter(o => o.type === 1 /* Discord.ApplicationCommandOptionType.SUB_COMMAND */));
11
11
  /**
12
12
  * Maybe find a sub-command within the interaction options.
13
13
  */
14
- export const findSubCommand = (name) => (interaction) => tsplus_module_2.pipe(optionsWithNested(interaction), Arr.findFirst((o) => o.type === 1 /* Discord.ApplicationCommandOptionType.SUB_COMMAND */ &&
14
+ export const findSubCommand = (name) => (interaction) => tsplus_module_2.pipe(optionsWithNested(interaction), Arr.findFirst(o => o.type === 1 /* Discord.ApplicationCommandOptionType.SUB_COMMAND */ &&
15
15
  o.name === name));
16
16
  /**
17
17
  * If the sub-command exists return `true`, else `false`.
18
18
  */
19
- export const isSubCommand = (name) => tsplus_module_2.flow(findSubCommand(name), (o) => tsplus_module_3.isSome(o));
19
+ export const isSubCommand = (name) => tsplus_module_2.flow(findSubCommand(name), o => tsplus_module_3.isSome(o));
20
20
  /**
21
21
  * Maybe get the options for a sub-command
22
22
  */
23
- export const subCommandOptions = (name) => tsplus_module_2.flow(findSubCommand(name), (o) => tsplus_module_3.flatMapNullable((o) => o.options)(o));
23
+ export const subCommandOptions = (name) => tsplus_module_2.flow(findSubCommand(name), o => tsplus_module_3.flatMapNullable(o => o.options)(o));
24
24
  /**
25
25
  * A lens for accessing nested options in a interaction.
26
26
  */
27
27
  export const optionsWithNested = (data) => {
28
- const optsFromOption = (opt) => tsplus_module_3.match(() => [], tsplus_module_2.identity)(tsplus_module_3.map((opts) => [...opts, ...opts.flatMap(optsFromOption)])(tsplus_module_3.fromNullable(opt.options)));
29
- return tsplus_module_3.getOrElse(() => [])(tsplus_module_3.map((opts) => [...opts, ...opts.flatMap(optsFromOption)])(tsplus_module_3.fromNullable(data.options)));
28
+ const optsFromOption = (opt) => tsplus_module_3.match(() => [], tsplus_module_2.identity)(tsplus_module_3.map(opts => [...opts, ...opts.flatMap(optsFromOption)])(tsplus_module_3.fromNullable(opt.options)));
29
+ return tsplus_module_3.getOrElse(() => [])(tsplus_module_3.map(opts => [...opts, ...opts.flatMap(optsFromOption)])(tsplus_module_3.fromNullable(data.options)));
30
30
  };
31
31
  /**
32
32
  * Return the interaction options as a name / value map.
33
33
  */
34
- export const transformOptions = (options) => options.reduce((map, option) => tsplus_module_4.set(map, option.name, option.value), tsplus_module_4.empty());
34
+ export const transformOptions = (options) => options.reduce((map, option) => tsplus_module_4.set(option.name, option.value)(map), tsplus_module_4.empty());
35
35
  /**
36
36
  * Return the interaction options as a name / value map.
37
37
  */
@@ -39,19 +39,19 @@ export const optionsMap = tsplus_module_2.flow(optionsWithNested, transformOptio
39
39
  /**
40
40
  * Try find a matching option from the interaction.
41
41
  */
42
- export const getOption = (name) => tsplus_module_2.flow(optionsWithNested, Arr.findFirst((o) => o.name === name));
42
+ export const getOption = (name) => tsplus_module_2.flow(optionsWithNested, Arr.findFirst(o => o.name === name));
43
43
  /**
44
44
  * Try find a matching option from the interaction.
45
45
  */
46
- export const focusedOption = tsplus_module_2.flow(optionsWithNested, Arr.findFirst((o) => o.focused === true));
46
+ export const focusedOption = tsplus_module_2.flow(optionsWithNested, Arr.findFirst(o => o.focused === true));
47
47
  /**
48
48
  * Try find a matching option value from the interaction.
49
49
  */
50
- export const optionValue = (name) => tsplus_module_2.flow(getOption(name), (o) => tsplus_module_3.flatMapNullable((o) => o.value)(o));
50
+ export const optionValue = (name) => tsplus_module_2.flow(getOption(name), o => tsplus_module_3.flatMapNullable(o => o.value)(o));
51
51
  /**
52
52
  * Try extract resolved data
53
53
  */
54
- export const resolved = (data) => tsplus_module_3.flatMapNullable((a) => a.resolved)(tsplus_module_3.fromNullable(data.data));
54
+ export const resolved = (data) => tsplus_module_3.flatMapNullable(a => a.resolved)(tsplus_module_3.fromNullable(data.data));
55
55
  /**
56
56
  * Try find a matching option value from the interaction.
57
57
  */
@@ -59,7 +59,7 @@ export const resolveOptionValue = (name, f) => (a) => tsplus_module_3.flatMap(da
59
59
  /**
60
60
  * Try find matching option values from the interaction.
61
61
  */
62
- export const resolveValues = (f) => (a) => tsplus_module_3.flatMap(values => tsplus_module_3.flatMap(r => Product.productAll(values.map((a) => tsplus_module_3.fromNullable(f(a, r)))))(resolved(a)))(tsplus_module_3.flatMapNullable((a) => a.values)(tsplus_module_3.fromNullable(a.data)));
62
+ export const resolveValues = (f) => (a) => tsplus_module_3.flatMap(values => tsplus_module_3.flatMap(r => Product.productAll(values.map(a => tsplus_module_3.fromNullable(f(a, r)))))(resolved(a)))(tsplus_module_3.flatMapNullable(a => a.values)(tsplus_module_3.fromNullable(a.data)));
63
63
  const extractComponents = (c) => {
64
64
  if ("components" in c) {
65
65
  return [...c.components, ...c.components.flatMap(extractComponents)];
@@ -76,11 +76,11 @@ export const components = (a) => [
76
76
  /**
77
77
  * A lens for accessing the components in a interaction.
78
78
  */
79
- export const componentsWithValue = tsplus_module_2.flow(components, Arr.filter((c) => "value" in c && c.value !== undefined));
79
+ export const componentsWithValue = tsplus_module_2.flow(components, Arr.filter(c => "value" in c && c.value !== undefined));
80
80
  /**
81
81
  * Return the interaction components as an id / value map.
82
82
  */
83
- export const transformComponents = (options) => options.reduce((map, c) => (c.custom_id ? tsplus_module_4.set(map, c.custom_id, c.value) : map), tsplus_module_4.empty());
83
+ export const transformComponents = (options) => options.reduce((map, c) => (c.custom_id ? tsplus_module_4.set(c.custom_id, c.value)(map) : map), tsplus_module_4.empty());
84
84
  /**
85
85
  * Return the interaction components as an id / value map.
86
86
  */
@@ -88,10 +88,10 @@ export const componentsMap = tsplus_module_2.flow(components, transformComponent
88
88
  /**
89
89
  * Try find a matching component from the interaction.
90
90
  */
91
- export const getComponent = (id) => tsplus_module_2.flow(components, Arr.findFirst((o) => o.custom_id === id));
91
+ export const getComponent = (id) => tsplus_module_2.flow(components, Arr.findFirst(o => o.custom_id === id));
92
92
  /**
93
93
  * Try find a matching component value from the interaction.
94
94
  */
95
- export const componentValue = (id) => tsplus_module_2.flow(getComponent(id), (o) => tsplus_module_3.flatMapNullable((o) => o.value)(o));
95
+ export const componentValue = (id) => tsplus_module_2.flow(getComponent(id), o => tsplus_module_3.flatMapNullable(o => o.value)(o));
96
96
  export const response = (r) => r;
97
97
  //# sourceMappingURL=interactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * From a list of roles, filter out the ones the guild member has.
3
3
  */
4
- export const roles = (roles) => (member) => roles.filter((role) => member.roles.includes(role.id) || role.name === "@everyone");
4
+ export const roles = (roles) => (member) => roles.filter(role => member.roles.includes(role.id) || role.name === "@everyone");
5
5
  /**
6
6
  * Type-guard function for checking if the object is a guild member
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/Helpers/members.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,CAAC,MAA2B,EAAE,EAAE,CAC9E,KAAK,CAAC,MAAM,CACV,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CACtE,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAc,EAAgC,EAAE,CACjE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/Helpers/members.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,CAAC,MAA2B,EAAE,EAAE,CAC9E,KAAK,CAAC,MAAM,CACV,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CACpE,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAc,EAAgC,EAAE,CACjE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA"}
@@ -54,7 +54,7 @@ export const forChannel = (roles) => ({ guild_id, permission_overwrites: overwri
54
54
  filteredOverwrites = overwrites.filter(overwriteIsForMember(guild_id)(memberOrRole));
55
55
  }
56
56
  else {
57
- const everyone = roles.find((role) => role.name === "@everyone");
57
+ const everyone = roles.find(role => role.name === "@everyone");
58
58
  basePermissions =
59
59
  BigInt(everyone?.permissions || "0") | BigInt(memberOrRole.permissions);
60
60
  filteredOverwrites = overwrites.filter(overwriteIsForRole(guild_id)(memberOrRole));
@@ -68,15 +68,15 @@ export const forChannel = (roles) => ({ guild_id, permission_overwrites: overwri
68
68
  * Apply permission overwrites to a bitfield.
69
69
  */
70
70
  export const applyOverwrites = (permissions) => (overwrites) => overwrites.reduce((permissions, overwrite) => (permissions & ~BigInt(overwrite.deny)) | BigInt(overwrite.allow), permissions);
71
- export const hasInChannel = (rolesCache, permission) => (channel, memberOrRole) => tsplus_module_4.map(rolesCache.getForParent(channel.guild_id), roles => {
71
+ export const hasInChannel = (rolesCache, permission) => (channel, memberOrRole) => tsplus_module_4.map(roles => {
72
72
  const channelPerms = forChannel([...roles.values()])(channel)(memberOrRole);
73
73
  return has(permission)(channelPerms);
74
- });
75
- export const hasInGuild = (rolesCache, permission) => (guildId, member) => tsplus_module_4.map(rolesCache.getForParent(guildId), roles => {
74
+ })(rolesCache.getForParent(channel.guild_id));
75
+ export const hasInGuild = (rolesCache, permission) => (guildId, member) => tsplus_module_4.map(roles => {
76
76
  const hasPerm = has(permission);
77
- return member.roles.some((id) => {
77
+ return member.roles.some(id => {
78
78
  const role = roles.get(id);
79
79
  return role ? hasPerm(role.permissions) : false;
80
80
  });
81
- });
81
+ })(rolesCache.getForParent(guildId));
82
82
  //# sourceMappingURL=permissions.js.map