dfx 0.21.21 → 0.22.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 (99) hide show
  1. package/Cache/memory.d.ts +2 -2
  2. package/Cache/memoryTTL.d.ts +2 -2
  3. package/Cache/prelude.d.ts +5 -5
  4. package/Cache/prelude.js +1 -1
  5. package/Cache/prelude.js.map +1 -1
  6. package/Cache.d.ts +69 -0
  7. package/{Cache/index.js → Cache.js} +4 -4
  8. package/Cache.js.map +1 -0
  9. package/{DiscordConfig/index.d.ts → DiscordConfig.d.ts} +3 -3
  10. package/{DiscordConfig/index.js → DiscordConfig.js} +1 -1
  11. package/DiscordConfig.js.map +1 -0
  12. package/DiscordGateway/{DiscordWS/index.d.ts → DiscordWS.d.ts} +5 -5
  13. package/DiscordGateway/{DiscordWS/index.js → DiscordWS.js} +1 -1
  14. package/DiscordGateway/DiscordWS.js.map +1 -0
  15. package/DiscordGateway/Shard/heartbeats.d.ts +1 -1
  16. package/DiscordGateway/Shard/identify.d.ts +1 -1
  17. package/DiscordGateway/Shard/identify.js +2 -2
  18. package/DiscordGateway/Shard/identify.js.map +1 -1
  19. package/DiscordGateway/Shard/invalidSession.d.ts +1 -1
  20. package/DiscordGateway/Shard/utils.d.ts +2 -2
  21. package/DiscordGateway/Shard/utils.js +1 -1
  22. package/DiscordGateway/Shard/utils.js.map +1 -1
  23. package/DiscordGateway/Shard.d.ts +9 -0
  24. package/DiscordGateway/{Shard/index.js → Shard.js} +7 -7
  25. package/DiscordGateway/Shard.js.map +1 -0
  26. package/DiscordGateway/{ShardStore/index.d.ts → ShardStore.d.ts} +2 -2
  27. package/DiscordGateway/{ShardStore/index.js → ShardStore.js} +1 -1
  28. package/DiscordGateway/ShardStore.js.map +1 -0
  29. package/DiscordGateway/Sharder.d.ts +16 -0
  30. package/DiscordGateway/{Sharder/index.js → Sharder.js} +3 -3
  31. package/DiscordGateway/Sharder.js.map +1 -0
  32. package/DiscordGateway/{WS/index.d.ts → WS.d.ts} +1 -1
  33. package/DiscordGateway/{WS/index.js → WS.js} +1 -1
  34. package/DiscordGateway/WS.js.map +1 -0
  35. package/DiscordGateway.d.ts +12 -0
  36. package/{DiscordGateway/index.js → DiscordGateway.js} +2 -2
  37. package/{DiscordGateway/index.js.map → DiscordGateway.js.map} +1 -1
  38. package/DiscordREST/types.d.ts +5 -7
  39. package/DiscordREST/utils.d.ts +1 -1
  40. package/DiscordREST/utils.js +3 -4
  41. package/DiscordREST/utils.js.map +1 -1
  42. package/DiscordREST.d.ts +194 -0
  43. package/DiscordREST.js +120 -0
  44. package/DiscordREST.js.map +1 -0
  45. package/Helpers/interactions.js +8 -8
  46. package/Helpers/interactions.js.map +1 -1
  47. package/Helpers/permissions.d.ts +2 -2
  48. package/Interactions/context.d.ts +6 -6
  49. package/Interactions/context.js +4 -4
  50. package/Interactions/context.js.map +1 -1
  51. package/Interactions/gateway.d.ts +4 -2
  52. package/Interactions/gateway.js +2 -3
  53. package/Interactions/gateway.js.map +1 -1
  54. package/Interactions/handlers.js +6 -6
  55. package/Interactions/handlers.js.map +1 -1
  56. package/Interactions/index.d.ts +3 -2
  57. package/Interactions/index.js +2 -1
  58. package/Interactions/index.js.map +1 -1
  59. package/Interactions/webhook.d.ts +3 -3
  60. package/Log.d.ts +12 -0
  61. package/{Log/index.js → Log.js} +1 -1
  62. package/Log.js.map +1 -0
  63. package/RateLimit/memory.d.ts +1 -1
  64. package/RateLimit/memory.js +2 -2
  65. package/RateLimit/memory.js.map +1 -1
  66. package/{RateLimit/index.d.ts → RateLimit.d.ts} +6 -6
  67. package/{RateLimit/index.js → RateLimit.js} +3 -3
  68. package/RateLimit.js.map +1 -0
  69. package/gateway.d.ts +10 -10
  70. package/gateway.js +11 -12
  71. package/gateway.js.map +1 -1
  72. package/global.d.ts +1 -1
  73. package/index.d.ts +5 -6
  74. package/index.js +5 -6
  75. package/index.js.map +1 -1
  76. package/package.json +12 -10
  77. package/webhooks.d.ts +4 -4
  78. package/webhooks.js +3 -4
  79. package/webhooks.js.map +1 -1
  80. package/Cache/index.d.ts +0 -69
  81. package/Cache/index.js.map +0 -1
  82. package/DiscordConfig/index.js.map +0 -1
  83. package/DiscordGateway/DiscordWS/index.js.map +0 -1
  84. package/DiscordGateway/Shard/index.d.ts +0 -9
  85. package/DiscordGateway/Shard/index.js.map +0 -1
  86. package/DiscordGateway/ShardStore/index.js.map +0 -1
  87. package/DiscordGateway/Sharder/index.d.ts +0 -16
  88. package/DiscordGateway/Sharder/index.js.map +0 -1
  89. package/DiscordGateway/WS/index.js.map +0 -1
  90. package/DiscordGateway/index.d.ts +0 -12
  91. package/DiscordREST/index.d.ts +0 -188
  92. package/DiscordREST/index.js +0 -122
  93. package/DiscordREST/index.js.map +0 -1
  94. package/Http/index.d.ts +0 -37
  95. package/Http/index.js +0 -51
  96. package/Http/index.js.map +0 -1
  97. package/Log/index.d.ts +0 -12
  98. package/Log/index.js.map +0 -1
  99. package/RateLimit/index.js.map +0 -1
package/Cache/memory.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { Maybe } from "dfx/_common";
2
- export declare const createWithParent: <T>() => import("../_common.js").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
3
- export declare const create: <T>() => import("../_common.js").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
2
+ export declare const createWithParent: <T>() => import("@effect-http/client/_common").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
3
+ export declare const create: <T>() => import("@effect-http/client/_common").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
@@ -16,5 +16,5 @@ export interface MemoryTTLOpts {
16
16
  */
17
17
  strategy?: "activity" | "usage" | "expiry";
18
18
  }
19
- export declare const create: <T>(opts: MemoryTTLOpts) => import("../_common.js").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
20
- export declare const createWithParent: <T>(opts: MemoryTTLOpts) => import("../_common.js").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
19
+ export declare const create: <T>(opts: MemoryTTLOpts) => import("@effect-http/client/_common").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
20
+ export declare const createWithParent: <T>(opts: MemoryTTLOpts) => import("@effect-http/client/_common").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
@@ -1,7 +1,7 @@
1
1
  import { DiscordREST } from "dfx";
2
2
  import { Gateway } from "dfx/gateway";
3
3
  import { Discord, Effect, Stream } from "dfx/_common";
4
- import { CacheDriver, CacheMissError, CacheOp, ParentCacheDriver, ParentCacheOp } from "./index.js";
4
+ import { CacheDriver, CacheMissError, CacheOp, ParentCacheDriver, ParentCacheOp } from "../Cache.js";
5
5
  export interface OptsWithParentOptions<E, A> {
6
6
  id: (a: A) => string;
7
7
  fromParent: Stream<never, E, [parentId: string, resources: A[]]>;
@@ -19,7 +19,7 @@ export interface OpsOptions<E, A> {
19
19
  }
20
20
  export declare const ops: <E, T>({ id, create, update, remove }: OpsOptions<E, T>) => Stream<never, E, CacheOp<T>>;
21
21
  export declare const guilds: <RM, EM, E>(makeDriver: Effect<RM, EM, CacheDriver<E, Discord.Guild>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
22
- get: (id: string) => Effect<never, import("dfx").FetchError | import("dfx").StatusCodeError | import("dfx").JsonParseError | E, Discord.Guild>;
22
+ get: (id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").HttpClientError | E, Discord.Guild>;
23
23
  run: Effect<never, E, void>;
24
24
  size: Effect<never, E, number>;
25
25
  set: (resourceId: string, resource: Discord.Guild) => Effect<never, E, void>;
@@ -27,8 +27,8 @@ export declare const guilds: <RM, EM, E>(makeDriver: Effect<RM, EM, CacheDriver<
27
27
  refreshTTL: (resourceId: string) => Effect<never, E, void>;
28
28
  }>;
29
29
  export declare const channels: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
30
- get: (parentId: string, id: string) => Effect<never, import("dfx").FetchError | import("dfx").StatusCodeError | import("dfx").JsonParseError | E, Discord.Channel>;
31
- getForParent: (parentId: string) => Effect<never, import("dfx").FetchError | import("dfx").StatusCodeError | import("dfx").JsonParseError | E, ReadonlyMap<string, Discord.Channel>>;
30
+ get: (parentId: string, id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").HttpClientError | E, Discord.Channel>;
31
+ getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").HttpClientError | E, ReadonlyMap<string, Discord.Channel>>;
32
32
  run: Effect<never, E, void>;
33
33
  size: Effect<never, E, number>;
34
34
  sizeForParent: (parentId: string) => Effect<never, E, number>;
@@ -39,7 +39,7 @@ export declare const channels: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCach
39
39
  }>;
40
40
  export declare const roles: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
41
41
  get: (parentId: string, id: string) => Effect<never, CacheMissError | E, Discord.Role>;
42
- getForParent: (parentId: string) => Effect<never, import("dfx").FetchError | import("dfx").StatusCodeError | import("dfx").JsonParseError | E, ReadonlyMap<string, Discord.Role>>;
42
+ getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").HttpClientError | E, ReadonlyMap<string, Discord.Role>>;
43
43
  run: Effect<never, E, void>;
44
44
  size: Effect<never, E, number>;
45
45
  sizeForParent: (parentId: string) => Effect<never, E, number>;
package/Cache/prelude.js CHANGED
@@ -2,7 +2,7 @@ import * as tsplus_module_1 from "@effect/stream/Stream";
2
2
  import * as tsplus_module_2 from "@effect/io/Effect";
3
3
  import { DiscordREST } from "dfx";
4
4
  import { Gateway } from "dfx/gateway";
5
- import { CacheMissError, make, makeWithParent, } from "./index.js";
5
+ import { CacheMissError, make, makeWithParent, } from "../Cache.js";
6
6
  export const opsWithParent = ({ id, fromParent, create, update, remove, parentRemove, }) => {
7
7
  const fromParentOps = tsplus_module_1.flatMap(fromParent, ([parentId, a]) => tsplus_module_1.fromIterable(a.map((resource) => ({
8
8
  op: "create",
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":"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"}
package/Cache.d.ts ADDED
@@ -0,0 +1,69 @@
1
+ import { Stream, Effect } from "dfx/_common";
2
+ import { CacheDriver, ParentCacheDriver } from "./Cache/driver.js";
3
+ export * from "./Cache/driver.js";
4
+ export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./Cache/memory.js";
5
+ export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./Cache/memoryTTL.js";
6
+ export type ParentCacheOp<T> = {
7
+ op: "create";
8
+ parentId: string;
9
+ resourceId: string;
10
+ resource: T;
11
+ } | {
12
+ op: "update";
13
+ parentId: string;
14
+ resourceId: string;
15
+ resource: T;
16
+ } | {
17
+ op: "delete";
18
+ parentId: string;
19
+ resourceId: string;
20
+ } | {
21
+ op: "parentDelete";
22
+ parentId: string;
23
+ };
24
+ export type CacheOp<T> = {
25
+ op: "create";
26
+ resourceId: string;
27
+ resource: T;
28
+ } | {
29
+ op: "update";
30
+ resourceId: string;
31
+ resource: T;
32
+ } | {
33
+ op: "delete";
34
+ resourceId: string;
35
+ };
36
+ export declare const makeWithParent: <EOps, EDriver, EMiss, EPMiss, A>({ driver, ops, onMiss, onParentMiss, }: {
37
+ driver: ParentCacheDriver<EDriver, A>;
38
+ ops?: import("@effect-http/client/_common").Stream<never, EOps, ParentCacheOp<A>> | undefined;
39
+ onMiss: (parentId: string, id: string) => import("@effect-http/client/_common").Effect<never, EMiss, A>;
40
+ onParentMiss: (parentId: string) => import("@effect-http/client/_common").Effect<never, EPMiss, [id: string, resource: A][]>;
41
+ }) => {
42
+ get: (parentId: string, id: string) => import("@effect-http/client/_common").Effect<never, EDriver | EMiss, A>;
43
+ getForParent: (parentId: string) => import("@effect-http/client/_common").Effect<never, EDriver | EPMiss, ReadonlyMap<string, A>>;
44
+ run: import("@effect-http/client/_common").Effect<never, EOps | EDriver, void>;
45
+ size: import("@effect-http/client/_common").Effect<never, EDriver, number>;
46
+ sizeForParent: (parentId: string) => import("@effect-http/client/_common").Effect<never, EDriver, number>;
47
+ set: (parentId: string, resourceId: string, resource: A) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
48
+ delete: (parentId: string, resourceId: string) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
49
+ parentDelete: (parentId: string) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
50
+ refreshTTL: (parentId: string, resourceId: string) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
51
+ };
52
+ export declare const make: <EOps, EDriver, EMiss, A>({ driver, ops, onMiss, }: {
53
+ driver: CacheDriver<EDriver, A>;
54
+ ops?: import("@effect-http/client/_common").Stream<never, EOps, CacheOp<A>> | undefined;
55
+ onMiss: (id: string) => import("@effect-http/client/_common").Effect<never, EMiss, A>;
56
+ }) => {
57
+ get: (id: string) => import("@effect-http/client/_common").Effect<never, EDriver | EMiss, A>;
58
+ run: import("@effect-http/client/_common").Effect<never, EOps | EDriver, void>;
59
+ size: import("@effect-http/client/_common").Effect<never, EDriver, number>;
60
+ set: (resourceId: string, resource: A) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
61
+ delete: (resourceId: string) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
62
+ refreshTTL: (resourceId: string) => import("@effect-http/client/_common").Effect<never, EDriver, void>;
63
+ };
64
+ export declare class CacheMissError {
65
+ readonly cacheName: string;
66
+ readonly id: string;
67
+ readonly _tag = "CacheMissError";
68
+ constructor(cacheName: string, id: string);
69
+ }
@@ -1,8 +1,8 @@
1
1
  import * as tsplus_module_1 from "@effect/stream/Stream";
2
2
  import * as tsplus_module_2 from "@effect/io/Effect";
3
- export * from "./driver.js";
4
- export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./memory.js";
5
- export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./memoryTTL.js";
3
+ export * from "./Cache/driver.js";
4
+ export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./Cache/memory.js";
5
+ export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./Cache/memoryTTL.js";
6
6
  export const makeWithParent = ({ driver, ops = tsplus_module_1.empty, onMiss, onParentMiss, }) => {
7
7
  const sync = tsplus_module_1.runDrain(tsplus_module_1.tap(ops, (op) => {
8
8
  switch (op.op) {
@@ -49,4 +49,4 @@ export class CacheMissError {
49
49
  this.id = id;
50
50
  }
51
51
  }
52
- //# sourceMappingURL=index.js.map
52
+ //# sourceMappingURL=Cache.js.map
package/Cache.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":";;AAEA,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,gBAAgB,IAAI,kBAAkB,GACvC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,MAAM,IAAI,eAAe,EACzB,gBAAgB,IAAI,qBAAqB,GAC1C,MAAM,sBAAsB,CAAA;AAa7B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAkC,EAC9D,MAAM,EACN,GAAG,wBAAe,EAClB,MAAM,EACN,YAAY,GAQb,EAAE,EAAE;IACH,MAAM,IAAI,4BAAG,oBAAA,GAAG,EAAK,CAAC,EAAE,EAAgC,EAAE;QACxD,QAAQ,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;YAE5D,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;YAElD,KAAK,cAAc;gBACjB,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;SAC1C;IACH,CAAC,CAAC,CAAS,CAAA;IAEX,OAAO;QACL,GAAG,MAAM;QACT,GAAG,EAAE,CAAC,QAAgB,EAAE,EAAU,EAAE,EAAE,CACpC,iCAAA,MAAM;aACH,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,EACA,GAAG,EAAE,CACrB,oBAAA,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAC3D;QAEL,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CACjC,iCAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAkB,GAAG,EAAE,CAClD,oBAAA,oBAAA,YAAY,CAAC,QAAQ,CAAC,EAElB,OAAO,CAAC,EAAE,+BACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CACrC,CACnB,EACI,OAAO,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAA2B,CAAC,CAC9D;QAEH,GAAG,yBAAE,uBAAA,IAAI,EAAQ,MAAM,CAAC,GAAG,CAAC,CAAO;KACpC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAA0B,EAC5C,MAAM,EACN,GAAG,wBAAe,EAClB,MAAM,GAKP,EAAE,EAAE;IACH,MAAM,IAAI,4BAAG,oBAAA,GAAG,EAAK,CAAC,EAAE,EAAgC,EAAE;QACxD,QAAQ,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;YAE/C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;SACtC;IACH,CAAC,CAAC,CAAS,CAAA;IAEX,OAAO;QACL,GAAG,MAAM;QACT,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAClB,iCAAA,MAAM;aACH,GAAG,CAAC,EAAE,CAAC,EACU,GAAG,EAAE,CAAC,oBAAA,MAAM,CAAC,EAAE,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,GAAG,yBAAE,uBAAA,IAAI,EAAQ,MAAM,CAAC,GAAG,CAAC,CAAO;KACpC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,cAAc;IAEJ;IAA4B;IADxC,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,SAAiB,EAAW,EAAU;QAAtC,cAAS,GAAT,SAAS,CAAQ;QAAW,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;CAChE"}
@@ -15,12 +15,12 @@ export interface DiscordConfig {
15
15
  identifyRateLimit: readonly [window: number, limit: number];
16
16
  };
17
17
  }
18
- export declare const DiscordConfig: import("../_common.js").Tag<DiscordConfig>;
18
+ export declare const DiscordConfig: import("@effect-http/client/_common").Tag<DiscordConfig>;
19
19
  export interface MakeOpts {
20
20
  token: ConfigSecret;
21
21
  rest?: Partial<DiscordConfig["rest"]>;
22
22
  gateway?: Partial<DiscordConfig["gateway"]>;
23
23
  }
24
24
  export declare const make: ({ token, rest, gateway }: MakeOpts) => DiscordConfig;
25
- export declare const makeLayer: (a_0: MakeOpts) => import("../_common.js").Layer<never, never, DiscordConfig>;
26
- export declare const makeFromConfig: (_: Config.Wrap<MakeOpts>) => import("../_common.js").Layer<never, import("../_common.js").ConfigError, DiscordConfig>;
25
+ export declare const makeLayer: (a_0: MakeOpts) => import("./_common.js").Layer<never, never, DiscordConfig>;
26
+ export declare const makeFromConfig: (_: Config.Wrap<MakeOpts>) => import("./_common.js").Layer<never, import("./_common.js").ConfigError, DiscordConfig>;
@@ -25,4 +25,4 @@ export const make = ({ token, rest, gateway }) => ({
25
25
  });
26
26
  export const makeLayer = tsplus_module_4.flow(make, _ => tsplus_module_3.succeed(DiscordConfig, _));
27
27
  export const makeFromConfig = (_) => tsplus_module_6.toLayer(tsplus_module_6.map(tsplus_module_6.config(tsplus_module_5.unwrap(_)), make), DiscordConfig);
28
- //# sourceMappingURL=index.js.map
28
+ //# sourceMappingURL=DiscordConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordConfig.js","sourceRoot":"","sources":["../src/DiscordConfig.ts"],"names":[],"mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,EAAE,CAAA;AAmBlB,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAA,GAAG,EAAiB,CAAA;AAQjD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAY,EAAiB,EAAE,CAAC,CAAC;IAC1E,KAAK;IACL,IAAI,EAAE;QACJ,OAAO,EAAE,4BAA4B,OAAO,EAAE;QAC9C,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,eAAe,EAAE;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,wBAAiB,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,EAAE,eAAe,IAAI,EAAE,CAAC;SACjC;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,gBAAA,OAAO,CAAC,cAAc,CAAC,MAAM;QACtC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;KACnB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,wBAAc,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAwB,EAAE,EAAE,CACzD,wBAAA,2CAAA,uBAAc,CAAC,CAAC,GAAY,IAAI,CAAC,EAAS,aAAa,CAAC,CAAA"}
@@ -14,9 +14,9 @@ export interface DiscordWSCodec {
14
14
  encode: (p: Discord.GatewayPayload) => string;
15
15
  decode: (p: WebSocket.Data) => Discord.GatewayPayload;
16
16
  }
17
- export declare const DiscordWSCodec: import("../../_common.js").Tag<DiscordWSCodec>;
18
- export declare const LiveJsonDiscordWSCodec: import("../../_common.js").Layer<never, never, DiscordWSCodec>;
19
- export declare const make: ({ url, version, outbound, }: OpenOpts) => import("../../_common.js").Effect<import("../../Log/index.js").Log | DiscordWSCodec, never, {
20
- source: import("../../_common.js").Stream<never, never, import("../../types.js").GatewayPayload<any>>;
21
- setUrl: (url: string) => import("../../_common.js").Effect<never, never, void>;
17
+ export declare const DiscordWSCodec: import("@effect-http/client/_common").Tag<DiscordWSCodec>;
18
+ export declare const LiveJsonDiscordWSCodec: import("../_common.js").Layer<never, never, DiscordWSCodec>;
19
+ export declare const make: ({ url, version, outbound, }: OpenOpts) => import("@effect-http/client/_common").Effect<import("../Log.js").Log | DiscordWSCodec, never, {
20
+ source: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
21
+ setUrl: (url: string) => import("@effect-http/client/_common").Effect<never, never, void>;
22
22
  }>;
@@ -22,4 +22,4 @@ export const make = ({ url = "wss://gateway.discord.gg/", version = 10, outbound
22
22
  return { source, setUrl };
23
23
  });
24
24
  }));
25
- //# sourceMappingURL=index.js.map
25
+ //# sourceMappingURL=DiscordWS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordWS.js","sourceRoot":"","sources":["../../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAc,cAAc,EAAE;IAClE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACnB,GAAG,GAAG,2BAA2B,EACjC,OAAO,GAAG,EAAE,EACZ,QAAQ,GACC,EAAE,EAAE,yBAEQ,wBAAe,cAAc,CAAC,EAA3C,QAAQ,4BACG,qBAAS,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,EAApE,MAAM;IACZ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,oBAAA,MAAM,EAAK,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,oBAAA,QAAQ,EAAK,CAAC,CAAC,EAAE,CAC5B,CAAC,KAAK,gBAAA,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5C,CAAA;+BACa,wBAAe,gBAAA,GAAG,CAAC,GAAG,CAAC,EAA/B,GAAG;QACT,MAAM,EAAE,GAAG,+BAAA,gBAAA,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAgB,gBAAA,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,oBAAA,sBAAA,yBAAA,EAAE,EACL,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAC1C,4BAAqB,wBAAiB,GAAG,CAAC,CAAC,CAAC,EAC9C,QAAQ,CAAC,MAAM,CAAiD,CAAA;QAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;;GACzB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { Ref, Maybe, Effect, Stream, Discord } from "dfx/_common";
2
2
  import { DiscordWS } from "dfx/gateway";
3
- export declare const fromRaw: <R, E>(source: import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<any>>, seqRef: Ref<Maybe<number>>) => import("../../_common.js").Stream<R, E, import("../DiscordWS/index.js").Message>;
3
+ export declare const fromRaw: <R, E>(source: import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>, seqRef: Ref<Maybe<number>>) => import("@effect-http/client/_common").Stream<R, E, import("../DiscordWS.js").Message>;
@@ -9,4 +9,4 @@ export interface Requirements {
9
9
  latestReady: Ref<Maybe<Discord.ReadyEvent>>;
10
10
  latestSequence: Ref<Maybe<number>>;
11
11
  }
12
- export declare const fromRaw: <R, E>(source: import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<any>>, { latestReady, latestSequence, ...opts }: Options & Requirements) => import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<any>>;
12
+ export declare const fromRaw: <R, E>(source: import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>, { latestReady, latestSequence, ...opts }: Options & Requirements) => import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>;
@@ -22,9 +22,9 @@ const resume = (token, ready, seq) => SendEvents.resume({
22
22
  session_id: ready.session_id,
23
23
  seq,
24
24
  });
25
- const identifyOrResume = (opts, ready, seq) => tsplus_module_3.flatMap(tsplus_module_2.get(ready), readyEvent => tsplus_module_3.map(tsplus_module_2.get(seq), seqNumber => tsplus_module_1.match(() => identify(opts), ({ readyEvent, seqNumber }) => resume(opts.token, readyEvent, seqNumber))(tsplus_module_1.struct({
25
+ const identifyOrResume = (opts, ready, seq) => tsplus_module_3.flatMap(tsplus_module_2.get(ready), readyEvent => tsplus_module_3.map(tsplus_module_2.get(seq), seqNumber => tsplus_module_1.match(tsplus_module_1.struct({
26
26
  readyEvent,
27
27
  seqNumber,
28
- }))));
28
+ }), () => identify(opts), ({ readyEvent, seqNumber }) => resume(opts.token, readyEvent, seqNumber))));
29
29
  export const fromRaw = (source, { latestReady, latestSequence, ...opts }) => tsplus_module_5.mapEffect(opCode(source)(10 /* Discord.GatewayOpcode.HELLO */), () => identifyOrResume(opts, latestReady, latestSequence));
30
30
  //# sourceMappingURL=identify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identify.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAcnC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAW,EAAE,EAAE,CAChE,UAAU,CAAC,QAAQ,CAAC;IAClB,KAAK;IACL,OAAO;IACP,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd;IACD,KAAK;IACL,QAAQ;CACT,CAAC,CAAA;AAEJ,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,KAAyB,EAAE,GAAW,EAAE,EAAE,CACvE,UAAU,CAAC,MAAM,CAAC;IAChB,KAAK;IACL,UAAU,EAAE,KAAK,CAAC,UAAU;IAC5B,GAAG;CACJ,CAAC,CAAA;AAEJ,MAAM,gBAAgB,GAAG,CACvB,IAAa,EACb,KAAqC,EACrC,GAAuB,EACvB,EAAE,6CAEqB,KAAK,GAApB,UAAU,4CACI,GAAG,GAAjB,SAAS,IAER,sBAIL,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EALnE,uBAAa;IAClB,UAAU;IACV,SAAS;CACV,CAAC,CAGD,EACD,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA4C,EAC5C,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,EAA0B,EAChE,EAAE,CACF,0BAAA,MAAM,CAAC,MAAM,CAAC,sCAAiD,EAC7D,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAC1D,CAAA"}
1
+ {"version":3,"file":"identify.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAcnC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAW,EAAE,EAAE,CAChE,UAAU,CAAC,QAAQ,CAAC;IAClB,KAAK;IACL,OAAO;IACP,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd;IACD,KAAK;IACL,QAAQ;CACT,CAAC,CAAA;AAEJ,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,KAAyB,EAAE,GAAW,EAAE,EAAE,CACvE,UAAU,CAAC,MAAM,CAAC;IAChB,KAAK;IACL,UAAU,EAAE,KAAK,CAAC,UAAU;IAC5B,GAAG;CACJ,CAAC,CAAA;AAEJ,MAAM,gBAAgB,GAAG,CACvB,IAAa,EACb,KAAqC,EACrC,GAAuB,EACvB,EAAE,6CAEqB,KAAK,GAApB,UAAU,4CACI,GAAG,GAAjB,SAAS,IAER,sBAAA,uBAAa;IAClB,UAAU;IACV,SAAS;CACV,CAAC,EACA,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CACzE,EACD,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA4C,EAC5C,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,EAA0B,EAChE,EAAE,CACF,0BAAA,MAAM,CAAC,MAAM,CAAC,sCAAiD,EAC7D,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAC1D,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { Stream, Discord, Ref, Maybe } from "dfx/_common";
2
2
  import { DiscordWS } from "dfx/gateway";
3
- export declare const fromRaw: <R, E>(raw: import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<any>>, latestReady: Ref<Maybe<Discord.ReadyEvent>>) => import("../../_common.js").Stream<R, E, import("../DiscordWS/index.js").Message>;
3
+ export declare const fromRaw: <R, E>(raw: import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>, latestReady: Ref<Maybe<Discord.ReadyEvent>>) => import("@effect-http/client/_common").Stream<R, E, import("../DiscordWS.js").Message>;
@@ -1,3 +1,3 @@
1
1
  import { Stream, Discord, Maybe, Ref } from "dfx/_common";
2
- export declare const opCode: <R, E>(source: import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<any>>) => <T = any>(code: Discord.GatewayOpcode) => import("../../_common.js").Stream<R, E, import("../../types.js").GatewayPayload<T>>;
3
- export declare const latest: <T>(f: (p: Discord.GatewayPayload) => import("../../_common.js").Maybe<T>) => import("../../_common.js").Effect<never, never, readonly [import("../../_common.js").Ref<import("../../_common.js").Maybe<T>>, (p: import("../../types.js").GatewayPayload<any>) => import("../../_common.js").Effect<never, never, void>]>;
2
+ export declare const opCode: <R, E>(source: import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>) => <T = any>(code: Discord.GatewayOpcode) => import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>;
3
+ export declare const latest: <T>(f: (p: Discord.GatewayPayload) => import("../../_common.js").Maybe<T>) => import("@effect-http/client/_common").Effect<never, never, readonly [import("../../_common.js").Ref<import("../../_common.js").Maybe<T>>, (p: import("../../types.js").GatewayPayload<any>) => import("@effect-http/client/_common").Effect<never, never, void>]>;
@@ -4,6 +4,6 @@ import * as tsplus_module_3 from "@fp-ts/core/Option";
4
4
  import * as tsplus_module_4 from "@effect/io/Ref";
5
5
  import * as tsplus_module_5 from "@fp-ts/core/Function";
6
6
  export const opCode = (source) => (code) => tsplus_module_1.filter(source, (p) => p.op === code);
7
- const maybeUpdateRef = (f, ref) => tsplus_module_5.flow(f, o => tsplus_module_3.match(tsplus_module_2.unit, a => tsplus_module_4.set(ref, tsplus_module_3.some(a)))(o));
7
+ const maybeUpdateRef = (f, ref) => tsplus_module_5.flow(f, o => tsplus_module_3.match(o, tsplus_module_2.unit, a => tsplus_module_4.set(ref, tsplus_module_3.some(a))));
8
8
  export const latest = (f) => tsplus_module_2.map(tsplus_module_4.make(tsplus_module_3.none()), ref => [ref, maybeUpdateRef(f, ref)]);
9
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,CAAC,MAAM,MAAM,GACjB,CAAO,MAA4C,EAAE,EAAE,CACvD,CAAU,IAA2B,EAAE,EAAE,CACvC,uBAAA,MAAM,EAAQ,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;AAEvE,MAAM,cAAc,GAAG,CACrB,CAA0C,EAC1C,GAAkB,EAClB,EAAE,CAAC,gBAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,4CAAqB,CAAC,CAAC,EAAE,CAAC,oBAAA,GAAG,EAAK,qBAAW,CAAC,CAAC,CAAC,EAAhD,CAAC,CAAgD,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,CAA0C,EAAE,EAAE,CACtE,oBAAA,qBAAmB,sBAAY,CAAC,EAC9B,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAU,CAC9C,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,CAAC,MAAM,MAAM,GACjB,CAAO,MAA4C,EAAE,EAAE,CACvD,CAAU,IAA2B,EAAE,EAAE,CACvC,uBAAA,MAAM,EAAQ,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;AAEvE,MAAM,cAAc,GAAG,CACrB,CAA0C,EAC1C,GAAkB,EAClB,EAAE,CAAC,gBAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,sBAAA,CAAC,wBAAoB,CAAC,CAAC,EAAE,CAAC,oBAAA,GAAG,EAAK,qBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,CAA0C,EAAE,EAAE,CACtE,oBAAA,qBAAmB,sBAAY,CAAC,EAC9B,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAU,CAC9C,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { DiscordWS } from "dfx/gateway";
2
+ import { Discord } from "dfx/_common";
3
+ export declare const make: (shard: [id: number, count: number]) => import("@effect-http/client/_common").Effect<import("../_common.js").Scope | import("../DiscordConfig.js").DiscordConfig | import("../Log.js").Log | import("../RateLimit.js").RateLimiter | import("./DiscordWS.js").DiscordWSCodec, never, {
4
+ run: import("@effect-http/client/_common").Effect<never, never, void>;
5
+ raw: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
6
+ dispatch: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
7
+ send: (p: Discord.GatewayPayload) => import("@effect-http/client/_common").Effect<never, never, boolean>;
8
+ reconnect: import("@effect-http/client/_common").Effect<never, never, boolean>;
9
+ }>;
@@ -7,16 +7,16 @@ import * as tsplus_module_6 from "@fp-ts/core/Option";
7
7
  import * as tsplus_module_7 from "@effect/data/Duration";
8
8
  import * as tsplus_module_8 from "@effect/io/Queue";
9
9
  import * as tsplus_module_9 from "dfx";
10
- import * as Heartbeats from "./heartbeats.js";
11
- import * as Identify from "./identify.js";
12
- import * as InvalidSession from "./invalidSession.js";
13
- import * as Utils from "./utils.js";
10
+ import * as Heartbeats from "./Shard/heartbeats.js";
11
+ import * as Identify from "./Shard/identify.js";
12
+ import * as InvalidSession from "./Shard/invalidSession.js";
13
+ import * as Utils from "./Shard/utils.js";
14
14
  export const make = (shard) => tsplus_module_1.flatMap(tsplus_module_1.service(tsplus_module_9.DiscordConfig.DiscordConfig), ({ token, gateway }) => tsplus_module_1.flatMap(tsplus_module_1.service(tsplus_module_9.RateLimiter), limiter => tsplus_module_1.flatMap(tsplus_module_8.unbounded(), outboundQueue => {
15
15
  const outbound = tsplus_module_1.tap(outboundQueue
16
16
  .take(), () => limiter.maybeWait("dfx.shard.send", tsplus_module_7.minutes(1), 120));
17
17
  const send = (p) => outboundQueue.offer(p);
18
- return tsplus_module_1.flatMap(tsplus_module_2.DiscordWS.make({ outbound }), socket => tsplus_module_1.flatMap(tsplus_module_3.broadcastDynamic(socket.source, 1), raw => tsplus_module_1.flatMap(Utils.latest(p => tsplus_module_6.map(p => p.d)(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p)))), ([latestReady, updateLatestReady]) => tsplus_module_1.map(Utils.latest(p => tsplus_module_6.fromNullable(p.s)), ([latestSequence, updateLatestSequence]) => {
19
- const maybeUpdateUrl = (p) => tsplus_module_6.match(() => tsplus_module_1.unit(), a => socket.setUrl(a.resume_gateway_url))(tsplus_module_6.map(p => p.d)(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p))));
18
+ return tsplus_module_1.flatMap(tsplus_module_2.DiscordWS.make({ outbound }), socket => tsplus_module_1.flatMap(tsplus_module_3.broadcastDynamic(socket.source, 1), raw => tsplus_module_1.flatMap(Utils.latest(p => tsplus_module_6.map(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p)), p => p.d)), ([latestReady, updateLatestReady]) => tsplus_module_1.map(Utils.latest(p => tsplus_module_6.fromNullable(p.s)), ([latestSequence, updateLatestSequence]) => {
19
+ const maybeUpdateUrl = (p) => tsplus_module_6.match(tsplus_module_6.map(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p)), p => p.d), () => tsplus_module_1.unit(), a => socket.setUrl(a.resume_gateway_url));
20
20
  const updateRefs = tsplus_module_3.runDrain(tsplus_module_3.tap(tsplus_module_3.tap(tsplus_module_3.tap(raw, updateLatestReady), updateLatestSequence), maybeUpdateUrl));
21
21
  // heartbeats
22
22
  const heartbeatEffects = tsplus_module_3.runForEach(Heartbeats.fromRaw(raw, latestSequence), send);
@@ -41,4 +41,4 @@ export const make = (shard) => tsplus_module_1.flatMap(tsplus_module_1.service(t
41
41
  };
42
42
  }))));
43
43
  })));
44
- //# sourceMappingURL=index.js.map
44
+ //# sourceMappingURL=Shard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shard.js","sourceRoot":"","sources":["../../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export interface ShardStore {
8
8
  allClaimed: (totalCount: number) => Effect<never, never, boolean>;
9
9
  heartbeat?: (shardId: number) => Effect<never, never, void>;
10
10
  }
11
- export declare const ShardStore: import("../../_common.js").Tag<ShardStore>;
12
- export declare const LiveMemoryShardStore: import("../../_common.js").Layer<never, never, ShardStore>;
11
+ export declare const ShardStore: import("@effect-http/client/_common").Tag<ShardStore>;
12
+ export declare const LiveMemoryShardStore: import("../_common.js").Layer<never, never, ShardStore>;
@@ -19,4 +19,4 @@ const memoryStore = () => {
19
19
  };
20
20
  };
21
21
  export const LiveMemoryShardStore = tsplus_module_4.sync(ShardStore, memoryStore);
22
- //# sourceMappingURL=index.js.map
22
+ //# sourceMappingURL=ShardStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardStore.js","sourceRoot":"","sources":["../../src/DiscordGateway/ShardStore.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"}
@@ -0,0 +1,16 @@
1
+ import { Effect, Discord } from "dfx/_common";
2
+ import { ShardStore } from "./ShardStore.js";
3
+ declare const make: import("@effect-http/client/_common").Effect<import("../_common.js").Scope | import("../DiscordREST.js").DiscordREST | import("../DiscordConfig.js").DiscordConfig | ShardStore | import("../Log.js").Log | import("../RateLimit.js").RateLimiter | import("./DiscordWS.js").DiscordWSCodec, never, {
4
+ shards: import("@effect-http/client/_common").Stream<never, never, {
5
+ run: import("@effect-http/client/_common").Effect<never, never, void>;
6
+ raw: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
7
+ dispatch: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
8
+ send: (p: import("../types.js").GatewayPayload<any>) => import("@effect-http/client/_common").Effect<never, never, boolean>;
9
+ reconnect: import("@effect-http/client/_common").Effect<never, never, boolean>;
10
+ }>;
11
+ }>;
12
+ export interface Sharder extends Effect.Success<typeof make> {
13
+ }
14
+ export declare const Sharder: import("@effect-http/client/_common").Tag<Sharder>;
15
+ export declare const LiveSharder: import("../_common.js").Layer<import("../DiscordREST.js").DiscordREST | import("../DiscordConfig.js").DiscordConfig | ShardStore | import("../Log.js").Log | import("../RateLimit.js").RateLimiter | import("./DiscordWS.js").DiscordWSCodec, never, Sharder>;
16
+ export {};
@@ -8,14 +8,14 @@ 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
10
  import { millis } from "@effect/data/Duration";
11
- import { ShardStore } from "../ShardStore/index.js";
11
+ import { ShardStore } from "./ShardStore.js";
12
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 => {
13
13
  const configs = (totalCount) => {
14
14
  const claimId = (sharderCount) => tsplus_module_3.flatMap(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));
18
+ }), a => tsplus_module_6.match(a, () => tsplus_module_3.delay(claimId(sharderCount), tsplus_module_5.minutes(3)), id => tsplus_module_3.succeed(id)));
19
19
  return tsplus_module_1.map(tsplus_module_1.unfoldEffect(0, sharderCount => tsplus_module_3.map(claimId(sharderCount), id => tsplus_module_6.some([id, sharderCount + 1]))), id => ({
20
20
  id,
21
21
  totalCount,
@@ -39,4 +39,4 @@ const make = tsplus_module_3.flatMap(tsplus_module_3.service(ShardStore), store
39
39
  }))));
40
40
  export const Sharder = tsplus_module_8.Tag();
41
41
  export const LiveSharder = tsplus_module_9.scoped(Sharder, make);
42
- //# sourceMappingURL=index.js.map
42
+ //# sourceMappingURL=Sharder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sharder.js","sourceRoot":"","sources":["../../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,4 @@ export declare class WebSocketCloseError {
17
17
  readonly _tag = "WebSocketCloseError";
18
18
  constructor(code: number, reason: string);
19
19
  }
20
- export declare const make: (url: Ref<string>, takeOutbound: Effect<never, never, Message>) => import("../../_common.js").Stream<import("../../Log/index.js").Log, WebSocketError | WebSocketCloseError, WebSocket.Data>;
20
+ export declare const make: (url: Ref<string>, takeOutbound: Effect<never, never, Message>) => import("@effect-http/client/_common").Stream<import("../Log.js").Log, WebSocketError | WebSocketCloseError, WebSocket.Data>;
@@ -60,4 +60,4 @@ export const make = (url, takeOutbound) => tsplus_module_6.pipe(tsplus_module_1.
60
60
  const sendEffect = send(ws, takeOutbound, log);
61
61
  return tsplus_module_3.retry(tsplus_module_3.merge(recv(ws), tsplus_module_3.fromEffect(sendEffect)), tsplus_module_4.recurWhile(e => e._tag === "WebSocketCloseError" && e.code === 1012));
62
62
  })), tsplus_module_3.unwrapScoped);
63
- //# sourceMappingURL=index.js.map
63
+ //# sourceMappingURL=WS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WS.js","sourceRoot":"","sources":["../../src/DiscordGateway/WS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Stream, Discord, Effect } from "dfx/_common";
2
+ import { Sharder } from "./DiscordGateway/Sharder.js";
3
+ export declare const make: import("@effect-http/client/_common").Effect<import("./_common.js").Scope | Sharder, never, {
4
+ raw: import("@effect-http/client/_common").Stream<never, never, import("./types.js").GatewayPayload<any>>;
5
+ dispatch: import("@effect-http/client/_common").Stream<never, never, import("./types.js").GatewayPayload<any>>;
6
+ fromDispatch: <K extends keyof import("./types.js").ReceiveEvents>(event: K) => import("@effect-http/client/_common").Stream<never, never, import("./types.js").ReceiveEvents[K]>;
7
+ handleDispatch: <K_1 extends keyof import("./types.js").ReceiveEvents, R1, E1, A>(event: K_1, handle: (event: import("./types.js").ReceiveEvents[K_1]) => import("@effect-http/client/_common").Effect<R1, E1, A>) => import("@effect-http/client/_common").Effect<R1, E1, void>;
8
+ }>;
9
+ export interface DiscordGateway extends Effect.Success<typeof make> {
10
+ }
11
+ export declare const DiscordGateway: import("@effect-http/client/_common").Tag<DiscordGateway>;
12
+ export declare const LiveDiscordGateway: import("./_common.js").Layer<Sharder, never, DiscordGateway>;
@@ -2,7 +2,7 @@ import * as tsplus_module_1 from "@effect/stream/Stream";
2
2
  import * as tsplus_module_2 from "@effect/io/Effect";
3
3
  import * as tsplus_module_3 from "dfx/_common";
4
4
  import * as tsplus_module_4 from "@effect/io/Layer";
5
- import { Sharder } from "./Sharder/index.js";
5
+ import { Sharder } from "./DiscordGateway/Sharder.js";
6
6
  const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(tsplus_module_1.filter(source, p => p.t === event), p => p.d);
7
7
  const handleDispatchFactory = (source) => (event, handle) => tsplus_module_1.runDrain(tsplus_module_1.flatMapPar(tsplus_module_1.filter(source, p => p.t === event), a => tsplus_module_1.fromEffect(handle(a.d)), Number.POSITIVE_INFINITY));
8
8
  export const make = tsplus_module_2.flatMap(tsplus_module_2.service(Sharder), sharder => tsplus_module_2.flatMap(tsplus_module_1.broadcastDynamic(tsplus_module_1.flatMapPar(sharder.shards, s => s.raw, Number.POSITIVE_INFINITY), 8), raw => tsplus_module_2.map(tsplus_module_1.broadcastDynamic(tsplus_module_1.flatMapPar(sharder.shards, s => s.dispatch, Number.POSITIVE_INFINITY), 8), dispatch => {
@@ -17,4 +17,4 @@ export const make = tsplus_module_2.flatMap(tsplus_module_2.service(Sharder), sh
17
17
  })));
18
18
  export const DiscordGateway = tsplus_module_3.Tag();
19
19
  export const LiveDiscordGateway = tsplus_module_4.scoped(DiscordGateway, make);
20
- //# sourceMappingURL=index.js.map
20
+ //# sourceMappingURL=DiscordGateway.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,oBAAA,uBAAA,MAAM,EAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,CAAA;AAE3D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,2BAAA,uBAAA,MAAM,EACI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAEzB,CAAC,CAAC,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAC1C,MAAM,CAAC,iBAAiB,CACzB,CAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,IAAI,2BACG,wBAAe,OAAO,CAAC,EAAnC,OAAO,4BAEX,iCAAA,2BAAA,OAAO,CAAC,MAAM,EACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAC/B,CAAC,CAAC,EAHlB,GAAG,wBAMP,iCAAA,2BAAA,OAAO,CAAC,MAAM,EACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpC,CAAC,CAAC,EAHlB,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;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":"DiscordGateway.js","sourceRoot":"","sources":["../src/DiscordGateway.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAErD,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAA,uBAAA,MAAM,EAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,CAAA;AAE3D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,2BAAA,uBAAA,MAAM,EACI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAEzB,CAAC,CAAC,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAC1C,MAAM,CAAC,iBAAiB,CACzB,CAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,IAAI,2BACG,wBAAe,OAAO,CAAC,EAAnC,OAAO,4BAEX,iCAAA,2BAAA,OAAO,CAAC,MAAM,EACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAC/B,CAAC,CAAC,EAHlB,GAAG,wBAMP,iCAAA,2BAAA,OAAO,CAAC,MAAM,EACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpC,CAAC,CAAC,EAHlB,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;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,9 +1,7 @@
1
- import { BlobError, FetchError, JsonParseError, StatusCodeError } from "dfx";
1
+ import * as Http from "@effect-http/client";
2
+ import { DiscordRESTError } from "dfx/DiscordREST";
2
3
  import { Effect } from "dfx/_common";
3
- export interface ResponseWithData<A> {
4
- response: Response;
5
- json: Effect<never, JsonParseError, A>;
6
- text: Effect<never, never, string>;
7
- blob: Effect<never, BlobError, Blob>;
4
+ export interface ResponseWithData<A> extends Http.response.Response {
5
+ readonly json: Effect<never, Http.HttpClientError, A>;
8
6
  }
9
- export type RestResponse<T> = Effect<never, FetchError | StatusCodeError | JsonParseError, ResponseWithData<T>>;
7
+ export type RestResponse<T> = Effect<never, DiscordRESTError, ResponseWithData<T>>;
@@ -1,4 +1,4 @@
1
- export declare const routeFromConfig: (path: string, init: RequestInit) => string;
1
+ export declare const routeFromConfig: (path: string, method: string) => string;
2
2
  export declare const numberHeader: (headers: Headers) => (key: string) => import("../_common.js").Maybe<number>;
3
3
  export declare const retryAfter: (headers: Headers) => import("../_common.js").Maybe<import("../_common.js").Duration>;
4
4
  export declare const rateLimitFromHeaders: (headers: Headers) => import("../_common.js").Maybe<{
@@ -1,8 +1,7 @@
1
1
  import * as tsplus_module_1 from "@fp-ts/core/Option";
2
2
  import * as tsplus_module_2 from "@effect/data/Duration";
3
3
  const majorResources = ["channels", "guilds", "webhooks"];
4
- export const routeFromConfig = (path, init) => {
5
- const method = (init?.method ?? "get").toLowerCase();
4
+ export const routeFromConfig = (path, method) => {
6
5
  // Only keep major ID's
7
6
  const routeURL = path
8
7
  .split("?")[0]
@@ -11,8 +10,8 @@ export const routeFromConfig = (path, init) => {
11
10
  .replace(/\/reactions\/(.*)/, "/reactions");
12
11
  return `${method}-${routeURL}`;
13
12
  };
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")));
13
+ export const numberHeader = (headers) => (key) => tsplus_module_1.filter(n => !isNaN(n))(tsplus_module_1.map(tsplus_module_1.fromNullable(headers.get(key)), parseFloat));
14
+ export const retryAfter = (headers) => tsplus_module_1.map(tsplus_module_1.orElse(numberHeader(headers)("x-ratelimit-reset-after"), () => numberHeader(headers)("retry-after")), tsplus_module_2.seconds);
16
15
  export const rateLimitFromHeaders = (headers) => tsplus_module_1.struct({
17
16
  bucket: tsplus_module_1.fromNullable(headers.get("x-ratelimit-bucket")),
18
17
  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,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAFxB,oBACO,UAAU,EADjB,6BAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAClB,CACO,CAAA;AAE3B,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,MAAc,EAAE,EAAE;IAC9D,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,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAFxB,oBAAA,6BAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC7B,UAAU,CAAC,CACO,CAAA;AAE3B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,oBAAA,uBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,EACtC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,0BAC7B,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"}